Fix OVS scenarios to use fuel-plugin-ovs 13/16913/16
authorFedor Zhadaev <fzhadaev@mirantis.com>
Tue, 12 Jul 2016 09:59:07 +0000 (12:59 +0300)
committerFedor Zhadaev <fzhadaev@mirantis.com>
Thu, 4 Aug 2016 12:00:02 +0000 (15:00 +0300)
 * Use fuel-nshovs instead deprecated fuel-nfvovs
 * Modified scenario to enable DPDK via Fuel
 * Removed hard dependency from specific POD

 * Add ability to merge networks lists

JIRA: FUEL-156
JIRA: FUEL-162

Change-Id: Ie609ff140f1de96e54df37dd9b1881afec792317
Depends-On: Ic6072d938e09a40516c32cdde6223d0a21e57403
Signed-off-by: Fedor Zhadaev <fzhadaev@mirantis.com>
deploy/deploy-config.py
deploy/scenario/ha_nfv-ovs_heat_ceilometer_scenario.yaml
deploy/scenario/no-ha_nfv-ovs_heat_ceilometer_scenario.yaml

index d87103b..c599575 100644 (file)
@@ -131,23 +131,11 @@ def merge_fuel_plugin_version_list(list1, list2):
     return final_list
 
 
-def merge_lists(list1, list2):
-    if list1 and list2:
-        if isinstance(list1[0], dict):
-            if 'plugin_version' in list1[0].get('metadata', {}):
-                return merge_fuel_plugin_version_list(list1, list2)
-            else:
-                warning("Lists with dictionary inside are not mergeable! "
-                        "List2 will overwrite List1. "
-                        "List1: %s\nList2: %s"
-                        % (list1, list2))
-                return list2
-        else:
-            return list2
-    elif list1:
-        return list1
-    else:
-        return list2
+def merge_networks(list_1, list_2):
+    new_nets = {x.get('name'): x for x in list_2}
+
+    return [new_nets.get(net.get('name'), net) for net in list_1]
+
 
 
 def merge_dicts(dict1, dict2):
@@ -156,7 +144,12 @@ def merge_dicts(dict1, dict2):
             if isinstance(dict1[k], dict) and isinstance(dict2[k], dict):
                 yield (k, dict(merge_dicts(dict1[k], dict2[k])))
             elif isinstance(dict1[k], list) and isinstance(dict2[k], list):
-                yield (k, merge_lists(dict1[k], dict2[k]))
+                if k == 'versions':
+                    yield (k,
+                           merge_fuel_plugin_version_list(dict1[k], dict2[k]))
+                if k == 'networks':
+                    yield (k,
+                           merge_networks(dict1[k], dict2[k]))
             else:
                 # If one of the values is not a dict nor a list,
                 # you can't continue merging it.
index 66b07d5..91eb7b3 100644 (file)
@@ -22,9 +22,9 @@
 # deployment configuration meta-data
 deployment-scenario-metadata:
    title: NFV OVS HA deployment
-   version: 0.0.5
-   created: Apr 20 2016
-   comment: Rebased to Fuel8
+   version: 0.9.0
+   created: Jul 12 2016
+   comment: Rebased to Fuel9
 
 ##############################################################################
 # Stack extentions are opnfv added value features in form of a fuel-plugin
@@ -32,116 +32,57 @@ deployment-scenario-metadata:
 # <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.2
+   - module: fuel-plugin-ovs
+     module-config-name: fuel-nshovs
+     module-config-version: 0.9.0
      module-config-override:
-       # Module config overrides
+       metadata:
+         versions:
+         - install_dpdk:
+             value: true
+             metadata:
+               plugin_version: 0.9.0
 
 ##############################################################################
 # By editing the override-config sections below, you can override arbitrary
 # configuration name-space settings
 dea-override-config:
+  fuel:
+    FEATURE_GROUPS:
+    - experimental
   environment:
     net_segment_type: vlan
   nodes:
   - id: 1
-    interfaces: interfaces_1
+    interfaces: interfaces_dpdk
     role: controller
-    transformations: transformations_1
+    transformations: transformations_vlan
   - id: 2
-    interfaces: interfaces_1
+    interfaces: interfaces_dpdk
     role: mongo,controller
-    transformations: transformations_1
+    transformations: transformations_vlan
   - id: 3
-    interfaces: interfaces_1
+    interfaces: interfaces_dpdk
     role: ceph-osd,controller
-    transformations: transformations_1
+    transformations: transformations_vlan
   - id: 4
-    interfaces: interfaces_1
+    interfaces: interfaces_dpdk
     role: ceph-osd,compute
-    transformations: transformations_1
+    transformations: transformations_dpdk
+    attributes: attributes_1
   - id: 5
-    interfaces: interfaces_1
+    interfaces: interfaces_dpdk
     role: ceph-osd,compute
-    transformations: transformations_1
+    transformations: transformations_dpdk
+    attributes: attributes_1
 
