commit | 8e0160b0ec9239289f44a642f46cdfe0b314c93d | [log] [tgz] |
---|---|---|
author | Srikanth Vavilapalli <srikanth.vavilapalli@ericsson.com> | Thu Nov 17 03:32:57 2016 +0000 |
committer | Srikanth Vavilapalli <srikanth.vavilapalli@ericsson.com> | Sun Nov 27 18:43:06 2016 -0600 |
tree | b410987c35663e53c81f0a67a9a2614d99df651d | |
parent | b3db30349d1debc4b90dcf0de38f65942fb79f0c [diff] |
XOS watcher changes to handle routing table updates inside instances Change-Id: I6ba61170401f61f8f60bd0d83eb82eb597b013af
This repository contains service profiles, one per directory, which configures XOS with a graph of services to be instantiated. These configurations automate the creation of containers, loading things into the onboarding synchronizer, and starting XOS.
Most frequently, this service-profile
repo is checked out by platform-install during a conventional build of a CORD pod. The cord-pod
style repos work in this way.
When using the testing configurations like test-standalone
and frontend
, this repo can be checked out and run on it's own on a Ubuntu 14.04 machine.
The directory common
is not a service profile, but contains various common files and tools that are used by the other service profiles. The common/Makefile
has many common targets and is included by the other makefiles. common/Makedefs
specifies the git URL's and branches to use of dependent software, which you may need to change if you're doing development on a specific service.
In most cases, a profile is started by running make local_containers; make
in it's directory. See the per-directory README's for more information, or the list of targets below.
cord-pod
: R-CORD (Residential)opencloud
: Opencloud configurationmcord
: M-CORD (Mobile)metronetwork
: Metro Network/Enterprise E-CORDacord
: Analytics for CORDfrontend
: Designed for frontend development, this profile starts XOS without synchronizers (other than onboarding) for quick UI iteration.test-standalone
: Runs a test suite that tests the REST API and Tosca API.The devel
or opencloud
configurations are good examples to start with. All configurations should start with defining CONFIG_DIR
, COMMON_DIR
(which specify paths and should generally be the same as all other configurations), the .DEFAULT_GOAL
which specifies the target to start, and the DOCKER_PROJECT
and BOOTSTRAP_PROJECT
variables that specify the names for the docker containers created during the build process.
Next, include the $(COMMON_DIR)/Makefile
which specifies common targets. Before adding a new target, consier adding it to the common Makefile if is useful across multiple profiles.
Define the default target, and the customize the other targets - most of the time, the targets you'll need to customize are onboarding
and podconfig
, which control which TOSCA files are loaded and which service synchronizer containers are created by the onboarding synchronizer.
You'll also need to create a xos.yaml
which specifies the configuration of the onboarded XOS container, and docker-compose-bootstrap.yml
which configures the bootstrap containers. Optionally, create a cleanup.sh
to clean up between run, if your service profile requires it - this enables the make cleanup
target.
There are several make targets created to help manage and the build process, which are defined in common/Makefile
. Run these within the service directories:
make local_containers
make
make stop
make rm
make update_xos
make update_services
make showlogs_bootstrap
and make showlogs
make ps
make enter-bootstrap-ui
make enter-ui
make enter-db