commit | c1b451f66bafc0212c107f054780224aad5f4754 | [log] [tgz] |
---|---|---|
author | Zack Williams <zdw@cs.arizona.edu> | Thu Nov 03 09:51:41 2016 -0700 |
committer | Zack Williams <zdw@cs.arizona.edu> | Fri Nov 04 14:10:19 2016 -0700 |
tree | 0244ea1d5d6ada24e44e3a8781d8f85d4ff24baf | |
parent | 289cc5d352bcc458f5ac99f5ca9e05be7f2700c5 [diff] |
made opencloud profile more configurable from platform-install, ordering in common tosca Change-Id: I40fe533b139f181164ba3eedc30a341eba3af208
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