Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/vosa 284 support for backend bridge #1

Open
wants to merge 2,759 commits into
base: master
Choose a base branch
from

Conversation

modhassan
Copy link

New backend backend_bridge added to support new endpoint bridge

skanwarulislam and others added 30 commits November 3, 2015 15:52
- This parse and set the user defined configuration for dev image.
- make: this will generated the vmdk image.
- ova : will create the ova file from the vmdk image (running vosa -i {instance} make first)
- Called parser from global scope instead of from a function to set the configuration properties globally.
- Cause vosa does not use print_and_log command
- the call to get_publication_list didn't pass any port and the method
  expected one, falling back to the default if it wasn't provided.

- deleted trailing white space.
- Before the first parameter was taken now we are using ${@} intead of $1.
- Renamed variable name from ova_config_eula ----> ova_config_agreement.
- Set default values for vendor, vendorurl and agreement.
- Memory, cpus and heap size need to be integer
Torstein Krause Johansen and others added 25 commits June 9, 2017 11:46
- which is a good thing
- should go into the standard webapps dir
- it's its own webservice now, see MENU-68
… connector

- We often set up (as in, ece-install does this) two Engine/Service
  elements, one for each Engine, which again has its own HTTP
  connector to serve different webapps from different ports.

  If so (there's strictly speaking no need to have multiple Services
  to have multiple connectors, so we cannot assume this is always the
  case), the correct <Service/> element for the publication <Host/>
  elements is the second Service element, in other cases, the the
  first one.

- FYI: Since both /Server/Service/Engine elements are the same XPATH wise,
  we have to access the correct Engine element by the index of the
  containing Service element.
…nce_is_running()

- this method should ensure that the instance used for creating the
  publication is running, however, this method was broken, perhaps in
  ed37d3d, perhaps much longer ago.

  The symptom of this method failing was these strange messages in
  /var/log/escenic/ece-install.log:

  [ece#start-engine1] You must specificy a command, see 'ece help'.
  [ece#versions-engine1] You must specificy a command, see 'ece help'.

- Improved the algorithm while I was at it. It now checks every second
  to see if ECE is bootstrapped, instead of just sleeping for a
  whopping 60 seconds regardless of the ECE running or not.
cue:
  backend_ece: http://otherhost:8080

Is used both for nginx/cors setup as well as the backends.yml
configuration for CUE. Thus, it needs to get /webservice/index.xml
dynamically appended. This has now been fixed.
- YAML equivalent:

profiles:
  cue:
    install: yes
    backend_ece: http://ece.example.com;
    backend_ece_local: http://localhost:8080;
    backend_ng: http://ng.example.com;

- This _local setting is only needed if CUE and ECE run on the same
  machine (and you use Live). If ECE runs on a separate machine, you
  don't need the extra _local value.

- Longer explanation: If ECE runs on the same machine as CUE and
  you've got CUE Live, you must specify backend_ece and this cannot be
  a local reference since Live will use this value in the CUE plugin,
  which runs in the browser and must thus be resolvable by the outside
  world.

  However, since ece-install will setup nginx forwarding using the
  value of ECE's whereabouts, it must be able to differentiate between
  the two addresses
"I just want to copy and paste a bunch of commands and send them to
you"
- Improved introduction

- Include all .conf and .yaml files in root's home directory
  → greater chances of hitting something useful 😉
- Debian/Ubuntu now (15.04+) uses systemd and this must respect
  fai_cache_port too
- not only edit and update  them
- added support for editing/updating/creating section feed publication
  resources.

- example:

  $ ece --publication-resource section-feed --publication mypub create
This should fix the cases where upgrading
e.g. escenic-content-engine-scripts will remove any local changes to
/etc/default/ece by the user
Background: This allows /usr/share/escenic/escenc-video to be a link
to a e..g /usr/share/escenic/escenic-video-323232 where
/usr/share/escenic/escenic-video-323232 is a non-package installed.
- installs and configures the SSE proxy itself, it may have many
  backends (typical ones for an Escenic architecture are ECE, Live and
  Video).
- sets up nginx to proxy SSE proxy requests
- configures ECE to expose the changelog through the SSE proxy
- configures Live too
- added unit tests for the new configuration options
- The editor & presentation profiles now sets up an extra connector
  for the SSE proxy

  Configuration items:
  -- fai_editor_install=1
  -- fai_presentation_install=1

  Will set up an extra Tomcat connector needed for the SSE proxy to
  work. No configuration is necessary, it'll set up the default:

  <Connector
    port="8083"
    protocol="HTTP/1.1"
    connectionTimeout="20000"
    URIEncoding="UTF-8"
    compression="off"
    redirectPort="8443"
    proxyPort="80"
  />

- Example ece-install.yaml configuration:

  profiles:
    sse_proxy:
      install: yes
      exposed_host: proxy.quanah
      backends:
        - uri: http://localhost:8083/webservice/escenic/changelog/sse
          user: foo_admin
          password: foo

- Full list of options (equivalent entries to the older ece-install.conf
  format):

  fai_sse_proxy_exposed_host=   # default is the machine name (which is
                                # probably not what you want), typically
                                # proxy.example.com
  fai_sse_proxy_exposed_port=   # optional, default is 80
  fai_sse_proxy_install=
  fai_sse_proxy_backends=       # required
  fai_sse_proxy_ece_port=       # optional, used for tomcat conf
  fai_sse_proxy_ece_redirect=   # optional, used for editor & presentation

- updated reference doc

- SSE proxy can also be installed on RedHat
- also fixed an error message coming if there are no Escenic related
  man pages on the system.

- none of these two errors caused any real problem, but they were
  false warnings/errors and were thus confusing to the user.
- Since some packages, with various logic, have been moved to to a cue
  sub directory (2017), we'll try again with 'cue' appended to the
  base URL
- support for 'service memcached' has been pulled (seems broken to be
  honest).
- RedHat are firm believers in systemd now
@modhassan modhassan closed this Aug 30, 2017
@modhassan modhassan reopened this Aug 30, 2017
@modhassan modhassan force-pushed the feature/VOSA-284-support-for-backend-bridge branch from f63bcf2 to f452f68 Compare September 20, 2017 07:55
- An optional backend bridge option has been added to the CUE profile to
  support the new bridge endpoint.
- If set, the generated `backend.yml` file gets an entry like:
  cue:
    backend:
      bridge: http://bridge.example.com
@modhassan modhassan force-pushed the feature/VOSA-284-support-for-backend-bridge branch from f452f68 to 24ce72f Compare September 20, 2017 08:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants