aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Polenchuk <mpolenchuk@mirantis.com>2018-04-13 12:50:14 +0400
committerMichael Polenchuk <mpolenchuk@mirantis.com>2018-05-08 12:39:21 +0000
commit421aa5796c194382bec24737b9b1d60bde544672 (patch)
tree69701746b5648883dcfbc6aaf131e4cdd5b4078b
parent4fae473d4343f78facda713b5626b47d3dd33e9c (diff)
[virtual] Bring in OpenDaylight DPDK scenario
Change-Id: If77ac85fa86e0a1a18c0cc2abff77d876cdb9e93 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
-rwxr-xr-xci/deploy.sh3
-rw-r--r--mcp/config/scenario/os-odl-ovs-noha.yaml38
-rw-r--r--mcp/reclass/classes/cluster/mcp-pike-odl-noha/infra/config.yml.j2 (renamed from mcp/reclass/classes/cluster/mcp-pike-odl-noha/infra/config.yml)2
-rw-r--r--mcp/reclass/classes/cluster/mcp-pike-odl-noha/openstack/compute.yml.j2 (renamed from mcp/reclass/classes/cluster/mcp-pike-odl-noha/openstack/compute.yml)22
4 files changed, 63 insertions, 2 deletions
diff --git a/ci/deploy.sh b/ci/deploy.sh
index a5fec4d44..fd41be85d 100755
--- a/ci/deploy.sh
+++ b/ci/deploy.sh
@@ -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
index 000000000..c282707f7
--- /dev/null
+++ b/mcp/config/scenario/os-odl-ovs-noha.yaml
@@ -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
diff --git a/mcp/reclass/classes/cluster/mcp-pike-odl-noha/infra/config.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-noha/infra/config.yml.j2
index b63ac68b5..46e25fe95 100644
--- a/mcp/reclass/classes/cluster/mcp-pike-odl-noha/infra/config.yml
+++ b/mcp/reclass/classes/cluster/mcp-pike-odl-noha/infra/config.yml.j2
@@ -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:
diff --git a/mcp/reclass/classes/cluster/mcp-pike-odl-noha/openstack/compute.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-noha/openstack/compute.yml.j2
index b0690167f..12dfdcaa1 100644
--- a/mcp/reclass/classes/cluster/mcp-pike-odl-noha/openstack/compute.yml
+++ b/mcp/reclass/classes/cluster/mcp-pike-odl-noha/openstack/compute.yml.j2
@@ -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