diff options
Diffstat (limited to 'mcp/reclass/classes/cluster/mcp-odl-noha/openstack')
4 files changed, 245 insertions, 0 deletions
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 new file mode 100644 index 000000000..44ebb86b1 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-odl-noha/openstack/compute.yml.j2 @@ -0,0 +1,125 @@ +############################################################################## +# 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 diff --git a/mcp/reclass/classes/cluster/mcp-odl-noha/openstack/control.yml b/mcp/reclass/classes/cluster/mcp-odl-noha/openstack/control.yml new file mode 100644 index 000000000..4b0beb5be --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-odl-noha/openstack/control.yml @@ -0,0 +1,40 @@ +############################################################################## +# 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 +############################################################################## +--- +classes: + - system.neutron.control.opendaylight.single + - cluster.mcp-common-noha.openstack_control + - cluster.mcp-odl-noha +parameters: + haproxy: + proxy: + listen: + opendaylight-rest: + type: general-service + service_name: opendaylight + binds: + - address: ${_param:cluster_vip_address} + port: ${_param:opendaylight_rest_port} + servers: + - name: odl01 + host: ${_param:opendaylight_service_host} + port: ${_param:opendaylight_rest_port} + params: ${_param:haproxy_check} + keystone: + server: + openrc_extra: + # For noHA, all public services are available through haproxy on ctl + sdn_controller_ip: ${_param:cluster_vip_address} + sdn_controller_user: admin # Hardcoded to default ODL values for now + sdn_controller_password: ${_param:opendaylight_password} + sdn_controller_webport: ${_param:opendaylight_rest_port} + sdn_controller_restconfport: ${_param:opendaylight_rest_port} + neutron: + server: + backend: + password: ${_param:opendaylight_password} diff --git a/mcp/reclass/classes/cluster/mcp-odl-noha/openstack/gateway.yml.j2 b/mcp/reclass/classes/cluster/mcp-odl-noha/openstack/gateway.yml.j2 new file mode 100644 index 000000000..946cdda03 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-odl-noha/openstack/gateway.yml.j2 @@ -0,0 +1,57 @@ +############################################################################## +# 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: + - cluster.mcp-common-noha.openstack_gateway + - service.neutron.gateway.opendaylight.single + - cluster.mcp-odl-noha +parameters: + linux: + network: + interface: +{%- if '-ovs-' in conf.MCP_DEPLOY_SCENARIO %} + {{ nm.ctl01.nic_private }}: + ovs_port_type: OVSPort + type: ovs_port + bridge: br-prv + ovs_bridge: br-prv + br-prv: + enabled: true + type: ovs_bridge + mtu: ${_param:interface_mtu} + proto: static + address: ${_param:tenant_address} + netmask: ${_param:opnfv_net_private_mask} + use_interfaces: + - {{ nm.ctl01.nic_private }} +{%- else %} + br-mesh: + enabled: true + type: bridge + mtu: ${_param:interface_mtu} + proto: static + address: ${_param:tenant_address} + netmask: ${_param:opnfv_net_private_mask} + use_interfaces: + - {{ ma.interface_str(nm.ctl01.nic_private, vlan_private_start) }} +{%- 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 diff --git a/mcp/reclass/classes/cluster/mcp-odl-noha/openstack/init.yml b/mcp/reclass/classes/cluster/mcp-odl-noha/openstack/init.yml new file mode 100644 index 000000000..87c41b048 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-odl-noha/openstack/init.yml @@ -0,0 +1,23 @@ +############################################################################## +# 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 +############################################################################## +--- +classes: + - cluster.mcp-common-noha.openstack_init +parameters: + _param: + neutron_tenant_network_types: "flat,vxlan" + opendaylight_router: odl-router_v2 + opendaylight_rest_port: 8282 + linux: + network: + host: + odl01: + address: ${_param:opnfv_opendaylight_server_node01_address} + names: + - odl01 + - odl01.${_param:cluster_domain} |