A simple method to separate configuration for base fuel, plugins, PODs 57/5357/10
authorJonas Bjurel <jonas.bjurel@ericsson.com>
Tue, 29 Dec 2015 21:16:57 +0000 (22:16 +0100)
committerJonas Bjurel <jonas.bjurel@ericsson.com>
Fri, 8 Jan 2016 12:36:56 +0000 (13:36 +0100)
commit7fd2619e0df370fa832eeff00790bcaa52dc4ffc
tree6a6e6b22b43c0d4eda404265817a9f90a335e62e
parentc14790e44122781b96b1b287f901c36645d7df7b
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>
30 files changed:
ci/README
ci/deploy.sh
deploy/cloud/configure_nodes.py
deploy/cloud/configure_settings.py
deploy/common.py
deploy/config/dea_base.yaml [new file with mode: 0644]
deploy/config/labs/devel-pipeline/default/fuel/config/dea-pod-override.yaml [new file with mode: 0644]
deploy/config/labs/devel-pipeline/default/fuel/config/dha.yaml [new file with mode: 0644]
deploy/config/labs/devel-pipeline/elx/fuel/config/dea-pod-override.yaml [new file with mode: 0644]
deploy/config/labs/devel-pipeline/elx/fuel/config/dha.yaml [new file with mode: 0644]
deploy/config/plugins/fuel-nfvkvm_0.0.1.yaml [new file with mode: 0644]
deploy/config/plugins/fuel-nfvovs_0.0.1.yaml [new file with mode: 0644]
deploy/config/plugins/fuel-odl_0.0.1.yaml [new file with mode: 0644]
deploy/config/plugins/fuel-onos_0.0.1.yaml [new file with mode: 0644]
deploy/deploy-config.py [new file with mode: 0644]
deploy/scenario/README [new file with mode: 0644]
deploy/scenario/ha_heat_ceilometer_scenario_0.0.1.yaml [new file with mode: 0644]
deploy/scenario/ha_nfv-kvm_heat_ceilometer_scenario_0.0.1.yaml [new file with mode: 0644]
deploy/scenario/ha_nfv-ovs_heat_ceilometer_scenario_0.0.1.yaml [new file with mode: 0644]
deploy/scenario/ha_odl-l2_heat_ceilometer_scenario_0.0.1.yaml [new file with mode: 0644]
deploy/scenario/ha_odl-l3_heat_ceilometer_scenario_0.0.1.yaml [new file with mode: 0644]
deploy/scenario/ha_onos_heat_ceilometer_scenario_0.0.1.yaml [new file with mode: 0644]
deploy/scenario/no-ha_heat_ceilometer_scenario_0.0.1.yaml [new file with mode: 0644]
deploy/scenario/no-ha_nfv-kvm_heat_ceilometer_scenario_0.0.1.yaml [new file with mode: 0644]
deploy/scenario/no-ha_nfv-kvm_nfv-ovs_heat_ceilometer_scenario_0.0.1.yaml [new file with mode: 0644]
deploy/scenario/no-ha_nfv-ovs_heat_ceilometer_scenario_0.0.1.yaml [new file with mode: 0644]
deploy/scenario/no-ha_odl-l2_heat_ceilometer_scenario_0.0.1.yaml [new file with mode: 0644]
deploy/scenario/no-ha_odl-l3_heat_ceilometer_scenario_0.0.1.yaml [new file with mode: 0644]
deploy/scenario/no-ha_onos_heat_ceilometer_scenario_0.0.1.yaml [new file with mode: 0644]
deploy/scenario/scenario.yaml [new file with mode: 0644]