commit | cf1f9c8ea97031dd504d0a5b604d438b7ae06d6c | [log] [tgz] |
---|---|---|
author | Zack Williams <zdw@cs.arizona.edu> | Tue Nov 08 22:19:02 2016 -0700 |
committer | Zack Williams <zdw@cs.arizona.edu> | Tue Nov 22 06:29:57 2016 -0700 |
tree | 55f1ad2f41612eddbb03b4c798044e73857f78ec | |
parent | f5d2b29f1e0b41fb6dee23faf804b0a0318fd498 [diff] |
unify bootstrap remove image downloading add admin_openrc.sh to docker-compose-bootstrap.yml for cord-pod remove Tosca generated in platform-install move more Tosca to platform-install reinclude needed fabric config file clarify relationship between making nodes and vtn config whitespace sleep as required to hack around management network not coming up pauses moved to Makefile dedicated, separate openstack configuration file Change-Id: I78f4ce0121480fa6ef1509f5ff416b203b7d6013
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