summaryrefslogtreecommitdiffstats
path: root/ci/README.rst
diff options
context:
space:
mode:
Diffstat (limited to 'ci/README.rst')
-rw-r--r--ci/README.rst102
1 files changed, 102 insertions, 0 deletions
diff --git a/ci/README.rst b/ci/README.rst
new file mode 100644
index 000000000..dc860c003
--- /dev/null
+++ b/ci/README.rst
@@ -0,0 +1,102 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. SPDX-License-Identifier: CC-BY-4.0
+.. (c) 2017 Ericsson AB, Mirantis Inc., Enea Software AB and others.
+
+Abstract
+========
+The fuel/ci directory holds all Fuel@OPNFV programatic abstractions for
+the OPNFV community release and continous integration pipeline.
+There is now only one Fuel@OPNFV autonomous script for this, complying to the
+OPNFV CI pipeline guideline:
+ - deploy.sh
+
+USAGE
+=====
+For usage information of the CI/CD scripts, please run:
+
+ .. code-block:: bash
+
+ $ ./deploy.sh -h
+
+Details on the CI/CD deployment framework
+=========================================
+
+Overview and purpose
+--------------------
+The CI/CD deployment script relies on a configuration structure, providing base
+installer configuration (part of fuel repo: mcp/config), per POD specific
+configuration (part of a separate classified POD configuration repo: securedlab
+and deployment scenario configuration (part of fuel repo: mcp/config/scenario).
+
+- The base installer configuration resembles the least common denominator of all
+ HW/POD environment and deployment scenarios. These configurations are
+ normally carried by the the installer projects in this case (Fuel@OPNFV).
+- Per POD specific configuration specifies POD unique parameters, the POD
+ parameter possible to alter is governed by the Fuel@OPNFV project.
+- Deployment scenario configuration - provides a high level, POD/HW environment
+ independent scenario configuration for a specifiv deployment. It defines what
+ features shall be deployed - as well needed overrides of the base
+ installer, POD/HW environment configurations. Objects allowed to override
+ are governed by the Fuel@OPNFV project.
+
+Executing a deployment
+----------------------
+deploy.sh must be executed locally at the target lab/pod/jumpserver
+A configuration structure must be provided - see the section below.
+It is straight forward to execute a deployment task - as an example:
+
+ .. code-block:: bash
+
+ $ sudo deploy.sh -b file:///home/jenkins/config
+ -l lf -p pod2 -s os-nosdn-nofeature-ha
+
+-b and -i arguments should be expressed in URI style (eg: file://...
+or http://...). The resources can thus be local or remote.
+
+Configuration repository structure
+----------------------------------
+The CI deployment engine relies on a configuration directory/file structure
+pointed to by the -b option described above.
+Normally this points to the secure classified OPNFV securedlab repo to which
+only jenkins and andmins have access to, but you may point to any local or
+remote strcture fullfilling the diectory/file structure below.
+The reason that this configuration structure needs to be secure/hidden
+is that there are security sensitive information in the various configuration
+files.
+
+FIXME: Below information is out of date and should be refreshed after PDF
+support is fully implemented.
+
+A local stripped version of this configuration structure with virtual
+deployment configurations also exist under build/config/.
+Following configuration directory and file structure should adheare to:
+
+ .. code-block:: bash
+
+ TOP
+ !
+ +---- labs
+ !
+ +---- lab-name-1
+ ! !
+ ! +---- pod-name-1
+ ! ! !
+ ! ! +---- fuel
+ ! ! !
+ ! ! +---- config
+ ! ! !
+ ! ! +---- dea-pod-override.yaml
+ ! ! !
+ ! ! +---- dha.yaml
+ ! !
+ ! +---- pod-name-2
+ ! !
+ !
+ +---- lab-name-2
+ ! !
+
+
+Creating a deployment scenario
+------------------------------
+Please find `mcp/config/README.rst` for instructions on how to create a new
+deployment scenario.