From 220b59b074887c84024964e1b261f35ca0b6f439 Mon Sep 17 00:00:00 2001 From: Jonas Bjurel Date: Tue, 29 Dec 2015 22:16:57 +0100 Subject: 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 (cherry picked from commit 7fd2619e0df370fa832eeff00790bcaa52dc4ffc) --- deploy/config/plugins/fuel-nfvkvm_0.0.1.yaml | 18 ++++++++ deploy/config/plugins/fuel-nfvovs_0.0.1.yaml | 19 +++++++++ deploy/config/plugins/fuel-odl_0.0.1.yaml | 64 ++++++++++++++++++++++++++++ deploy/config/plugins/fuel-onos_0.0.1.yaml | 24 +++++++++++ 4 files changed, 125 insertions(+) create mode 100644 deploy/config/plugins/fuel-nfvkvm_0.0.1.yaml create mode 100644 deploy/config/plugins/fuel-nfvovs_0.0.1.yaml create mode 100644 deploy/config/plugins/fuel-odl_0.0.1.yaml create mode 100644 deploy/config/plugins/fuel-onos_0.0.1.yaml (limited to 'deploy/config/plugins') 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 -- cgit 1.2.3-korg