| 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_containersmakemake stopmake rmmake update_xosmake update_servicesmake showlogs_bootstrap and make showlogsmake psmake enter-bootstrap-uimake enter-uimake enter-db