From 283bf98d087afd9073632340800e745f5a8d8de2 Mon Sep 17 00:00:00 2001 From: Jonas Bjurel Date: Sun, 10 Jan 2016 19:31:52 +0100 Subject: ONOS scenario according to wanted config file structure Replaces: - https://gerrit.opnfv.org/gerrit/#/c/5999/ - https://gerrit.opnfv.org/gerrit/#/c/6003/ Description: - Onos scenarios updated with needed dea and dha overrides, no scenario specific information in other config files such dha, dea_base, dea_pod override, etc. - Added a virtual POD for Huawei-china specific needs, i.e. DNS and NTP. - Small fix in deploy-conf.py Change-Id: I85fe2fc4e9ec5fe0bc98ae7b399f2e49af6450f9 Signed-off-by: Jonas Bjurel --- .../huawei-ch/fuel/config/dea-pod-override.yaml | 278 +++++++++++++++++++++ .../devel-pipeline/huawei-ch/fuel/config/dha.yaml | 38 +++ deploy/deploy-config.py | 2 +- .../ha_onos_heat_ceilometer_scenario_0.0.2.yaml | 173 +++++++++++++ .../no-ha_onos_heat_ceilometer_scenario_0.0.2.yaml | 150 +++++++++++ deploy/scenario/scenario.yaml | 4 +- 6 files changed, 642 insertions(+), 3 deletions(-) create mode 100644 deploy/config/labs/devel-pipeline/huawei-ch/fuel/config/dea-pod-override.yaml create mode 100644 deploy/config/labs/devel-pipeline/huawei-ch/fuel/config/dha.yaml create mode 100644 deploy/scenario/ha_onos_heat_ceilometer_scenario_0.0.2.yaml create mode 100644 deploy/scenario/no-ha_onos_heat_ceilometer_scenario_0.0.2.yaml diff --git a/deploy/config/labs/devel-pipeline/huawei-ch/fuel/config/dea-pod-override.yaml b/deploy/config/labs/devel-pipeline/huawei-ch/fuel/config/dea-pod-override.yaml new file mode 100644 index 000000000..6bbc0f236 --- /dev/null +++ b/deploy/config/labs/devel-pipeline/huawei-ch/fuel/config/dea-pod-override.yaml @@ -0,0 +1,278 @@ +dea-pod-override-config-metadata: + title: 'Deployment Environment Adapter POD override for Development Pipeline - Huawei-China version' + version: '0.1' + created: 'Sun 10 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: 114.114.114.114 + FUEL_ACCESS: + password: admin + user: admin + HOSTNAME: opnfv_virt + NTP1: 202.120.2.101 + NTP2: 83.168.200.199 + NTP3: 81.170.152.66 +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 + - 114.114.114.114 + 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: 114.114.114.114, 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: 202.120.2.101, 81.170.152.66, 83.168.200.199 + 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/huawei-ch/fuel/config/dha.yaml b/deploy/config/labs/devel-pipeline/huawei-ch/fuel/config/dha.yaml new file mode 100644 index 000000000..26c4d2b16 --- /dev/null +++ b/deploy/config/labs/devel-pipeline/huawei-ch/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/deploy-config.py b/deploy/deploy-config.py index f94466fe8..d9e774141 100644 --- a/deploy/deploy-config.py +++ b/deploy/deploy-config.py @@ -266,7 +266,7 @@ 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)) + final_dha_conf = dict(mergedicts(final_dha_conf, dha_scenario_override_conf)) # Dump final dha.yaml to argument provided directory print 'Dumping final dha.yaml to ' + kwargs["output_path"] + '/dha.yaml....' diff --git a/deploy/scenario/ha_onos_heat_ceilometer_scenario_0.0.2.yaml b/deploy/scenario/ha_onos_heat_ceilometer_scenario_0.0.2.yaml new file mode 100644 index 000000000..df1f1e7a7 --- /dev/null +++ b/deploy/scenario/ha_onos_heat_ceilometer_scenario_0.0.2.yaml @@ -0,0 +1,173 @@ +############################################################################## +# 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.2 + created: Jan 10 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 +# /_.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: + name: onos_ha + 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_2 + - id: 5 + interfaces: interfaces_1 + role: ceph-osd,compute + transformations: transformations_2 + +# Unique network transformation for ONOS deployment + transformations_2: + 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-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 + + settings: + editable: + common: + libvirt_type: + # ONOS requires QEMU + value: qemu + public_network_assignment: + assign_to_all_nodes: + # ONOS should not have public network assignment to all nodes + value: false + 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: + nodes: + - id: 1 + libvirtName: controller1 + libvirtTemplate: templates/virtual_environment/vms/controller.xml + - id: 2 + libvirtName: controller2 + libvirtTemplate: templates/virtual_environment/vms/controller.xml + - id: 3 + libvirtName: controller3 + libvirtTemplate: templates/virtual_environment/vms/controller.xml + - id: 4 + libvirtName: compute1 + libvirtTemplate: templates/virtual_environment/vms/compute.xml + - id: 5 + libvirtName: compute2 + libvirtTemplate: templates/virtual_environment/vms/compute.xml + - id: 6 + libvirtName: fuel-master + libvirtTemplate: templates/virtual_environment/vms/fuel.xml + isFuel: yes + username: root + password: r00tme + +############################################################################## +# 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.2.yaml b/deploy/scenario/no-ha_onos_heat_ceilometer_scenario_0.0.2.yaml new file mode 100644 index 000000000..605b46e58 --- /dev/null +++ b/deploy/scenario/no-ha_onos_heat_ceilometer_scenario_0.0.2.yaml @@ -0,0 +1,150 @@ +############################################################################## +# 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.2 + created: Jan 10 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 +# /_.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 + name: onos_no-ha + + 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_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 + +# Unique network transformation for ONOS deployment + transformations_2: + 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-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 + + settings: + editable: + common: + libvirt_type: + # ONOS requires QEMU + value: qemu + public_network_assignment: + assign_to_all_nodes: + # ONOS should not have public network assignment to all nodes + value: false + 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 index e978a46d0..1d75b2353 100644 --- a/deploy/scenario/scenario.yaml +++ b/deploy/scenario/scenario.yaml @@ -32,10 +32,10 @@ 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 + configfile: ha_onos_heat_ceilometer_scenario_0.0.2.yaml os_onos_no-ha: - configfile: no-ha_onos_heat_ceilometer_scenario_0.0.1.yaml + configfile: no-ha_onos_heat_ceilometer_scenario_0.0.2.yaml os_kvm_ha: configfile: ha_nfv-kvm_heat_ceilometer_scenario_0.0.1.yaml -- cgit 1.2.3-korg