summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonas Bjurel <jonas.bjurel@ericsson.com>2015-12-29 22:16:57 +0100
committerJonas Bjurel <jonas.bjurel@ericsson.com>2016-01-08 13:36:56 +0100
commit7fd2619e0df370fa832eeff00790bcaa52dc4ffc (patch)
tree6a6e6b22b43c0d4eda404265817a9f90a335e62e
parentc14790e44122781b96b1b287f901c36645d7df7b (diff)
A simple method to separate configuration for base fuel, plugins, PODs
and deployment/test scenarios READY TO MERGE! Replaces: https://gerrit.opnfv.org/gerrit/#/c/3995/ Abstract -------- This deployment framework relies on a configuration structure, providing base installer configuration, per POD specific configuration, plugin configuration, and deployment scenario configuration. - 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 specific deployment. It defines what features/plugins that shall be deployed - as well needed overrides of the plugin config as well as 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 lab 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 ericsson-1 -p pod-2 -s os_odl-l2_no-ha -i file:///home/jenkins/MyIso.iso -b and -i arguments should be expressed in URI style. The resources can thus be local or remote. Feedback -------- Please give feed-back before I'm going to far on a wrong tangent Implemented scenarios so far: ----------------------------- - os_ha - os_no-ha - os_odl-l3_ha - os_odl-l3_no-ha - os_odl-l2_ha - os_odl-l2_no-ha - os_onos_ha - os_onos_no-ha - os_kvm_ha - os_kvm_no-ha - os_ovs_ha - os_ovs_no-ha - os_kvm_ovs_ha - os_kvm_ovs_no-ha VERIFIED READY TO MERGE JIRA: FUEL-35 Change-Id: I94a9b477d8ed4ee8057c16d8f20fe543f7ecc20d Signed-off-by: Jonas Bjurel <jonas.bjurel@ericsson.com>
-rw-r--r--ci/README177
-rwxr-xr-xci/deploy.sh184
-rw-r--r--deploy/cloud/configure_nodes.py13
-rw-r--r--deploy/cloud/configure_settings.py12
-rw-r--r--deploy/common.py5
-rw-r--r--deploy/config/dea_base.yaml597
-rw-r--r--deploy/config/labs/devel-pipeline/default/fuel/config/dea-pod-override.yaml278
-rw-r--r--deploy/config/labs/devel-pipeline/default/fuel/config/dha.yaml38
-rw-r--r--deploy/config/labs/devel-pipeline/elx/fuel/config/dea-pod-override.yaml277
-rw-r--r--deploy/config/labs/devel-pipeline/elx/fuel/config/dha.yaml38
-rw-r--r--deploy/config/plugins/fuel-nfvkvm_0.0.1.yaml18
-rw-r--r--deploy/config/plugins/fuel-nfvovs_0.0.1.yaml19
-rw-r--r--deploy/config/plugins/fuel-odl_0.0.1.yaml64
-rw-r--r--deploy/config/plugins/fuel-onos_0.0.1.yaml24
-rw-r--r--deploy/deploy-config.py296
-rw-r--r--deploy/scenario/README165
-rw-r--r--deploy/scenario/ha_heat_ceilometer_scenario_0.0.1.yaml113
-rw-r--r--deploy/scenario/ha_nfv-kvm_heat_ceilometer_scenario_0.0.1.yaml117
-rw-r--r--deploy/scenario/ha_nfv-ovs_heat_ceilometer_scenario_0.0.1.yaml117
-rw-r--r--deploy/scenario/ha_odl-l2_heat_ceilometer_scenario_0.0.1.yaml126
-rw-r--r--deploy/scenario/ha_odl-l3_heat_ceilometer_scenario_0.0.1.yaml126
-rw-r--r--deploy/scenario/ha_onos_heat_ceilometer_scenario_0.0.1.yaml120
-rw-r--r--deploy/scenario/no-ha_heat_ceilometer_scenario_0.0.1.yaml108
-rw-r--r--deploy/scenario/no-ha_nfv-kvm_heat_ceilometer_scenario_0.0.1.yaml113
-rw-r--r--deploy/scenario/no-ha_nfv-kvm_nfv-ovs_heat_ceilometer_scenario_0.0.1.yaml119
-rw-r--r--deploy/scenario/no-ha_nfv-ovs_heat_ceilometer_scenario_0.0.1.yaml113
-rw-r--r--deploy/scenario/no-ha_odl-l2_heat_ceilometer_scenario_0.0.1.yaml121
-rw-r--r--deploy/scenario/no-ha_odl-l3_heat_ceilometer_scenario_0.0.1.yaml121
-rw-r--r--deploy/scenario/no-ha_onos_heat_ceilometer_scenario_0.0.1.yaml115
-rw-r--r--deploy/scenario/scenario.yaml56
30 files changed, 3690 insertions, 100 deletions
diff --git a/ci/README b/ci/README
index aab823bc0..46698a739 100644
--- a/ci/README
+++ b/ci/README
@@ -8,99 +8,94 @@
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
-The genesis/fuel/ci directory holds all Fuel@OPNFV abstractions for the OPNFV
-community release and continous integration pipeline.
+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
-For more info on usage:
+USAGE
+=====
+For usage information of the CI/CD scripts, please run:
./build.sh -h
-sudo ./deploy.sh -h
-python deploy.py -h
-
-usage: python deploy.py [-h] [-nf] [-nh] [-fo] [-co] [-c] [-iso [ISO_FILE]]
- [-dea [DEA_FILE]] [-dha [DHA_FILE]] [-s STORAGE_DIR]
- [-b PXE_BRIDGE] [-p FUEL_PLUGINS_DIR]
-
-optional arguments:
- -h, --help show this help message and exit
- -nf Do not install Fuel Master (and Node VMs when using
- libvirt)
- -nh Don't run health check after deployment
- -fo Install Fuel Master only (and Node VMs when using
- libvirt)
- -co Cleanup VMs and Virtual Networks according to what is
- defined in DHA
- -c Cleanup after deploy
- -iso [ISO_FILE] ISO File [default: OPNFV.iso]
- -dea [DEA_FILE] Deployment Environment Adapter: dea.yaml
- -dha [DHA_FILE] Deployment Hardware Adapter: dha.yaml
- -s STORAGE_DIR Storage Directory [default: images]
- -b PXE_BRIDGE Linux Bridge for booting up the Fuel Master VM
- [default: pxebr]
- -p FUEL_PLUGINS_DIR Fuel Plugins directory
-
-
-
-* EXAMPLES:
-
-- Install Fuel Master and deploy OPNFV Cloud from scratch on Hardware Environment:
-
- sudo ./deploy.sh -iso ~/ISO/opnfv.iso -dea ~/CONF/hardware/dea.yaml -dha ~/CONF/hardware/dha.yaml -s /mnt/images -b pxebr
-
-
-- Install Fuel Master and deploy OPNFV Cloud from scratch on Virtual Environment:
-
- sudo ./deploy.sh -iso ~/ISO/opnfv.iso -dea ~/CONF/virtual/dea.yaml -dha ~/CONF/virtual/dha.yaml -s /mnt/images
-
-
-- Deploy OPNFV Cloud on an already active Environment where Fuel Master VM is running so no need to install Fuel again:
-
- sudo ./deploy.sh -nf -dea ~/CONF/virtual/dea.yaml -dha ~/CONF/virtual/dha.yaml
-
- => with plugin installation
- sudo ./deploy.sh -nf -dea ~/CONF/virtual/dea.yaml -dha ~/CONF/virtual/dha.yaml
-
- => with cleanup after deployment is finished
- sudo ./deploy.sh -nf -dea ~/CONF/virtual/dea.yaml -dha ~/CONF/virtual/dha.yaml -c
-
- => no healthcheck after deployment is completed
- sudo ./deploy.sh -nf -dea ~/CONF/virtual/dea.yaml -dha ~/CONF/virtual/dha.yaml -nh
-
-
-- Install Fuel Master only (and Node VMs when using virtual environment):
-
- => for virtual environment:
- sudo ./deploy.sh -iso ~/ISO/opnfv.iso -dea ~/CONF/virtual/dea.yaml -dha ~/CONF/virtual/dha.yaml -s /mnt/images
-
- => for hardware environment:
- sudo ./deploy.sh -iso ~/ISO/opnfv.iso -dea ~/CONF/hardware/dea.yaml -dha ~/CONF/hardware/dha.yaml -s /mnt/images -b pxebr
-
-
-- Cleanup a running OPNFV environment:
-
- sudo ./deploy.sh -co -dha ~/CONF/virtual/dha.yaml
-
-
-* WARNINGS:
-
-=> If optional argument -s <storage_dir> is not specified, Autodeployment will use
-"<current_working_dir>/images" as default, and it will create it, if it hasn't been created before
-
-=> If optional argument -b <pxe_bridge> is not specified, Autodeployment will use "pxebr" as default,
-if the bridge does not exist, the application will terminate with an error message
-
-=> If argument -iso [ISO_FILE] is not specified, Autodeployment will use "<current_working_dir>/OPNFV.iso"
-as default, if the iso file does not exist, the application will terminate with an error message
-
-=> If argument -dea [DEA_FILE] is not specified, Autodeployment will use "<current_working_dir>/dea.yaml"
-as default, if DEA file does not exist, the application will terminate with an error message
-
-=> If argument -dha [DHA_FILE] is not specified, Autodeployment will use "<current_working_dir>/dha.yaml"
-as default, if DHA file does not exist, the application will terminate with an error message
-
-=> Optional argument -b PXE_BRIDGE is not required for Autodeployment in virtual environment,
- even if it is specified it will not be used at all because virtual environment is using a different virtual network setup
-
-=> If optional argument -p FUEL_PLUGINS_DIR is not specified, no external plugins will be installed in Fuel \ No newline at end of file
+./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
diff --git a/ci/deploy.sh b/ci/deploy.sh
index d5b70d0d6..d1f411fa5 100755
--- a/ci/deploy.sh
+++ b/ci/deploy.sh
@@ -1,8 +1,180 @@
#!/bin/bash
+##############################################################################
+# Copyright (c) 2015 Ericsson AB and others.
+# 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
+##############################################################################
+
+############################################################################
+# BEGIN of Exit handlers
+#
+do_exit () {
+ clean
+ echo "Exiting ..."
+}
+#
+# End of Exit handlers
+############################################################################
+
+############################################################################
+# BEGIN of usage description
+#
+usage ()
+{
+cat << EOF
+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+`basename $0`: Deploys the Fuel@OPNFV stack
+
+usage: `basename $0` -b base-uri -l lab-name -p pod-name -i iso
+ -s deployment-scenario [-S optional Deploy-scenario path URI]
+ [-R optional local relen repo (containing deployment Scenarios]
+
+OPTIONS:
+ -b Base-uri for the stack-configuration structure
+ -l Lab-name
+ -p Pod-name
+ -s Deploy-scenario short-name/base-file-name
+ -i iso url
+
+Description:
+Deploys the Fuel@OPNFV stack on the indicated lab resource
+
+This script provides the Fuel@OPNFV deployment abstraction
+It depends on the OPNFV official configuration directory/file structure
+and provides a fairly simple mechanism to execute a deployment.
+Input parameters to the build script is:
+-b Base URI to the configuration directory (needs to be provided in a URI
+ style, it can be a local resource: file:// or a remote resource http(s)://)
+-l Lab name as defined in the configuration directory, e.g. lf
+-p POD name as defined in the configuration directory, e.g. pod-1
+-s Deployment-scenario, this points to a deployment/test scenario file as
+ defined in the configuration directory:
+ e.g fuel-ocl-heat-ceilometer_scenario_0.0.1.yaml
+ or a deployment short-name as defined by scenario.yaml in the deployment
+ scenario path.
+-i .iso image to be deployed (needs to be provided in a URI
+ style, it can be a local resource: file:// or a remote resource http(s)://)
+
+NOTE: Root priviledges are needed for this script to run
+
+Examples:
+sudo `basename $0` -b file:///home/jenkins/lab-config -l lf -p pod1 -s ha_odl-l3_heat_ceilometer -i file:///home/jenkins/myiso.iso
+EOF
+}
+
+#
+# END of usage description
+############################################################################
+
+############################################################################
+# BEGIN of deployment clean-up
+#
+clean() {
+ echo "Cleaning up deploy tmp directories"
+ rm -rf ${SCRIPT_PATH}/config
+ rm -rf ${SCRIPT_PATH}/ISO
+ rm -rf ${SCRIPT_PATH}/releng
+}
+#
+# END of deployment clean-up
+############################################################################
+
+############################################################################
+# BEGIN of shorthand variables for internal use
+#
+SCRIPT_PATH=$(readlink -f $(dirname ${BASH_SOURCE[0]}))
+DEPLOY_DIR=$(cd ${SCRIPT_PATH}/../deploy; pwd)
+RELENG_REPO=https://jonasbjurel@gerrit.opnfv.org/gerrit/releng
+#
+# END of variables to customize
+############################################################################
+
+############################################################################
+# BEGIN of main
+#
+while getopts "b:l:p:s:i:h" OPTION
+do
+ case $OPTION in
+ b)
+ BASE_CONFIG_URI=${OPTARG}
+ ;;
+ l)
+ TARGET_LAB=${OPTARG}
+ ;;
+ p)
+ TARGET_POD=${OPTARG}
+ ;;
+ s)
+ DEPLOY_SCENARIO=${OPTARG}
+ ;;
+ i)
+ ISO=${OPTARG}
+ ;;
+ h)
+ usage
+ exit 0
+ ;;
+ *)
+ echo "${OPTION} is not a valid argument"
+ echo "Arguments not according to new argument style"
+ echo "Trying old-style compatibility mode"
+ pushd ${DEPLOY_DIR} > /dev/null
+ python deploy.py "$@"
+ popd > /dev/null
+ exit 0
+ ;;
+ esac
+done
+
+if [[ $EUID -ne 0 ]]; then
+ echo "This script must be run as root" 1>&2
+ exit 1
+fi
+
+if [ -z $BASE_CONFIG_URI ] || [ -z $TARGET_LAB ] || \
+ [ -z $TARGET_POD ] || [ -z $DEPLOY_SCENARIO ] || \
+ [ -z $ISO ]; then
+ echo "Arguments not according to new argument style"
+ echo "Trying old-style compatibility mode"
+ pushd ${DEPLOY_DIR} > /dev/null
+ python deploy.py "$@"
+ popd > /dev/null
+ exit 0
+fi
+
+# Enable the automatic exit trap
set -o errexit
-topdir=$(dirname $(readlink -f $BASH_SOURCE))
-deploydir=$(cd ${topdir}/../deploy; pwd)
-pushd ${deploydir} > /dev/null
-echo -e "python deploy.py $@\n"
-python deploy.py $@
-popd > /dev/null \ No newline at end of file
+trap do_exit SIGINT SIGTERM EXIT
+
+clean
+
+pushd ${DEPLOY_DIR} > /dev/null
+# Prepare the deploy config files based on lab/pod information, deployment
+# scenario, etc.
+
+echo "python deploy-config.py -dha ${BASE_CONFIG_URI}/labs/${TARGET_LAB}/${TARGET_POD}/fuel/config/dha.yaml -deab ${DEPLOY_DIR}/config/dea_base.yaml -deao ${BASE_CONFIG_URI}/labs/${TARGET_LAB}/${TARGET_POD}/fuel/config/dea-pod-override.yaml -scenario-base-uri ${DEPLOY_DIR}/scenario -scenario ${DEPLOY_SCENARIO} -plugins ${DEPLOY_DIR}/config/plugins -output ${SCRIPT_PATH}/config"
+
+python deploy-config.py -dha ${BASE_CONFIG_URI}/labs/${TARGET_LAB}/${TARGET_POD}/fuel/config/dha.yaml -deab file://${DEPLOY_DIR}/config/dea_base.yaml -deao ${BASE_CONFIG_URI}/labs/${TARGET_LAB}/${TARGET_POD}/fuel/config/dea-pod-override.yaml -scenario-base-uri file://${DEPLOY_DIR}/scenario -scenario ${DEPLOY_SCENARIO} -plugins file://${DEPLOY_DIR}/config/plugins -output ${SCRIPT_PATH}/config
+
+# Download iso if it doesn't already exists locally
+if [[ $ISO == file://* ]]; then
+ ISO=${ISO#file://}
+else
+ mkdir -p ${SCRIPT_PATH}/ISO
+ curl -o ${SCRIPT_PATH}/ISO/image.iso $ISO
+ ISO=${SCRIPT_PATH}/ISO/image.iso
+fi
+# Start deployment
+echo "python deploy.py -dea ${SCRIPT_PATH}/config/dea.yaml -dha ${SCRIPT_PATH}/config/dha.yaml -iso $ISO"
+python deploy.py -dea ${SCRIPT_PATH}/config/dea.yaml -dha ${SCRIPT_PATH}/config/dha.yaml -iso $ISO
+popd > /dev/null
+
+# TBD: Upload the test-section of the scenario yaml file to the fuel master:
+# var/www/test.yaml
+
+#
+# END of main
+############################################################################
diff --git a/deploy/cloud/configure_nodes.py b/deploy/cloud/configure_nodes.py
index a456679ab..46121df62 100644
--- a/deploy/cloud/configure_nodes.py
+++ b/deploy/cloud/configure_nodes.py
@@ -30,9 +30,18 @@ class ConfigureNodes(object):
def config_nodes(self):
log('Configure nodes')
+
+ # Super dirty fix since Fuel 7 requires user defined roles to be
+ # assigned before anything else (BUG fixed in Fuel 8)!
+ for node_id, roles_blade in self.node_id_roles_dict.iteritems():
+ if "opendaylight" in roles_blade[0] or "onos" in roles_blade[0] or "contrail" in roles_blade[0]:
+ exec_cmd('fuel node set --node-id %s --role %s --env %s'
+ % (node_id, roles_blade[0], self.env_id))
+
for node_id, roles_blade in self.node_id_roles_dict.iteritems():
- exec_cmd('fuel node set --node-id %s --role %s --env %s'
- % (node_id, roles_blade[0], self.env_id))
+ if "opendaylight" not in roles_blade[0] and "onos" not in roles_blade[0] and "contrail" not in roles_blade[0]:
+ exec_cmd('fuel node set --node-id %s --role %s --env %s'
+ % (node_id, roles_blade[0], self.env_id))
self.download_deployment_config()
for node_id, roles_blade in self.node_id_roles_dict.iteritems():
diff --git a/deploy/cloud/configure_settings.py b/deploy/cloud/configure_settings.py
index c773e1b61..052634f99 100644
--- a/deploy/cloud/configure_settings.py
+++ b/deploy/cloud/configure_settings.py
@@ -47,9 +47,19 @@ class ConfigureSettings(object):
settings_yaml = ('%s/settings_%s.yaml'
% (self.yaml_config_dir, self.env_id))
check_file_exists(settings_yaml)
- backup(settings_yaml)
+ with io.open(settings_yaml, 'r') as stream:
+ orig_dea = yaml.load(stream)
+
+ backup(settings_yaml)
settings = self.dea.get_property('settings')
+ # Copy fuel defined plugin_id's to user defined settings
+ for plugin in orig_dea['editable']:
+ if 'metadata' in orig_dea['editable'][plugin] and 'plugin_id' in orig_dea['editable'][plugin]['metadata']:
+ if not plugin in settings['editable']:
+ settings['editable'][plugin] = orig_dea['editable'][plugin]
+ else:
+ settings['editable'][plugin]["metadata"]["plugin_id"] = orig_dea['editable'][plugin]["metadata"]["plugin_id"]
with io.open(settings_yaml, 'w') as stream:
yaml.dump(settings, stream, default_flow_style=False)
diff --git a/deploy/common.py b/deploy/common.py
index ccd43d79a..bc2787617 100644
--- a/deploy/common.py
+++ b/deploy/common.py
@@ -49,8 +49,13 @@ def exec_cmd(cmd, check=True):
return_code = process.returncode
if check:
if return_code > 0:
+ print "Failed command: " + str(cmd)
+ print "Command returned response: " + str(response)
+ print "Command return code: " + str(return_code)
raise Exception(response)
else:
+ print "Command: " + str(cmd)
+ print str(response)
return response
return response, return_code
diff --git a/deploy/config/dea_base.yaml b/deploy/config/dea_base.yaml
new file mode 100644
index 000000000..d3188a1af
--- /dev/null
+++ b/deploy/config/dea_base.yaml
@@ -0,0 +1,597 @@
+dea-base-config-metadata:
+ title: 'Deployment Environment Adapter Base configuration'
+ # DEA API version supported
+ version: '0.1'
+ created: 'Mon Dec 28 2015'
+ comment: 'None'
+environment:
+ mode: ha
+ net_segment_type: tun
+wanted_release: Kilo on Ubuntu 14.04
+fuel:
+ FUEL_ACCESS:
+ password: admin
+ user: admin
+ HOSTNAME: fuel
+settings:
+ editable:
+ access:
+ email:
+ description: Email address for Administrator
+ label: Email
+ regex:
+ error: Invalid email
+ source: ^\S+@\S+$
+ type: text
+ value: admin@localhost
+ weight: 40
+ metadata:
+ label: Access
+ weight: 10
+ password:
+ description: Password for Administrator
+ label: Password
+ regex:
+ error: Empty password
+ source: \S
+ type: password
+ value: admin
+ weight: 20
+ tenant:
+ description: Tenant (project) name for Administrator
+ label: Tenant
+ regex:
+ error: Invalid tenant name
+ source: ^(?!services$)(?!nova$)(?!glance$)(?!keystone$)(?!neutron$)(?!cinder$)(?!swift$)(?!ceph$)(?![Gg]uest$)(?!.*
+ +.*$).+
+ type: text
+ value: admin
+ weight: 30
+ user:
+ description: Username for Administrator
+ label: Username
+ regex:
+ error: Invalid username
+ source: ^(?!services$)(?!nova$)(?!glance$)(?!keystone$)(?!neutron$)(?!cinder$)(?!swift$)(?!ceph$)(?![Gg]uest$)(?!.*
+ +.*$).+
+ type: text
+ value: admin
+ weight: 10
+ additional_components:
+ ceilometer:
+ description: If selected, Ceilometer component will be installed
+ label: Install Ceilometer
+ type: checkbox
+ value: false
+ weight: 40
+ heat:
+ description: ''
+ label: ''
+ type: hidden
+ value: true
+ weight: 30
+ metadata:
+ label: Additional Components
+ weight: 20
+ mongo:
+ description: If selected, You can use external Mongo DB as ceilometer backend
+ label: Use external Mongo DB
+ restrictions:
+ - settings:additional_components.ceilometer.value == false
+ type: checkbox
+ value: false
+ weight: 40
+ murano:
+ description: If selected, Murano component will be installed
+ label: Install Murano
+ type: checkbox
+ value: false
+ weight: 20
+ sahara:
+ description: If selected, Sahara component will be installed
+ label: Install Sahara
+ type: checkbox
+ value: false
+ weight: 10
+ common:
+ auth_key:
+ description: Public key(s) to include in authorized_keys on deployed nodes
+ label: Public Key
+ type: textarea
+ value: ''
+ weight: 70
+ auto_assign_floating_ip:
+ description: If selected, OpenStack will automatically assign a floating IP
+ to a new instance
+ label: Auto assign floating IP
+ restrictions:
+ - action: hide
+ condition: cluster:net_provider == 'neutron'
+ type: checkbox
+ value: false
+ weight: 40
+ debug:
+ description: Debug logging mode provides more information, but requires more
+ disk space.
+ label: OpenStack debug logging
+ type: checkbox
+ value: false
+ weight: 20
+ libvirt_type:
+ label: Hypervisor type
+ type: radio
+ value: kvm
+ values:
+ - data: kvm
+ description: Choose this type of hypervisor if you run OpenStack on hardware
+ label: KVM
+ - data: qemu
+ description: Choose this type of hypervisor if you run OpenStack on virtual
+ hosts.
+ label: QEMU
+ weight: 30
+ metadata:
+ label: Common
+ weight: 30
+ nova_quota:
+ description: Quotas are used to limit CPU and memory usage for tenants. Enabling
+ quotas will increase load on the Nova database.
+ label: Nova quotas
+ type: checkbox
+ value: false
+ weight: 25
+ puppet_debug:
+ description: Debug puppet logging mode provides more information, but requires
+ more disk space.
+ label: Puppet debug logging
+ type: checkbox
+ value: true
+ weight: 20
+ resume_guests_state_on_host_boot:
+ description: Whether to resume previous guests state when the host reboots.
+ If enabled, this option causes guests assigned to the host to resume their
+ previous state. If the guest was running a restart will be attempted when
+ nova-compute starts. If the guest was not running previously, a restart
+ will not be attempted.
+ label: Resume guests state on host boot
+ type: checkbox
+ value: true
+ weight: 60
+ use_cow_images:
+ description: For most cases you will want qcow format. If it's disabled, raw
+ image format will be used to run VMs. OpenStack with raw format currently
+ does not support snapshotting.
+ label: Use qcow format for images
+ type: checkbox
+ value: true
+ weight: 50
+ use_vcenter:
+ restrictions:
+ - condition: cluster:net_provider == 'nova_network'
+ type: hidden
+ value: false
+ weight: 30
+ corosync:
+ group:
+ description: ''
+ label: Group
+ type: text
+ value: 226.94.1.1
+ weight: 10
+ metadata:
+ label: Corosync
+ restrictions:
+ - action: hide
+ condition: 'true'
+ weight: 50
+ port:
+ description: ''
+ label: Port
+ type: text
+ value: '12000'
+ weight: 20
+ verified:
+ description: Set True only if multicast is configured correctly on router.
+ label: Need to pass network verification.
+ type: checkbox
+ value: false
+ weight: 10
+ external_mongo:
+ hosts_ip:
+ description: IP Addresses of MongoDB. Use comma to split IPs
+ label: MongoDB hosts IP
+ regex:
+ error: Invalid hosts ip sequence
+ source: ^(((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?),)*((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
+ type: text
+ value: ''
+ weight: 30
+ metadata:
+ label: External MongoDB
+ restrictions:
+ - action: hide
+ condition: settings:additional_components.mongo.value == false
+ message: Ceilometer and MongoDB are not enabled on the Additional Components
+ section
+ weight: 20
+ mongo_db_name:
+ description: Mongo database name
+ label: Database name
+ regex:
+ error: Invalid database name
+ source: ^\w+$
+ type: text
+ value: ceilometer
+ weight: 30
+ mongo_password:
+ description: Mongo database password
+ label: Password
+ regex:
+ error: Password contains spaces
+ source: ^\S*$
+ type: password
+ value: ceilometer
+ weight: 30
+ mongo_replset:
+ description: Name for Mongo replication set
+ label: Replset
+ type: text
+ value: ''
+ weight: 30
+ mongo_user:
+ description: Mongo database username
+ label: Username
+ regex:
+ error: Empty username
+ source: ^\w+$
+ type: text
+ value: ceilometer
+ weight: 30
+ kernel_params:
+ kernel:
+ description: Default kernel parameters
+ label: Initial parameters
+ type: text
+ value: console=tty0 net.ifnames=0 biosdevname=0 rootdelay=90 nomodeset
+ weight: 45
+ metadata:
+ label: Kernel parameters
+ weight: 40
+ murano_settings:
+ metadata:
+ label: Murano Settings
+ restrictions:
+ - action: hide
+ condition: settings:additional_components.murano.value == false
+ message: Murano is not enabled on the Additional Components section
+ weight: 20
+ murano_repo_url:
+ description: ''
+ label: Murano Repository URL
+ type: text
+ value: http://storage.apps.openstack.org/
+ weight: 10
+ neutron_advanced_configuration:
+ metadata:
+ label: Neutron Advanced Configuration
+ restrictions:
+ - action: hide
+ condition: cluster:net_provider != 'neutron'
+ weight: 45
+ neutron_dvr:
+ description: Enable Distributed Virtual Routers in Neutron
+ label: Neutron DVR
+ restrictions:
+ - ? networking_parameters:segmentation_type != 'vlan' and settings:neutron_advanced_configuration.neutron_l2_pop.value
+ == false
+ : DVR requires L2 population to be enabled.
+ type: checkbox
+ value: false
+ weight: 20
+ neutron_l2_pop:
+ description: Enable L2 population mechanism in Neutron
+ label: Neutron L2 population
+ restrictions:
+ - action: hide
+ condition: networking_parameters:segmentation_type == 'vlan'
+ type: checkbox
+ value: false
+ weight: 10
+ neutron_mellanox:
+ metadata:
+ enabled: true
+ label: Mellanox Neutron components
+ restrictions:
+ - action: hide
+ condition: not ('experimental' in version:feature_groups)
+ toggleable: false
+ weight: 50
+ plugin:
+ label: Mellanox drivers and SR-IOV plugin
+ type: radio
+ value: disabled
+ values:
+ - data: disabled
+ description: If selected, Mellanox drivers, Neutron and Cinder plugin will
+ not be installed.
+ label: Mellanox drivers and plugins disabled
+ restrictions:
+ - settings:storage.iser.value == true
+ - data: drivers_only
+ description: If selected, Mellanox Ethernet drivers will be installed to
+ support networking over Mellanox NIC. Mellanox Neutron plugin will not
+ be installed.
+ label: Install only Mellanox drivers
+ restrictions:
+ - settings:common.libvirt_type.value != 'kvm'
+ - data: ethernet
+ description: If selected, both Mellanox Ethernet drivers and Mellanox network
+ acceleration (Neutron) plugin will be installed.
+ label: Install Mellanox drivers and SR-IOV plugin
+ restrictions:
+ - settings:common.libvirt_type.value != 'kvm' or not (cluster:net_provider
+ == 'neutron' and networking_parameters:segmentation_type == 'vlan')
+ weight: 60
+ vf_num:
+ description: Note that one virtual function will be reserved to the storage
+ network, in case of choosing iSER.
+ label: Number of virtual NICs
+ restrictions:
+ - settings:neutron_mellanox.plugin.value != 'ethernet'
+ type: text
+ value: '16'
+ weight: 70
+ provision:
+ metadata:
+ label: Provision
+ restrictions:
+ - action: hide
+ condition: 'true'
+ weight: 80
+ method:
+ type: hidden
+ value: image
+ public_network_assignment:
+ assign_to_all_nodes:
+ description: When disabled, public network will be assigned to controllers
+ only
+ label: Assign public network to all nodes
+ type: checkbox
+ value: true
+ weight: 10
+ metadata:
+ label: Public network assignment
+ restrictions:
+ - action: hide
+ condition: cluster:net_provider != 'neutron'
+ weight: 50
+ public_ssl:
+ cert_data:
+ description: Certificate and private key data, concatenated into a single
+ file
+ label: Certificate
+ restrictions:
+ - action: hide
+ condition: (settings:public_ssl.cert_source.value != 'user_uploaded') or
+ (settings:public_ssl.horizon.value == false and settings:public_ssl.services.value
+ == false)
+ type: file
+ value: ''
+ weight: 40
+ cert_source:
+ description: From where we'll get certificate and private key
+ label: Select source for certificate
+ restrictions:
+ - action: hide
+ condition: settings:public_ssl.horizon.value == false and settings:public_ssl.services.value
+ == false
+ type: radio
+ value: self_signed
+ values:
+ - data: self_signed
+ description: Generate private key and certificate that will be signed by
+ this key
+ label: Self-signed
+ - data: user_uploaded
+ description: Use pre-generated key and certificate
+ label: I have my own keypair with certificate
+ weight: 30
+ horizon:
+ description: Secure access to Horizon enabling HTTPS instead of HTTP
+ label: HTTPS for Horizon
+ type: checkbox
+ value: false
+ weight: 10
+ hostname:
+ description: Your DNS entries should point to this name. Self-signed certificates
+ also will use this hostname
+ label: DNS hostname for public TLS endpoints
+ restrictions:
+ - action: hide
+ condition: settings:public_ssl.horizon.value == false and settings:public_ssl.services.value
+ == false
+ type: text
+ value: public.fuel.local
+ weight: 50
+ metadata:
+ label: Public TLS
+ weight: 110
+ services:
+ description: Enable TLS termination on HAProxy for OpenStack services
+ label: TLS for OpenStack public endpoints
+ type: checkbox
+ value: false
+ weight: 20
+ repo_setup:
+ metadata:
+ always_editable: true
+ label: Repositories
+ weight: 50
+ repos:
+ description: 'Please note: the first repository will be considered the operating
+ system mirror that will be used during node provisioning.
+
+ To create a local repository mirror on the Fuel master node, please follow
+ the instructions provided by running "fuel-createmirror --help" on the Fuel
+ master node.
+
+ Please make sure your Fuel master node has Internet access to the repository
+ before attempting to create a mirror.
+
+ For more details, please refer to the documentation (https://docs.mirantis.com/openstack/fuel/fuel-7.0/operations.html#external-ubuntu-ops).
+
+ '
+ extra_priority: null
+ type: custom_repo_configuration
+ value:
+ - name: ubuntu
+ priority: null
+ section: main
+ suite: trusty
+ type: deb
+ uri: http://10.20.0.2:8080/ubuntu-part
+ - name: ubuntu-updates
+ priority: null
+ section: main
+ suite: trusty
+ type: deb
+ uri: http://10.20.0.2:8080/ubuntu-part
+ - name: ubuntu-security
+ priority: null
+ section: main
+ suite: trusty
+ type: deb
+ uri: http://10.20.0.2:8080/ubuntu-part
+ - name: mos
+ priority: 1050
+ section: main restricted
+ suite: mos7.0
+ type: deb
+ uri: http://10.20.0.2:8080/2015.1.0-7.0/ubuntu/x86_64
+ - name: mos-updates
+ priority: 1050
+ section: main restricted
+ suite: mos7.0-updates
+ type: deb
+ uri: http://10.20.0.2:8080/mos-ubuntu
+ - name: mos-security
+ priority: 1050
+ section: main restricted
+ suite: mos7.0-security
+ type: deb
+ uri: http://10.20.0.2:8080/mos-ubuntu
+ - name: mos-holdback
+ priority: 1100
+ section: main restricted
+ suite: mos7.0-holdback
+ type: deb
+ uri: http://10.20.0.2:8080/mos-ubuntu
+ - name: Auxiliary
+ priority: 1150
+ section: main restricted
+ suite: auxiliary
+ type: deb
+ uri: http://10.20.0.2:8080/2015.1.0-7.0/ubuntu/auxiliary
+ storage:
+ ephemeral_ceph:
+ description: Configures Nova to store ephemeral volumes in RBD. This works
+ best if Ceph is enabled for volumes and images, too. Enables live migration
+ of all types of Ceph backed VMs (without this option, live migration will
+ only work with VMs launched from Cinder volumes).
+ label: Ceph RBD for ephemeral volumes (Nova)
+ type: checkbox
+ value: true
+ weight: 75
+ images_ceph:
+ description: Configures Glance to use the Ceph RBD backend to store images.
+ If enabled, this option will prevent Swift from installing.
+ label: Ceph RBD for images (Glance)
+ restrictions:
+ - settings:storage.images_vcenter.value == true: Only one Glance backend could
+ be selected.
+ type: checkbox
+ value: true
+ weight: 30
+ images_vcenter:
+ description: Configures Glance to use the vCenter/ESXi backend to store images.
+ If enabled, this option will prevent Swift from installing.
+ label: VMWare vCenter/ESXi datastore for images (Glance)
+ restrictions:
+ - action: hide
+ condition: settings:common.use_vcenter.value != true
+ - condition: settings:storage.images_ceph.value == true
+ message: Only one Glance backend could be selected.
+ type: checkbox
+ value: false
+ weight: 35
+ iser:
+ description: 'High performance block storage: Cinder volumes over iSER protocol
+ (iSCSI over RDMA). This feature requires SR-IOV capabilities in the NIC,
+ and will use a dedicated virtual function for the storage network.'
+ label: iSER protocol for volumes (Cinder)
+ restrictions:
+ - settings:storage.volumes_lvm.value != true or settings:common.libvirt_type.value
+ != 'kvm'
+ - action: hide
+ condition: not ('experimental' in version:feature_groups)
+ type: checkbox
+ value: false
+ weight: 11
+ metadata:
+ label: Storage
+ weight: 60
+ objects_ceph:
+ description: Configures RadosGW front end for Ceph RBD. This exposes S3 and
+ Swift API Interfaces. If enabled, this option will prevent Swift from installing.
+ label: Ceph RadosGW for objects (Swift API)
+ restrictions:
+ - settings:storage.images_ceph.value == false
+ type: checkbox
+ value: true
+ weight: 80
+ osd_pool_size:
+ description: Configures the default number of object replicas in Ceph. This
+ number must be equal to or lower than the number of deployed 'Storage -
+ Ceph OSD' nodes.
+ label: Ceph object replication factor
+ regex:
+ error: Invalid number
+ source: ^[1-9]\d*$
+ type: text
+ value: '2'
+ weight: 85
+ volumes_ceph:
+ description: Configures Cinder to store volumes in Ceph RBD images.
+ label: Ceph RBD for volumes (Cinder)
+ restrictions:
+ - settings:storage.volumes_lvm.value == true
+ type: checkbox
+ value: true
+ weight: 20
+ volumes_lvm:
+ description: It is recommended to have at least one Storage - Cinder LVM node.
+ label: Cinder LVM over iSCSI for volumes
+ restrictions:
+ - settings:storage.volumes_ceph.value == true
+ type: checkbox
+ value: false
+ weight: 10
+ workloads_collector:
+ enabled:
+ type: hidden
+ value: true
+ metadata:
+ label: Workloads Collector User
+ restrictions:
+ - action: hide
+ condition: 'true'
+ weight: 10
+ password:
+ type: password
+ value: YqvwqNhL
+ tenant:
+ type: text
+ value: services
+ user:
+ type: text
+ value: fuel_stats_user
diff --git a/deploy/config/labs/devel-pipeline/default/fuel/config/dea-pod-override.yaml b/deploy/config/labs/devel-pipeline/default/fuel/config/dea-pod-override.yaml
new file mode 100644
index 000000000..2be68e25a
--- /dev/null
+++ b/deploy/config/labs/devel-pipeline/default/fuel/config/dea-pod-override.yaml
@@ -0,0 +1,278 @@
+dea-pod-override-config-metadata:
+ title: 'Deployment Environment Adapter POD override for Development Pipeline - Default version'
+ version: '0.1'
+ created: 'Thu 7 2016'
+ comment: 'None'
+environment:
+ name: opnfv_virt
+fuel:
+ ADMIN_NETWORK:
+ cidr: 10.20.0.0/24
+ dhcp_gateway: 10.20.0.2
+ dhcp_pool_end: 10.20.0.254
+ dhcp_pool_start: 10.20.0.3
+ ipaddress: 10.20.0.2
+ netmask: 255.255.0.0
+ DNS_DOMAIN: opnfvericsson.se
+ DNS_SEARCH: opnfvericsson.se
+ DNS_UPSTREAM: 10.118.32.193
+ FUEL_ACCESS:
+ password: admin
+ user: admin
+ HOSTNAME: opnfv_virt
+ NTP1: 81.170.152.66
+ NTP2: 83.168.200.199
+ NTP3: 78.108.60.252
+interfaces_1:
+ eth0:
+ - fuelweb_admin
+ - management
+ eth1:
+ - storage
+ eth2:
+ - private
+ eth3:
+ - public
+transformations_1:
+ transformations:
+ - action: add-br
+ name: br-fw-admin
+ - action: add-br
+ name: br-mgmt
+ - action: add-br
+ name: br-storage
+ - action: add-br
+ name: br-ex
+ - action: add-br
+ name: br-floating
+ provider: ovs
+ - action: add-patch
+ bridges:
+ - br-floating
+ - br-ex
+ mtu: 65000
+ provider: ovs
+ - action: add-br
+ name: br-mesh
+ - action: add-port
+ bridge: br-fw-admin
+ name: eth0
+ - action: add-port
+ bridge: br-mgmt
+ name: eth0.101
+ - action: add-port
+ bridge: br-storage
+ name: eth1.102
+ - action: add-port
+ bridge: br-mesh
+ name: eth2.103
+ - action: add-port
+ bridge: br-ex
+ name: eth3
+network:
+ management_vip: 192.168.0.2
+ management_vrouter_vip: 192.168.0.1
+ networking_parameters:
+ base_mac: fa:16:3e:00:00:00
+ configuration_template: null
+ dns_nameservers:
+ - 8.8.8.8
+ - 8.8.4.4
+ floating_ranges:
+ - - 172.16.0.130
+ - 172.16.0.254
+ gre_id_range:
+ - 2
+ - 65535
+ internal_cidr: 192.168.111.0/24
+ internal_gateway: 192.168.111.1
+ net_l23_provider: ovs
+ segmentation_type: tun
+ vlan_range:
+ - 1000
+ - 1030
+ networks:
+ - cidr: 172.16.0.0/24
+ gateway: 172.16.0.1
+ ip_ranges:
+ - - 172.16.0.2
+ - 172.16.0.126
+ meta:
+ cidr: 172.16.0.0/24
+ configurable: true
+ floating_range_var: floating_ranges
+ ip_range:
+ - 172.16.0.2
+ - 172.16.0.126
+ map_priority: 1
+ name: public
+ notation: ip_ranges
+ render_addr_mask: public
+ render_type: null
+ use_gateway: true
+ vips:
+ - haproxy
+ - vrouter
+ vlan_start: null
+ name: public
+ vlan_start: null
+ - cidr: 192.168.0.0/24
+ gateway: null
+ ip_ranges:
+ - - 192.168.0.1
+ - 192.168.0.254
+ meta:
+ cidr: 192.168.0.0/24
+ configurable: true
+ map_priority: 2
+ name: management
+ notation: cidr
+ render_addr_mask: internal
+ render_type: cidr
+ use_gateway: false
+ vips:
+ - haproxy
+ - vrouter
+ vlan_start: 101
+ name: management
+ vlan_start: 101
+ - cidr: 192.168.1.0/24
+ gateway: null
+ ip_ranges:
+ - - 192.168.1.1
+ - 192.168.1.254
+ meta:
+ cidr: 192.168.1.0/24
+ configurable: true
+ map_priority: 2
+ name: storage
+ notation: cidr
+ render_addr_mask: storage
+ render_type: cidr
+ use_gateway: false
+ vlan_start: 102
+ name: storage
+ vlan_start: 102
+ - cidr: 192.168.2.0/24
+ gateway: null
+ ip_ranges:
+ - - 192.168.2.1
+ - 192.168.2.254
+ meta:
+ cidr: 192.168.2.0/24
+ configurable: true
+ map_priority: 2
+ name: private
+ notation: cidr
+ render_addr_mask: null
+ render_type: cidr
+ seg_type: tun
+ use_gateway: false
+ vlan_start: 103
+ name: private
+ vlan_start: 103
+ - cidr: 10.20.0.0/16
+ gateway: 10.20.0.2
+ ip_ranges:
+ - - 10.20.0.3
+ - 10.20.0.254
+ meta:
+ configurable: false
+ map_priority: 0
+ notation: ip_ranges
+ render_addr_mask: null
+ render_type: null
+ unmovable: true
+ use_gateway: true
+ name: fuelweb_admin
+ vlan_start: null
+ public_vip: 172.16.0.3
+ public_vrouter_vip: 172.16.0.2
+ vips:
+ management:
+ ipaddr: 192.168.0.2
+ namespace: haproxy
+ network_role: mgmt/vip
+ node_roles:
+ - controller
+ - primary-controller
+ public:
+ ipaddr: 172.16.0.3
+ namespace: haproxy
+ network_role: public/vip
+ node_roles:
+ - controller
+ - primary-controller
+ vrouter:
+ ipaddr: 192.168.0.1
+ namespace: vrouter
+ network_role: mgmt/vip
+ node_roles:
+ - controller
+ - primary-controller
+ vrouter_pub:
+ ipaddr: 172.16.0.2
+ namespace: vrouter
+ network_role: public/vip
+ node_roles:
+ - controller
+ - primary-controller
+settings:
+ editable:
+ external_dns:
+ dns_list:
+ description: List of upstream DNS servers, separated by comma
+ label: DNS list
+ regex:
+ error: Invalid IP address list
+ source: ^\*$|^(?:\d|1?\d\d|2[0-4]\d|25[0-5])(?:\.(?:\d|1?\d\d|2[0-4]\d|25[0-5])){3}(?:\s*,\s*(?:\d|1?\d\d|2[0-4]\d|25[0-5])(?:\.(?:\d|1?\d\d|2[0-4]\d|25[0-5])){3})*$
+ type: text
+ value: 8.8.8.8,8.8.4.4
+ weight: 10
+ metadata:
+ label: Host OS DNS Servers
+ weight: 90
+ external_ntp:
+ metadata:
+ label: Host OS NTP Servers
+ weight: 100
+ ntp_list:
+ description: List of upstream NTP servers, separated by comma
+ label: NTP server list
+ regex:
+ error: Invalid NTP server list
+ source: ^\s*(?:(?:\w+(?:-+\w+)*\.)+[a-z]+|\d{1,3}(?:\.\d{1,3}){3})\s*(?:,\s*(?:(?:\w+(?:-+\w+)*\.)+[a-z]+|\d{1,3}(\.\d{1,3}){3})\s*)*$
+ type: text
+ value: 81.170.152.66,83.168.200.199,78.108.60.252
+ weight: 10
+ syslog:
+ metadata:
+ label: Syslog
+ weight: 50
+ syslog_port:
+ description: Remote syslog port
+ label: Port
+ regex:
+ error: Invalid syslog port
+ source: ^([1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$
+ type: text
+ value: '514'
+ weight: 20
+ syslog_server:
+ description: Remote syslog hostname
+ label: Hostname
+ type: text
+ value: ''
+ weight: 10
+ syslog_transport:
+ label: Syslog transport protocol
+ type: radio
+ value: tcp
+ values:
+ - data: udp
+ description: ''
+ label: UDP
+ - data: tcp
+ description: ''
+ label: TCP
+ weight: 30
diff --git a/deploy/config/labs/devel-pipeline/default/fuel/config/dha.yaml b/deploy/config/labs/devel-pipeline/default/fuel/config/dha.yaml
new file mode 100644
index 000000000..26c4d2b16
--- /dev/null
+++ b/deploy/config/labs/devel-pipeline/default/fuel/config/dha.yaml
@@ -0,0 +1,38 @@
+dha-pod-config-metadata:
+ title: Deployment Hardware Adapter (DHA) for fuel development pipeline - default version
+ version: 0.0.1
+ created: Jan 7 2016
+ comment: Default version
+
+# Adapter to use for this definition
+adapter: libvirt
+
+# Node list.
+# Mandatory property is id, all other properties are adapter specific.
+
+nodes:
+- id: 1
+ libvirtName: controller1
+ libvirtTemplate: templates/virtual_environment/vms/controller.xml
+- id: 2
+ libvirtName: compute1
+ libvirtTemplate: templates/virtual_environment/vms/compute.xml
+- id: 3
+ libvirtName: compute2
+ libvirtTemplate: templates/virtual_environment/vms/compute.xml
+- id: 4
+ libvirtName: compute3
+ libvirtTemplate: templates/virtual_environment/vms/compute.xml
+- id: 5
+ libvirtName: fuel-master
+ libvirtTemplate: templates/virtual_environment/vms/fuel.xml
+ isFuel: yes
+ username: root
+ password: r00tme
+
+virtNetConfDir: templates/virtual_environment/networks
+
+disks:
+ fuel: 50G
+ controller: 100G
+ compute: 50G
diff --git a/deploy/config/labs/devel-pipeline/elx/fuel/config/dea-pod-override.yaml b/deploy/config/labs/devel-pipeline/elx/fuel/config/dea-pod-override.yaml
new file mode 100644
index 000000000..7fc429b84
--- /dev/null
+++ b/deploy/config/labs/devel-pipeline/elx/fuel/config/dea-pod-override.yaml
@@ -0,0 +1,277 @@
+dea-pod-override-config-metadata:
+ title: 'Deployment Environment Adapter POD override for Development Pipeline - Ericsson ELX version'
+ version: '0.1'
+ created: 'Mon Dec 30 2015'
+ comment: 'None'
+environment:
+ name: opnfv_virt
+interfaces_1:
+ eth0:
+ - fuelweb_admin
+ - management
+ eth1:
+ - storage
+ eth2:
+ - private
+ eth3:
+ - public
+transformations_1:
+ transformations:
+ - action: add-br
+ name: br-fw-admin
+ - action: add-br
+ name: br-mgmt
+ - action: add-br
+ name: br-storage
+ - action: add-br
+ name: br-ex
+ - action: add-br
+ name: br-floating
+ provider: ovs
+ - action: add-patch
+ bridges:
+ - br-floating
+ - br-ex
+ mtu: 65000
+ provider: ovs
+ - action: add-br
+ name: br-mesh
+ - action: add-port
+ bridge: br-fw-admin
+ name: eth0
+ - action: add-port
+ bridge: br-mgmt
+ name: eth0.101
+ - action: add-port
+ bridge: br-storage
+ name: eth1.102
+ - action: add-port
+ bridge: br-mesh
+ name: eth2.103
+ - action: add-port
+ bridge: br-ex
+ name: eth3
+fuel:
+ ADMIN_NETWORK:
+ cidr: 10.20.0.0/24
+ dhcp_gateway: 10.20.0.2
+ dhcp_pool_end: 10.20.0.254
+ dhcp_pool_start: 10.20.0.3
+ ipaddress: 10.20.0.2
+ netmask: 255.255.0.0
+ DNS_DOMAIN: opnfvericsson.se
+ DNS_SEARCH: opnfvericsson.se
+ DNS_UPSTREAM: 147.214.6.234
+ FUEL_ACCESS:
+ password: admin
+ user: admin
+ HOSTNAME: opnfv_virt
+ NTP1: 193.181.14.10
+ NTP2: 193.181.14.11
+ NTP3: null
+network:
+ management_vip: 192.168.0.2
+ management_vrouter_vip: 192.168.0.1
+ networking_parameters:
+ base_mac: fa:16:3e:00:00:00
+ configuration_template: null
+ dns_nameservers:
+ - 147.214.6.234
+ floating_ranges:
+ - - 172.16.0.130
+ - 172.16.0.254
+ gre_id_range:
+ - 2
+ - 65535
+ internal_cidr: 192.168.111.0/24
+ internal_gateway: 192.168.111.1
+ net_l23_provider: ovs
+ segmentation_type: tun
+ vlan_range:
+ - 1000
+ - 1030
+ networks:
+ - cidr: 172.16.0.0/24
+ gateway: 172.16.0.1
+ ip_ranges:
+ - - 172.16.0.2
+ - 172.16.0.126
+ meta:
+ cidr: 172.16.0.0/24
+ configurable: true
+ floating_range_var: floating_ranges
+ ip_range:
+ - 172.16.0.2
+ - 172.16.0.126
+ map_priority: 1
+ name: public
+ notation: ip_ranges
+ render_addr_mask: public
+ render_type: null
+ use_gateway: true
+ vips:
+ - haproxy
+ - vrouter
+ vlan_start: null
+ name: public
+ vlan_start: null
+ - cidr: 192.168.0.0/24
+ gateway: null
+ ip_ranges:
+ - - 192.168.0.1
+ - 192.168.0.254
+ meta:
+ cidr: 192.168.0.0/24
+ configurable: true
+ map_priority: 2
+ name: management
+ notation: cidr
+ render_addr_mask: internal
+ render_type: cidr
+ use_gateway: false
+ vips:
+ - haproxy
+ - vrouter
+ vlan_start: 101
+ name: management
+ vlan_start: 101
+ - cidr: 192.168.1.0/24
+ gateway: null
+ ip_ranges:
+ - - 192.168.1.1
+ - 192.168.1.254
+ meta:
+ cidr: 192.168.1.0/24
+ configurable: true
+ map_priority: 2
+ name: storage
+ notation: cidr
+ render_addr_mask: storage
+ render_type: cidr
+ use_gateway: false
+ vlan_start: 102
+ name: storage
+ vlan_start: 102
+ - cidr: 192.168.2.0/24
+ gateway: null
+ ip_ranges:
+ - - 192.168.2.1
+ - 192.168.2.254
+ meta:
+ cidr: 192.168.2.0/24
+ configurable: true
+ map_priority: 2
+ name: private
+ notation: cidr
+ render_addr_mask: null
+ render_type: cidr
+ seg_type: tun
+ use_gateway: false
+ vlan_start: 103
+ name: private
+ vlan_start: 103
+ - cidr: 10.20.0.0/16
+ gateway: 10.20.0.2
+ ip_ranges:
+ - - 10.20.0.3
+ - 10.20.0.254
+ meta:
+ configurable: false
+ map_priority: 0
+ notation: ip_ranges
+ render_addr_mask: null
+ render_type: null
+ unmovable: true
+ use_gateway: true
+ name: fuelweb_admin
+ vlan_start: null
+ public_vip: 172.16.0.3
+ public_vrouter_vip: 172.16.0.2
+ vips:
+ management:
+ ipaddr: 192.168.0.2
+ namespace: haproxy
+ network_role: mgmt/vip
+ node_roles:
+ - controller
+ - primary-controller
+ public:
+ ipaddr: 172.16.0.3
+ namespace: haproxy
+ network_role: public/vip
+ node_roles:
+ - controller
+ - primary-controller
+ vrouter:
+ ipaddr: 192.168.0.1
+ namespace: vrouter
+ network_role: mgmt/vip
+ node_roles:
+ - controller
+ - primary-controller
+ vrouter_pub:
+ ipaddr: 172.16.0.2
+ namespace: vrouter
+ network_role: public/vip
+ node_roles:
+ - controller
+ - primary-controller
+settings:
+ editable:
+ external_dns:
+ dns_list:
+ description: List of upstream DNS servers, separated by comma
+ label: DNS list
+ regex:
+ error: Invalid IP address list
+ source: ^\*$|^(?:\d|1?\d\d|2[0-4]\d|25[0-5])(?:\.(?:\d|1?\d\d|2[0-4]\d|25[0-5])){3}(?:\s*,\s*(?:\d|1?\d\d|2[0-4]\d|25[0-5])(?:\.(?:\d|1?\d\d|2[0-4]\d|25[0-5])){3})*$
+ type: text
+ value: 147.214.6.234
+ weight: 10
+ metadata:
+ label: Host OS DNS Servers
+ weight: 90
+ external_ntp:
+ metadata:
+ label: Host OS NTP Servers
+ weight: 100
+ ntp_list:
+ description: List of upstream NTP servers, separated by comma
+ label: NTP server list
+ regex:
+ error: Invalid NTP server list
+ source: ^\s*(?:(?:\w+(?:-+\w+)*\.)+[a-z]+|\d{1,3}(?:\.\d{1,3}){3})\s*(?:,\s*(?:(?:\w+(?:-+\w+)*\.)+[a-z]+|\d{1,3}(\.\d{1,3}){3})\s*)*$
+ type: text
+ value: 193.181.14.10, 193.181.14.11
+ weight: 10
+ syslog:
+ metadata:
+ label: Syslog
+ weight: 50
+ syslog_port:
+ description: Remote syslog port
+ label: Port
+ regex:
+ error: Invalid syslog port
+ source: ^([1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$
+ type: text
+ value: '514'
+ weight: 20
+ syslog_server:
+ description: Remote syslog hostname
+ label: Hostname
+ type: text
+ value: ''
+ weight: 10
+ syslog_transport:
+ label: Syslog transport protocol
+ type: radio
+ value: tcp
+ values:
+ - data: udp
+ description: ''
+ label: UDP
+ - data: tcp
+ description: ''
+ label: TCP
+ weight: 30 \ No newline at end of file
diff --git a/deploy/config/labs/devel-pipeline/elx/fuel/config/dha.yaml b/deploy/config/labs/devel-pipeline/elx/fuel/config/dha.yaml
new file mode 100644
index 000000000..fc0e93a4f
--- /dev/null
+++ b/deploy/config/labs/devel-pipeline/elx/fuel/config/dha.yaml
@@ -0,0 +1,38 @@
+dha-pod-config-metadata:
+ title: Deployment Hardware Adapter (DHA) for fuel development pipeline - Ericsson ELX version
+ version: 0.0.1
+ created: Dececember 30 2015
+ comment: ELX version
+
+# Adapter to use for this definition
+adapter: libvirt
+
+# Node list.
+# Mandatory property is id, all other properties are adapter specific.
+
+nodes:
+- id: 1
+ libvirtName: controller1
+ libvirtTemplate: templates/virtual_environment/vms/controller.xml
+- id: 2
+ libvirtName: compute1
+ libvirtTemplate: templates/virtual_environment/vms/compute.xml
+- id: 3
+ libvirtName: compute2
+ libvirtTemplate: templates/virtual_environment/vms/compute.xml
+- id: 4
+ libvirtName: compute3
+ libvirtTemplate: templates/virtual_environment/vms/compute.xml
+- id: 5
+ libvirtName: fuel-master
+ libvirtTemplate: templates/virtual_environment/vms/fuel.xml
+ isFuel: yes
+ username: root
+ password: r00tme
+
+virtNetConfDir: templates/virtual_environment/networks
+
+disks:
+ fuel: 50G
+ controller: 100G
+ compute: 50G
diff --git a/deploy/config/plugins/fuel-nfvkvm_0.0.1.yaml b/deploy/config/plugins/fuel-nfvkvm_0.0.1.yaml
new file mode 100644
index 000000000..df59e551d
--- /dev/null
+++ b/deploy/config/plugins/fuel-nfvkvm_0.0.1.yaml
@@ -0,0 +1,18 @@
+plugin-config-metadata:
+ title: NFV QEMU-KVM fuel Plugin configuration template
+ version: 0.1
+ created: Wed Jan 6 2016
+ comment: None
+
+fuel-plugin-qemu:
+ metadata:
+ enabled: true
+ label: fuel-plugin-qemu
+ # plugin_id: Assigned during installation
+ toggleable: true
+ weight: 70
+ use_kvm:
+ label: 'EXPERIMENTAL: KVM enhancements for NFV'
+ type: checkbox
+ value: true
+ weight: 20
diff --git a/deploy/config/plugins/fuel-nfvovs_0.0.1.yaml b/deploy/config/plugins/fuel-nfvovs_0.0.1.yaml
new file mode 100644
index 000000000..02b6bf856
--- /dev/null
+++ b/deploy/config/plugins/fuel-nfvovs_0.0.1.yaml
@@ -0,0 +1,19 @@
+plugin-config-metadata:
+ title: NFV OVS fuel Plugin configuration template
+ version: 0.1
+ created: Wed Jan 6 2016
+ comment: None
+
+fuel-plugin-ovsnfv:
+ fuel-plugin-ovsnfv_text:
+ description: Description for text field
+ label: Text field
+ type: text
+ value: Set default value
+ weight: 25
+ metadata:
+ enabled: true
+ label: Userspace OVS support
+ # plugin_id: Assigned during installation
+ toggleable: true
+ weight: 70
diff --git a/deploy/config/plugins/fuel-odl_0.0.1.yaml b/deploy/config/plugins/fuel-odl_0.0.1.yaml
new file mode 100644
index 000000000..11622a16c
--- /dev/null
+++ b/deploy/config/plugins/fuel-odl_0.0.1.yaml
@@ -0,0 +1,64 @@
+plugin-config-metadata:
+ title: OpenDaylight fuel Plugin configuration template
+ version: 0.1
+ created: Mon Dec 28 2015
+ comment: None
+
+opendaylight:
+ enable_gbp:
+ label: GBP features
+ type: checkbox
+ value: false
+ weight: 14
+ enable_l3_odl:
+ label: 'EXPERIMENTAL: Use ODL to manage L3 traffic'
+ type: checkbox
+ value: false
+ weight: 12
+ enable_sfc:
+ label: SFC features
+ type: checkbox
+ value: false
+ weight: 13
+ metadata:
+ enabled: true
+ label: OpenDaylight Lithium plugin
+ odl_features:
+ default:
+ - config
+ - standard
+ - region
+ - package
+ - kar
+ - ssh
+ - management
+ gbp:
+ - odl-groupbasedpolicy-base
+ - odl-groupbasedpolicy-ofoverlay
+ ovs:
+ - odl-ovsdb-openstack
+ - odl-restconf-all
+ - odl-aaa-authn
+ - odl-dlux-all
+ sfc:
+ - odl-sfc-core
+ - odl-sfc-sb-rest
+ - odl-sfc-ui
+ - odl-sfc-netconf
+ - odl-sfc-ovs
+ - odl-sfcofl2
+ - odl-sfc-test-consumer
+ # plugin_id: Assigned during installation
+ restrictions:
+ - cluster:net_provider != 'neutron': Only neutron is supported by OpenDaylight
+ toggleable: true
+ weight: 70
+ rest_api_port:
+ description: Port on which ODL REST API will be available.
+ label: Port number
+ regex:
+ error: Invalid port number
+ source: ^([1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$
+ type: text
+ value: '8282'
+ weight: 40
diff --git a/deploy/config/plugins/fuel-onos_0.0.1.yaml b/deploy/config/plugins/fuel-onos_0.0.1.yaml
new file mode 100644
index 000000000..48dfd2fe3
--- /dev/null
+++ b/deploy/config/plugins/fuel-onos_0.0.1.yaml
@@ -0,0 +1,24 @@
+plugin-config-metadata:
+ title: ONOS fuel Plugin configuration template
+ version: 0.1
+ created: Wed Jan 7 2016
+ comment: None
+
+onos:
+ metadata:
+ enabled: true
+ label: onos plugin
+ # plugin_id: Assigned during installation
+ restrictions:
+ - cluster:net_provider != 'neutron': Neutron only
+ toggleable: true
+ weight: 70
+ public_eth:
+ description: Please note that onos needs an independent eth for public
+ network when interfaces of nodes are configured, or L3 traffic to
+ internet will fail!
+ Defualt is eth3.
+ label: Public Ethernet Port
+ type: text
+ value: eth3
+ weight: 20
diff --git a/deploy/deploy-config.py b/deploy/deploy-config.py
new file mode 100644
index 000000000..f94466fe8
--- /dev/null
+++ b/deploy/deploy-config.py
@@ -0,0 +1,296 @@
+#!/usr/bin/python
+###############################################################################
+# Copyright (c) 2015 Ericsson AB and others.
+# 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
+###############################################################################
+
+###############################################################################
+# Description
+# This script constructs the final deployment dea.yaml and dha.yaml files
+# The dea.yaml get's constructed from (in reverse priority):
+# 1) dea-base
+# 2) dea-pod-override
+# 3) deployment-scenario dea-override-config section
+#
+# The dha.yaml get's constructed from (in reverse priority):
+# 1) pod dha
+# 2) deployment-scenario dha-override-config section
+###############################################################################
+
+import os
+import yaml
+import sys
+import urllib2
+import calendar
+import time
+import collections
+import hashlib
+
+from functools import reduce
+from operator import or_
+from common import (
+ log,
+ exec_cmd,
+ err,
+ warn,
+ check_file_exists,
+ create_dir_if_not_exists,
+ delete,
+ check_if_root,
+ ArgParser,
+)
+
+def parse_arguments():
+ parser = ArgParser(prog='python %s' % __file__)
+ parser.add_argument('-dha', dest='dha_uri', action='store',
+ default=False, help='dha configuration file FQDN URI', required=True)
+ parser.add_argument('-deab', dest='dea_base_uri', action='store',
+ default=False, help='dea base configuration FQDN URI', required=True)
+ parser.add_argument('-deao', dest='dea_pod_override_uri', action='store',
+ default=False, help='dea POD override configuration FQDN URI',
+ required=True)
+ parser.add_argument('-scenario-base-uri', dest='scenario_base_uri', action='store',
+ default=False, help='Deploymen scenario base directory URI',
+ required=True)
+ parser.add_argument('-scenario', dest='scenario', action='store',
+ default=False, help='Deploymen scenario short-name (priority), or base file name (in the absense of a shortname defenition)',
+ required=True)
+
+ parser.add_argument('-plugins', dest='plugins_uri', action='store',
+ default=False, help='Plugin configurations directory URI',
+ required=True)
+ parser.add_argument('-output', dest='output_path', action='store',
+ default=False,
+ help='Local path for resulting output configuration files',
+ required=True)
+ args = parser.parse_args()
+ log(args)
+ kwargs = {'dha_uri': args.dha_uri,
+ 'dea_base_uri': args.dea_base_uri,
+ 'dea_pod_override_uri': args.dea_pod_override_uri,
+ 'scenario_base_uri': args.scenario_base_uri,
+ 'scenario': args.scenario,
+ 'plugins_uri': args.plugins_uri,
+ 'output_path': args.output_path}
+ return kwargs
+
+def setup_yaml():
+ represent_dict_order = lambda self, data: self.represent_mapping('tag:yaml.org,2002:map', data.items())
+ yaml.add_representer(collections.OrderedDict, represent_dict_order)
+
+def sha_uri(uri):
+ import hashlib
+ response = urllib2.urlopen(uri)
+ data = response.read()
+ sha1 = hashlib.sha1()
+ sha1.update(data)
+ return sha1.hexdigest()
+
+def mergedicts(dict1, dict2):
+ for k in set(dict1.keys()).union(dict2.keys()):
+ if k in dict1 and k in dict2:
+ if isinstance(dict1[k], dict) and isinstance(dict2[k], dict):
+ yield (k, dict(mergedicts(dict1[k], dict2[k])))
+ else:
+ # If one of the values is not a dict, you can't continue
+ # merging it.
+ # Value from second dict overrides one in first and we move on.
+ yield (k, dict2[k])
+ elif k in dict1:
+ yield (k, dict1[k])
+ else:
+ yield (k, dict2[k])
+
+setup_yaml()
+kwargs = parse_arguments()
+
+# Generate final dea.yaml by merging following config files/fragments in revers priority order:
+# "dea-base", "dea-pod-override", "deplyment-scenario/module-config-override"
+# and "deployment-scenario/dea-override"
+print 'Generating final dea.yaml configuration....'
+
+# Fetch dea-base, extract and purge meta-data
+print 'Parsing dea-base from: ' + kwargs["dea_base_uri"] + "...."
+response = urllib2.urlopen(kwargs["dea_base_uri"])
+dea_base_conf = yaml.load(response.read())
+dea_base_title = dea_base_conf['dea-base-config-metadata']['title']
+dea_base_version = dea_base_conf['dea-base-config-metadata']['version']
+dea_base_creation = dea_base_conf['dea-base-config-metadata']['created']
+dea_base_sha = sha_uri(kwargs["dea_base_uri"])
+dea_base_comment = dea_base_conf['dea-base-config-metadata']['comment']
+dea_base_conf.pop('dea-base-config-metadata')
+final_dea_conf = dea_base_conf
+
+# Fetch dea-pod-override, extract and purge meta-data, merge with previous dea data structure
+print 'Parsing the dea-pod-override from: ' + kwargs["dea_pod_override_uri"] + "...."
+response = urllib2.urlopen(kwargs["dea_pod_override_uri"])
+dea_pod_override_conf = yaml.load(response.read())
+if dea_pod_override_conf:
+ dea_pod_title = dea_pod_override_conf['dea-pod-override-config-metadata']['title']
+ dea_pod_version = dea_pod_override_conf['dea-pod-override-config-metadata']['version']
+ dea_pod_creation = dea_pod_override_conf['dea-pod-override-config-metadata']['created']
+ dea_pod_sha = sha_uri(kwargs["dea_pod_override_uri"])
+ dea_pod_comment = dea_pod_override_conf['dea-pod-override-config-metadata']['comment']
+ print 'Merging dea-base and dea-pod-override configuration ....'
+ dea_pod_override_conf.pop('dea-pod-override-config-metadata')
+ if dea_pod_override_conf:
+ final_dea_conf = dict(mergedicts(final_dea_conf, dea_pod_override_conf))
+
+# Fetch deployment-scenario, extract and purge meta-data, merge deployment-scenario/
+# dea-override-configith previous dea data structure
+print 'Parsing deployment-scenario from: ' + kwargs["scenario"] + "...."
+
+response = urllib2.urlopen(kwargs["scenario_base_uri"] + "/scenario.yaml")
+scenario_short_translation_conf = yaml.load(response.read())
+if kwargs["scenario"] in scenario_short_translation_conf:
+ scenario_uri = kwargs["scenario_base_uri"] + "/" + scenario_short_translation_conf[kwargs["scenario"]]['configfile']
+else:
+ scenario_uri = kwargs["scenario_base_uri"] + "/" + kwargs["scenario"]
+response = urllib2.urlopen(scenario_uri)
+deploy_scenario_conf = yaml.load(response.read())
+
+if deploy_scenario_conf:
+ deploy_scenario_title = deploy_scenario_conf['deployment-scenario-metadata']['title']
+ deploy_scenario_version = deploy_scenario_conf['deployment-scenario-metadata']['version']
+ deploy_scenario_creation = deploy_scenario_conf['deployment-scenario-metadata']['created']
+ deploy_scenario_sha = sha_uri(scenario_uri)
+ deploy_scenario_comment = deploy_scenario_conf['deployment-scenario-metadata']['comment']
+ deploy_scenario_conf.pop('deployment-scenario-metadata')
+else:
+ print "Deployment scenario file not found or is empty"
+ print "Cannot continue, exiting ...."
+ sys.exit(1)
+
+dea_scenario_override_conf = deploy_scenario_conf["dea-override-config"]
+if dea_scenario_override_conf:
+ print 'Merging dea-base-, dea-pod-override- and deployment-scenario configuration into final dea.yaml configuration....'
+ final_dea_conf = dict(mergedicts(final_dea_conf, dea_scenario_override_conf))
+
+# Fetch plugin-configuration configuration files, extract and purge meta-data,
+# merge/append with previous dea data structure, override plugin-configuration with
+# deploy-scenario/module-config-override
+modules = []
+module_uris = []
+module_titles = []
+module_versions = []
+module_creations = []
+module_shas = []
+module_comments = []
+if deploy_scenario_conf["stack-extensions"]:
+ for module in deploy_scenario_conf["stack-extensions"]:
+ print 'Loading configuration for module: ' + module["module"] + ' and merging it to final dea.yaml configuration....'
+ response = urllib2.urlopen(kwargs["plugins_uri"] + '/' + module["module-config-name"] + '_' + module["module-config-version"] + '.yaml')
+ module_conf = yaml.load(response.read())
+ modules.append(module["module"])
+ module_uris.append(kwargs["plugins_uri"] + '/' + module["module-config-name"] + '_' + module["module-config-version"] + '.yaml')
+ module_titles.append(str(module_conf['plugin-config-metadata']['title']))
+ module_versions.append(str(module_conf['plugin-config-metadata']['version']))
+ module_creations.append(str(module_conf['plugin-config-metadata']['created']))
+ module_shas.append(sha_uri(kwargs["plugins_uri"] + '/' + module["module-config-name"] + '_' + module["module-config-version"] + '.yaml'))
+ module_comments.append(str(module_conf['plugin-config-metadata']['comment']))
+ module_conf.pop('plugin-config-metadata')
+ final_dea_conf['settings']['editable'].update(module_conf)
+ scenario_module_override_conf = module['module-config-override']
+ if scenario_module_override_conf:
+ dea_scenario_module_override_conf = {}
+ dea_scenario_module_override_conf['settings'] = {}
+ dea_scenario_module_override_conf['settings']['editable'] = {}
+ dea_scenario_module_override_conf['settings']['editable'][module["module"]] = scenario_module_override_conf
+ final_dea_conf = dict(mergedicts(final_dea_conf, dea_scenario_module_override_conf))
+
+# Dump final dea.yaml including configuration management meta-data to argument provided
+# directory
+if not os.path.exists(kwargs["output_path"]):
+ os.makedirs(kwargs["output_path"])
+print 'Dumping final dea.yaml to ' + kwargs["output_path"] + '/dea.yaml....'
+with open(kwargs["output_path"] + '/dea.yaml', "w") as f:
+ f.write("title: DEA.yaml file automatically generated from the configuration files stated in the \"configuration-files\" fragment below\n")
+ f.write("version: " + str(calendar.timegm(time.gmtime())) + "\n")
+ f.write("created: " + str(time.strftime("%d/%m/%Y")) + " " + str(time.strftime("%H:%M:%S")) + "\n")
+ f.write("comment: none\n")
+
+ f.write("configuration-files:\n")
+ f.write(" dea-base:\n")
+ f.write(" uri: " + kwargs["dea_base_uri"] + "\n")
+ f.write(" title: " + str(dea_base_title) + "\n")
+ f.write(" version: " + str(dea_base_version) + "\n")
+ f.write(" created: " + str(dea_base_creation) + "\n")
+ f.write(" sha1: " + str(dea_base_sha) + "\n")
+ f.write(" comment: " + str(dea_base_comment) + "\n")
+
+ f.write(" pod-override:\n")
+ f.write(" uri: " + kwargs["dea_pod_override_uri"] + "\n")
+ f.write(" title: " + str(dea_pod_title) + "\n")
+ f.write(" version: " + str(dea_pod_version) + "\n")
+ f.write(" created: " + str(dea_pod_creation) + "\n")
+ f.write(" sha1: " + str(dea_pod_sha) + "\n")
+ f.write(" comment: " + str(dea_pod_comment) + "\n")
+
+ f.write(" deployment-scenario:\n")
+ f.write(" uri: " + str(scenario_uri) + "\n")
+ f.write(" title: " + str(deploy_scenario_title) + "\n")
+ f.write(" version: " + str(deploy_scenario_version) + "\n")
+ f.write(" created: " + str(deploy_scenario_creation) + "\n")
+ f.write(" sha1: " + str(deploy_scenario_sha) + "\n")
+ f.write(" comment: " + str(deploy_scenario_comment) + "\n")
+
+ f.write(" plugin-modules:\n")
+ for k in range(0,len(modules)):
+ f.write(" - module: " + modules[k] + "\n")
+ f.write(" uri: " + module_uris[k] + "\n")
+ f.write(" title: " + module_titles[k] + "\n")
+ f.write(" version: " + module_versions[k] + "\n")
+ f.write(" created: " + module_creations[k] + "\n")
+ f.write(" sha-1: " + module_shas[k] + "\n")
+ f.write(" comment: " + module_comments[k] + "\n")
+
+ yaml.dump(final_dea_conf, f, default_flow_style=False)
+
+# Load POD dha and override it with "deployment-scenario/dha-override-config" section
+print 'Generating final dha.yaml configuration....'
+print 'Parsing dha-pod yaml configuration....'
+response = urllib2.urlopen(kwargs["dha_uri"])
+dha_pod_conf = yaml.load(response.read())
+dha_pod_title = dha_pod_conf['dha-pod-config-metadata']['title']
+dha_pod_version = dha_pod_conf['dha-pod-config-metadata']['version']
+dha_pod_creation = dha_pod_conf['dha-pod-config-metadata']['created']
+dha_pod_sha = sha_uri(kwargs["dha_uri"])
+dha_pod_comment = dha_pod_conf['dha-pod-config-metadata']['comment']
+dha_pod_conf.pop('dha-pod-config-metadata')
+final_dha_conf = dha_pod_conf
+
+dha_scenario_override_conf = deploy_scenario_conf["dha-override-config"]
+if dha_scenario_override_conf:
+ print 'Merging dha-pod and deployment-scenario override information to final dha.yaml configuration....'
+ final_dha_conf = dict(mergedicts(dha_base_conf, dha_scenario_override_conf))
+
+# Dump final dha.yaml to argument provided directory
+print 'Dumping final dha.yaml to ' + kwargs["output_path"] + '/dha.yaml....'
+with open(kwargs["output_path"] + '/dha.yaml', "w") as f:
+ f.write("title: DHA.yaml file automatically generated from the configuration files stated in the \"configuration-files\" fragment below\n")
+ f.write("version: " + str(calendar.timegm(time.gmtime())) + "\n")
+ f.write("created: " + str(time.strftime("%d/%m/%Y")) + " " + str(time.strftime("%H:%M:%S")) + "\n")
+ f.write("comment: none\n")
+
+ f.write("configuration-files:\n")
+
+ f.write(" dha-pod-configuration:\n")
+ f.write(" uri: " + kwargs["dha_uri"] + "\n")
+ f.write(" title: " + str(dha_pod_title) + "\n")
+ f.write(" version: " + str(dha_pod_version) + "\n")
+ f.write(" created: " + str(dha_pod_creation) + "\n")
+ f.write(" sha-1: " + str(dha_pod_sha) + "\n")
+ f.write(" comment: " + str(dha_pod_comment) + "\n")
+
+ f.write(" deployment-scenario:\n")
+ f.write(" uri: " + str(scenario_uri) + "\n")
+ f.write(" title: " + str(deploy_scenario_title) + "\n")
+ f.write(" version: " + str(deploy_scenario_version) + "\n")
+ f.write(" created: " + str(deploy_scenario_creation) + "\n")
+ f.write(" sha-1: " + str(deploy_scenario_sha) + "\n")
+ f.write(" comment: " + str(deploy_scenario_comment) + "\n")
+ yaml.dump(final_dha_conf, f, default_flow_style=False)
diff --git a/deploy/scenario/README b/deploy/scenario/README
new file mode 100644
index 000000000..aebeb40ee
--- /dev/null
+++ b/deploy/scenario/README
@@ -0,0 +1,165 @@
+##############################################################################
+# Copyright (c) 2015 Ericsson AB and others.
+# 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 directory contains configuration files for different OPNFV deployment
+feature scenarios used by Fuel@OPNFV, eg.:
+- High availability configuration
+- Type of SDN controller to be deployed
+- OPNFV collaboration project features to be deployed.
+- Provisioning of any other sevices
+
+Creating a new plugin
+---------------------
+Creating a new plugin involves creating a plugin config yaml file in
+/deploy/config/plugins. The filename should comply to following structure:
+fuel-<plugin_name>_<version>.yaml.
+The plugin configuration must include plugin configuration metadata as below:
+
+plugin-config-metadata:
+ title:
+ version:
+ created:
+ comment:
+
+Moreover, naturaly the plugin configuration must include the plugin yaml
+fragment, eg:
+
+opendaylight:
+ metadata:
+ enabled: true
+ label: OpenDaylight Lithium plugin
+.......
+
+Creating a new deployment scenario
+----------------------------------
+Creating a new deployment scenario involve creating a deployment scenario
+yaml file under deploy/scenario/. The filename should comply to following
+format: <ha | no-ha>_<SDN Controller>_<feature-1>_..._<feature-n>_<version>.yaml
+
+The deployment configuration file must contain configuration metadata as stated
+below:
+
+deployment-scenario-metadata:
+ title:
+ version:
+ created:
+ comment:
+
+To include fuel plugins, use the stack-extentions key:
+stack-extensions, eg:
+
+stack-extensions:
+ - module: opendaylight
+ module-config-name: fuel-odl
+ module-config-version: 0.0.1
+ module-config-override:
+ # Module config overrides
+ rest_api_port:
+ value: '8282'
+ enable_gbp:
+ value: false
+ enable_l3_odl:
+ value: true
+ enable_sfc:
+ value: false
+
+"module-config-name" and "module-config-version" must correspond to how
+the plugin configuration yaml was named.
+Everything under the "module-config-override" overrides the corresponding
+keys in the plugin config yaml file, this can for instance be used to configure
+the plugin.
+
+Everything under the "dea-override-config" overrides corresponding keys in the dea_base.yaml and dea_pod_override.yaml.
+You must at least provide {environment:{mode:'value},{net_segment_type:'value'}
+and {nodes:....} in order to configure the HA mode, network segmentation types
+and role to node assignments.
+Other ovverides may also be used to enable stack features such as ceph, heat,
+etc.
+Example:
+
+dea-override-config:
+ environment:
+ mode: ha
+ net_segment_type: tun
+ wanted_release: Kilo on Ubuntu 14.04
+ nodes:
+ - id: 1
+ interfaces: interfaces_1
+ role: mongo,controller,opendaylight
+ transformations: transformations_1
+ - id: 2
+ interfaces: interfaces_1
+ role: mongo,controller
+ transformations: transformations_1
+ - id: 3
+ interfaces: interfaces_1
+ role: mongo,controller
+ transformations: transformations_1
+ - id: 4
+ interfaces: interfaces_1
+ role: ceph-osd,compute
+ transformations: transformations_1
+ - id: 5
+ interfaces: interfaces_1
+ role: ceph-osd,compute
+ transformations: transformations_1
+
+ settings:
+ editable:
+ additional_components:
+ ceilometer:
+ description: If selected, Ceilometer component will be installed
+ label: Install Ceilometer
+ type: checkbox
+ value: true
+ weight: 40
+ heat:
+ description: ''
+ label: ''
+ type: hidden
+ value: true
+ weight: 30
+ metadata:
+ label: Additional Components
+ weight: 20
+ storage:
+ ephemeral_ceph:
+ description: Configures Nova to store ephemeral volumes in RBD. This works
+ best if Ceph is enabled for volumes and images, too. Enables live migration
+ of all types of Ceph backed VMs (without this option, live migration will
+ only work with VMs launched from Cinder volumes).
+ label: Ceph RBD for ephemeral volumes (Nova)
+ type: checkbox
+ value: true
+ weight: 75
+ images_ceph:
+ description: Configures Glance to use the Ceph RBD backend to store images.
+ If enabled, this option will prevent Swift from installing.
+ label: Ceph RBD for images (Glance)
+ restrictions:
+ - settings:storage.images_vcenter.value == true: Only one Glance backend could
+ be selected.
+ type: checkbox
+ value: true
+ weight: 30
+
+Optionally you may override the pod dha defenition under the
+"dha-override-config" key.
+
+Short names
+-----------
+scenario.yaml provides a mapping between a deployment scenario short-name
+and one or several deployment scenario configuration yaml files.
+
+Other
+-----
+These configuration files are used by deploy.sh provided by Fuel@OPNFV, e.g.
+deploy.sh will clone this repo when deploying. \ No newline at end of file
diff --git a/deploy/scenario/ha_heat_ceilometer_scenario_0.0.1.yaml b/deploy/scenario/ha_heat_ceilometer_scenario_0.0.1.yaml
new file mode 100644
index 000000000..ae2432edc
--- /dev/null
+++ b/deploy/scenario/ha_heat_ceilometer_scenario_0.0.1.yaml
@@ -0,0 +1,113 @@
+##############################################################################
+# Copyright (c) 2015 Ericsson AB and others.
+# 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
+##############################################################################
+
+############################################################################### # Description:
+# This .yaml configuration file defines the configuration of the fuel
+# deployment and is passed as an argument to deploy.sh
+# eg. deploy.sh -c https://artifact.opnfv.org/fuel/config
+# This will make build.sh fetch this configuration file and configure the
+# deployment accordingly.
+# After the deployment, a copy of this file gets uploaded to fuel:
+# /root/deploy-config.yaml, as well as the sha-1 sum of this file:
+# /root/deploy-config.sha1
+##############################################################################
+
+##############################################################################
+# deployment configuration meta-data
+deployment-scenario-metadata:
+ title: OpenStack-only, HA deployment
+ version: 0.0.1
+ created: December 29 2015
+ comment: Fuel OpenStack-only with Ceph, Ceilometer and Heat, HA deployment
+
+##############################################################################
+# Stack extentions are opnfv added value features in form of a fuel-plugin
+# plug-ins listed below will be enabled and configured according to the
+# <module-config-base-uri>/<module-config-name>_<module-config-version>.yaml
+# It does so by copying the config file to the local plugin config directory
+stack-extensions:
+
+##############################################################################
+# By editing the override-config sections below, you can override arbitrary
+# configuration name-space settings
+dea-override-config:
+ environment:
+ mode: ha
+ net_segment_type: tun
+ wanted_release: Kilo on Ubuntu 14.04
+ nodes:
+ - id: 1
+ interfaces: interfaces_1
+ role: mongo,controller
+ transformations: transformations_1
+ - id: 2
+ interfaces: interfaces_1
+ role: mongo,controller
+ transformations: transformations_1
+ - id: 3
+ interfaces: interfaces_1
+ role: mongo,controller
+ transformations: transformations_1
+ - id: 4
+ interfaces: interfaces_1
+ role: ceph-osd,compute
+ transformations: transformations_1
+ - id: 5
+ interfaces: interfaces_1
+ role: ceph-osd,compute
+ transformations: transformations_1
+
+ settings:
+ editable:
+ additional_components:
+ ceilometer:
+ description: If selected, Ceilometer component will be installed
+ label: Install Ceilometer
+ type: checkbox
+ value: true
+ weight: 40
+ heat:
+ description: ''
+ label: ''
+ type: hidden
+ value: true
+ weight: 30
+ metadata:
+ label: Additional Components
+ weight: 20
+ storage:
+ ephemeral_ceph:
+ description: Configures Nova to store ephemeral volumes in RBD. This works
+ best if Ceph is enabled for volumes and images, too. Enables live migration
+ of all types of Ceph backed VMs (without this option, live migration will
+ only work with VMs launched from Cinder volumes).
+ label: Ceph RBD for ephemeral volumes (Nova)
+ type: checkbox
+ value: true
+ weight: 75
+ images_ceph:
+ description: Configures Glance to use the Ceph RBD backend to store images.
+ If enabled, this option will prevent Swift from installing.
+ label: Ceph RBD for images (Glance)
+ restrictions:
+ - settings:storage.images_vcenter.value == true: Only one Glance backend could
+ be selected.
+ type: checkbox
+ value: true
+ weight: 30
+
+dha-override-config:
+# disks:
+# contrail: 500G
+
+##############################################################################
+# The verification pipeline may populate the section below with arbitrary
+# testing information, which post deploy can be retreived from the fuel master:
+# /root/deploy-config.yaml
+test:
diff --git a/deploy/scenario/ha_nfv-kvm_heat_ceilometer_scenario_0.0.1.yaml b/deploy/scenario/ha_nfv-kvm_heat_ceilometer_scenario_0.0.1.yaml
new file mode 100644
index 000000000..e07fd0d1a
--- /dev/null
+++ b/deploy/scenario/ha_nfv-kvm_heat_ceilometer_scenario_0.0.1.yaml
@@ -0,0 +1,117 @@
+##############################################################################
+# Copyright (c) 2015 Ericsson AB and others.
+# 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
+##############################################################################
+
+############################################################################### # Description:
+# This .yaml configuration file defines the configuration of the fuel
+# deployment and is passed as an argument to deploy.sh
+# eg. deploy.sh -c https://artifact.opnfv.org/fuel/config
+# This will make build.sh fetch this configuration file and configure the
+# deployment accordingly.
+# After the deployment, a copy of this file gets uploaded to fuel:
+# /root/deploy-config.yaml, as well as the sha-1 sum of this file:
+# /root/deploy-config.sha1
+##############################################################################
+
+##############################################################################
+# deployment configuration meta-data
+deployment-scenario-metadata:
+ title: NFV KVM HA deployment
+ version: 0.0.1
+ created: Jan 6 2016
+ comment: NFV KVM HA
+
+##############################################################################
+# Stack extentions are opnfv added value features in form of a fuel-plugin
+# plug-ins listed below will be enabled and configured according to the
+# <module-config-base-uri>/<module-config-name>_<module-config-version>.yaml
+# It does so by copying the config file to the local plugin config directory
+stack-extensions:
+ - module: fuel-plugin-qemu
+ module-config-name: fuel-nfvkvm
+ module-config-version: 0.0.1
+ module-config-override:
+ # Module config overrides
+
+##############################################################################
+# By editing the override-config sections below, you can override arbitrary
+# configuration name-space settings
+dea-override-config:
+ environment:
+ mode: ha
+ net_segment_type: tun
+ wanted_release: Kilo on Ubuntu 14.04
+ nodes:
+ - id: 1
+ interfaces: interfaces_1
+ role: mongo,controller
+ transformations: transformations_1
+ - id: 2
+ interfaces: interfaces_1
+ role: mongo,controller
+ transformations: transformations_1
+ - id: 3
+ interfaces: interfaces_1
+ role: mongo,controller
+ transformations: transformations_1
+ - id: 4
+ interfaces: interfaces_1
+ role: ceph-osd,compute
+ transformations: transformations_1
+ - id: 5
+ interfaces: interfaces_1
+ role: ceph-osd,compute
+ transformations: transformations_1
+ settings:
+ editable:
+ additional_components:
+ ceilometer:
+ description: If selected, Ceilometer component will be installed
+ label: Install Ceilometer
+ type: checkbox
+ value: true
+ weight: 40
+ heat:
+ description: ''
+ label: ''
+ type: hidden
+ value: true
+ weight: 30
+ metadata:
+ label: Additional Components
+ weight: 20
+ storage:
+ ephemeral_ceph:
+ description: Configures Nova to store ephemeral volumes in RBD. This works
+ best if Ceph is enabled for volumes and images, too. Enables live migration
+ of all types of Ceph backed VMs (without this option, live migration will
+ only work with VMs launched from Cinder volumes).
+ label: Ceph RBD for ephemeral volumes (Nova)
+ type: checkbox
+ value: true
+ weight: 75
+ images_ceph:
+ description: Configures Glance to use the Ceph RBD backend to store images.
+ If enabled, this option will prevent Swift from installing.
+ label: Ceph RBD for images (Glance)
+ restrictions:
+ - settings:storage.images_vcenter.value == true: Only one Glance backend could
+ be selected.
+ type: checkbox
+ value: true
+ weight: 30
+
+dha-override-config:
+# disks:
+# contrail: 500G
+
+##############################################################################
+# The verification pipeline may populate the section below with arbitrary
+# testing information, which post deploy can be retreived from the fuel master:
+# /root/deploy-config.yaml
+test:
diff --git a/deploy/scenario/ha_nfv-ovs_heat_ceilometer_scenario_0.0.1.yaml b/deploy/scenario/ha_nfv-ovs_heat_ceilometer_scenario_0.0.1.yaml
new file mode 100644
index 000000000..1419858cb
--- /dev/null
+++ b/deploy/scenario/ha_nfv-ovs_heat_ceilometer_scenario_0.0.1.yaml
@@ -0,0 +1,117 @@
+##############################################################################
+# Copyright (c) 2015 Ericsson AB and others.
+# 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
+##############################################################################
+
+############################################################################### # Description:
+# This .yaml configuration file defines the configuration of the fuel
+# deployment and is passed as an argument to deploy.sh
+# eg. deploy.sh -c https://artifact.opnfv.org/fuel/config
+# This will make build.sh fetch this configuration file and configure the
+# deployment accordingly.
+# After the deployment, a copy of this file gets uploaded to fuel:
+# /root/deploy-config.yaml, as well as the sha-1 sum of this file:
+# /root/deploy-config.sha1
+##############################################################################
+
+##############################################################################
+# deployment configuration meta-data
+deployment-scenario-metadata:
+ title: NFV OVS HA deployment
+ version: 0.0.1
+ created: Jan 6 2016
+ comment: NFV OVS HA
+
+##############################################################################
+# Stack extentions are opnfv added value features in form of a fuel-plugin
+# plug-ins listed below will be enabled and configured according to the
+# <module-config-base-uri>/<module-config-name>_<module-config-version>.yaml
+# It does so by copying the config file to the local plugin config directory
+stack-extensions:
+ - module: fuel-plugin-ovsnfv
+ module-config-name: fuel-nfvovs
+ module-config-version: 0.0.1
+ module-config-override:
+ # Module config overrides
+
+##############################################################################
+# By editing the override-config sections below, you can override arbitrary
+# configuration name-space settings
+dea-override-config:
+ environment:
+ mode: ha
+ net_segment_type: tun
+ wanted_release: Kilo on Ubuntu 14.04
+ nodes:
+ - id: 1
+ interfaces: interfaces_1
+ role: mongo,controller
+ transformations: transformations_1
+ - id: 2
+ interfaces: interfaces_1
+ role: mongo,controller
+ transformations: transformations_1
+ - id: 3
+ interfaces: interfaces_1
+ role: mongo,controller
+ transformations: transformations_1
+ - id: 4
+ interfaces: interfaces_1
+ role: ceph-osd,compute
+ transformations: transformations_1
+ - id: 5
+ interfaces: interfaces_1
+ role: ceph-osd,compute
+ transformations: transformations_1
+ settings:
+ editable:
+ additional_components:
+ ceilometer:
+ description: If selected, Ceilometer component will be installed
+ label: Install Ceilometer
+ type: checkbox
+ value: true
+ weight: 40
+ heat:
+ description: ''
+ label: ''
+ type: hidden
+ value: true
+ weight: 30
+ metadata:
+ label: Additional Components
+ weight: 20
+ storage:
+ ephemeral_ceph:
+ description: Configures Nova to store ephemeral volumes in RBD. This works
+ best if Ceph is enabled for volumes and images, too. Enables live migration
+ of all types of Ceph backed VMs (without this option, live migration will
+ only work with VMs launched from Cinder volumes).
+ label: Ceph RBD for ephemeral volumes (Nova)
+ type: checkbox
+ value: true
+ weight: 75
+ images_ceph:
+ description: Configures Glance to use the Ceph RBD backend to store images.
+ If enabled, this option will prevent Swift from installing.
+ label: Ceph RBD for images (Glance)
+ restrictions:
+ - settings:storage.images_vcenter.value == true: Only one Glance backend could
+ be selected.
+ type: checkbox
+ value: true
+ weight: 30
+
+dha-override-config:
+# disks:
+# contrail: 500G
+
+##############################################################################
+# The verification pipeline may populate the section below with arbitrary
+# testing information, which post deploy can be retreived from the fuel master:
+# /root/deploy-config.yaml
+test:
diff --git a/deploy/scenario/ha_odl-l2_heat_ceilometer_scenario_0.0.1.yaml b/deploy/scenario/ha_odl-l2_heat_ceilometer_scenario_0.0.1.yaml
new file mode 100644
index 000000000..9b1d077d2
--- /dev/null
+++ b/deploy/scenario/ha_odl-l2_heat_ceilometer_scenario_0.0.1.yaml
@@ -0,0 +1,126 @@
+##############################################################################
+# Copyright (c) 2015 Ericsson AB and others.
+# 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
+##############################################################################
+
+############################################################################### # Description:
+# This .yaml configuration file defines the configuration of the fuel
+# deployment and is passed as an argument to deploy.sh
+# eg. deploy.sh -c https://artifact.opnfv.org/fuel/config
+# This will make build.sh fetch this configuration file and configure the
+# deployment accordingly.
+# After the deployment, a copy of this file gets uploaded to fuel:
+# /root/deploy-config.yaml, as well as the sha-1 sum of this file:
+# /root/deploy-config.sha1
+##############################################################################
+
+##############################################################################
+# deployment configuration meta-data
+deployment-scenario-metadata:
+ title: ODL-L2 HA deployment
+ version: 0.0.1
+ created: Jan 5 2016
+ comment: Fuel ODL-L2 HA with Ceph, Ceilometer and Heat
+
+##############################################################################
+# Stack extentions are opnfv added value features in form of a fuel-plugin
+# plug-ins listed below will be enabled and configured according to the
+# <module-config-base-uri>/<module-config-name>_<module-config-version>.yaml
+# It does so by copying the config file to the local plugin config directory
+stack-extensions:
+ - module: opendaylight
+ module-config-name: fuel-odl
+ module-config-version: 0.0.1
+ module-config-override:
+ # Module config overrides
+ rest_api_port:
+ value: '8282'
+ enable_gbp:
+ value: false
+ enable_l3_odl:
+ value: false
+ enable_sfc:
+ value: false
+
+##############################################################################
+# By editing the override-config sections below, you can override arbitrary
+# configuration name-space settings
+dea-override-config:
+ environment:
+ mode: ha
+ net_segment_type: tun
+ wanted_release: Kilo on Ubuntu 14.04
+ nodes:
+ - id: 1
+ interfaces: interfaces_1
+ role: mongo,controller,opendaylight
+ transformations: transformations_1
+ - id: 2
+ interfaces: interfaces_1
+ role: mongo,controller
+ transformations: transformations_1
+ - id: 3
+ interfaces: interfaces_1
+ role: mongo,controller
+ transformations: transformations_1
+ - id: 4
+ interfaces: interfaces_1
+ role: ceph-osd,compute
+ transformations: transformations_1
+ - id: 5
+ interfaces: interfaces_1
+ role: ceph-osd,compute
+ transformations: transformations_1
+
+ settings:
+ editable:
+ additional_components:
+ ceilometer:
+ description: If selected, Ceilometer component will be installed
+ label: Install Ceilometer
+ type: checkbox
+ value: true
+ weight: 40
+ heat:
+ description: ''
+ label: ''
+ type: hidden
+ value: true
+ weight: 30
+ metadata:
+ label: Additional Components
+ weight: 20
+ storage:
+ ephemeral_ceph:
+ description: Configures Nova to store ephemeral volumes in RBD. This works
+ best if Ceph is enabled for volumes and images, too. Enables live migration
+ of all types of Ceph backed VMs (without this option, live migration will
+ only work with VMs launched from Cinder volumes).
+ label: Ceph RBD for ephemeral volumes (Nova)
+ type: checkbox
+ value: true
+ weight: 75
+ images_ceph:
+ description: Configures Glance to use the Ceph RBD backend to store images.
+ If enabled, this option will prevent Swift from installing.
+ label: Ceph RBD for images (Glance)
+ restrictions:
+ - settings:storage.images_vcenter.value == true: Only one Glance backend could
+ be selected.
+ type: checkbox
+ value: true
+ weight: 30
+
+dha-override-config:
+# disks:
+# contrail: 500G
+
+##############################################################################
+# The verification pipeline may populate the section below with arbitrary
+# testing information, which post deploy can be retreived from the fuel master:
+# /root/deploy-config.yaml
+test:
diff --git a/deploy/scenario/ha_odl-l3_heat_ceilometer_scenario_0.0.1.yaml b/deploy/scenario/ha_odl-l3_heat_ceilometer_scenario_0.0.1.yaml
new file mode 100644
index 000000000..a0f68097d
--- /dev/null
+++ b/deploy/scenario/ha_odl-l3_heat_ceilometer_scenario_0.0.1.yaml
@@ -0,0 +1,126 @@
+##############################################################################
+# Copyright (c) 2015 Ericsson AB and others.
+# 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
+##############################################################################
+
+############################################################################### # Description:
+# This .yaml configuration file defines the configuration of the fuel
+# deployment and is passed as an argument to deploy.sh
+# eg. deploy.sh -c https://artifact.opnfv.org/fuel/config
+# This will make build.sh fetch this configuration file and configure the
+# deployment accordingly.
+# After the deployment, a copy of this file gets uploaded to fuel:
+# /root/deploy-config.yaml, as well as the sha-1 sum of this file:
+# /root/deploy-config.sha1
+##############################################################################
+
+##############################################################################
+# deployment configuration meta-data
+deployment-scenario-metadata:
+ title: ODL-L3 HA deployment
+ version: 0.0.1
+ created: Jan 5 2016
+ comment: Fuel ODL-L3 HA with Ceph, Ceilometer and Heat
+
+##############################################################################
+# Stack extentions are opnfv added value features in form of a fuel-plugin
+# plug-ins listed below will be enabled and configured according to the
+# <module-config-base-uri>/<module-config-name>_<module-config-version>.yaml
+# It does so by copying the config file to the local plugin config directory
+stack-extensions:
+ - module: opendaylight
+ module-config-name: fuel-odl
+ module-config-version: 0.0.1
+ module-config-override:
+ # Module config overrides
+ rest_api_port:
+ value: '8282'
+ enable_gbp:
+ value: false
+ enable_l3_odl:
+ value: true
+ enable_sfc:
+ value: false
+
+##############################################################################
+# By editing the override-config sections below, you can override arbitrary
+# configuration name-space settings
+dea-override-config:
+ environment:
+ mode: ha
+ net_segment_type: tun
+ wanted_release: Kilo on Ubuntu 14.04
+ nodes:
+ - id: 1
+ interfaces: interfaces_1
+ role: mongo,controller,opendaylight
+ transformations: transformations_1
+ - id: 2
+ interfaces: interfaces_1
+ role: mongo,controller
+ transformations: transformations_1
+ - id: 3
+ interfaces: interfaces_1
+ role: mongo,controller
+ transformations: transformations_1
+ - id: 4
+ interfaces: interfaces_1
+ role: ceph-osd,compute
+ transformations: transformations_1
+ - id: 5
+ interfaces: interfaces_1
+ role: ceph-osd,compute
+ transformations: transformations_1
+
+ settings:
+ editable:
+ additional_components:
+ ceilometer:
+ description: If selected, Ceilometer component will be installed
+ label: Install Ceilometer
+ type: checkbox
+ value: true
+ weight: 40
+ heat:
+ description: ''
+ label: ''
+ type: hidden
+ value: true
+ weight: 30
+ metadata:
+ label: Additional Components
+ weight: 20
+ storage:
+ ephemeral_ceph:
+ description: Configures Nova to store ephemeral volumes in RBD. This works
+ best if Ceph is enabled for volumes and images, too. Enables live migration
+ of all types of Ceph backed VMs (without this option, live migration will
+ only work with VMs launched from Cinder volumes).
+ label: Ceph RBD for ephemeral volumes (Nova)
+ type: checkbox
+ value: true
+ weight: 75
+ images_ceph:
+ description: Configures Glance to use the Ceph RBD backend to store images.
+ If enabled, this option will prevent Swift from installing.
+ label: Ceph RBD for images (Glance)
+ restrictions:
+ - settings:storage.images_vcenter.value == true: Only one Glance backend could
+ be selected.
+ type: checkbox
+ value: true
+ weight: 30
+
+dha-override-config:
+# disks:
+# contrail: 500G
+
+##############################################################################
+# The verification pipeline may populate the section below with arbitrary
+# testing information, which post deploy can be retreived from the fuel master:
+# /root/deploy-config.yaml
+test:
diff --git a/deploy/scenario/ha_onos_heat_ceilometer_scenario_0.0.1.yaml b/deploy/scenario/ha_onos_heat_ceilometer_scenario_0.0.1.yaml
new file mode 100644
index 000000000..8fc4e2229
--- /dev/null
+++ b/deploy/scenario/ha_onos_heat_ceilometer_scenario_0.0.1.yaml
@@ -0,0 +1,120 @@
+##############################################################################
+# Copyright (c) 2015 Ericsson AB and others.
+# 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
+##############################################################################
+
+############################################################################### # Description:
+# This .yaml configuration file defines the configuration of the fuel
+# deployment and is passed as an argument to deploy.sh
+# eg. deploy.sh -c https://artifact.opnfv.org/fuel/config
+# This will make build.sh fetch this configuration file and configure the
+# deployment accordingly.
+# After the deployment, a copy of this file gets uploaded to fuel:
+# /root/deploy-config.yaml, as well as the sha-1 sum of this file:
+# /root/deploy-config.sha1
+##############################################################################
+
+##############################################################################
+# deployment configuration meta-data
+deployment-scenario-metadata:
+ title: ONOS HA deployment
+ version: 0.0.1
+ created: Jan 7 2016
+ comment: Fuel ONOS HA with Ceph, Ceilometer and Heat
+
+##############################################################################
+# Stack extentions are opnfv added value features in form of a fuel-plugin
+# plug-ins listed below will be enabled and configured according to the
+# <module-config-base-uri>/<module-config-name>_<module-config-version>.yaml
+# It does so by copying the config file to the local plugin config directory
+stack-extensions:
+ - module: onos
+ module-config-name: fuel-onos
+ module-config-version: 0.0.1
+ module-config-override:
+ # Module config overrides
+ public_eth:
+ value: 'eth3'
+
+##############################################################################
+# By editing the override-config sections below, you can override arbitrary
+# configuration name-space settings
+dea-override-config:
+ environment:
+ mode: ha
+ net_segment_type: tun
+ wanted_release: Kilo on Ubuntu 14.04
+ nodes:
+ - id: 1
+ interfaces: interfaces_1
+ role: mongo,controller,onos
+ transformations: transformations_1
+ - id: 2
+ interfaces: interfaces_1
+ role: mongo,controller
+ transformations: transformations_1
+ - id: 3
+ interfaces: interfaces_1
+ role: mongo,controller
+ transformations: transformations_1
+ - id: 4
+ interfaces: interfaces_1
+ role: ceph-osd,compute
+ transformations: transformations_1
+ - id: 5
+ interfaces: interfaces_1
+ role: ceph-osd,compute
+ transformations: transformations_1
+
+ settings:
+ editable:
+ additional_components:
+ ceilometer:
+ description: If selected, Ceilometer component will be installed
+ label: Install Ceilometer
+ type: checkbox
+ value: true
+ weight: 40
+ heat:
+ description: ''
+ label: ''
+ type: hidden
+ value: true
+ weight: 30
+ metadata:
+ label: Additional Components
+ weight: 20
+ storage:
+ ephemeral_ceph:
+ description: Configures Nova to store ephemeral volumes in RBD. This works
+ best if Ceph is enabled for volumes and images, too. Enables live migration
+ of all types of Ceph backed VMs (without this option, live migration will
+ only work with VMs launched from Cinder volumes).
+ label: Ceph RBD for ephemeral volumes (Nova)
+ type: checkbox
+ value: true
+ weight: 75
+ images_ceph:
+ description: Configures Glance to use the Ceph RBD backend to store images.
+ If enabled, this option will prevent Swift from installing.
+ label: Ceph RBD for images (Glance)
+ restrictions:
+ - settings:storage.images_vcenter.value == true: Only one Glance backend could
+ be selected.
+ type: checkbox
+ value: true
+ weight: 30
+
+dha-override-config:
+# disks:
+# contrail: 500G
+
+##############################################################################
+# The verification pipeline may populate the section below with arbitrary
+# testing information, which post deploy can be retreived from the fuel master:
+# /root/deploy-config.yaml
+test:
diff --git a/deploy/scenario/no-ha_heat_ceilometer_scenario_0.0.1.yaml b/deploy/scenario/no-ha_heat_ceilometer_scenario_0.0.1.yaml
new file mode 100644
index 000000000..76595e8db
--- /dev/null
+++ b/deploy/scenario/no-ha_heat_ceilometer_scenario_0.0.1.yaml
@@ -0,0 +1,108 @@
+##############################################################################
+# Copyright (c) 2015 Ericsson AB and others.
+# 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
+##############################################################################
+
+############################################################################### # Description:
+# This .yaml configuration file defines the configuration of the fuel
+# deployment and is passed as an argument to deploy.sh
+# eg. deploy.sh -c https://artifact.opnfv.org/fuel/config
+# This will make build.sh fetch this configuration file and configure the
+# deployment accordingly.
+# After the deployment, a copy of this file gets uploaded to fuel:
+# /root/deploy-config.yaml, as well as the sha-1 sum of this file:
+# /root/deploy-config.sha1
+##############################################################################
+
+##############################################################################
+# deployment configuration meta-data
+deployment-scenario-metadata:
+ title: OpenStack-only, No-HA deployment
+ version: 0.0.1
+ created: December 29 2015
+ comment: Fuel OpenStack-only with Ceph, Ceilometer and Heat, No-HA deployment
+
+##############################################################################
+# Stack extentions are opnfv added value features in form of a fuel-plugin
+# plug-ins listed below will be enabled and configured according to the
+# <module-config-base-uri>/<module-config-name>_<module-config-version>.yaml
+# It does so by copying the config file to the local plugin config directory
+stack-extensions:
+
+##############################################################################
+# By editing the override-config sections below, you can override arbitrary
+# configuration name-space settings
+dea-override-config:
+ environment:
+ mode: ha
+ net_segment_type: tun
+ wanted_release: Kilo on Ubuntu 14.04
+ nodes:
+ - id: 1
+ interfaces: interfaces_1
+ role: mongo,controller
+ transformations: transformations_1
+ - id: 2
+ interfaces: interfaces_1
+ role: ceph-osd,compute
+ transformations: transformations_1
+ - id: 3
+ interfaces: interfaces_1
+ role: ceph-osd,compute
+ transformations: transformations_1
+ - id: 4
+ interfaces: interfaces_1
+ role: ceph-osd,compute
+ transformations: transformations_1
+ settings:
+ editable:
+ additional_components:
+ ceilometer:
+ description: If selected, Ceilometer component will be installed
+ label: Install Ceilometer
+ type: checkbox
+ value: true
+ weight: 40
+ heat:
+ description: ''
+ label: ''
+ type: hidden
+ value: true
+ weight: 30
+ metadata:
+ label: Additional Components
+ weight: 20
+ storage:
+ ephemeral_ceph:
+ description: Configures Nova to store ephemeral volumes in RBD. This works
+ best if Ceph is enabled for volumes and images, too. Enables live migration
+ of all types of Ceph backed VMs (without this option, live migration will
+ only work with VMs launched from Cinder volumes).
+ label: Ceph RBD for ephemeral volumes (Nova)
+ type: checkbox
+ value: true
+ weight: 75
+ images_ceph:
+ description: Configures Glance to use the Ceph RBD backend to store images.
+ If enabled, this option will prevent Swift from installing.
+ label: Ceph RBD for images (Glance)
+ restrictions:
+ - settings:storage.images_vcenter.value == true: Only one Glance backend could
+ be selected.
+ type: checkbox
+ value: true
+ weight: 30
+
+dha-override-config:
+# disks:
+# contrail: 500G
+
+##############################################################################
+# The verification pipeline may populate the section below with arbitrary
+# testing information, which post deploy can be retreived from the fuel master:
+# /root/deploy-config.yaml
+test:
diff --git a/deploy/scenario/no-ha_nfv-kvm_heat_ceilometer_scenario_0.0.1.yaml b/deploy/scenario/no-ha_nfv-kvm_heat_ceilometer_scenario_0.0.1.yaml
new file mode 100644
index 000000000..04306c24b
--- /dev/null
+++ b/deploy/scenario/no-ha_nfv-kvm_heat_ceilometer_scenario_0.0.1.yaml
@@ -0,0 +1,113 @@
+##############################################################################
+# Copyright (c) 2015 Ericsson AB and others.
+# 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
+##############################################################################
+
+############################################################################### # Description:
+# This .yaml configuration file defines the configuration of the fuel
+# deployment and is passed as an argument to deploy.sh
+# eg. deploy.sh -c https://artifact.opnfv.org/fuel/config
+# This will make build.sh fetch this configuration file and configure the
+# deployment accordingly.
+# After the deployment, a copy of this file gets uploaded to fuel:
+# /root/deploy-config.yaml, as well as the sha-1 sum of this file:
+# /root/deploy-config.sha1
+##############################################################################
+
+##############################################################################
+# deployment configuration meta-data
+deployment-scenario-metadata:
+ title: NFV KVM NO-HA deployment
+ version: 0.0.1
+ created: Jan 6 2016
+ comment: NFV KVM NO-HA
+
+##############################################################################
+# Stack extentions are opnfv added value features in form of a fuel-plugin
+# plug-ins listed below will be enabled and configured according to the
+# <module-config-base-uri>/<module-config-name>_<module-config-version>.yaml
+# It does so by copying the config file to the local plugin config directory
+stack-extensions:
+ - module: fuel-plugin-qemu
+ module-config-name: fuel-nfvkvm
+ module-config-version: 0.0.1
+ module-config-override:
+ # Module config overrides
+
+##############################################################################
+# By editing the override-config sections below, you can override arbitrary
+# configuration name-space settings
+dea-override-config:
+ environment:
+ mode: ha
+ net_segment_type: tun
+ wanted_release: Kilo on Ubuntu 14.04
+ nodes:
+ - id: 1
+ interfaces: interfaces_1
+ role: mongo,controller
+ transformations: transformations_1
+ - id: 2
+ interfaces: interfaces_1
+ role: ceph-osd,compute
+ transformations: transformations_1
+ - id: 3
+ interfaces: interfaces_1
+ role: ceph-osd,compute
+ transformations: transformations_1
+ - id: 4
+ interfaces: interfaces_1
+ role: ceph-osd,compute
+ transformations: transformations_1
+ settings:
+ editable:
+ additional_components:
+ ceilometer:
+ description: If selected, Ceilometer component will be installed
+ label: Install Ceilometer
+ type: checkbox
+ value: true
+ weight: 40
+ heat:
+ description: ''
+ label: ''
+ type: hidden
+ value: true
+ weight: 30
+ metadata:
+ label: Additional Components
+ weight: 20
+ storage:
+ ephemeral_ceph:
+ description: Configures Nova to store ephemeral volumes in RBD. This works
+ best if Ceph is enabled for volumes and images, too. Enables live migration
+ of all types of Ceph backed VMs (without this option, live migration will
+ only work with VMs launched from Cinder volumes).
+ label: Ceph RBD for ephemeral volumes (Nova)
+ type: checkbox
+ value: true
+ weight: 75
+ images_ceph:
+ description: Configures Glance to use the Ceph RBD backend to store images.
+ If enabled, this option will prevent Swift from installing.
+ label: Ceph RBD for images (Glance)
+ restrictions:
+ - settings:storage.images_vcenter.value == true: Only one Glance backend could
+ be selected.
+ type: checkbox
+ value: true
+ weight: 30
+
+dha-override-config:
+# disks:
+# contrail: 500G
+
+##############################################################################
+# The verification pipeline may populate the section below with arbitrary
+# testing information, which post deploy can be retreived from the fuel master:
+# /root/deploy-config.yaml
+test:
diff --git a/deploy/scenario/no-ha_nfv-kvm_nfv-ovs_heat_ceilometer_scenario_0.0.1.yaml b/deploy/scenario/no-ha_nfv-kvm_nfv-ovs_heat_ceilometer_scenario_0.0.1.yaml
new file mode 100644
index 000000000..96b6f87f6
--- /dev/null
+++ b/deploy/scenario/no-ha_nfv-kvm_nfv-ovs_heat_ceilometer_scenario_0.0.1.yaml
@@ -0,0 +1,119 @@
+##############################################################################
+# Copyright (c) 2015 Ericsson AB and others.
+# 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
+##############################################################################
+
+############################################################################### # Description:
+# This .yaml configuration file defines the configuration of the fuel
+# deployment and is passed as an argument to deploy.sh
+# eg. deploy.sh -c https://artifact.opnfv.org/fuel/config
+# This will make build.sh fetch this configuration file and configure the
+# deployment accordingly.
+# After the deployment, a copy of this file gets uploaded to fuel:
+# /root/deploy-config.yaml, as well as the sha-1 sum of this file:
+# /root/deploy-config.sha1
+##############################################################################
+
+##############################################################################
+# deployment configuration meta-data
+deployment-scenario-metadata:
+ title: NFV KVM and OVS No-HA deployment
+ version: 0.0.1
+ created: Jan 6 2016
+ comment: NFV KVM and OVS
+
+##############################################################################
+# Stack extentions are opnfv added value features in form of a fuel-plugin
+# plug-ins listed below will be enabled and configured according to the
+# <module-config-base-uri>/<module-config-name>_<module-config-version>.yaml
+# It does so by copying the config file to the local plugin config directory
+stack-extensions:
+ - module: fuel-plugin-qemu
+ module-config-name: fuel-nfvkvm
+ module-config-version: 0.0.1
+ module-config-override:
+ # Module config overrides
+
+ - module: fuel-plugin-ovsnfv
+ module-config-name: fuel-nfvovs
+ module-config-version: 0.0.1
+ module-config-override:
+ # Module config overrides
+
+##############################################################################
+# By editing the override-config sections below, you can override arbitrary
+# configuration name-space settings
+dea-override-config:
+ environment:
+ mode: ha
+ net_segment_type: tun
+ wanted_release: Kilo on Ubuntu 14.04
+ nodes:
+ - id: 1
+ interfaces: interfaces_1
+ role: mongo,controller
+ transformations: transformations_1
+ - id: 2
+ interfaces: interfaces_1
+ role: ceph-osd,compute
+ transformations: transformations_2
+ - id: 3
+ interfaces: interfaces_1
+ role: ceph-osd,compute
+ transformations: transformations_2
+ - id: 4
+ interfaces: interfaces_1
+ role: ceph-osd,compute
+ transformations: transformations_2
+ settings:
+ editable:
+ additional_components:
+ ceilometer:
+ description: If selected, Ceilometer component will be installed
+ label: Install Ceilometer
+ type: checkbox
+ value: true
+ weight: 40
+ heat:
+ description: ''
+ label: ''
+ type: hidden
+ value: true
+ weight: 30
+ metadata:
+ label: Additional Components
+ weight: 20
+ storage:
+ ephemeral_ceph:
+ description: Configures Nova to store ephemeral volumes in RBD. This works
+ best if Ceph is enabled for volumes and images, too. Enables live migration
+ of all types of Ceph backed VMs (without this option, live migration will
+ only work with VMs launched from Cinder volumes).
+ label: Ceph RBD for ephemeral volumes (Nova)
+ type: checkbox
+ value: true
+ weight: 75
+ images_ceph:
+ description: Configures Glance to use the Ceph RBD backend to store images.
+ If enabled, this option will prevent Swift from installing.
+ label: Ceph RBD for images (Glance)
+ restrictions:
+ - settings:storage.images_vcenter.value == true: Only one Glance backend could
+ be selected.
+ type: checkbox
+ value: true
+ weight: 30
+
+dha-override-config:
+# disks:
+# contrail: 500G
+
+##############################################################################
+# The verification pipeline may populate the section below with arbitrary
+# testing information, which post deploy can be retreived from the fuel master:
+# /root/deploy-config.yaml
+test:
diff --git a/deploy/scenario/no-ha_nfv-ovs_heat_ceilometer_scenario_0.0.1.yaml b/deploy/scenario/no-ha_nfv-ovs_heat_ceilometer_scenario_0.0.1.yaml
new file mode 100644
index 000000000..f8f68adfe
--- /dev/null
+++ b/deploy/scenario/no-ha_nfv-ovs_heat_ceilometer_scenario_0.0.1.yaml
@@ -0,0 +1,113 @@
+##############################################################################
+# Copyright (c) 2015 Ericsson AB and others.
+# 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
+##############################################################################
+
+############################################################################### # Description:
+# This .yaml configuration file defines the configuration of the fuel
+# deployment and is passed as an argument to deploy.sh
+# eg. deploy.sh -c https://artifact.opnfv.org/fuel/config
+# This will make build.sh fetch this configuration file and configure the
+# deployment accordingly.
+# After the deployment, a copy of this file gets uploaded to fuel:
+# /root/deploy-config.yaml, as well as the sha-1 sum of this file:
+# /root/deploy-config.sha1
+##############################################################################
+
+##############################################################################
+# deployment configuration meta-data
+deployment-scenario-metadata:
+ title: NFV OVS NO-HA deployment
+ version: 0.0.1
+ created: Jan 6 2016
+ comment: NFV OVS NO-HA
+
+##############################################################################
+# Stack extentions are opnfv added value features in form of a fuel-plugin
+# plug-ins listed below will be enabled and configured according to the
+# <module-config-base-uri>/<module-config-name>_<module-config-version>.yaml
+# It does so by copying the config file to the local plugin config directory
+stack-extensions:
+ - module: fuel-plugin-ovsnfv
+ module-config-name: fuel-nfvovs
+ module-config-version: 0.0.1
+ module-config-override:
+ # Module config overrides
+
+##############################################################################
+# By editing the override-config sections below, you can override arbitrary
+# configuration name-space settings
+dea-override-config:
+ environment:
+ mode: ha
+ net_segment_type: tun
+ wanted_release: Kilo on Ubuntu 14.04
+ nodes:
+ - id: 1
+ interfaces: interfaces_1
+ role: mongo,controller
+ transformations: transformations_1
+ - id: 2
+ interfaces: interfaces_1
+ role: ceph-osd,compute
+ transformations: transformations_1
+ - id: 3
+ interfaces: interfaces_1
+ role: ceph-osd,compute
+ transformations: transformations_1
+ - id: 4
+ interfaces: interfaces_1
+ role: ceph-osd,compute
+ transformations: transformations_1
+ settings:
+ editable:
+ additional_components:
+ ceilometer:
+ description: If selected, Ceilometer component will be installed
+ label: Install Ceilometer
+ type: checkbox
+ value: true
+ weight: 40
+ heat:
+ description: ''
+ label: ''
+ type: hidden
+ value: true
+ weight: 30
+ metadata:
+ label: Additional Components
+ weight: 20
+ storage:
+ ephemeral_ceph:
+ description: Configures Nova to store ephemeral volumes in RBD. This works
+ best if Ceph is enabled for volumes and images, too. Enables live migration
+ of all types of Ceph backed VMs (without this option, live migration will
+ only work with VMs launched from Cinder volumes).
+ label: Ceph RBD for ephemeral volumes (Nova)
+ type: checkbox
+ value: true
+ weight: 75
+ images_ceph:
+ description: Configures Glance to use the Ceph RBD backend to store images.
+ If enabled, this option will prevent Swift from installing.
+ label: Ceph RBD for images (Glance)
+ restrictions:
+ - settings:storage.images_vcenter.value == true: Only one Glance backend could
+ be selected.
+ type: checkbox
+ value: true
+ weight: 30
+
+dha-override-config:
+# disks:
+# contrail: 500G
+
+##############################################################################
+# The verification pipeline may populate the section below with arbitrary
+# testing information, which post deploy can be retreived from the fuel master:
+# /root/deploy-config.yaml
+test:
diff --git a/deploy/scenario/no-ha_odl-l2_heat_ceilometer_scenario_0.0.1.yaml b/deploy/scenario/no-ha_odl-l2_heat_ceilometer_scenario_0.0.1.yaml
new file mode 100644
index 000000000..f3e22906f
--- /dev/null
+++ b/deploy/scenario/no-ha_odl-l2_heat_ceilometer_scenario_0.0.1.yaml
@@ -0,0 +1,121 @@
+##############################################################################
+# Copyright (c) 2015 Ericsson AB and others.
+# 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
+##############################################################################
+
+############################################################################### # Description:
+# This .yaml configuration file defines the configuration of the fuel
+# deployment and is passed as an argument to deploy.sh
+# eg. deploy.sh -c https://artifact.opnfv.org/fuel/config
+# This will make build.sh fetch this configuration file and configure the
+# deployment accordingly.
+# After the deployment, a copy of this file gets uploaded to fuel:
+# /root/deploy-config.yaml, as well as the sha-1 sum of this file:
+# /root/deploy-config.sha1
+##############################################################################
+
+##############################################################################
+# deployment configuration meta-data
+deployment-scenario-metadata:
+ title: ODL-L2 No-HA deployment
+ version: 0.0.1
+ created: December 30 2015
+ comment: Fuel ODL-L2 No HA with Ceph, Ceilometer and Heat
+
+##############################################################################
+# Stack extentions are opnfv added value features in form of a fuel-plugin
+# plug-ins listed below will be enabled and configured according to the
+# <module-config-base-uri>/<module-config-name>_<module-config-version>.yaml
+# It does so by copying the config file to the local plugin config directory
+stack-extensions:
+ - module: opendaylight
+ module-config-name: fuel-odl
+ module-config-version: 0.0.1
+ module-config-override:
+ # Module config overrides
+ rest_api_port:
+ value: '8282'
+ enable_gbp:
+ value: false
+ enable_l3_odl:
+ value: false
+ enable_sfc:
+ value: false
+
+##############################################################################
+# By editing the override-config sections below, you can override arbitrary
+# configuration name-space settings
+dea-override-config:
+ environment:
+ mode: ha
+ net_segment_type: tun
+ wanted_release: Kilo on Ubuntu 14.04
+ nodes:
+ - id: 1
+ interfaces: interfaces_1
+ role: mongo,controller,opendaylight
+ transformations: transformations_1
+ - id: 2
+ interfaces: interfaces_1
+ role: ceph-osd,compute
+ transformations: transformations_1
+ - id: 3
+ interfaces: interfaces_1
+ role: ceph-osd,compute
+ transformations: transformations_1
+ - id: 4
+ interfaces: interfaces_1
+ role: ceph-osd,compute
+ transformations: transformations_1
+ settings:
+ editable:
+ additional_components:
+ ceilometer:
+ description: If selected, Ceilometer component will be installed
+ label: Install Ceilometer
+ type: checkbox
+ value: true
+ weight: 40
+ heat:
+ description: ''
+ label: ''
+ type: hidden
+ value: true
+ weight: 30
+ metadata:
+ label: Additional Components
+ weight: 20
+ storage:
+ ephemeral_ceph:
+ description: Configures Nova to store ephemeral volumes in RBD. This works
+ best if Ceph is enabled for volumes and images, too. Enables live migration
+ of all types of Ceph backed VMs (without this option, live migration will
+ only work with VMs launched from Cinder volumes).
+ label: Ceph RBD for ephemeral volumes (Nova)
+ type: checkbox
+ value: true
+ weight: 75
+ images_ceph:
+ description: Configures Glance to use the Ceph RBD backend to store images.
+ If enabled, this option will prevent Swift from installing.
+ label: Ceph RBD for images (Glance)
+ restrictions:
+ - settings:storage.images_vcenter.value == true: Only one Glance backend could
+ be selected.
+ type: checkbox
+ value: true
+ weight: 30
+
+dha-override-config:
+# disks:
+# contrail: 500G
+
+##############################################################################
+# The verification pipeline may populate the section below with arbitrary
+# testing information, which post deploy can be retreived from the fuel master:
+# /root/deploy-config.yaml
+test:
diff --git a/deploy/scenario/no-ha_odl-l3_heat_ceilometer_scenario_0.0.1.yaml b/deploy/scenario/no-ha_odl-l3_heat_ceilometer_scenario_0.0.1.yaml
new file mode 100644
index 000000000..880938935
--- /dev/null
+++ b/deploy/scenario/no-ha_odl-l3_heat_ceilometer_scenario_0.0.1.yaml
@@ -0,0 +1,121 @@
+##############################################################################
+# Copyright (c) 2015 Ericsson AB and others.
+# 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
+##############################################################################
+
+############################################################################### # Description:
+# This .yaml configuration file defines the configuration of the fuel
+# deployment and is passed as an argument to deploy.sh
+# eg. deploy.sh -c https://artifact.opnfv.org/fuel/config
+# This will make build.sh fetch this configuration file and configure the
+# deployment accordingly.
+# After the deployment, a copy of this file gets uploaded to fuel:
+# /root/deploy-config.yaml, as well as the sha-1 sum of this file:
+# /root/deploy-config.sha1
+##############################################################################
+
+##############################################################################
+# deployment configuration meta-data
+deployment-scenario-metadata:
+ title: ODL-L3 No-HA deployment
+ version: 0.0.1
+ created: Jan 5 2016
+ comment: Fuel ODL-L3 No HA with Ceph, Ceilometer and Heat
+
+##############################################################################
+# Stack extentions are opnfv added value features in form of a fuel-plugin
+# plug-ins listed below will be enabled and configured according to the
+# <module-config-base-uri>/<module-config-name>_<module-config-version>.yaml
+# It does so by copying the config file to the local plugin config directory
+stack-extensions:
+ - module: opendaylight
+ module-config-name: fuel-odl
+ module-config-version: 0.0.1
+ module-config-override:
+ # Module config overrides
+ rest_api_port:
+ value: '8282'
+ enable_gbp:
+ value: false
+ enable_l3_odl:
+ value: true
+ enable_sfc:
+ value: false
+
+##############################################################################
+# By editing the override-config sections below, you can override arbitrary
+# configuration name-space settings
+dea-override-config:
+ environment:
+ mode: ha
+ net_segment_type: tun
+ wanted_release: Kilo on Ubuntu 14.04
+ nodes:
+ - id: 1
+ interfaces: interfaces_1
+ role: mongo,controller,opendaylight
+ transformations: transformations_1
+ - id: 2
+ interfaces: interfaces_1
+ role: ceph-osd,compute
+ transformations: transformations_1
+ - id: 3
+ interfaces: interfaces_1
+ role: ceph-osd,compute
+ transformations: transformations_1
+ - id: 4
+ interfaces: interfaces_1
+ role: ceph-osd,compute
+ transformations: transformations_1
+ settings:
+ editable:
+ additional_components:
+ ceilometer:
+ description: If selected, Ceilometer component will be installed
+ label: Install Ceilometer
+ type: checkbox
+ value: true
+ weight: 40
+ heat:
+ description: ''
+ label: ''
+ type: hidden
+ value: true
+ weight: 30
+ metadata:
+ label: Additional Components
+ weight: 20
+ storage:
+ ephemeral_ceph:
+ description: Configures Nova to store ephemeral volumes in RBD. This works
+ best if Ceph is enabled for volumes and images, too. Enables live migration
+ of all types of Ceph backed VMs (without this option, live migration will
+ only work with VMs launched from Cinder volumes).
+ label: Ceph RBD for ephemeral volumes (Nova)
+ type: checkbox
+ value: true
+ weight: 75
+ images_ceph:
+ description: Configures Glance to use the Ceph RBD backend to store images.
+ If enabled, this option will prevent Swift from installing.
+ label: Ceph RBD for images (Glance)
+ restrictions:
+ - settings:storage.images_vcenter.value == true: Only one Glance backend could
+ be selected.
+ type: checkbox
+ value: true
+ weight: 30
+
+dha-override-config:
+# disks:
+# contrail: 500G
+
+##############################################################################
+# The verification pipeline may populate the section below with arbitrary
+# testing information, which post deploy can be retreived from the fuel master:
+# /root/deploy-config.yaml
+test:
diff --git a/deploy/scenario/no-ha_onos_heat_ceilometer_scenario_0.0.1.yaml b/deploy/scenario/no-ha_onos_heat_ceilometer_scenario_0.0.1.yaml
new file mode 100644
index 000000000..e30c1dfe9
--- /dev/null
+++ b/deploy/scenario/no-ha_onos_heat_ceilometer_scenario_0.0.1.yaml
@@ -0,0 +1,115 @@
+##############################################################################
+# Copyright (c) 2015 Ericsson AB and others.
+# 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
+##############################################################################
+
+############################################################################### # Description:
+# This .yaml configuration file defines the configuration of the fuel
+# deployment and is passed as an argument to deploy.sh
+# eg. deploy.sh -c https://artifact.opnfv.org/fuel/config
+# This will make build.sh fetch this configuration file and configure the
+# deployment accordingly.
+# After the deployment, a copy of this file gets uploaded to fuel:
+# /root/deploy-config.yaml, as well as the sha-1 sum of this file:
+# /root/deploy-config.sha1
+##############################################################################
+
+##############################################################################
+# deployment configuration meta-data
+deployment-scenario-metadata:
+ title: ONOS No-HA deployment
+ version: 0.0.1
+ created: Jan 7 2016
+ comment: ONOS No HA with Ceph, Ceilometer and Heat
+
+##############################################################################
+# Stack extentions are opnfv added value features in form of a fuel-plugin
+# plug-ins listed below will be enabled and configured according to the
+# <module-config-base-uri>/<module-config-name>_<module-config-version>.yaml
+# It does so by copying the config file to the local plugin config directory
+stack-extensions:
+ - module: onos
+ module-config-name: fuel-onos
+ module-config-version: 0.0.1
+ module-config-override:
+ # Module config overrides
+ public_eth:
+ value: 'eth3'
+
+##############################################################################
+# By editing the override-config sections below, you can override arbitrary
+# configuration name-space settings
+dea-override-config:
+ environment:
+ mode: ha
+ net_segment_type: tun
+ wanted_release: Kilo on Ubuntu 14.04
+ nodes:
+ - id: 1
+ interfaces: interfaces_1
+ role: mongo,controller,onos
+ transformations: transformations_1
+ - id: 2
+ interfaces: interfaces_1
+ role: ceph-osd,compute
+ transformations: transformations_1
+ - id: 3
+ interfaces: interfaces_1
+ role: ceph-osd,compute
+ transformations: transformations_1
+ - id: 4
+ interfaces: interfaces_1
+ role: ceph-osd,compute
+ transformations: transformations_1
+ settings:
+ editable:
+ additional_components:
+ ceilometer:
+ description: If selected, Ceilometer component will be installed
+ label: Install Ceilometer
+ type: checkbox
+ value: true
+ weight: 40
+ heat:
+ description: ''
+ label: ''
+ type: hidden
+ value: true
+ weight: 30
+ metadata:
+ label: Additional Components
+ weight: 20
+ storage:
+ ephemeral_ceph:
+ description: Configures Nova to store ephemeral volumes in RBD. This works
+ best if Ceph is enabled for volumes and images, too. Enables live migration
+ of all types of Ceph backed VMs (without this option, live migration will
+ only work with VMs launched from Cinder volumes).
+ label: Ceph RBD for ephemeral volumes (Nova)
+ type: checkbox
+ value: true
+ weight: 75
+ images_ceph:
+ description: Configures Glance to use the Ceph RBD backend to store images.
+ If enabled, this option will prevent Swift from installing.
+ label: Ceph RBD for images (Glance)
+ restrictions:
+ - settings:storage.images_vcenter.value == true: Only one Glance backend could
+ be selected.
+ type: checkbox
+ value: true
+ weight: 30
+
+dha-override-config:
+# disks:
+# contrail: 500G
+
+##############################################################################
+# The verification pipeline may populate the section below with arbitrary
+# testing information, which post deploy can be retreived from the fuel master:
+# /root/deploy-config.yaml
+test:
diff --git a/deploy/scenario/scenario.yaml b/deploy/scenario/scenario.yaml
new file mode 100644
index 000000000..e978a46d0
--- /dev/null
+++ b/deploy/scenario/scenario.yaml
@@ -0,0 +1,56 @@
+##############################################################################
+# Copyright (c) 2015 Ericsson AB and others.
+# 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
+##############################################################################
+
+##############################################################################
+# Description:
+# This configuration file defines translation between a short deployment
+# scenario name and an actual deployment scenario configuration file
+##############################################################################
+
+os_ha:
+ configfile: ha_heat_ceilometer_scenario_0.0.1.yaml
+
+os_no-ha:
+ configfile: no-ha_heat_ceilometer_scenario_0.0.1.yaml
+
+os_odl-l3_ha:
+ configfile: no-ha_odl-l3_heat_ceilometer_scenario_0.0.1.yaml
+
+os_odl-l3_no-ha:
+ configfile: no-ha_odl-l3_heat_ceilometer_scenario_0.0.1.yaml
+
+os_odl-l2_ha:
+ configfile: no-ha_odl-l2_heat_ceilometer_scenario_0.0.1.yaml
+
+os_odl-l2_no-ha:
+ configfile: no-ha_odl-l2_heat_ceilometer_scenario_0.0.1.yaml
+
+os_onos_ha:
+ configfile: ha_onos_heat_ceilometer_scenario_0.0.1.yaml
+
+os_onos_no-ha:
+ configfile: no-ha_onos_heat_ceilometer_scenario_0.0.1.yaml
+
+os_kvm_ha:
+ configfile: ha_nfv-kvm_heat_ceilometer_scenario_0.0.1.yaml
+
+os_kvm_no-ha:
+ configfile: no-ha_nfv-kvm_heat_ceilometer_scenario_0.0.1.yaml
+
+os_ovs_ha:
+ configfile: ha_nfv-ovs_heat_ceilometer_scenario_0.0.1.yaml
+
+os_ovs_no-ha:
+ configfile: no-ha_nfv-ovs_heat_ceilometer_scenario_0.0.1.yaml
+
+os_kvm_ovs_ha:
+ configfile:
+
+os_kvm_ovs_no-ha:
+ configfile: no-ha_nfv-kvm_nfv-ovs_heat_ceilometer_scenario_0.0.1.yaml