[virtual] Bring in OpenDaylight DPDK scenario 61/56861/3
authorMichael Polenchuk <mpolenchuk@mirantis.com>
Fri, 13 Apr 2018 08:50:14 +0000 (12:50 +0400)
committerMichael Polenchuk <mpolenchuk@mirantis.com>
Tue, 8 May 2018 12:39:21 +0000 (12:39 +0000)
Change-Id: If77ac85fa86e0a1a18c0cc2abff77d876cdb9e93
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
ci/deploy.sh
mcp/config/scenario/os-odl-ovs-noha.yaml [new file with mode: 0644]
mcp/reclass/classes/cluster/mcp-pike-odl-noha/infra/config.yml.j2 [moved from mcp/reclass/classes/cluster/mcp-pike-odl-noha/infra/config.yml with 92% similarity]
mcp/reclass/classes/cluster/mcp-pike-odl-noha/openstack/compute.yml.j2 [moved from mcp/reclass/classes/cluster/mcp-pike-odl-noha/openstack/compute.yml with 70% similarity]

index a5fec4d..fd41be8 100755 (executable)
@@ -266,8 +266,9 @@ fi
 generate_ssh_key
 export MAAS_SSH_KEY="$(cat "$(basename "${SSH_KEY}").pub")"
 
+MCP_DPDK_MODE=$([[ "$DEPLOY_SCENARIO" =~ ovs ]] && echo 1 || echo 0)
 # Expand jinja2 templates based on PDF data and env vars
-export MCP_VCP MCP_JUMP_ARCH=$(uname -i)
+export MCP_VCP MCP_DPDK_MODE MCP_JUMP_ARCH=$(uname -i)
 do_templates_scenario "${STORAGE_DIR}" "${TARGET_LAB}" "${TARGET_POD}" \
                       "${BASE_CONFIG_URI}" "${SCENARIO_DIR}"
 do_templates_cluster  "${STORAGE_DIR}" "${TARGET_LAB}" "${TARGET_POD}" \
diff --git a/mcp/config/scenario/os-odl-ovs-noha.yaml b/mcp/config/scenario/os-odl-ovs-noha.yaml
new file mode 100644 (file)
index 0000000..c282707
--- /dev/null
@@ -0,0 +1,38 @@
+##############################################################################
+# Copyright (c) 2018 Mirantis Inc., Enea AB and others.
+# 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
+##############################################################################
+---
+cluster:
+  domain: mcp-pike-odl-noha.local
+  states:
+    - dpdk
+    - opendaylight
+    - openstack_noha
+    - neutron_gateway
+    - networks
+virtual:
+  nodes:
+    - cfg01
+    - ctl01
+    - cmp01
+    - cmp02
+    - gtw01
+    - odl01
+  ctl01:
+    vcpus: 4
+    ram: 14336
+  gtw01:
+    ram: 1024
+  odl01:
+    vcpus: 4
+    ram: 5120
+  cmp01:
+    vcpus: 4
+    ram: 8192
+  cmp02:
+    vcpus: 4
+    ram: 8192
@@ -11,7 +11,7 @@ classes:
   - system.reclass.storage.system.openstack_gateway_single
   - cluster.mcp-pike-common-noha.infra.config
   - cluster.mcp-pike-odl-noha
-  - cluster.all-mcp-arch-common.infra.config_pdf
+  - cluster.all-mcp-arch-common.infra.config{%- if conf.MCP_DPDK_MODE %}_dpdk{%- endif %}_pdf
 parameters:
   reclass:
     storage:
@@ -9,12 +9,34 @@
 classes:
   - service.neutron.compute.single
   - service.neutron.compute.opendaylight.single
+{%- if conf.MCP_DPDK_MODE %}
+  - system.nova.compute.nfv.hugepages
+  - system.neutron.compute.nfv.dpdk
+{%- endif %}
   - cluster.mcp-pike-common-noha.openstack_compute
   - cluster.mcp-pike-odl-noha
 parameters:
   linux:
     network:
       interface:
+{%- if conf.MCP_DPDK_MODE %}
+        dpdk0:
+          name: ${_param:dpdk0_name}
+          pci: ${_param:dpdk0_pci}
+          driver: ${_param:dpdk0_driver}
+          enabled: true
+          bridge: br-prv
+          type: dpdk_ovs_port
+          n_rxq: ${_param:dpdk0_n_rxq}
+        br-prv:
+          enabled: true
+          type: dpdk_ovs_bridge
+          proto: static
+          address: ${_param:tenant_address}
+          netmask: 255.255.255.0
+        tenant_interface:
+          type: dpdk  # Not a meaningful type, just match 'dpdk' for filtering
+{%- endif %}
         external_interface:
           enabled: true
           type: eth