commit | d5fe9f21953e1f665a4cb9222b2bbdbcd5fb20db | [log] [tgz] |
---|---|---|
author | Pingping Lin <pingping@onlab.us> | Thu May 04 18:16:54 2017 -0700 |
committer | Pingping Lin <pingping@onlab.us> | Thu May 04 18:21:30 2017 -0700 |
tree | 0040c80b9d0230b05696ac67409a07bd969633e5 | |
parent | 38b76b05caf726595dec9dad9f5ef163263d3be2 [diff] |
New GUI relative files backup Change-Id: Ifd4f967ce5a3f8194254ae3d1ec5973e230a85eb (cherry picked from commit 96f17e9906fb2918477b495267827a4034881d3e)
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