From af2db33a0ebab98700c3c03ea84a6ba9b987c5b5 Mon Sep 17 00:00:00 2001 From: Jonas Bjurel Date: Fri, 30 Sep 2016 20:28:22 +0200 Subject: Preparing the experimental branch for improved Danube CI/CD experiments Fast forwarded to commit:cf93e6ee11c96de090b04196cc96b4a6b0948928 Change-Id: I13d10d870e8ffc7317ab03f8810592d5b2205875 Signed-off-by: Jonas Bjurel --- ci/README | 101 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 ci/README (limited to 'ci/README') diff --git a/ci/README b/ci/README new file mode 100644 index 000000000..46698a739 --- /dev/null +++ b/ci/README @@ -0,0 +1,101 @@ +############################################################################## +# Copyright (c) 2015 Ericsson AB and others. +# stefan.k.berg@ericsson.com +# jonas.bjurel@ericsson.com +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +Abstract +======== +The fuel/ci directory holds all Fuel@OPNFV programatic abstractions for +the OPNFV community release and continous integration pipeline. +There are two Fuel@OPNF autonomous scripts fo this, complying to the OPNFV CI pipeline guideline: + - build.sh + - deploy.sh + +USAGE +===== +For usage information of the CI/CD scripts, please run: +./build.sh -h +./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: deploy/config), per POD specific +configuration (part of a separate classified POD configuration repo: securedlab +, plugin configuration (part of fuel repo: deploy/config/plugins), and +deployment scenario configuration (part of fuel repo: deploy/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. +- Plugin configuration - providing configuration of a specific plugin. + these configurations maintain there own namespace and are normally maintained + by collaborative projects building Fuel@OPNFV plugins +- Deployment scenario configuration - provides a high level, POD/HW environment + independent scenario configuration for a specifiv deployment. It defines what + features/plugins that shall be deployed - as well needed overrides of the base + installer-, POD/HW environment- configurations. Objects allowed to override + is 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: +sudo deploy.sh -b file:///home/jenkins/config -l LF-1 -p POD-2 -s +os_odl-l2_ha -i file:///home/jenkins/MyIso.iso + +-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. +A local stripped version of this configuration structure with virtual +deployment configurations also exist under build/config/. +Following configuration directory and file structure should be adheare to: + +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 deploy/scenario/README for instructions on how to create a new +deployment scenario. \ No newline at end of file -- cgit 1.2.3-korg