############################################################################## # 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 ############################################################################## {%- import 'net_map.j2' as nm with context %} {%- import 'net_macros.j2' as ma with context %} {%- set vlan_private_start = (nm.vlan_private | string).rsplit('-')[0] %} --- classes: - service.neutron.compute.single - service.neutron.compute.opendaylight.single {%- if '-ovs-' in conf.MCP_DEPLOY_SCENARIO %} - system.nova.compute.nfv.hugepages - system.neutron.compute.nfv.dpdk {%- endif %} - cluster.mcp-common-noha.openstack_compute - cluster.mcp-odl-noha parameters: nova: compute: vif_plugging_is_fatal: false vif_plugging_timeout: 60 neutron: compute: opendaylight: ovsdb_server_iface: ptcp:6640:127.0.0.1 linux: network: ovs_nowait: false interface: {%- if '-ovs-' in conf.MCP_DEPLOY_SCENARIO %} 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} mtu: ${_param:interface_mtu} br-prv: enabled: true type: dpdk_ovs_bridge proto: static address: ${_param:tenant_address} netmask: ${_param:opnfv_net_private_mask} {{ nm.cmp001.nic_private }}: type: dpdk # Not a meaningful type, just match 'dpdk' for filtering {%- set nics = { nm.cmp001.nic_public: True } %} {%- set vlans = { nm.vlan_public: nm.cmp001.nic_public } %} {{ ma.linux_network_interfaces_nic(nics) }} {{ ma.linux_network_interfaces_vlan(vlans) }} br-floating: enabled: true type: ovs_bridge datapath_type: netdev use_interfaces: - float-to-ex float-to-ex: enabled: true type: ovs_port mtu: ${_param:interface_mtu} bridge: br-floating ovs_bridge: br-floating noifupdown: true br-ex: enabled: true type: bridge address: ${_param:external_address} netmask: ${_param:opnfv_net_public_mask} use_interfaces: - {{ ma.interface_str(nm.cmp001.nic_public, nm.vlan_public) }} use_ovs_ports: - float-to-ex gateway: ${_param:opnfv_net_public_gw} name_servers: {{ nm.dns_public }} noifupdown: true {%- else %} br-mesh: enabled: true type: bridge proto: static address: ${_param:tenant_address} netmask: ${_param:opnfv_net_private_mask} use_interfaces: - {{ ma.interface_str(nm.cmp001.nic_private, vlan_private_start) }} {{ ma.interface_str(nm.cmp001.nic_public, nm.vlan_public) }}: enabled: true mtu: ${_param:interface_mtu} proto: manual ovs_port_type: OVSPort type: ovs_port ovs_bridge: br-floating bridge: br-floating br-floating: enabled: true type: ovs_bridge proto: static address: ${_param:external_address} netmask: ${_param:opnfv_net_public_mask} use_interfaces: - {{ ma.interface_str(nm.cmp001.nic_public, nm.vlan_public) }} gateway: ${_param:opnfv_net_public_gw} name_servers: {{ nm.dns_public }} noifupdown: true {%- endif %} system: file: /var/tmp/odl_hostconfig.patch: contents: | 420c420 < if datapath_types.find(datapath_type) >= 0) --- > if datapath_type in datapath_types) 460c460 < return subprocess.check_output(command_line).strip() # nosec --- > return subprocess.check_output(command_line).strip().decode() # nosec