ONOS scenario according to wanted config file structure 55/6055/1
authorJonas Bjurel <jonas.bjurel@ericsson.com>
Sun, 10 Jan 2016 18:31:52 +0000 (19:31 +0100)
committerJonas Bjurel <jonas.bjurel@ericsson.com>
Sun, 10 Jan 2016 20:52:43 +0000 (21:52 +0100)
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 <jonas.bjurel@ericsson.com>
deploy/config/labs/devel-pipeline/huawei-ch/fuel/config/dea-pod-override.yaml [new file with mode: 0644]
deploy/config/labs/devel-pipeline/huawei-ch/fuel/config/dha.yaml [new file with mode: 0644]
deploy/deploy-config.py
deploy/scenario/ha_onos_heat_ceilometer_scenario_0.0.2.yaml [new file with mode: 0644]
deploy/scenario/no-ha_onos_heat_ceilometer_scenario_0.0.2.yaml [new file with mode: 0644]
deploy/scenario/scenario.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 (file)
index 0000000..6bbc0f2
--- /dev/null
@@ -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 (file)
index 0000000..26c4d2b
--- /dev/null
@@ -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
index f94466f..d9e7741 100644 (file)
@@ -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 (file)
index 0000000..df1f1e7
--- /dev/null
@@ -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
+# <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:
+    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 (file)
index 0000000..605b46e
--- /dev/null
@@ -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
+# <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
+    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:
index e978a46..1d75b23 100644 (file)
@@ -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