-  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-prv
-      provider: ovs
-    - action: add-br
-      name: br-aux
-    - action: add-patch
-      bridges:
-      - br-prv
-      - br-aux
-      mtu: 65000
-      provider: ovs
-    - action: add-port
-      bridge: br-fw-admin
-      name: eno49
-    - action: add-port
-      bridge: br-mgmt
-      name: ens1f0.100
-    - action: add-port
-      bridge: br-storage
-      name: ens1f0.200
-    - action: add-port
-      bridge: br-aux
-      name: ens1f0
-    - action: add-port
-      bridge: br-ex
-      name: ens1f0.753
-  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-prv
-      provider: ovs
-    - action: add-br
-      name: br-aux
-    - action: add-patch
-      bridges:
-      - br-prv
-      - br-aux
-      mtu: 65000
-      provider: ovs
-    - action: add-port
-      bridge: br-fw-admin
-      name: eno49
-    - action: add-port
-      bridge: br-mgmt
-      name: ens1f0.100
-    - action: add-port
-      bridge: br-storage
-      name: ens1f0.200
-    - action: add-port
-      bridge: br-aux
-      name: ens1f0
+  attributes_1:
+    hugepages:
+      dpdk:
+        value: 128
+      nova:
+        value:
+          '2048': 256
 
   network:
     networking_parameters:
@@ -166,81 +107,6 @@ dea-override-config:
         vlan_start: null
       name: private
       vlan_start: null
-    - cidr: 10.118.101.0/24
-      gateway: 10.118.101.1
-      ip_ranges:
-      - - 10.118.101.180
-        - 10.118.101.190
-      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: 753
-    - cidr: 192.168.20.0/24
-      gateway: null
-      ip_ranges:
-      - - 192.168.20.1
-        - 192.168.20.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
-    - cidr: 192.168.10.0/24
-      gateway: null
-      ip_ranges:
-      - - 192.168.10.1
-        - 192.168.10.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: 100
-    - cidr: 10.20.0.0/24
-      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
 
 dha-override-config:
   nodes:
index 73813d1..e3c07db 100644 (file)
@@ -22,9 +22,9 @@
 # deployment configuration meta-data
 deployment-scenario-metadata:
    title: NFV OVS NO-HA deployment
-   version: 0.0.4
-   created: Apr 20 2016
-   comment: NFV OVS NO-HA Rebased for Fuel8
+   version: 0.9.0
+   created: Jul 12 2016
+   comment: NFV OVS NO-HA Rebased for Fuel9
 
 ##############################################################################
 # Stack extentions are opnfv added value features in form of a fuel-plugin
@@ -32,112 +32,54 @@ deployment-scenario-metadata:
 # <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.2
+   - module: fuel-plugin-ovs
+     module-config-name: fuel-nshovs
+     module-config-version: 0.9.0
      module-config-override:
-       # Module config overrides
+       metadata:
+         versions:
+         - install_dpdk:
+             value: true
+             metadata:
+               plugin_version: 0.9.0
 
 ##############################################################################
 # By editing the override-config sections below, you can override arbitrary
 # configuration name-space settings
 dea-override-config:
+  fuel:
+    FEATURE_GROUPS:
+    - experimental
   environment:
     net_segment_type: vlan
   nodes:
   - id: 1
-    interfaces: interfaces_1
+    interfaces: interfaces_dpdk
     role: mongo,controller
-    transformations: transformations_1
+    transformations: transformations_vlan
   - id: 2
-    interfaces: interfaces_1
+    interfaces: interfaces_dpdk
     role: ceph-osd,compute
-    transformations: transformations_1
+    transformations: transformations_dpdk
+    attributes: attributes_1
   - id: 3
-    interfaces: interfaces_1
+    interfaces: interfaces_dpdk
     role: ceph-osd,compute
-    transformations: transformations_1
+    transformations: transformations_dpdk
+    attributes: attributes_1
   - id: 4
-    interfaces: interfaces_1
+    interfaces: interfaces_dpdk
     role: ceph-osd,compute
-    transformations: transformations_1
+    transformations: transformations_dpdk
+    attributes: attributes_1
 
-  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-prv
-      provider: ovs
-    - action: add-br
-      name: br-aux
-    - action: add-patch
-      bridges:
-      - br-prv
-      - br-aux
-      mtu: 65000
-      provider: ovs
-    - action: add-port
-      bridge: br-fw-admin
-      name: eno49
-    - action: add-port
-      bridge: br-mgmt
-      name: ens1f0.100
-    - action: add-port
-      bridge: br-storage
-      name: ens1f0.200
-    - action: add-port
-      bridge: br-aux
-      name: ens1f0
-    - action: add-port
-      bridge: br-ex
-      name: ens1f0.753
-  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-prv
-      provider: ovs
-    - action: add-br
-      name: br-aux
-    - action: add-patch
-      bridges:
-      - br-prv
-      - br-aux
-      mtu: 65000
-      provider: ovs
-    - action: add-port
-      bridge: br-fw-admin
-      name: eno49
-    - action: add-port
-      bridge: br-mgmt
-      name: ens1f0.100
-    - action: add-port
-      bridge: br-storage
-      name: ens1f0.200
-    - action: add-port
-      bridge: br-aux
-      name: ens1f0
+  attributes_1:
+    hugepages:
+      dpdk:
+        value: 128
+      nova:
+        value:
+          '2048': 256
 
   network:
     networking_parameters:
@@ -162,81 +104,6 @@ dea-override-config:
         vlan_start: null
       name: private
       vlan_start: null
-    - cidr: 10.118.101.0/24
-      gateway: 10.118.101.1
-      ip_ranges:
-      - - 10.118.101.180
-        - 10.118.101.190
-      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: 753
-    - cidr: 192.168.20.0/24
-      gateway: null
-      ip_ranges:
-      - - 192.168.20.1
-        - 192.168.20.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
-    - cidr: 192.168.10.0/24
-      gateway: null
-      ip_ranges:
-      - - 192.168.10.1
-        - 192.168.10.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: 100
-    - cidr: 10.20.0.0/24
-      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
 
 dha-override-config:
 #  disks: