From 2a45bf8929c37396d789b1858bd32edf4de58e51 Mon Sep 17 00:00:00 2001 From: Tim Rozet Date: Tue, 14 Jun 2016 17:20:13 -0400 Subject: Fixes nic templates for ovs dpdk JIRA: APEX-119 Change-Id: Ia66f2ef4c169187b0cb575b10292d02f530b9902 Signed-off-by: Tim Rozet --- build/nics-compute.yaml.jinja2 | 19 +++++++++++++++++++ ci/deploy.sh | 8 +++++++- lib/python/apex-python-utils.py | 12 +++++++++--- 3 files changed, 35 insertions(+), 4 deletions(-) diff --git a/build/nics-compute.yaml.jinja2 b/build/nics-compute.yaml.jinja2 index 3a73bbd8..1bc2b50a 100644 --- a/build/nics-compute.yaml.jinja2 +++ b/build/nics-compute.yaml.jinja2 @@ -105,6 +105,24 @@ resources: next_hop: {get_param: ControlPlaneDefaultRoute} {%- set nic_index = 2 %} {%- if 'private_network' in enabled_networks %} + {%- if ovs_dpdk_bridge == 'br-phy' %} + - + type: interface + name: nic{{ nic_index }}{% set nic_index = nic_index + 1 %} + use_dhcp: false + + - + type: ovs_bridge + name: {{ ovs_dpdk_bridge }} + use_dhcp: false + addresses: + - + ip_netmask: {get_param: TenantIpSubnet} + - + type: ovs_bridge + name: br-tun + use_dhcp: false + {%- else %} - type: interface name: nic{{ nic_index }}{% set nic_index = nic_index + 1 %} @@ -113,6 +131,7 @@ resources: - ip_netmask: {get_param: TenantIpSubnet} {%- endif %} + {%- endif %} {%- if external_net_type == "interface" %} - type: interface diff --git a/ci/deploy.sh b/ci/deploy.sh index 05e2fa2b..753245c3 100755 --- a/ci/deploy.sh +++ b/ci/deploy.sh @@ -648,12 +648,18 @@ function configure_undercloud { ext_net_type=br-ex fi + if [ "${deploy_options_array['dataplane']}" == 'ovs_dpdk' ]; then + ovs_dpdk_bridge='br-phy' + else + ovs_dpdk_bridge='' + fi + if ! controller_nic_template=$(python3.4 -B $LIB/python/apex-python-utils.py nic-template -t $CONFIG/nics-controller.yaml.jinja2 -n "$enabled_network_list" -e $ext_net_type -af $ip_addr_family); then echo -e "${red}ERROR: Failed to generate controller NIC heat template ${reset}" exit 1 fi - if ! compute_nic_template=$(python3.4 -B $LIB/python/apex-python-utils.py nic-template -t $CONFIG/nics-compute.yaml.jinja2 -n "$enabled_network_list" -e $ext_net_type -af $ip_addr_family); then + if ! compute_nic_template=$(python3.4 -B $LIB/python/apex-python-utils.py nic-template -t $CONFIG/nics-compute.yaml.jinja2 -n "$enabled_network_list" -e $ext_net_type -af $ip_addr_family -d "$ovs_dpdk_bridge"); then echo -e "${red}ERROR: Failed to generate compute NIC heat template ${reset}" exit 1 fi diff --git a/lib/python/apex-python-utils.py b/lib/python/apex-python-utils.py index 6c76cb13..c9dcaa55 100755 --- a/lib/python/apex-python-utils.py +++ b/lib/python/apex-python-utils.py @@ -79,14 +79,17 @@ def build_nic_template(args): interface or br-ex, defines the external network configuration - address_family: string 4 or 6, respective to ipv4 or ipv6 + - ovs_dpdk_bridge: string + bridge name to use as ovs_dpdk """ - dir, template = args.template.rsplit('/', 1) + template_dir, template = args.template.rsplit('/', 1) - env = Environment(loader=FileSystemLoader(dir)) + env = Environment(loader=FileSystemLoader(template_dir)) template = env.get_template(template) print(template.render(enabled_networks=args.enabled_networks, external_net_type=args.ext_net_type, - external_net_af=args.address_family)) + external_net_af=args.address_family, + ovs_dpdk_bridge=args.ovs_dpdk_bridge)) def parse_args(): @@ -135,6 +138,9 @@ def parse_args(): help='External network type') nic_template.add_argument('-af', '--address-family', type=int, default=4, dest='address_family', help='IP address family') + nic_template.add_argument('-d', '--ovs-dpdk-bridge', + default=None, dest='ovs_dpdk_bridge', + help='OVS DPDK Bridge Name') nic_template.set_defaults(func=build_nic_template) deploy_settings = subparsers.add_parser('parse-deploy-settings', -- cgit 1.2.3-korg