diff options
26 files changed, 140 insertions, 65 deletions
diff --git a/ci/deploy.sh b/ci/deploy.sh index 40176073d..07cde2613 100755 --- a/ci/deploy.sh +++ b/ci/deploy.sh @@ -293,6 +293,7 @@ else "${virtual_nodes[@]}" create_networks "${OPNFV_BRIDGES[@]}" do_sysctl_cfg + do_udev_cfg create_vms "${STORAGE_DIR}" "${virtual_nodes_data}" "${OPNFV_BRIDGES[@]}" update_mcpcontrol_network start_vms "${virtual_nodes[@]}" diff --git a/mcp/config/states/openstack_ha b/mcp/config/states/openstack_ha index 12d6ae656..d7d8cbd45 100755 --- a/mcp/config/states/openstack_ha +++ b/mcp/config/states/openstack_ha @@ -68,7 +68,7 @@ salt -I 'aodh:server' state.sls aodh -b 1 salt -I 'ceilometer:server' state.sls ceilometer salt -I 'ceilometer:agent' state.sls ceilometer -salt -I 'horizon:server' state.sls horizon +salt -I 'horizon:server' state.sls apache,horizon salt -I 'nginx:server' state.sls nginx cluster_public_host=$(salt -C 'I@nginx:server and *01*' --out=yaml \ diff --git a/mcp/config/states/openstack_noha b/mcp/config/states/openstack_noha index 02530236a..9a42d4813 100755 --- a/mcp/config/states/openstack_noha +++ b/mcp/config/states/openstack_noha @@ -56,4 +56,4 @@ salt -I 'aodh:server' state.sls aodh salt -I 'ceilometer:server' state.sls ceilometer salt -I 'ceilometer:agent' state.sls ceilometer -salt -I 'horizon:server' state.sls horizon +salt -I 'horizon:server' state.sls apache,horizon diff --git a/mcp/config/states/virtual_control_plane b/mcp/config/states/virtual_control_plane index 8105b2666..8ea5047ae 100755 --- a/mcp/config/states/virtual_control_plane +++ b/mcp/config/states/virtual_control_plane @@ -57,4 +57,4 @@ wait_for 10.0 "salt -C 'E@^(?!cfg01|mas01|kvm|cmp00).*' ssh.set_auth_key ${SUDO_ salt -C 'prx*' system.reboot wait_for 30.0 "salt -C 'prx*' test.ping" -salt -C 'E@^(?!cfg01|mas01|kvm|cmp00).*' pkg.upgrade refresh=False +salt -C 'E@^(?!cfg01|mas01|kvm|cmp00).*' pkg.upgrade refresh=False dist_upgrade=True diff --git a/mcp/reclass/classes/cluster/.gitignore b/mcp/reclass/classes/cluster/.gitignore index 437712ec6..733689355 100644 --- a/mcp/reclass/classes/cluster/.gitignore +++ b/mcp/reclass/classes/cluster/.gitignore @@ -27,3 +27,4 @@ mcp-odl-noha/infra/config.yml mcp-*-noha/openstack/compute.yml mcp-common-noha/infra/init.yml mcp-common-noha/init_options.yml +mcp-*-noha/openstack/gateway.yml diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/openstack_control.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_control.yml.j2 index 33c74fda6..a7e8fcde3 100644 --- a/mcp/reclass/classes/cluster/mcp-common-ha/openstack_control.yml.j2 +++ b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_control.yml.j2 @@ -23,6 +23,7 @@ classes: - system.barbican.server.cluster - system.apache.server.site.barbican - service.barbican.server.plugin.simple_crypto + - system.apache.server.single - system.bind.server.single - system.haproxy.proxy.listen.openstack.placement - system.glusterfs.client.cluster @@ -70,6 +71,7 @@ parameters: cluster_node03_address: ${_param:openstack_control_node03_address} nova_vncproxy_url: https://${_param:cluster_public_host}:6080 glusterfs_version: '3.13' + barbican_integration_enabled: 'false' nova: controller: &db_conn_recycle_time database: @@ -125,7 +127,7 @@ parameters: apache: server: bind: - ~ports: ~ + listen_default_ports: false # sync from common-ha kvm role glusterfs: server: diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/openstack_init.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_init.yml.j2 index 7aae337c4..dc286452b 100644 --- a/mcp/reclass/classes/cluster/mcp-common-ha/openstack_init.yml.j2 +++ b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_init.yml.j2 @@ -187,7 +187,7 @@ parameters: mysql_barbican_password: opnfv_secret keystone_barbican_password: opnfv_secret barbican_simple_crypto_kek: "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoxMjM0NTY=" - barbican_integration_enabled: false + barbican_integration_enabled: true ceilometer_secret_key: opnfv_secret horizon_version: ${_param:openstack_version} diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/openstack_interface_vcp_biport.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_interface_vcp_biport.yml.j2 index 4fa959797..cb4c233cd 100644 --- a/mcp/reclass/classes/cluster/mcp-common-ha/openstack_interface_vcp_biport.yml.j2 +++ b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_interface_vcp_biport.yml.j2 @@ -28,6 +28,7 @@ parameters: gateway: {{ nm.net_admin_gw }} name_servers: - {{ nm.net_admin_gw }} + noifupdown: true single: enabled: true type: eth diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/openstack_interface_vcp_triport.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_interface_vcp_triport.yml.j2 index 05550a299..38a436138 100644 --- a/mcp/reclass/classes/cluster/mcp-common-ha/openstack_interface_vcp_triport.yml.j2 +++ b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_interface_vcp_triport.yml.j2 @@ -27,6 +27,7 @@ parameters: name: ${_param:pxe_admin_interface} address: ${_param:pxe_admin_address} netmask: ${_param:opnfv_net_admin_mask} + noifupdown: true single_int: enabled: true type: eth diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/openstack_proxy.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_proxy.yml.j2 index d7ccff532..c23b50993 100644 --- a/mcp/reclass/classes/cluster/mcp-common-ha/openstack_proxy.yml.j2 +++ b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_proxy.yml.j2 @@ -14,6 +14,7 @@ classes: - system.nginx.server.proxy.openstack_web - system.nginx.server.proxy.openstack.aodh - system.nginx.server.proxy.openstack.ceilometer + - system.apache.server.single - system.horizon.server.single - system.salt.minion.cert.proxy - system.sphinx.server.doc.reclass @@ -93,3 +94,7 @@ parameters: vrrp_scripts: check_pidof: args: 'nginx' + apache: + server: + bind: + listen_default_ports: false diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/openstack_telemetry.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_telemetry.yml.j2 index c55ea0049..9a9144ca7 100644 --- a/mcp/reclass/classes/cluster/mcp-common-ha/openstack_telemetry.yml.j2 +++ b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_telemetry.yml.j2 @@ -69,6 +69,8 @@ parameters: - python-memcache apache: server: + bind: + listen_default_ports: false ~modules: - rewrite {%- if conf.MCP_VCP %} {#- wsgi module will be enabled by a different class inherited later #} diff --git a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_compute.yml b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_compute.yml index 32aefd29c..5c9c16d6b 100644 --- a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_compute.yml +++ b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_compute.yml @@ -22,7 +22,6 @@ parameters: _param: interface_mtu: 9000 linux_system_codename: xenial - barbican_integration_enabled: true nova: compute: libvirt_service: libvirtd diff --git a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_compute_pdf.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_compute_pdf.yml.j2 index aebd88828..38f57688f 100644 --- a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_compute_pdf.yml.j2 +++ b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_compute_pdf.yml.j2 @@ -7,6 +7,11 @@ ############################################################################## {#- NOTE: br-{mgmt,ctl} are cross-referenced, careful when changing names #} {%- import 'net_map.j2' as nm with context %} +{%- import 'net_macros.j2' as ma with context %} +{#- Filter-out NIC duplicates by constructing a dict (used NICs only) #} +{%- set nics = { nm.cmp001.nic_mgmt: True, nm.cmp001.nic_private: True } %} +{%- set vlan_private_start = (nm.vlan_private | string).rsplit('-')[0] %} +{%- set vlans = { nm.vlan_mgmt: nm.cmp001.nic_mgmt, vlan_private_start: nm.cmp001.nic_private } %} --- parameters: _param: @@ -19,9 +24,6 @@ parameters: {%- else %} ~cinder_lvm_devices: ['/dev/sda1'] {%- endif %} - primary_interface: {{ nm.cmp001.nic_mgmt }} - tenant_interface: {{ nm.cmp001.nic_private }} - external_interface: {{ nm.cmp001.nic_public }} linux: network: bridge: openvswitch @@ -34,17 +36,17 @@ parameters: address: ${_param:pxe_admin_address} netmask: ${_param:opnfv_net_admin_mask} mtu: ${_param:interface_mtu} - primary_interface: - enabled: true - name: ${_param:primary_interface} - proto: manual - type: eth - tenant_interface: - enabled: true - name: ${_param:tenant_interface} - mtu: ${_param:interface_mtu} - proto: manual - type: eth + noifupdown: true + +{#- prevent duplicates for tagged mgmt on the same physical interface as PXE/admin #} +{%- if nm.cmp001.nic_admin in nics %} + {%- do nics.pop(nm.cmp001.nic_admin) %} +{%- endif %} + +{{ ma.linux_network_interfaces_nic(nics) }} + +{{ ma.linux_network_interfaces_vlan(vlans) }} + br-mgmt: enabled: true type: bridge @@ -52,4 +54,4 @@ parameters: address: ${_param:single_address} netmask: ${_param:opnfv_net_mgmt_mask} use_interfaces: - - ${_param:primary_interface} + - {{ ma.interface_str(nm.cmp001.nic_mgmt, nm.vlan_mgmt) }} diff --git a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_control.yml b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_control.yml index 0eeff7c05..48f99ca59 100644 --- a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_control.yml +++ b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_control.yml @@ -60,14 +60,17 @@ classes: - system.apache.server.site.gnocchi - system.apache.server.site.panko - system.apache.server.site.barbican + - system.apache.server.single - system.horizon.server.single - service.haproxy.proxy.single - cluster.mcp-common-noha.haproxy_openstack_api - cluster.mcp-common-noha.openstack_control_pdf parameters: _param: + interface_mtu: 1500 linux_system_codename: xenial ceilometer_create_gnocchi_resources: 'True' + barbican_integration_enabled: 'false' linux: system: package: @@ -174,6 +177,8 @@ parameters: root_helper_daemon: false apache: server: + bind: + listen_default_ports: false site: gnocchi: &wsgi_threads wsgi: diff --git a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_control_pdf.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_control_pdf.yml.j2 index b0b55afb9..7a1c3532d 100644 --- a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_control_pdf.yml.j2 +++ b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_control_pdf.yml.j2 @@ -6,6 +6,10 @@ # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## {%- import 'net_map.j2' as nm with context %} +{%- import 'net_macros.j2' as ma with context %} +{#- Filter-out NIC duplicates by constructing a dict (used NICs only) #} +{%- set nics = { nm.ctl01.nic_mgmt: True, nm.ctl01.nic_public: True } %} +{%- set vlans = { nm.vlan_mgmt: nm.ctl01.nic_mgmt, nm.vlan_public: nm.ctl01.nic_public } %} --- parameters: linux: @@ -18,19 +22,34 @@ parameters: type: eth address: ${_param:pxe_admin_address} netmask: ${_param:opnfv_net_admin_mask} - single_int: + noifupdown: true + +{#- prevent duplicates for tagged mgmt on the same physical interface as PXE/admin #} +{%- if nm.ctl01.nic_admin in nics %} + {%- do nics.pop(nm.ctl01.nic_admin) %} +{%- endif %} + +{{ ma.linux_network_interfaces_nic(nics) }} + +{{ ma.linux_network_interfaces_vlan(vlans) }} + + br-ctl: enabled: true - name: {{ nm.ctl01.nic_mgmt }} - type: eth + type: bridge proto: static address: ${_param:single_address} netmask: ${_param:opnfv_net_mgmt_mask} - public_int: + noifupdown: true + use_interfaces: + - {{ ma.interface_str(nm.ctl01.nic_mgmt, nm.vlan_mgmt) }} + br-ext: enabled: true - name: {{ nm.ctl01.nic_public }} - type: eth + type: bridge proto: static address: ${_param:cluster_public_host} netmask: ${_param:opnfv_net_public_mask} gateway: ${_param:opnfv_net_public_gw} name_servers: {{ nm.dns_public }} + use_interfaces: + - {{ ma.interface_str(nm.ctl01.nic_public, nm.vlan_public) }} + noifupdown: true diff --git a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_gateway_pdf.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_gateway_pdf.yml.j2 index 4f22d4fa2..972069ec1 100644 --- a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_gateway_pdf.yml.j2 +++ b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_gateway_pdf.yml.j2 @@ -7,11 +7,12 @@ ############################################################################## --- {%- import 'net_map.j2' as nm with context %} +{%- import 'net_macros.j2' as ma with context %} +{#- Filter-out NIC duplicates by constructing a dict (used NICs only) #} +{%- set nics = { nm.ctl01.nic_mgmt: True, nm.ctl01.nic_private: True } %} +{%- set vlan_private_start = (nm.vlan_private | string).rsplit('-')[0] %} +{%- set vlans = { nm.vlan_mgmt: nm.ctl01.nic_mgmt, vlan_private_start: nm.ctl01.nic_private } %} parameters: - _param: - primary_interface: {{ nm.ctl01.nic_mgmt }} - tenant_interface: {{ nm.ctl01.nic_private }} - external_interface: {{ nm.ctl01.nic_public }} linux: network: bridge: openvswitch @@ -24,21 +25,20 @@ parameters: address: ${_param:pxe_admin_address} netmask: ${_param:opnfv_net_admin_mask} mtu: ${_param:interface_mtu} - primary_interface: + noifupdown: true + +{#- prevent duplicates for tagged mgmt on the same physical interface as PXE/admin #} +{%- if nm.ctl01.nic_admin in nics %} + {%- do nics.pop(nm.ctl01.nic_admin) %} +{%- endif %} + +{{ ma.linux_network_interfaces_nic(nics) }} + +{{ ma.linux_network_interfaces_vlan(vlans) }} + + ovs_port_{{ nm.ctl01.nic_public }}: enabled: true - name: ${_param:primary_interface} - mtu: ${_param:interface_mtu} - proto: manual - type: eth - tenant_interface: - enabled: true - name: ${_param:tenant_interface} - mtu: ${_param:interface_mtu} - proto: manual - type: eth - external_interface: - enabled: true - name: ${_param:external_interface} + name: {{ ma.interface_str(nm.ctl01.nic_public, nm.vlan_public) }} proto: manual ovs_port_type: OVSPort type: ovs_port @@ -52,7 +52,7 @@ parameters: address: ${_param:external_address} netmask: ${_param:opnfv_net_public_mask} use_interfaces: - - ${_param:external_interface} + - {{ ma.interface_str(nm.ctl01.nic_public, nm.vlan_public) }} gateway: ${_param:opnfv_net_public_gw} name_servers: {{ nm.dns_public }} br-mgmt: @@ -63,4 +63,4 @@ parameters: netmask: ${_param:opnfv_net_mgmt_mask} mtu: ${_param:interface_mtu} use_interfaces: - - ${_param:primary_interface} + - {{ ma.interface_str(nm.ctl01.nic_mgmt, nm.vlan_mgmt) }} diff --git a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_init.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_init.yml.j2 index e25d8e301..da6d30601 100644 --- a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_init.yml.j2 +++ b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_init.yml.j2 @@ -91,7 +91,7 @@ parameters: mysql_barbican_password: opnfv_secret keystone_barbican_password: opnfv_secret barbican_simple_crypto_kek: "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoxMjM0NTY=" - barbican_integration_enabled: false + barbican_integration_enabled: true aodh_version: ${_param:openstack_version} keystone_aodh_password: opnfv_secret diff --git a/mcp/reclass/classes/cluster/mcp-odl-noha/opendaylight/control_pdf.yml.j2 b/mcp/reclass/classes/cluster/mcp-odl-noha/opendaylight/control_pdf.yml.j2 index 5bb591765..5e647d0c0 100644 --- a/mcp/reclass/classes/cluster/mcp-odl-noha/opendaylight/control_pdf.yml.j2 +++ b/mcp/reclass/classes/cluster/mcp-odl-noha/opendaylight/control_pdf.yml.j2 @@ -6,6 +6,10 @@ # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## {%- import 'net_map.j2' as nm with context %} +{%- import 'net_macros.j2' as ma with context %} +{#- Filter-out NIC duplicates by constructing a dict (used NICs only) #} +{%- set nics = { nm.ctl01.nic_mgmt: True } %} +{%- set vlans = { nm.vlan_mgmt: nm.ctl01.nic_mgmt } %} --- parameters: linux: @@ -18,13 +22,26 @@ parameters: type: eth address: ${_param:pxe_admin_address} netmask: ${_param:opnfv_net_admin_mask} + mtu: ${_param:interface_mtu} + noifupdown: true gateway: {{ nm.net_admin_gw }} name_servers: - {{ nm.net_admin_gw }} - single_int: + +{#- prevent duplicates for tagged mgmt on the same physical interface as PXE/admin #} +{%- if nm.ctl01.nic_admin in nics %} + {%- do nics.pop(nm.ctl01.nic_admin) %} +{%- endif %} + +{{ ma.linux_network_interfaces_nic(nics) }} + +{{ ma.linux_network_interfaces_vlan(vlans) }} + + br-ctl: enabled: true - name: {{ nm.ctl01.nic_mgmt }} - type: eth + type: bridge proto: static address: ${_param:single_address} netmask: ${_param:opnfv_net_mgmt_mask} + use_interfaces: + - {{ ma.interface_str(nm.ctl01.nic_mgmt, nm.vlan_mgmt) }} diff --git a/mcp/reclass/classes/cluster/mcp-odl-noha/openstack/compute.yml.j2 b/mcp/reclass/classes/cluster/mcp-odl-noha/openstack/compute.yml.j2 index 65792e35e..e9c91ea91 100644 --- a/mcp/reclass/classes/cluster/mcp-odl-noha/openstack/compute.yml.j2 +++ b/mcp/reclass/classes/cluster/mcp-odl-noha/openstack/compute.yml.j2 @@ -6,6 +6,8 @@ # 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 @@ -35,7 +37,7 @@ parameters: proto: static address: ${_param:tenant_address} netmask: ${_param:opnfv_net_private_mask} - tenant_interface: + {{ nm.cmp001.nic_private }}: type: dpdk # Not a meaningful type, just match 'dpdk' for filtering {%- else %} br-mesh: @@ -45,11 +47,11 @@ parameters: address: ${_param:tenant_address} netmask: ${_param:opnfv_net_private_mask} use_interfaces: - - ${_param:tenant_interface} + - {{ ma.interface_str(nm.cmp001.nic_private, vlan_private_start) }} {%- endif %} - external_interface: + ovs_port_{{ nm.cmp001.nic_public }}: enabled: true - name: ${_param:external_interface} + name: {{ ma.interface_str(nm.cmp001.nic_public, nm.vlan_public) }} proto: manual ovs_port_type: OVSPort type: ovs_port @@ -63,6 +65,6 @@ parameters: address: ${_param:external_address} netmask: ${_param:opnfv_net_public_mask} use_interfaces: - - ${_param:external_interface} + - {{ ma.interface_str(nm.cmp001.nic_public, nm.vlan_public) }} gateway: ${_param:opnfv_net_public_gw} name_servers: {{ nm.dns_public }} diff --git a/mcp/reclass/classes/cluster/mcp-odl-noha/openstack/gateway.yml b/mcp/reclass/classes/cluster/mcp-odl-noha/openstack/gateway.yml.j2 index 678740f40..0bf5502ba 100644 --- a/mcp/reclass/classes/cluster/mcp-odl-noha/openstack/gateway.yml +++ b/mcp/reclass/classes/cluster/mcp-odl-noha/openstack/gateway.yml.j2 @@ -5,6 +5,9 @@ # 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: - cluster.mcp-common-noha.openstack_gateway @@ -22,4 +25,4 @@ parameters: address: ${_param:tenant_address} netmask: ${_param:opnfv_net_private_mask} use_interfaces: - - ${_param:tenant_interface} + - {{ ma.interface_str(nm.cmp001.nic_private, vlan_private_start) }} diff --git a/mcp/reclass/classes/cluster/mcp-ovn-noha/openstack/compute.yml.j2 b/mcp/reclass/classes/cluster/mcp-ovn-noha/openstack/compute.yml.j2 index a6b61645e..ac3555604 100644 --- a/mcp/reclass/classes/cluster/mcp-ovn-noha/openstack/compute.yml.j2 +++ b/mcp/reclass/classes/cluster/mcp-ovn-noha/openstack/compute.yml.j2 @@ -6,6 +6,8 @@ # 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.ovn.single @@ -18,9 +20,9 @@ parameters: linux: network: interface: - external_interface: + ovs_port_{{ nm.cmp001.nic_public }}: enabled: true - name: ${_param:external_interface} + name: {{ ma.interface_str(nm.cmp001.nic_public, nm.vlan_public) }} proto: manual ovs_port_type: OVSPort type: ovs_port @@ -33,7 +35,7 @@ parameters: address: ${_param:tenant_address} netmask: ${_param:opnfv_net_private_mask} use_interfaces: - - ${_param:tenant_interface} + - {{ ma.interface_str(nm.cmp001.nic_private, vlan_private_start) }} br-floating: enabled: true type: ovs_bridge @@ -42,6 +44,6 @@ parameters: address: ${_param:external_address} netmask: ${_param:opnfv_net_public_mask} use_interfaces: - - ${_param:external_interface} + - {{ ma.interface_str(nm.cmp001.nic_public, nm.vlan_public) }} gateway: ${_param:opnfv_net_public_gw} name_servers: {{ nm.dns_public }} diff --git a/mcp/reclass/classes/cluster/mcp-ovs-dpdk-noha/openstack/compute.yml.j2 b/mcp/reclass/classes/cluster/mcp-ovs-dpdk-noha/openstack/compute.yml.j2 index 3e4eeceab..df2911104 100644 --- a/mcp/reclass/classes/cluster/mcp-ovs-dpdk-noha/openstack/compute.yml.j2 +++ b/mcp/reclass/classes/cluster/mcp-ovs-dpdk-noha/openstack/compute.yml.j2 @@ -37,5 +37,5 @@ parameters: br-prv: enabled: true type: dpdk_ovs_bridge - tenant_interface: + {{ nm.cmp001.nic_private }}: type: dpdk # Not a meaningful type, just match 'dpdk' for filtering diff --git a/mcp/reclass/classes/cluster/mcp-ovs-dpdk-noha/openstack/gateway.yml b/mcp/reclass/classes/cluster/mcp-ovs-dpdk-noha/openstack/gateway.yml.j2 index 2f9aee6fd..2f89ac3f8 100644 --- a/mcp/reclass/classes/cluster/mcp-ovs-dpdk-noha/openstack/gateway.yml +++ b/mcp/reclass/classes/cluster/mcp-ovs-dpdk-noha/openstack/gateway.yml.j2 @@ -5,6 +5,7 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## +{%- import 'net_map.j2' as nm with context %} --- classes: - cluster.mcp-common-noha.openstack_gateway @@ -18,7 +19,7 @@ parameters: linux: network: interface: - tenant_interface: + {{ nm.cmp001.nic_private }}: ovs_bridge: br-prv br-prv: enabled: true diff --git a/mcp/reclass/classes/cluster/mcp-ovs-noha/openstack/compute.yml.j2 b/mcp/reclass/classes/cluster/mcp-ovs-noha/openstack/compute.yml.j2 index c949de4f4..767b30849 100644 --- a/mcp/reclass/classes/cluster/mcp-ovs-noha/openstack/compute.yml.j2 +++ b/mcp/reclass/classes/cluster/mcp-ovs-noha/openstack/compute.yml.j2 @@ -6,6 +6,8 @@ # 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 @@ -27,4 +29,4 @@ parameters: address: ${_param:tenant_address} netmask: ${_param:opnfv_net_private_mask} use_interfaces: - - ${_param:tenant_interface} + - {{ ma.interface_str(nm.cmp001.nic_private, vlan_private_start) }} diff --git a/mcp/reclass/classes/cluster/mcp-ovs-noha/openstack/gateway.yml b/mcp/reclass/classes/cluster/mcp-ovs-noha/openstack/gateway.yml.j2 index 5c5547cfc..685402da8 100644 --- a/mcp/reclass/classes/cluster/mcp-ovs-noha/openstack/gateway.yml +++ b/mcp/reclass/classes/cluster/mcp-ovs-noha/openstack/gateway.yml.j2 @@ -5,6 +5,9 @@ # 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: - cluster.mcp-common-noha.openstack_gateway @@ -22,4 +25,4 @@ parameters: address: ${_param:tenant_address} netmask: ${_param:opnfv_net_private_mask} use_interfaces: - - ${_param:tenant_interface} + - {{ ma.interface_str(nm.ctl01.nic_private, vlan_private_start) }} diff --git a/mcp/scripts/lib.sh b/mcp/scripts/lib.sh index 4e4f36908..c566cc993 100644 --- a/mcp/scripts/lib.sh +++ b/mcp/scripts/lib.sh @@ -546,6 +546,13 @@ function wait_for { ) } +function do_udev_cfg { + local _conf='/etc/udev/rules.d/99-opnfv-fuel-vnet-mtu.rules' + # http://linuxaleph.blogspot.com/2013/01/how-to-network-jumbo-frames-to-kvm-guest.html + echo 'SUBSYSTEM=="net", ACTION=="add", KERNEL=="vnet*", RUN+="/sbin/ip link set mtu 9000 dev '"'"%k"'"'"' |& sudo tee "${_conf}" + sudo udevadm control --reload || true +} + function do_sysctl_cfg { local _conf='/etc/sysctl.d/99-opnfv-fuel-bridge.conf' # https://wiki.libvirt.org/page/Net.bridge.bridge-nf-call_and_sysctl.conf |