diff options
Diffstat (limited to 'mcp/reclass/classes/cluster')
150 files changed, 1617 insertions, 1356 deletions
diff --git a/mcp/reclass/classes/cluster/.gitignore b/mcp/reclass/classes/cluster/.gitignore index 496fab912..a6b1b7d56 100644 --- a/mcp/reclass/classes/cluster/.gitignore +++ b/mcp/reclass/classes/cluster/.gitignore @@ -1 +1,17 @@ **/*_pdf.yml +mcp-pike-common-ha/infra/init.yml +mcp-pike-common-ha/openstack_control.yml +mcp-pike-common-ha/openstack_init.yml +mcp-pike-common-ha/openstack_interface_vcp_biport.yml +mcp-pike-common-ha/openstack_interface_vcp_triport.yml +mcp-pike-common-ha/openstack_proxy.yml +mcp-pike-ovs-ha/infra/init_vcp.yml +mcp-pike-ovs-ha/infra/kvm.yml +mcp-pike-ovs-dpdk-ha/infra/init_vcp.yml +mcp-pike-ovs-dpdk-ha/infra/kvm.yml +mcp-pike-odl-ha/infra/init_vcp.yml +mcp-pike-odl-ha/infra/kvm.yml +mcp-pike-ovn-ha/infra/init_vcp.yml +mcp-pike-ovn-ha/infra/kvm.yml +mcp-pike-odl-ha/opendaylight/control.yml +mcp-pike-odl-ha/openstack/init.yml diff --git a/mcp/reclass/classes/cluster/README.rst b/mcp/reclass/classes/cluster/README.rst index dc09cfbac..69234043a 100644 --- a/mcp/reclass/classes/cluster/README.rst +++ b/mcp/reclass/classes/cluster/README.rst @@ -8,16 +8,16 @@ Fuel@OPNFV Cluster Reclass Models Overview -------- -#. Common classes (baremetal + virtual) +#. Common classes (HA + noHA) - all-mcp-arch-common -#. Common classes (specific to either baremetal or virtual deploys) +#. Common classes (HA baremetal/virtual, noHA virtual) - - baremetal-mcp-<release>-common-ha - - virtual-mcp-<release>-common-noha + - mcp-<release>-common-ha + - mcp-<release>-common-noha #. Cluster specific classes - - baremetal-mcp-<release>-*-{ha,noha} - - virtual-mcp-<release>-*-{ha,noha} + - mcp-<release>-*-{ha,noha} + - mcp-<release>-*-{ha,noha} diff --git a/mcp/reclass/classes/cluster/all-mcp-arch-common/aarch64/init.yml b/mcp/reclass/classes/cluster/all-mcp-arch-common/aarch64/init.yml index 3b333ed7c..a44475b49 100644 --- a/mcp/reclass/classes/cluster/all-mcp-arch-common/aarch64/init.yml +++ b/mcp/reclass/classes/cluster/all-mcp-arch-common/aarch64/init.yml @@ -8,6 +8,7 @@ --- parameters: _param: + salt_control_trusty_image: '' # Dummy value, to keep reclass 1.5.2 happy salt_control_xenial_image: salt://salt/files/control/images/base_image_opnfv_fuel_vcp.img # VMs spawned on Foundation Node / Jump Host net ifaces (max 4) diff --git a/mcp/reclass/classes/cluster/all-mcp-arch-common/infra/config_dpdk_pdf.yml.j2 b/mcp/reclass/classes/cluster/all-mcp-arch-common/infra/config_dpdk_pdf.yml.j2 new file mode 100644 index 000000000..703d5350e --- /dev/null +++ b/mcp/reclass/classes/cluster/all-mcp-arch-common/infra/config_dpdk_pdf.yml.j2 @@ -0,0 +1,42 @@ +############################################################################## +# 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 %} +--- +parameters: + reclass: + storage: + node: + # NOTE: Until SDF is in place, assume all computes are identical + openstack_compute_node01: &openstack_compute_node01 + params: +{#- No partial defaults, all or nothing. Defaults tuned for lf-pod2. #} +{%- if conf.idf.fuel.reclass is defined %} +{%- if conf.idf.fuel.reclass.node[nm.cmp001.idx].compute_params.dpdk is defined %} +{#- Can't dump json here due to dpdk0_* below, explicitly create yaml #} +{%- set _dpdk = conf.idf.fuel.reclass.node[nm.cmp001.idx].compute_params.dpdk %} +{%- for _i in _dpdk %} + {{ _i }}: '"{{ _dpdk[_i] }}"' +{%- endfor %} +{%- endif %} +{%- else %} + compute_hugepages_size: 2M + compute_hugepages_count: 8192 + compute_hugepages_mount: /mnt/hugepages_2M + compute_kernel_isolcpu: 2,3,10,11 + compute_dpdk_driver: uio + compute_ovs_pmd_cpu_mask: '"0xc04"' + compute_ovs_dpdk_socket_mem: '"2048,2048"' + compute_ovs_dpdk_lcore_mask: '"0x8"' + compute_ovs_memory_channels: '"2"' + dpdk0_driver: igb_uio + dpdk0_n_rxq: 2 +{%- endif %} + dpdk0_name: {{ nm.cmp001.nic_private }} + dpdk0_pci: '"{{ nm.cmp001.bus_private }}"' + openstack_compute_node02: + <<: *openstack_compute_node01 diff --git a/mcp/reclass/classes/cluster/all-mcp-arch-common/infra/config_pdf.yml.j2 b/mcp/reclass/classes/cluster/all-mcp-arch-common/infra/config_pdf.yml.j2 new file mode 100644 index 000000000..fb25cc617 --- /dev/null +++ b/mcp/reclass/classes/cluster/all-mcp-arch-common/infra/config_pdf.yml.j2 @@ -0,0 +1,33 @@ +############################################################################## +# 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 %} +--- +parameters: + reclass: + storage: + node: + # NOTE: Until SDF is in place, assume all computes are identical + openstack_compute_node01: &openstack_compute_node01 + params: +{#- No partial defaults, all or nothing. Defaults tuned for lf-pod2. #} +{%- if conf.idf.fuel.reclass is defined %} +{%- if conf.idf.fuel.reclass.node[nm.cmp001.idx].compute_params.common is defined %} +{%- set _common = conf.idf.fuel.reclass.node[nm.cmp001.idx].compute_params.common %} +{%- for _i in _common %} + {{ _i }}: '"{{ _common[_i] }}"' +{%- endfor %} +{%- else %} + dummy_value: ~ +{%- endif %} +{%- else %} + compute_hugepages_size: 1G + compute_hugepages_count: 16 + compute_hugepages_mount: /mnt/hugepages_1G +{%- endif %} + openstack_compute_node02: + <<: *openstack_compute_node01 diff --git a/mcp/reclass/classes/cluster/all-mcp-arch-common/init.yml b/mcp/reclass/classes/cluster/all-mcp-arch-common/init.yml index f09ee5db1..f9aeb71ad 100644 --- a/mcp/reclass/classes/cluster/all-mcp-arch-common/init.yml +++ b/mcp/reclass/classes/cluster/all-mcp-arch-common/init.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 diff --git a/mcp/reclass/classes/cluster/all-mcp-arch-common/opnfv/init.yml b/mcp/reclass/classes/cluster/all-mcp-arch-common/opnfv/init.yml index 28dcdcd5b..9a47b1c63 100644 --- a/mcp/reclass/classes/cluster/all-mcp-arch-common/opnfv/init.yml +++ b/mcp/reclass/classes/cluster/all-mcp-arch-common/opnfv/init.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 diff --git a/mcp/reclass/classes/cluster/all-mcp-arch-common/opnfv/pod_config.yml.example b/mcp/reclass/classes/cluster/all-mcp-arch-common/opnfv/pod_config.yml.example deleted file mode 100644 index 628aeba83..000000000 --- a/mcp/reclass/classes/cluster/all-mcp-arch-common/opnfv/pod_config.yml.example +++ /dev/null @@ -1,111 +0,0 @@ -############################################################################## -# Copyright (c) 2017 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 -############################################################################## ---- -parameters: - _param: - - opnfv_infra_config_address: 10.167.4.100 - opnfv_infra_config_pxe_address: 192.168.11.2 - opnfv_infra_maas_node01_address: 10.167.4.3 - opnfv_infra_maas_node01_deploy_address: 192.168.11.3 - opnfv_infra_kvm_address: 10.167.4.140 - opnfv_infra_kvm_node01_address: 10.167.4.141 - opnfv_infra_kvm_node02_address: 10.167.4.142 - opnfv_infra_kvm_node03_address: 10.167.4.143 - - opnfv_infra_maas_pxe_network_address: 192.168.11.0 - opnfv_infra_maas_pxe_start_address: 192.168.11.4 - opnfv_infra_maas_pxe_end_address: 192.168.11.100 - - opnfv_openstack_gateway_node01_address: 10.167.4.124 - opnfv_openstack_gateway_node02_address: 10.167.4.125 - opnfv_openstack_gateway_node03_address: 10.167.4.126 - opnfv_openstack_gateway_node01_tenant_address: 10.1.0.6 - opnfv_openstack_gateway_node02_tenant_address: 10.1.0.7 - opnfv_openstack_gateway_node03_tenant_address: 10.1.0.9 - opnfv_openstack_proxy_address: 172.30.10.103 - opnfv_openstack_proxy_node01_address: 172.30.10.104 - opnfv_openstack_proxy_node02_address: 172.30.10.105 - opnfv_openstack_proxy_control_address: 10.167.4.103 - opnfv_openstack_proxy_node01_control_address: 10.167.4.104 - opnfv_openstack_proxy_node02_control_address: 10.167.4.105 - opnfv_openstack_control_address: 10.167.4.10 - opnfv_openstack_control_node01_address: 10.167.4.11 - opnfv_openstack_control_node02_address: 10.167.4.12 - opnfv_openstack_control_node03_address: 10.167.4.13 - opnfv_openstack_database_address: 10.167.4.50 - opnfv_openstack_database_node01_address: 10.167.4.51 - opnfv_openstack_database_node02_address: 10.167.4.52 - opnfv_openstack_database_node03_address: 10.167.4.53 - opnfv_openstack_message_queue_address: 10.167.4.40 - opnfv_openstack_message_queue_node01_address: 10.167.4.41 - opnfv_openstack_message_queue_node02_address: 10.167.4.42 - opnfv_openstack_message_queue_node03_address: 10.167.4.43 - opnfv_openstack_telemetry_address: 10.167.4.75 - opnfv_openstack_telemetry_node01_address: 10.167.4.76 - opnfv_openstack_telemetry_node02_address: 10.167.4.77 - opnfv_openstack_telemetry_node03_address: 10.167.4.78 - opnfv_openstack_compute_node01_single_address: 10.167.4.101 - opnfv_openstack_compute_node02_single_address: 10.167.4.102 - opnfv_openstack_compute_node03_single_address: 10.167.4.103 - opnfv_openstack_compute_node01_control_address: 10.167.4.101 - opnfv_openstack_compute_node02_control_address: 10.167.4.102 - opnfv_openstack_compute_node03_control_address: 10.167.4.103 - opnfv_openstack_compute_node01_tenant_address: 10.1.0.101 - opnfv_openstack_compute_node02_tenant_address: 10.1.0.102 - opnfv_openstack_compute_node03_tenant_address: 10.1.0.103 - opnfv_openstack_compute_node01_external_address: 172.30.10.101 - opnfv_openstack_compute_node02_external_address: 172.30.10.102 - - opnfv_opendaylight_server_node01_single_address: 10.167.4.111 - - opnfv_net_public: 172.30.10.0/24 - opnfv_net_public_mask: 255.255.255.0 - opnfv_net_public_gw: 172.30.10.1 - opnfv_net_public_pool_start: 172.30.10.80 - opnfv_net_public_pool_end: 172.30.10.100 - opnfv_name_servers: ['8.8.8.8', '8.8.4.4'] - opnfv_dns_server01: '8.8.8.8' - - opnfv_net_mgmt_vlan: 300 - opnfv_net_tenant_vlan: 1000 - - opnfv_maas_node01_architecture: 'amd64/generic' - opnfv_maas_node01_power_address: 172.30.8.75 - opnfv_maas_node01_power_type: ipmi - opnfv_maas_node01_power_user: admin - opnfv_maas_node01_power_password: octopus - opnfv_maas_node01_interface_mac: '00:25:b5:a0:00:2a' - - opnfv_maas_node02_architecture: 'amd64/generic' - opnfv_maas_node02_power_address: 172.30.8.65 - opnfv_maas_node02_power_type: ipmi - opnfv_maas_node02_power_user: admin - opnfv_maas_node02_power_password: octopus - opnfv_maas_node02_interface_mac: '00:25:b5:a0:00:3a' - - opnfv_maas_node03_architecture: 'amd64/generic' - opnfv_maas_node03_power_address: 172.30.8.74 - opnfv_maas_node03_power_type: ipmi - opnfv_maas_node03_power_user: admin - opnfv_maas_node03_power_password: octopus - opnfv_maas_node03_interface_mac: '00:25:b5:a0:00:4a' - - opnfv_maas_node04_architecture: 'amd64/generic' - opnfv_maas_node04_power_address: 172.30.8.73 - opnfv_maas_node04_power_type: ipmi - opnfv_maas_node04_power_user: admin - opnfv_maas_node04_power_password: octopus - opnfv_maas_node04_interface_mac: '00:25:b5:a0:00:5a' - - opnfv_maas_node05_architecture: 'amd64/generic' - opnfv_maas_node05_power_address: 172.30.8.72 - opnfv_maas_node05_power_type: ipmi - opnfv_maas_node05_power_user: admin - opnfv_maas_node05_power_password: octopus - opnfv_maas_node05_interface_mac: '00:25:b5:a0:00:6a' diff --git a/mcp/reclass/classes/cluster/all-mcp-arch-common/opnfv/runtime.yml b/mcp/reclass/classes/cluster/all-mcp-arch-common/opnfv/runtime.yml deleted file mode 100644 index 387b57f8b..000000000 --- a/mcp/reclass/classes/cluster/all-mcp-arch-common/opnfv/runtime.yml +++ /dev/null @@ -1,14 +0,0 @@ -############################################################################## -# Copyright (c) 2017 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 -############################################################################## ---- -parameters: - _param: - opnfv_salt_master_ip: 10.20.0.2 - opnfv_maas_mcp_address: 10.20.0.3 - opnfv_net_mcpcontrol: 10.20.0.0 - opnfv_net_mcpcontrol_mask: 255.255.255.0 diff --git a/mcp/reclass/classes/cluster/all-mcp-arch-common/opnfv/pod_config.yml b/mcp/reclass/classes/cluster/all-mcp-arch-common/opnfv/runtime.yml.j2 index d72df2eb6..d6f5aa965 100644 --- a/mcp/reclass/classes/cluster/all-mcp-arch-common/opnfv/pod_config.yml +++ b/mcp/reclass/classes/cluster/all-mcp-arch-common/opnfv/runtime.yml.j2 @@ -1,12 +1,15 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 ############################################################################## --- +{#- conf.MCPCONTROL_NET & co are mandatory, defaults are set via globals.sh #} parameters: _param: - # NOTE: This file is overwritten at runtime by parsing the PDF. - opnfv_use_pod_descriptor_file: true + opnfv_salt_master_ip: {{ conf.SALT_MASTER }} + opnfv_maas_mcp_address: {{ conf.MAAS_IP }} + opnfv_net_mcpcontrol: {{ conf.MCPCONTROL_NET }} + opnfv_net_mcpcontrol_mask: {{ conf.MCPCONTROL_PREFIX | netmask }} diff --git a/mcp/reclass/classes/cluster/all-mcp-arch-common/opnfv/runtime.yml.template b/mcp/reclass/classes/cluster/all-mcp-arch-common/opnfv/runtime.yml.template deleted file mode 100644 index 64f75350c..000000000 --- a/mcp/reclass/classes/cluster/all-mcp-arch-common/opnfv/runtime.yml.template +++ /dev/null @@ -1,14 +0,0 @@ -############################################################################## -# Copyright (c) 2017 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 -############################################################################## ---- -parameters: - _param: - opnfv_salt_master_ip: ${SALT_MASTER} - opnfv_maas_mcp_address: ${MAAS_IP} - opnfv_net_mcpcontrol: ${SALT_MASTER%.*}.0 - opnfv_net_mcpcontrol_mask: 255.255.255.0 diff --git a/mcp/reclass/classes/cluster/all-mcp-arch-common/x86_64/init.yml b/mcp/reclass/classes/cluster/all-mcp-arch-common/x86_64/init.yml index a7e469b57..a62dd04e0 100644 --- a/mcp/reclass/classes/cluster/all-mcp-arch-common/x86_64/init.yml +++ b/mcp/reclass/classes/cluster/all-mcp-arch-common/x86_64/init.yml @@ -8,6 +8,7 @@ --- parameters: _param: + salt_control_trusty_image: '' # Dummy value, to keep reclass 1.5.2 happy salt_control_xenial_image: salt://salt/files/control/images/base_image_opnfv_fuel_vcp.img # VMs spawned on Foundation Node / Jump Host net ifaces (max 4) diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/infra/kvm_pdf.yml.j2 b/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/infra/kvm_pdf.yml.j2 deleted file mode 100644 index 0aab6cbc0..000000000 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/infra/kvm_pdf.yml.j2 +++ /dev/null @@ -1,98 +0,0 @@ -############################################################################## -# Copyright (c) 2017 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 -############################################################################## -{# NOTE: br-{mgmt,ctl} are cross-referenced, careful when changing names #} -{%- if conf.idf is defined and conf.idf.net_config is defined -%} - {#- NOTE: Currently, we assume all cluster nodes use the same mapping -#} - - {#- Determine interface index for each network (plumbing vars) -#} - {%- set idx_admin = conf['idf']['net_config']['admin']['interface'] -%} - {%- set idx_mgmt = conf['idf']['net_config']['mgmt']['interface'] -%} - {%- set idx_private = conf['idf']['net_config']['private']['interface'] -%} - {%- set idx_public = conf['idf']['net_config']['public']['interface'] -%} - - {#- Physical interface OS name for each network (e.g. em1, enp1s0f1) -#} - {%- set node = conf['idf']['fuel']['network']['node'][0] -%} - {%- set nic_admin = node['interfaces'][idx_admin] -%} - {%- set nic_mgmt = node['interfaces'][idx_mgmt] -%} - {%- set nic_private = node['interfaces'][idx_private] -%} - {%- set nic_public = node['interfaces'][idx_public] -%} - - {#- PCI addresses (only for DPDK on private) -#} - {%- set bus_private = node['busaddr'][idx_private] -%} - - {#- VLAN for each network (only untagged 'admin' is supported by MaaS config!) -#} - {%- set vlan_admin = conf['idf']['net_config']['admin']['vlan'] -%} - {%- set vlan_mgmt = conf['idf']['net_config']['mgmt']['vlan'] -%} - {%- set vlan_private = conf['idf']['net_config']['private']['vlan'] -%} - {%- set vlan_public = conf['idf']['net_config']['public']['vlan'] -%} -{%- else -%} - {%- set nic_admin = 'enp6s0' -%} - {%- set nic_mgmt = 'enp6s0' -%} - {%- set nic_private = None -%} - {%- set nic_public = None -%} - {%- set vlan_admin = 'native' -%} - {%- set vlan_mgmt = '300' -%} - {%- set vlan_private = '1000' -%} -{%- endif -%} - -{#- Filter-out NIC duplicates by constructing a dict (used NICs only) -#} -{%- set nics = { nic_admin: True, nic_mgmt: True, nic_public: True } -%} - -{%- set vlans = { vlan_admin: nic_admin, vlan_mgmt: nic_mgmt, vlan_public: nic_public } -%} ---- -parameters: - linux: - network: - interface: -{%- for nic in nics %} - {{ nic }}: - enabled: true - type: eth - proto: manual - address: 0.0.0.0 - netmask: 255.255.255.0 - name: {{ nic }} - noifupdown: true -{%- endfor %} - -{%- for vlan in vlans %} - {%- if vlan and vlan != 'native' %} - {{ vlans[vlan] }}.{{ vlan }}: - enabled: true - proto: manual - type: vlan - name: {{ vlans[vlan] }}.{{ vlan }} - use_interfaces: - - {{ vlans[vlan] }} - {%- endif %} -{%- endfor %} - - br-mgmt: - enabled: true - proto: dhcp - type: bridge - use_interfaces: - - {{ nic_admin }}{% if vlan_admin and vlan_admin != 'native' %}.{{ vlan_admin }}{% endif %} - noifupdown: true - br-ctl: - enabled: true - type: bridge - proto: static - address: ${_param:single_address} - netmask: 255.255.255.0 - use_interfaces: - - {{ nic_mgmt }}{% if vlan_mgmt and vlan_mgmt != 'native' %}.{{ vlan_mgmt }}{% endif %} - br-ex: - enabled: true - proto: manual - address: 0.0.0.0 - netmask: ${_param:opnfv_net_public_mask} - type: bridge - use_interfaces: - - {{ nic_public }}{% if vlan_public and vlan_public != 'native' %}.{{ vlan_public }}{% endif %} - noifupdown: true diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/openstack_compute_pdf.yml.j2 b/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/openstack_compute_pdf.yml.j2 deleted file mode 100644 index 2e9466980..000000000 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/openstack_compute_pdf.yml.j2 +++ /dev/null @@ -1,118 +0,0 @@ -############################################################################## -# Copyright (c) 2017 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 -############################################################################## -{# NOTE: br-{mgmt,ctl} are cross-referenced, careful when changing names #} -{%- if conf.idf is defined and conf.idf.net_config is defined -%} - {#- NOTE: Currently, we assume all cluster nodes use the same mapping -#} - - {#- Determine interface index for each network (plumbing vars) -#} - {%- set idx_admin = conf['idf']['net_config']['admin']['interface'] -%} - {%- set idx_mgmt = conf['idf']['net_config']['mgmt']['interface'] -%} - {%- set idx_private = conf['idf']['net_config']['private']['interface'] -%} - {%- set idx_public = conf['idf']['net_config']['public']['interface'] -%} - - {#- Physical interface OS name for each network (e.g. em1, enp1s0f1) -#} - {%- set iface_names = conf['idf']['fuel']['network']['node'][3]['interfaces'] -%} - {%- set nic_admin = iface_names[idx_admin] -%} - {%- set nic_mgmt = iface_names[idx_mgmt] -%} - {%- set nic_private = iface_names[idx_private] -%} - {%- set nic_public = iface_names[idx_public] -%} - - {#- VLAN for each network (only untagged 'admin' is supported by MaaS config!) -#} - {%- set vlan_admin = conf['idf']['net_config']['admin']['vlan'] -%} - {%- set vlan_mgmt = conf['idf']['net_config']['mgmt']['vlan'] -%} - {%- set vlan_private = conf['idf']['net_config']['private']['vlan'] -%} - {%- set vlan_public = conf['idf']['net_config']['public']['vlan'] -%} -{%- else -%} - {%- set nic_admin = 'enp6s0' -%} - {%- set nic_mgmt = 'enp6s0' -%} - {%- set nic_private = None -%} - {%- set nic_public = None -%} - {%- set vlan_admin = 'native' -%} - {%- set vlan_mgmt = '300' -%} - {%- set vlan_private = '1000' -%} -{%- endif -%} - -{#- Filter-out NIC duplicates by constructing a dict (used NICs only) -#} -{%- set nics = { nic_admin: True, nic_mgmt: True } -%} - -{%- set vlans = { vlan_admin: nic_admin, vlan_mgmt: nic_mgmt } -%} ---- -parameters: - linux: - network: - bridge: openvswitch - interface: -{%- for nic in nics %} - {%- if nic == nic_admin %} - {{ nic }}: - enabled: true - type: eth - proto: dhcp - name: {{ nic }} - {%- else %} - {{ nic }}: - enabled: true - type: eth - proto: manual - address: 0.0.0.0 - {%- if nic == nic_public %} - netmask: ${_param:opnfv_net_public_mask} - {%- else %} - netmask: 255.255.255.0 - {%- endif %} - mtu: ${_param:interface_mtu} - name: {{ nic }} - {%- endif %} -{%- endfor %} - -{%- for vlan in vlans %} - {%- if vlan and vlan != 'native' %} - {{ vlans[vlan] }}.{{ vlan }}: - enabled: true - proto: manual - type: vlan - name: {{ vlans[vlan] }}.{{ vlan }} - use_interfaces: - - {{ vlans[vlan] }} - {%- endif %} -{%- endfor %} - - br-ctl: - enabled: true - type: bridge - proto: static - address: ${_param:single_address} - netmask: 255.255.255.0 - use_interfaces: - - {{ nic_mgmt }}{% if vlan_mgmt and vlan_mgmt != 'native' %}.{{ vlan_mgmt }}{% endif %} - br-floating: - enabled: true - type: ovs_bridge - mtu: ${_param:interface_mtu} - br-ex: - enabled: true - type: ovs_port - bridge: br-floating - proto: static - {%- if vlan_public and vlan_public != 'native' %} - ovs_options: tag={{ vlan_public }} - {%- endif %} - address: ${_param:external_address} - netmask: 255.255.255.0 - route: - public: - address: 0.0.0.0 - netmask: 0.0.0.0 - gateway: ${_param:opnfv_net_public_gw} - {{ nic_public }}: - enabled: true - proto: manual - ovs_port_type: OVSPort - type: ovs_port - ovs_bridge: br-floating - bridge: br-floating diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/openstack_proxy.yml b/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/openstack_proxy.yml deleted file mode 100644 index f83590ced..000000000 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/openstack_proxy.yml +++ /dev/null @@ -1,45 +0,0 @@ -############################################################################## -# Copyright (c) 2017 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.nginx.server.single - - system.nginx.server.proxy.openstack_api - - system.nginx.server.proxy.openstack_vnc - - system.nginx.server.proxy.openstack_web - - system.nginx.server.proxy.openstack.aodh - - system.nginx.server.proxy.openstack.ceilometer - - system.horizon.server.single - - system.salt.minion.cert.proxy - - system.sphinx.server.doc.reclass - - service.keepalived.cluster.single - - system.keepalived.cluster.instance.openstack_web_public_vip -parameters: - _param: - cluster_vip_address: ${_param:openstack_proxy_address} - keepalived_openstack_web_public_vip_address: ${_param:cluster_vip_address} - keepalived_openstack_web_public_vip_interface: ${_param:single_nic} - keepalived_vip_address: ${_param:openstack_proxy_control_address} - keepalived_vip_interface: ${_param:control_nic} - keepalived_vip_virtual_router_id: 240 - nginx_proxy_ssl: - enabled: true - authority: ${_param:salt_minion_ca_authority} - engine: salt - mode: secure - salt_minion_ca_host: cfg01.${_param:cluster_domain} - linux: - system: - package: - libapache2-mod-wsgi: - version: latest - salt: - minion: - cert: - proxy: - alternative_names: "IP:${_param:openstack_proxy_address}" - key_usage: 'digitalSignature, keyEncipherment' diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/openstack/compute.yml b/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/openstack/compute.yml deleted file mode 100644 index 473b3ff48..000000000 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/openstack/compute.yml +++ /dev/null @@ -1,31 +0,0 @@ -############################################################################## -# Copyright (c) 2017 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.baremetal-mcp-pike-common-ha.openstack_compute - - cluster.baremetal-mcp-pike-odl-ha.openstack.compute_pdf - - cluster.baremetal-mcp-pike-odl-ha.infra - - system.neutron.gateway.opendaylight.single -parameters: - _param: - neutron_agents: - - neutron-dhcp-agent - - neutron-metadata-agent - opendaylight: - client: - ovsdb_server_iface: ptcp:6639:127.0.0.1 - ovsdb_odl_iface: tcp:${_param:opendaylight_service_host}:6640 - tunnel_ip: ${_param:tenant_address} - provider_mappings: physnet1:br-floating - neutron: - gateway: - agent_mode: ${_param:neutron_gateway_agent_mode} - pkgs: ${_param:neutron_agents} - services: ${_param:neutron_agents} - backend: - router: ${_param:opendaylight_router} diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/openstack/compute_pdf.yml.j2 b/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/openstack/compute_pdf.yml.j2 deleted file mode 100644 index 52090cc0a..000000000 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/openstack/compute_pdf.yml.j2 +++ /dev/null @@ -1,83 +0,0 @@ -############################################################################## -# Copyright (c) 2017 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 -############################################################################## -{# NOTE: br-{mgmt,ctl} are cross-referenced, careful when changing names #} -{%- if conf.idf is defined and conf.idf.net_config is defined -%} - {#- NOTE: Currently, we assume all cluster nodes use the same mapping -#} - - {#- Determine interface index for each network (plumbing vars) -#} - {%- set idx_admin = conf['idf']['net_config']['admin']['interface'] -%} - {%- set idx_mgmt = conf['idf']['net_config']['mgmt']['interface'] -%} - {%- set idx_private = conf['idf']['net_config']['private']['interface'] -%} - {%- set idx_public = conf['idf']['net_config']['public']['interface'] -%} - - {#- Physical interface OS name for each network (e.g. em1, enp1s0f1) -#} - {%- set node = conf['idf']['fuel']['network']['node'][1] -%} - {%- set nic_admin = node['interfaces'][idx_admin] -%} - {%- set nic_mgmt = node['interfaces'][idx_mgmt] -%} - {%- set nic_private = node['interfaces'][idx_private] -%} - {%- set nic_public = node['interfaces'][idx_public] -%} - - {#- PCI addresses (only for DPDK on private) -#} - {%- set bus_private = node['busaddr'][idx_private] -%} - - {#- VLAN for each network (only untagged 'admin' is supported by MaaS config!) -#} - {%- set vlan_admin = conf['idf']['net_config']['admin']['vlan'] -%} - {%- set vlan_mgmt = conf['idf']['net_config']['mgmt']['vlan'] -%} - {%- set vlan_private = conf['idf']['net_config']['private']['vlan'] -%} - {%- set vlan_public = conf['idf']['net_config']['public']['vlan'] -%} -{%- else -%} - {%- set nic_admin = 'enp6s0' -%} - {%- set nic_mgmt = 'enp6s0' -%} - {%- set nic_private = None -%} - {%- set nic_public = None -%} - {%- set vlan_admin = 'native' -%} - {%- set vlan_mgmt = '300' -%} - {%- set vlan_private = '1000' -%} -{%- endif -%} - -{#- Filter-out NIC duplicates by constructing a dict (used NICs only) -#} -{%- set nics = { nic_private: True } -%} - -{%- set vlans = { vlan_private: nic_private } -%} ---- -parameters: - linux: - network: - interface: -{%- for nic in nics %} - {{ nic }}: - enabled: true - type: eth - {%- if nic == nic_admin %} - proto: dhcp - {%- else %} - proto: manual - {%- endif %} - name: {{ nic }} -{%- endfor %} - -{%- for vlan in vlans %} - {%- if vlan and vlan != 'native' %} - {{ vlans[vlan] }}.{{ vlan }}: - enabled: true - proto: manual - type: vlan - name: {{ vlans[vlan] }}.{{ vlan }} - use_interfaces: - - {{ vlans[vlan] }} - {%- endif %} -{%- endfor %} - - br-mesh: - enabled: true - type: bridge - address: ${_param:tenant_address} - netmask: 255.255.255.0 - mtu: 1500 - use_interfaces: - - {{ nic_private }}{% if vlan_private and vlan_private != 'native' %}.{{ vlan_private }}{% endif %} diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/openstack/telemetry.yml b/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/openstack/telemetry.yml deleted file mode 100644 index 83d1be89a..000000000 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/openstack/telemetry.yml +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################## -# Copyright (c) 2017 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.baremetal-mcp-pike-common-ha.openstack_interface_vcp_biport - - cluster.baremetal-mcp-pike-common-ha.openstack_telemetry - - cluster.baremetal-mcp-pike-odl-ha.infra diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-dpdk-ha/infra/config_pdf.yml.j2 b/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-dpdk-ha/infra/config_pdf.yml.j2 deleted file mode 100644 index 08e8ab717..000000000 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-dpdk-ha/infra/config_pdf.yml.j2 +++ /dev/null @@ -1,54 +0,0 @@ -############################################################################## -# Copyright (c) 2017 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 -############################################################################## -{# NOTE: br-{mgmt,ctl} are cross-referenced, careful when changing names #} -{%- if conf.idf is defined and conf.idf.net_config is defined -%} - {#- NOTE: Currently, we assume all cluster nodes use the same mapping -#} - - {#- Determine interface index for each network (plumbing vars) -#} - {%- set idx_admin = conf['idf']['net_config']['admin']['interface'] -%} - {%- set idx_mgmt = conf['idf']['net_config']['mgmt']['interface'] -%} - {%- set idx_private = conf['idf']['net_config']['private']['interface'] -%} - {%- set idx_public = conf['idf']['net_config']['public']['interface'] -%} - - {#- Physical interface OS name for each network (e.g. em1, enp1s0f1) -#} - {%- set node = conf['idf']['fuel']['network']['node'][0] -%} - {%- set nic_admin = node['interfaces'][idx_admin] -%} - {%- set nic_mgmt = node['interfaces'][idx_mgmt] -%} - {%- set nic_private = node['interfaces'][idx_private] -%} - {%- set nic_public = node['interfaces'][idx_public] -%} - - {#- PCI addresses (only for DPDK on private) -#} - {%- set bus_private = node['busaddr'][idx_private] -%} - - {#- VLAN for each network (only untagged 'admin' is supported by MaaS config!) -#} - {%- set vlan_admin = conf['idf']['net_config']['admin']['vlan'] -%} - {%- set vlan_mgmt = conf['idf']['net_config']['mgmt']['vlan'] -%} - {%- set vlan_private = conf['idf']['net_config']['private']['vlan'] -%} - {%- set vlan_public = conf['idf']['net_config']['public']['vlan'] -%} -{%- else -%} - {%- set nic_admin = 'enp6s0' -%} - {%- set nic_mgmt = 'enp6s0' -%} - {%- set nic_private = None -%} - {%- set nic_public = None -%} - {%- set vlan_admin = 'native' -%} - {%- set vlan_mgmt = '300' -%} - {%- set vlan_private = '1000' -%} -{%- endif -%} ---- -parameters: - reclass: - storage: - node: - openstack_compute_node01: - params: - dpdk0_name: {{ nic_private }} - dpdk0_pci: '"{{ bus_private }}"' - openstack_compute_node02: - params: - dpdk0_name: {{ nic_private }} - dpdk0_pci: '"{{ bus_private }}"' diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-dpdk-ha/openstack/compute.yml.j2 b/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-dpdk-ha/openstack/compute.yml.j2 deleted file mode 100644 index 76fa17946..000000000 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-dpdk-ha/openstack/compute.yml.j2 +++ /dev/null @@ -1,47 +0,0 @@ -############################################################################## -# Copyright (c) 2017 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 -############################################################################## -{%- if conf.idf is defined and conf.idf.net_config is defined -%} - {%- set vlan_private = conf['idf']['net_config']['private']['vlan'] -%} -{%- else -%} - {%- set vlan_private = '1000' -%} -{%- endif -%} ---- -classes: - - cluster.baremetal-mcp-pike-common-ha.openstack_compute - - cluster.baremetal-mcp-pike-ovs-dpdk-ha.infra - - system.neutron.compute.nfv.dpdk -parameters: - neutron: - gateway: - dpdk: 'True' - vhost_socket_dir: ${_param:compute_ovs_vhost_socket_dir} - backend: - tenant_vlan_range: ${_param:neutron_tenant_vlan_range} - nova: - compute: - libvirt_service: libvirtd - libvirt_bin: /etc/default/libvirtd - linux: - network: - interface: - dpdk0: - name: ${_param:dpdk0_name} - pci: ${_param:dpdk0_pci} - driver: igb_uio - enabled: true - bridge: br-prv - type: dpdk_ovs_port - n_rxq: 2 - br-prv: - enabled: true - type: dpdk_ovs_bridge - address: ${_param:tenant_address} - netmask: 255.255.255.0 - {%- if vlan_private and vlan_private != 'native' %} - tag: {{ vlan_private }} - {%- endif %} diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-dpdk-ha/openstack/database.yml b/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-dpdk-ha/openstack/database.yml deleted file mode 100644 index 86b4038c2..000000000 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-dpdk-ha/openstack/database.yml +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################## -# Copyright (c) 2017 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.baremetal-mcp-pike-common-ha.openstack_interface_vcp_biport - - cluster.baremetal-mcp-pike-common-ha.openstack_database - - cluster.baremetal-mcp-pike-ovs-dpdk-ha diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-dpdk-ha/openstack/init.yml b/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-dpdk-ha/openstack/init.yml deleted file mode 100644 index 49af851cc..000000000 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-dpdk-ha/openstack/init.yml +++ /dev/null @@ -1,24 +0,0 @@ -############################################################################## -# Copyright (c) 2017 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.baremetal-mcp-pike-common-ha.openstack_init -parameters: - _param: - neutron_tenant_network_types: "flat,vxlan" - neutron_tenant_vlan_range: "1000:1030" - nova_cpu_pinning: "5-7,13-15" - compute_hugepages_size: 2M - compute_hugepages_count: 8192 - compute_hugepages_mount: /mnt/hugepages_2M - compute_kernel_isolcpu: 2,3,5,6,7,10,11,13,14,15 - compute_dpdk_driver: uio - compute_ovs_pmd_cpu_mask: "0xc04" - compute_ovs_dpdk_socket_mem: "2048,2048" - compute_ovs_dpdk_lcore_mask: "0x8" - compute_ovs_memory_channels: "2" diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-dpdk-ha/openstack/proxy.yml b/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-dpdk-ha/openstack/proxy.yml deleted file mode 100644 index de960d976..000000000 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-dpdk-ha/openstack/proxy.yml +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################## -# Copyright (c) 2017 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.baremetal-mcp-pike-common-ha.openstack_interface_vcp_triport - - cluster.baremetal-mcp-pike-common-ha.openstack_proxy - - cluster.baremetal-mcp-pike-ovs-dpdk-ha.infra diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-dpdk-ha/openstack/telemetry.yml b/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-dpdk-ha/openstack/telemetry.yml deleted file mode 100644 index 680efa871..000000000 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-dpdk-ha/openstack/telemetry.yml +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################## -# Copyright (c) 2017 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.baremetal-mcp-pike-common-ha.openstack_interface_vcp_biport - - cluster.baremetal-mcp-pike-common-ha.openstack_telemetry - - cluster.baremetal-mcp-pike-ovs-dpdk-ha.infra diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-ha/infra/maas.yml b/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-ha/infra/maas.yml deleted file mode 100644 index 4bb3d74f7..000000000 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-ha/infra/maas.yml +++ /dev/null @@ -1,11 +0,0 @@ -############################################################################## -# Copyright (c) 2017 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.baremetal-mcp-pike-common-ha.infra.maas - - cluster.baremetal-mcp-pike-ovs-ha.infra diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-ha/openstack/compute_pdf.yml.j2 b/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-ha/openstack/compute_pdf.yml.j2 deleted file mode 100644 index 7b90c727a..000000000 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-ha/openstack/compute_pdf.yml.j2 +++ /dev/null @@ -1,83 +0,0 @@ -############################################################################## -# Copyright (c) 2017 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 -############################################################################## -{# NOTE: br-{mgmt,ctl} are cross-referenced, careful when changing names #} -{%- if conf.idf is defined and conf.idf.net_config is defined -%} - {#- NOTE: Currently, we assume all cluster nodes use the same mapping -#} - - {#- Determine interface index for each network (plumbing vars) -#} - {%- set idx_admin = conf['idf']['net_config']['admin']['interface'] -%} - {%- set idx_mgmt = conf['idf']['net_config']['mgmt']['interface'] -%} - {%- set idx_private = conf['idf']['net_config']['private']['interface'] -%} - {%- set idx_public = conf['idf']['net_config']['public']['interface'] -%} - - {#- Physical interface OS name for each network (e.g. em1, enp1s0f1) -#} - {%- set node = conf['idf']['fuel']['network']['node'][0] -%} - {%- set nic_admin = node['interfaces'][idx_admin] -%} - {%- set nic_mgmt = node['interfaces'][idx_mgmt] -%} - {%- set nic_private = node['interfaces'][idx_private] -%} - {%- set nic_public = node['interfaces'][idx_public] -%} - - {#- PCI addresses (only for DPDK on private) -#} - {%- set bus_private = node['busaddr'][idx_private] -%} - - {#- VLAN for each network (only untagged 'admin' is supported by MaaS config!) -#} - {%- set vlan_admin = conf['idf']['net_config']['admin']['vlan'] -%} - {%- set vlan_mgmt = conf['idf']['net_config']['mgmt']['vlan'] -%} - {%- set vlan_private = conf['idf']['net_config']['private']['vlan'] -%} - {%- set vlan_public = conf['idf']['net_config']['public']['vlan'] -%} -{%- else -%} - {%- set nic_admin = 'enp6s0' -%} - {%- set nic_mgmt = 'enp6s0' -%} - {%- set nic_private = None -%} - {%- set nic_public = None -%} - {%- set vlan_admin = 'native' -%} - {%- set vlan_mgmt = '300' -%} - {%- set vlan_private = '1000' -%} -{%- endif -%} - -{#- Filter-out NIC duplicates by constructing a dict (used NICs only) -#} -{%- set nics = { nic_private: True } -%} - -{%- set vlans = { vlan_private: nic_private } -%} ---- -parameters: - linux: - network: - interface: -{%- for nic in nics %} - {{ nic }}: - enabled: true - type: eth - {%- if nic == nic_admin %} - proto: dhcp - {%- else %} - proto: manual - {%- endif %} - name: {{ nic }} -{%- endfor %} - -{%- for vlan in vlans %} - {%- if vlan and vlan != 'native' %} - {{ vlans[vlan] }}.{{ vlan }}: - enabled: true - proto: manual - type: vlan - name: {{ vlans[vlan] }}.{{ vlan }} - use_interfaces: - - {{ vlans[vlan] }} - {%- endif %} -{%- endfor %} - - br-mesh: - enabled: true - type: bridge - address: ${_param:tenant_address} - netmask: 255.255.255.0 - mtu: 1500 - use_interfaces: - - {{ nic_private }}{% if vlan_private and vlan_private != 'native' %}.{{ vlan_private }}{% endif %} diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-ha/openstack/database.yml b/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-ha/openstack/database.yml deleted file mode 100644 index 85f5ebcab..000000000 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-ha/openstack/database.yml +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################## -# Copyright (c) 2017 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.baremetal-mcp-pike-common-ha.openstack_interface_vcp_biport - - cluster.baremetal-mcp-pike-common-ha.openstack_database - - cluster.baremetal-mcp-pike-ovs-ha diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-ha/openstack/init.yml b/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-ha/openstack/init.yml deleted file mode 100644 index f1c8b93a4..000000000 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-ha/openstack/init.yml +++ /dev/null @@ -1,18 +0,0 @@ -############################################################################## -# Copyright (c) 2017 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.baremetal-mcp-pike-common-ha.openstack_init -parameters: - _param: - neutron_tenant_network_types: "flat,vxlan" - nova_cpu_pinning: "1,2,3,4,5,7,8,9,10,11" - compute_hugepages_size: 1G - compute_hugepages_count: 16 - compute_hugepages_mount: /mnt/hugepages_1G - compute_kernel_isolcpu: ${_param:nova_cpu_pinning} diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-ha/openstack/proxy.yml b/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-ha/openstack/proxy.yml deleted file mode 100644 index 5c91f605f..000000000 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-ha/openstack/proxy.yml +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################## -# Copyright (c) 2017 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.baremetal-mcp-pike-common-ha.openstack_interface_vcp_triport - - cluster.baremetal-mcp-pike-common-ha.openstack_proxy - - cluster.baremetal-mcp-pike-ovs-ha.infra diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-ha/openstack/telemetry.yml b/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-ha/openstack/telemetry.yml deleted file mode 100644 index c6b111939..000000000 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-ha/openstack/telemetry.yml +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################## -# Copyright (c) 2017 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.baremetal-mcp-pike-common-ha.openstack_interface_vcp_biport - - cluster.baremetal-mcp-pike-common-ha.openstack_telemetry - - cluster.baremetal-mcp-pike-ovs-ha.infra diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/infra/lab_proxy_pdf.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-common-ha/include/lab_proxy_pdf.yml.j2 index 0e95d2d1d..0e95d2d1d 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/infra/lab_proxy_pdf.yml.j2 +++ b/mcp/reclass/classes/cluster/mcp-pike-common-ha/include/lab_proxy_pdf.yml.j2 diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/include/proxy.yml b/mcp/reclass/classes/cluster/mcp-pike-common-ha/include/maas_proxy.yml index 3c324db8b..11878ff2d 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/include/proxy.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-common-ha/include/maas_proxy.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/infra/config.yml b/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/config.yml index 4d7fa1eb1..bd75e7b72 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/infra/config.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/config.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -25,7 +25,7 @@ classes: # - system.reclass.storage.system.stacklight_monitor_cluster # - system.reclass.storage.system.stacklight_telemetry_cluster - system.reclass.storage.system.infra_maas_single - - cluster.baremetal-mcp-pike-common-ha.infra.lab_proxy_pdf + - cluster.mcp-pike-common-ha.include.lab_proxy_pdf parameters: _param: salt_master_base_environment: prd @@ -117,18 +117,22 @@ parameters: # - system.kibana.client.single openstack_control_node01: classes: - - cluster.baremetal-mcp-pike-common-ha.openstack_control_init + - cluster.mcp-pike-common-ha.openstack_control_init params: linux_system_codename: xenial + # NOTE: When VCP is present, external_address is not used + external_address: ${_param:openstack_proxy_node01_address} openstack_control_node02: params: linux_system_codename: xenial + external_address: 0.0.0.0 openstack_control_node03: params: linux_system_codename: xenial + external_address: ${_param:openstack_proxy_node02_address} openstack_database_node01: classes: - - cluster.baremetal-mcp-pike-common-ha.openstack_database_init + - cluster.mcp-pike-common-ha.openstack_database_init params: linux_system_codename: xenial openstack_database_node02: diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/infra/init.yml b/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/init.yml.j2 index 7d513e9bf..7f3839e82 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/infra/init.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/init.yml.j2 @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -9,11 +9,11 @@ classes: - system.linux.system.single - cluster.all-mcp-arch-common - # - cluster.baremetal-mcp-pike-common-ha.stacklight - # - cluster.baremetal-mcp-pike-common-ha.stacklight.client + # - cluster.mcp-pike-common-ha.stacklight + # - cluster.mcp-pike-common-ha.stacklight.client parameters: _param: - apt_mk_version: stable + apt_mk_version: nightly mcp_repo_version: 1.1 salt_version: 2016.11 cluster_domain: ${_param:cluster_name}.local @@ -31,9 +31,16 @@ parameters: infra_maas_node01_deploy_address: ${_param:opnfv_infra_maas_node01_deploy_address} infra_kvm_address: ${_param:opnfv_infra_kvm_address} +{%- if conf.MCP_VCP %} infra_kvm_node01_address: ${_param:opnfv_infra_kvm_node01_address} infra_kvm_node02_address: ${_param:opnfv_infra_kvm_node02_address} infra_kvm_node03_address: ${_param:opnfv_infra_kvm_node03_address} +{%- else %} + # For NOVCP, we override kvm addresses to overlap with ctl + infra_kvm_node01_address: ${_param:openstack_control_node01_address} + infra_kvm_node02_address: ${_param:openstack_control_node02_address} + infra_kvm_node03_address: ${_param:openstack_control_node03_address} +{%- endif %} infra_maas_node01_hostname: mas01 infra_kvm_node01_hostname: kvm01 diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/infra/kvm.yml b/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/kvm.yml index 1e6b3bd0d..df2304521 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/infra/kvm.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/kvm.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -21,8 +21,9 @@ classes: # - system.salt.control.cluster.stacklight_server_cluster # - system.salt.control.cluster.stacklight_log_cluster # - system.salt.control.cluster.stacklight_telemetry_cluster - - cluster.baremetal-mcp-pike-common-ha.infra.kvm_pdf - - cluster.baremetal-mcp-pike-common-ha.include.proxy + - cluster.mcp-pike-common-ha.infra.kvm_pdf + - cluster.mcp-pike-common-ha.include.maas_proxy + - cluster.mcp-pike-common-ha.include.lab_proxy_pdf parameters: _param: linux_system_codename: xenial @@ -34,9 +35,6 @@ parameters: keepalived_vip_interface: br-ctl keepalived_vip_virtual_router_id: 69 linux: - network: - remove_iface_files: - - '/etc/network/interfaces.d/50-cloud-init.cfg' system: kernel: boot_options: diff --git a/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/kvm_pdf.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/kvm_pdf.yml.j2 new file mode 100644 index 000000000..97166c62c --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/kvm_pdf.yml.j2 @@ -0,0 +1,66 @@ +############################################################################## +# 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 +############################################################################## +{#- NOTE: br-{mgmt,ctl} are cross-referenced, careful when changing names #} +{%- import 'net_map.j2' as nm with context %} +{#- Filter-out NIC duplicates by constructing a dict (used NICs only) #} +{%- set nics = { nm.ctl01.nic_admin: True, nm.ctl01.nic_mgmt: True, nm.ctl01.nic_public: True } %} +{%- set vlans = { nm.vlan_admin: nm.ctl01.nic_admin, nm.vlan_mgmt: nm.ctl01.nic_mgmt, nm.vlan_public: nm.ctl01.nic_public } %} +--- +parameters: + linux: + network: + interface: +{%- for nic in nics %} + {{ nic }}: + enabled: true + type: eth + proto: manual + address: 0.0.0.0 + netmask: 255.255.255.0 + name: {{ nic }} + noifupdown: true +{%- endfor %} + +{%- for vlan in vlans %} + {%- if vlan | int > 0 %} + {{ vlans[vlan] }}.{{ vlan }}: + enabled: true + proto: manual + type: vlan + name: {{ vlans[vlan] }}.{{ vlan }} + use_interfaces: + - {{ vlans[vlan] }} + noifupdown: true + {%- endif %} +{%- endfor %} + + br-mgmt: + enabled: true + proto: dhcp + type: bridge + use_interfaces: + - {{ nm.ctl01.nic_admin }}{% if nm.vlan_admin | int > 0 %}.{{ nm.vlan_admin }}{% endif %} + noifupdown: true + br-ctl: + enabled: true + type: bridge + proto: static + address: ${_param:single_address} + netmask: 255.255.255.0 + use_interfaces: + - {{ nm.ctl01.nic_mgmt }}{% if nm.vlan_mgmt | int > 0 %}.{{ nm.vlan_mgmt }}{% endif %} + noifupdown: true + br-ex: + enabled: true + proto: manual + address: 0.0.0.0 + netmask: ${_param:opnfv_net_public_mask} + type: bridge + use_interfaces: + - {{ nm.ctl01.nic_public }}{% if nm.vlan_public | int > 0 %}.{{ nm.vlan_public }}{% endif %} + noifupdown: true diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/infra/maas.yml b/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/maas.yml index da28abf06..e83de35cd 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/infra/maas.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/maas.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -9,7 +9,8 @@ classes: - system.maas.region.single - service.maas.cluster.single - - cluster.baremetal-mcp-pike-common-ha.infra.lab_proxy_pdf + - cluster.mcp-pike-common-ha.include.lab_proxy_pdf + - cluster.mcp-pike-common-ha.infra.maas_pdf parameters: _param: dhcp_interface: ${_param:opnfv_fn_vm_primary_interface} @@ -24,7 +25,7 @@ parameters: maas_db_password: opnfv_secret dns_server01: ${_param:opnfv_dns_server01} single_address: ${_param:infra_maas_node01_deploy_address} - hwe_kernel: 'ga-16.04' + hwe_kernel: 'hwe-16.04' maas: region: salt_master_ip: ${_param:reclass_config_master} @@ -54,62 +55,6 @@ parameters: vid: 0 dhcp_on: true primary_rack: ${_param:infra_maas_node01_hostname} - machines: - kvm01: - interface: - mac: ${_param:opnfv_maas_node01_interface_mac} - power_parameters: - power_address: ${_param:opnfv_maas_node01_power_address} - power_password: ${_param:opnfv_maas_node01_power_password} - power_type: ${_param:opnfv_maas_node01_power_type} - power_user: ${_param:opnfv_maas_node01_power_user} - architecture: ${_param:opnfv_maas_node01_architecture} - distro_series: xenial - hwe_kernel: ${_param:hwe_kernel} - kvm02: - interface: - mac: ${_param:opnfv_maas_node02_interface_mac} - power_parameters: - power_address: ${_param:opnfv_maas_node02_power_address} - power_password: ${_param:opnfv_maas_node02_power_password} - power_type: ${_param:opnfv_maas_node02_power_type} - power_user: ${_param:opnfv_maas_node02_power_user} - architecture: ${_param:opnfv_maas_node02_architecture} - distro_series: xenial - hwe_kernel: ${_param:hwe_kernel} - kvm03: - interface: - mac: ${_param:opnfv_maas_node03_interface_mac} - power_parameters: - power_address: ${_param:opnfv_maas_node03_power_address} - power_password: ${_param:opnfv_maas_node03_power_password} - power_type: ${_param:opnfv_maas_node03_power_type} - power_user: ${_param:opnfv_maas_node03_power_user} - architecture: ${_param:opnfv_maas_node03_architecture} - distro_series: xenial - hwe_kernel: ${_param:hwe_kernel} - cmp001: - interface: - mac: ${_param:opnfv_maas_node04_interface_mac} - power_parameters: - power_address: ${_param:opnfv_maas_node04_power_address} - power_password: ${_param:opnfv_maas_node04_power_password} - power_type: ${_param:opnfv_maas_node04_power_type} - power_user: ${_param:opnfv_maas_node04_power_user} - architecture: ${_param:opnfv_maas_node04_architecture} - distro_series: xenial - hwe_kernel: ${_param:hwe_kernel} - cmp002: - interface: - mac: ${_param:opnfv_maas_node05_interface_mac} - power_parameters: - power_address: ${_param:opnfv_maas_node05_power_address} - power_password: ${_param:opnfv_maas_node05_power_password} - power_type: ${_param:opnfv_maas_node05_power_type} - power_user: ${_param:opnfv_maas_node05_power_user} - architecture: ${_param:opnfv_maas_node05_architecture} - distro_series: xenial - hwe_kernel: ${_param:hwe_kernel} cluster: saltstack_repo_xenial: "http://repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.11/ xenial main" linux: diff --git a/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/maas_pdf.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/maas_pdf.yml.j2 new file mode 100644 index 000000000..cff6d9b30 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/maas_pdf.yml.j2 @@ -0,0 +1,32 @@ +############################################################################## +# 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 +############################################################################## +--- +parameters: + maas: + region: + sshprefs: + - '{{ conf.MAAS_SSH_KEY }}' + machines: + {%- set pxe_interface = conf.idf.net_config.admin.interface %} + {#- We only support exactly 5 nodes for now, hardcoded order #} + {%- set node_roles = ['kvm01', 'kvm02', 'kvm03', 'cmp001', 'cmp002'] %} + {%- for node in conf.nodes %} + {%- if node.node.type == 'baremetal' %} + {{ node_roles[loop.index0] }}: + interface: + mac: {{ node.interfaces[pxe_interface].mac_address }} + power_parameters: + power_address: {{ node.remote_management.address.rsplit('/')[0] }} + power_password: {{ node.remote_management.pass }} + power_type: {{ node.remote_management.type }} + power_user: {{ node.remote_management.user }} + architecture: {{ node.node.arch | dpkg_arch }}/generic + distro_series: xenial + hwe_kernel: ${_param:hwe_kernel} + {%- endif %} + {%- endfor %} diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/openstack_compute.yml b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_compute.yml index a0cdd98c8..24acbacf1 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/openstack_compute.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_compute.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -7,18 +7,18 @@ ############################################################################## --- classes: + - system.linux.system.repo.mcp.openstack - system.linux.system.repo.glusterfs - - system.linux.storage.loopback - system.glusterfs.client.cluster - system.nova.compute.cluster - system.nova.compute.nfv.hugepages - - system.nova.compute.nfv.cpu_pinning - system.neutron.gateway.cluster - system.cinder.volume.single - system.cinder.volume.backend.lvm - system.ceilometer.agent.cluster - - cluster.baremetal-mcp-pike-common-ha.openstack_compute_pdf - - cluster.baremetal-mcp-pike-common-ha.include.proxy + - cluster.mcp-pike-common-ha.openstack_compute_pdf + - cluster.mcp-pike-common-ha.include.maas_proxy + - cluster.mcp-pike-common-ha.include.lab_proxy_pdf parameters: _param: cluster_vip_address: ${_param:openstack_control_address} @@ -33,7 +33,6 @@ parameters: interface_mtu: 1500 keepalived_vip_interface: br-ctl keepalived_vip_virtual_router_id: 69 - loopback_device_size: 20 linux_system_codename: xenial glusterfs_version: '3.13' glusterfs: @@ -44,10 +43,18 @@ parameters: server: ${_param:glusterfs_service_host} # yamllint disable-line rule:line-length opts: "defaults,backup-volfile-servers=${_param:cluster_node01_address}:${_param:cluster_node02_address}:${_param:cluster_node03_address}" + cinder: + volume: + backend: + lvm-driver: + # Align system.cinder.volume.backend.lvm and MaaS data + volume_group: ${linux:storage:lvm:cinder-vg:name} linux: - network: - remove_iface_files: - - '/etc/network/interfaces.d/50-cloud-init.cfg' + storage: + lvm: + # Align with both system.cinder.volume.backend.lvm and MaaS data + cinder-vg: + name: vgroot system: kernel: sysctl: @@ -59,3 +66,7 @@ parameters: neutron: gateway: vlan_aware_vms: true + root_helper_daemon: false + nova: + compute: + disk_cachemodes: file=directsync,block=none diff --git a/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_compute_pdf.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_compute_pdf.yml.j2 new file mode 100644 index 000000000..fd51f5fea --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_compute_pdf.yml.j2 @@ -0,0 +1,93 @@ +############################################################################## +# 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 +############################################################################## +{#- NOTE: br-{mgmt,ctl} are cross-referenced, careful when changing names #} +{%- import 'net_map.j2' as nm with context %} +{#- Filter-out NIC duplicates by constructing a dict (used NICs only) #} +{%- set nics = { nm.cmp001.nic_admin: True, nm.cmp001.nic_mgmt: True } %} +{%- set vlans = { nm.vlan_admin: nm.cmp001.nic_admin, nm.vlan_mgmt: nm.cmp001.nic_mgmt } %} +--- +parameters: + _param: + # Should later be determined via PDF/IDF, AArch64 has ESP on /dev/sda1 +{%- if conf.nodes[nm.cmp001.idx].node.type == 'virtual' %} + ~cinder_lvm_devices: ['/dev/vdb'] +{%- elif conf.nodes[nm.cmp001.idx].node.arch == 'aarch64' or + conf.nodes[nm.cmp001.idx].disks.0.disk_capacity | storage_size_num | float > 2000000000000 %} + ~cinder_lvm_devices: ['/dev/sda2'] +{%- else %} + ~cinder_lvm_devices: ['/dev/sda1'] +{%- endif %} + linux: + network: + bridge: openvswitch + interface: +{%- for nic in nics %} + {%- if nic == nm.cmp001.nic_admin %} + {{ nic }}: + enabled: true + type: eth + proto: dhcp + name: {{ nic }} + {%- else %} + {{ nic }}: + enabled: true + type: eth + proto: manual + address: 0.0.0.0 + {%- if nic == nm.cmp001.nic_public %} + netmask: ${_param:opnfv_net_public_mask} + {%- else %} + netmask: 255.255.255.0 + {%- endif %} + mtu: ${_param:interface_mtu} + name: {{ nic }} + {%- endif %} +{%- endfor %} + +{%- for vlan in vlans %} + {%- if vlan | int > 0 %} + {{ vlans[vlan] }}.{{ vlan }}: + enabled: true + proto: manual + type: vlan + name: {{ vlans[vlan] }}.{{ vlan }} + use_interfaces: + - {{ vlans[vlan] }} + {%- endif %} +{%- endfor %} + + br-ctl: + enabled: true + type: bridge + proto: static + address: ${_param:single_address} + netmask: 255.255.255.0 + use_interfaces: + - {{ nm.cmp001.nic_mgmt }}{% if nm.vlan_mgmt | int > 0 %}.{{ nm.vlan_mgmt }}{% endif %} + br-floating: + enabled: true + type: ovs_bridge + mtu: ${_param:interface_mtu} + proto: static + address: ${_param:external_address} + netmask: ${_param:opnfv_net_public_mask} + use_interfaces: + - {{ nm.cmp001.nic_public }}{% if nm.vlan_public | int > 0 %}.{{ nm.vlan_public }}{% endif %} + route: + public: + address: 0.0.0.0 + netmask: 0.0.0.0 + gateway: ${_param:opnfv_net_public_gw} + ovs_port_{{ nm.cmp001.nic_public }}: + enabled: true + name: {{ nm.cmp001.nic_public }}{% if nm.vlan_public | int > 0 %}.{{ nm.vlan_public }}{% endif %} + proto: manual + ovs_port_type: OVSPort + type: ovs_port + ovs_bridge: br-floating + bridge: br-floating diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/openstack_control.yml b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_control.yml.j2 index cf09a4123..6f7b33e3d 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/openstack_control.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_control.yml.j2 @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -25,8 +25,36 @@ classes: - system.glusterfs.client.cluster - system.glusterfs.client.volume.glance - system.glusterfs.client.volume.keystone +{%- if not conf.MCP_VCP %} + # sync from kvm + - service.keepalived.cluster.single + - system.glusterfs.server.volume.glance + - system.glusterfs.server.volume.keystone + - system.glusterfs.server.cluster + # NOTE(armband): Disabled for novcp + # - system.salt.control.virt + # - system.salt.control.cluster.openstack_control_cluster + # - system.salt.control.cluster.openstack_proxy_cluster + # - system.salt.control.cluster.openstack_database_cluster + # - system.salt.control.cluster.openstack_message_queue_cluster + # - system.salt.control.cluster.openstack_telemetry_cluster + # - system.salt.control.cluster.stacklight_server_cluster + # - system.salt.control.cluster.stacklight_log_cluster + # - system.salt.control.cluster.stacklight_telemetry_cluster + - cluster.mcp-pike-common-ha.infra.kvm_pdf + - cluster.mcp-pike-common-ha.include.maas_proxy + - cluster.mcp-pike-common-ha.include.lab_proxy_pdf +{%- endif %} parameters: _param: +{%- if not conf.MCP_VCP %} + linux_system_codename: xenial # sync from kvm + # For NOVCP, we switch keepalived VIPs, to keep cluster_vip_address in ctl + single_nic: br-ctl # for keepalive_vip_interface interpolation + control_nic: ~ # Dummy value to keep reclass 1.5.2 happy + keepalived_openstack_web_public_vip_address: ${_param:openstack_proxy_address} + keepalived_openstack_web_public_vip_interface: br-ex +{%- endif %} keepalived_vip_interface: ${_param:single_nic} keepalived_vip_virtual_router_id: 50 cluster_vip_address: ${_param:openstack_control_address} @@ -39,6 +67,7 @@ parameters: cluster_node03_address: ${_param:openstack_control_node03_address} nova_vncproxy_url: https://${_param:cluster_public_host}:6080 glusterfs_version: '3.13' +{%- if conf.MCP_VCP %} heat: server: metadata: @@ -62,12 +91,55 @@ parameters: - nova-novncproxy - nova-scheduler - python-novaclient +{%- else %} + libvirt: + server: + service: libvirtd + config_sys: /etc/default/libvirtd + unix_sock_group: libvirt + linux: + network: + # Add public IPs here as overrides, no need to fork another kvm_pdf.j2 + interface: + br-ex: + address: ${_param:external_address} + proto: static + apache: + server: + bind: + ~ports: ~ + ~modules: + - rewrite + - wsgi + # sync from common-ha kvm role + glusterfs: + server: + service: glusterd + volumes: + nova_instances: + storage: /srv/glusterfs/nova_instances + replica: 3 + bricks: + - ${_param:cluster_node01_address}:/srv/glusterfs/nova_instances + - ${_param:cluster_node02_address}:/srv/glusterfs/nova_instances + - ${_param:cluster_node03_address}:/srv/glusterfs/nova_instances + options: + cluster.readdir-optimize: 'True' + nfs.disable: 'True' + network.remote-dio: 'True' + cluster.favorite-child-policy: mtime + diagnostics.client-log-level: WARNING + diagnostics.brick-log-level: WARNING +{%- endif %} neutron: server: vlan_aware_vms: true + root_helper_daemon: false keystone: server: cacert: /etc/ssl/certs/mcp_os_cacert + openrc_extra: + volume_device_name: vdc bind: server: control: diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/openstack_control_init.yml b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_control_init.yml index deb4cd7e9..7c1fac5f9 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/openstack_control_init.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_control_init.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/openstack_database.yml b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_database.yml index 17c4e1cf6..221c84f6c 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/openstack_database.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_database.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/openstack_database_init.yml b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_database_init.yml index 731fe6ed6..b7d09cfff 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/openstack_database_init.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_database_init.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/openstack_init.yml b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_init.yml.j2 index 8f4edefea..f6533855b 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/openstack_init.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_init.yml.j2 @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -12,35 +12,56 @@ parameters: openstack_version: pike # openstack service addresses +{%- if conf.MCP_VCP %} openstack_proxy_control_address: ${_param:opnfv_openstack_proxy_control_address} openstack_proxy_node01_control_address: ${_param:opnfv_openstack_proxy_node01_control_address} openstack_proxy_node02_control_address: ${_param:opnfv_openstack_proxy_node02_control_address} +{%- else %} + openstack_proxy_control_address: ${_param:opnfv_openstack_control_address} + openstack_proxy_node01_control_address: ${_param:opnfv_openstack_control_node01_address} + openstack_proxy_node02_control_address: ${_param:opnfv_openstack_control_node03_address} +{%- endif %} + openstack_proxy_address: ${_param:opnfv_openstack_proxy_address} openstack_proxy_node01_address: ${_param:opnfv_openstack_proxy_node01_address} openstack_proxy_node02_address: ${_param:opnfv_openstack_proxy_node02_address} + openstack_control_address: ${_param:opnfv_openstack_control_address} openstack_control_node01_address: ${_param:opnfv_openstack_control_node01_address} openstack_control_node02_address: ${_param:opnfv_openstack_control_node02_address} openstack_control_node03_address: ${_param:opnfv_openstack_control_node03_address} + +{%- if conf.MCP_VCP %} openstack_database_address: ${_param:opnfv_openstack_database_address} openstack_database_node01_address: ${_param:opnfv_openstack_database_node01_address} openstack_database_node02_address: ${_param:opnfv_openstack_database_node02_address} openstack_database_node03_address: ${_param:opnfv_openstack_database_node03_address} + openstack_message_queue_address: ${_param:opnfv_openstack_message_queue_address} openstack_message_queue_node01_address: ${_param:opnfv_openstack_message_queue_node01_address} openstack_message_queue_node02_address: ${_param:opnfv_openstack_message_queue_node02_address} openstack_message_queue_node03_address: ${_param:opnfv_openstack_message_queue_node03_address} - - openstack_telemetry_hostname: mdb - openstack_telemetry_node01_hostname: mdb01 - openstack_telemetry_node02_hostname: mdb02 - openstack_telemetry_node03_hostname: mdb03 - openstack_telemetry_address: ${_param:opnfv_openstack_telemetry_address} openstack_telemetry_node01_address: ${_param:opnfv_openstack_telemetry_node01_address} openstack_telemetry_node02_address: ${_param:opnfv_openstack_telemetry_node02_address} openstack_telemetry_node03_address: ${_param:opnfv_openstack_telemetry_node03_address} +{%- else %} + openstack_database_address: ${_param:openstack_control_address} + openstack_database_node01_address: ${_param:openstack_control_node01_address} + openstack_database_node02_address: ${_param:openstack_control_node02_address} + openstack_database_node03_address: ${_param:openstack_control_node03_address} + + openstack_message_queue_address: ${_param:openstack_control_address} + openstack_message_queue_node01_address: ${_param:openstack_control_node01_address} + openstack_message_queue_node02_address: ${_param:openstack_control_node02_address} + openstack_message_queue_node03_address: ${_param:openstack_control_node03_address} + + openstack_telemetry_address: ${_param:openstack_control_address} + openstack_telemetry_node01_address: ${_param:openstack_control_node01_address} + openstack_telemetry_node02_address: ${_param:openstack_control_node02_address} + openstack_telemetry_node03_address: ${_param:openstack_control_node03_address} +{%- endif %} # OpenStack Compute openstack_compute_node01_single_address: ${_param:opnfv_openstack_compute_node01_single_address} @@ -56,6 +77,7 @@ parameters: openstack_compute_node02_external_address: ${_param:opnfv_openstack_compute_node02_external_address} # openstack service hostnames +{%- if conf.MCP_VCP %} openstack_proxy_hostname: prx openstack_proxy_node01_hostname: prx01 openstack_proxy_node02_hostname: prx02 @@ -71,16 +93,50 @@ parameters: openstack_message_queue_node01_hostname: msg01 openstack_message_queue_node02_hostname: msg02 openstack_message_queue_node03_hostname: msg03 + openstack_telemetry_hostname: mdb + openstack_telemetry_node01_hostname: mdb01 + openstack_telemetry_node02_hostname: mdb02 + openstack_telemetry_node03_hostname: mdb03 +{%- else %} + openstack_proxy_hostname: ${_param:openstack_control_hostname} + openstack_proxy_node01_hostname: ${_param:openstack_control_node01_hostname} + openstack_proxy_node02_hostname: ${_param:openstack_control_node03_hostname} + openstack_control_hostname: kvm + openstack_control_node01_hostname: kvm01 + openstack_control_node02_hostname: kvm02 + openstack_control_node03_hostname: kvm03 + openstack_database_hostname: ${_param:openstack_control_hostname} + openstack_database_node01_hostname: ${_param:openstack_control_node01_hostname} + openstack_database_node02_hostname: ${_param:openstack_control_node02_hostname} + openstack_database_node03_hostname: ${_param:openstack_control_node03_hostname} + openstack_message_queue_hostname: ${_param:openstack_control_hostname} + openstack_message_queue_node01_hostname: ${_param:openstack_control_node01_hostname} + openstack_message_queue_node02_hostname: ${_param:openstack_control_node02_hostname} + openstack_message_queue_node03_hostname: ${_param:openstack_control_node03_hostname} + openstack_telemetry_hostname: ${_param:openstack_control_hostname} + openstack_telemetry_node01_hostname: ${_param:openstack_control_node01_hostname} + openstack_telemetry_node02_hostname: ${_param:openstack_control_node02_hostname} + openstack_telemetry_node03_hostname: ${_param:openstack_control_node03_hostname} +{%- endif %} # openstack compute openstack_compute_node01_hostname: cmp001 openstack_compute_node02_hostname: cmp002 + # opendaylight options +{%- if conf.MCP_VCP %} + opendaylight_server_node01_hostname: odl01 + opendaylight_server_node01_single_address: ${_param:opnfv_opendaylight_server_node01_single_address} +{%- else %} + opendaylight_control_hostname: ${_param:openstack_control_node02_hostname} + opendaylight_server_node01_hostname: ${_param:opendaylight_control_hostname} + opendaylight_server_node01_single_address: ${_param:opnfv_openstack_control_node02_address} +{%- endif %} + openstack_region: RegionOne admin_email: root@localhost # Neutron osv/nodvr neutron_control_dvr: 'False' - neutron_l3_ha: 'True' neutron_global_physnet_mtu: 1500 neutron_external_mtu: 1500 neutron_gateway_dvr: 'False' @@ -110,7 +166,11 @@ parameters: nova_service_host: ${_param:openstack_control_address} neutron_version: ${_param:openstack_version} neutron_service_host: ${_param:openstack_control_address} +{%- if conf.MCP_VCP %} glusterfs_service_host: ${_param:infra_kvm_address} +{%- else %} + glusterfs_service_host: ${_param:openstack_control_address} +{%- endif %} mysql_admin_user: root mysql_admin_password: opnfv_secret mysql_cinder_password: opnfv_secret @@ -188,9 +248,12 @@ parameters: linux: system: repo: + uca-staging: + source: "deb http://ppa.launchpad.net/ubuntu-cloud-archive/${_param:openstack_version}-staging/ubuntu xenial main" + key_id: 9F68104E + key_server: keyserver.ubuntu.com uca: source: "deb http://ubuntu-cloud.archive.canonical.com/ubuntu xenial-updates/${_param:openstack_version} main" - architectures: amd64 key_id: EC4926EA key_server: keyserver.ubuntu.com kernel: @@ -200,6 +263,7 @@ parameters: net.ipv4.tcp_fin_timeout: 30 network: host: +{%- if conf.MCP_VCP %} prx: address: ${_param:openstack_proxy_control_address} names: @@ -295,6 +359,28 @@ parameters: names: - ${_param:openstack_telemetry_node03_hostname} - ${_param:openstack_telemetry_node03_hostname}.${_param:cluster_domain} +{%- else %} + kvm: + address: ${_param:openstack_control_address} + names: + - ${_param:openstack_control_hostname} + - ${_param:openstack_control_hostname}.${_param:cluster_domain} + kvm01: + address: ${_param:openstack_control_node01_address} + names: + - ${_param:openstack_control_node01_hostname} + - ${_param:openstack_control_node01_hostname}.${_param:cluster_domain} + kvm02: + address: ${_param:openstack_control_node02_address} + names: + - ${_param:openstack_control_node02_hostname} + - ${_param:openstack_control_node02_hostname}.${_param:cluster_domain} + kvm03: + address: ${_param:openstack_control_node03_address} + names: + - ${_param:openstack_control_node03_hostname} + - ${_param:openstack_control_node03_hostname}.${_param:cluster_domain} +{%- endif %} cmp001: address: ${_param:openstack_compute_node01_control_address} names: diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/openstack_interface_vcp_biport.yml b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_interface_vcp_biport.yml.j2 index f0fabbafa..cc92e5df9 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/openstack_interface_vcp_biport.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_interface_vcp_biport.yml.j2 @@ -1,13 +1,15 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 ############################################################################## --- +{%- if conf.MCP_VCP %} classes: - - cluster.baremetal-mcp-pike-common-ha.include.proxy + - cluster.mcp-pike-common-ha.include.maas_proxy + - cluster.mcp-pike-common-ha.include.lab_proxy_pdf parameters: _param: dhcp_nic: ${_param:opnfv_vcp_vm_primary_interface} @@ -27,3 +29,4 @@ parameters: name: ${_param:single_nic} address: ${_param:single_address} netmask: ${_param:opnfv_net_public_mask} +{%- endif %} diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/openstack_interface_vcp_triport.yml b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_interface_vcp_triport.yml.j2 index 47f2f76f4..7fef8ae9f 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/openstack_interface_vcp_triport.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_interface_vcp_triport.yml.j2 @@ -1,13 +1,15 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 ############################################################################## --- +{%- if conf.MCP_VCP %} classes: - - cluster.baremetal-mcp-pike-common-ha.include.proxy + - cluster.mcp-pike-common-ha.include.maas_proxy + - cluster.mcp-pike-common-ha.include.lab_proxy_pdf parameters: _param: dhcp_nic: ${_param:opnfv_vcp_vm_primary_interface} @@ -40,3 +42,4 @@ parameters: name: ${_param:control_nic} address: ${_param:control_address} netmask: 255.255.255.0 +{%- endif %} diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/openstack_message_queue.yml b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_message_queue.yml index 13f8e5a13..be6c5a311 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/openstack_message_queue.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_message_queue.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 diff --git a/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_proxy.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_proxy.yml.j2 new file mode 100644 index 000000000..26943b7b6 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_proxy.yml.j2 @@ -0,0 +1,98 @@ +############################################################################## +# 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.nginx.server.single + - system.nginx.server.proxy.openstack_api + - system.nginx.server.proxy.openstack_vnc + - system.nginx.server.proxy.openstack_web + - system.nginx.server.proxy.openstack.aodh + - system.nginx.server.proxy.openstack.ceilometer + - system.horizon.server.single + - system.salt.minion.cert.proxy + - system.sphinx.server.doc.reclass + - service.keepalived.cluster.single + - system.keepalived.cluster.instance.openstack_web_public_vip +parameters: + _param: + cluster_vip_address: ${_param:openstack_proxy_address} + keepalived_openstack_web_public_vip_address: ${_param:cluster_vip_address} + keepalived_openstack_web_public_vip_interface: ${_param:single_nic} + keepalived_vip_address: ${_param:openstack_proxy_control_address} + keepalived_vip_interface: ${_param:control_nic} + keepalived_vip_virtual_router_id: 240 + nginx_proxy_ssl: + enabled: true + authority: ${_param:salt_minion_ca_authority} + engine: salt + mode: secure + salt_minion_ca_host: cfg01.${_param:cluster_domain} + linux: + system: + package: + libapache2-mod-wsgi: + version: latest +{%- if not conf.MCP_VCP %} + # Set up routes similar to prx*ovs-ha + network: + interface: + br-ex: + route: + public: + address: 0.0.0.0 + netmask: 0.0.0.0 + gateway: ${_param:opnfv_net_public_gw} + nginx: + server: + # NOTE(armband): Define host.address for all proxies for uniformity + site: + nginx_proxy_novnc: &nginx_openstack_proxy_address + host: + address: ${_param:openstack_proxy_address} + nginx_proxy_openstack_api_aodh: + <<: *nginx_openstack_proxy_address + nginx_proxy_openstack_api_ceilometer: + <<: *nginx_openstack_proxy_address + nginx_proxy_openstack_api_cinder: + <<: *nginx_openstack_proxy_address + nginx_proxy_openstack_api_glance: + <<: *nginx_openstack_proxy_address + nginx_proxy_openstack_api_heat: + <<: *nginx_openstack_proxy_address + nginx_proxy_openstack_api_heat_cfn: + <<: *nginx_openstack_proxy_address + nginx_proxy_openstack_api_heat_cloudwatch: + <<: *nginx_openstack_proxy_address + nginx_proxy_openstack_api_keystone: + <<: *nginx_openstack_proxy_address + nginx_proxy_openstack_api_keystone_private: + <<: *nginx_openstack_proxy_address + nginx_proxy_openstack_api_neutron: + <<: *nginx_openstack_proxy_address + nginx_proxy_openstack_api_nova: + <<: *nginx_openstack_proxy_address + nginx_proxy_openstack_api_nova_ec2: + <<: *nginx_openstack_proxy_address + nginx_proxy_openstack_web: + <<: *nginx_openstack_proxy_address + nginx_ssl_redirect_openstack_web: + <<: *nginx_openstack_proxy_address + nginx_static_reclass_doc: + <<: *nginx_openstack_proxy_address +{%- endif %} + salt: + minion: + cert: + proxy: + alternative_names: "IP:${_param:openstack_proxy_address}" + key_usage: 'digitalSignature, keyEncipherment' + keepalived: + cluster: + vrrp_scripts: + check_pidof: + args: 'nginx' diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/openstack_telemetry.yml b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_telemetry.yml index 94c0ce468..a42189a80 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/openstack_telemetry.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_telemetry.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 diff --git a/mcp/reclass/classes/cluster/virtual-mcp-pike-common-noha/haproxy_openstack_api.yml b/mcp/reclass/classes/cluster/mcp-pike-common-noha/haproxy_openstack_api.yml index 649b75c8c..21653d7cb 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-pike-common-noha/haproxy_openstack_api.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-common-noha/haproxy_openstack_api.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 diff --git a/mcp/reclass/classes/cluster/virtual-mcp-pike-common-noha/infra/config.yml b/mcp/reclass/classes/cluster/mcp-pike-common-noha/infra/config.yml index 7e3a49491..8a620fa83 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-pike-common-noha/infra/config.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-common-noha/infra/config.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -21,10 +21,10 @@ parameters: _param: openstack_control_node01_hostname: ctl01 reclass_data_repository: local - reclass_config_master: ${_param:opnfv_salt_master_ip} + reclass_config_master: ${_param:opnfv_infra_config_pxe_address} salt_master_environment_repository: "https://github.com/tcpcloud" salt_master_environment_revision: master - single_address: 172.16.10.100 + single_address: ${_param:opnfv_infra_config_address} salt_master_host: 127.0.0.1 salt_master_base_environment: prd salt_minion_ca_host: ${linux:network:fqdn} @@ -33,6 +33,11 @@ parameters: linux: network: interface: + dhcp: + enabled: true + type: eth + proto: dhcp + name: ${_param:opnfv_fn_vm_primary_interface} single_int: enabled: true name: ${_param:opnfv_fn_vm_secondary_interface} @@ -40,6 +45,13 @@ parameters: proto: static address: ${_param:single_address} netmask: 255.255.255.0 + pxe: + enabled: true + type: eth + proto: static + name: ${_param:opnfv_fn_vm_tertiary_interface} + address: ${_param:opnfv_infra_config_pxe_address} + netmask: 255.255.255.0 salt: master: file_recv: true @@ -59,11 +71,11 @@ parameters: single_address: ${_param:openstack_control_node01_address} openstack_compute_node01: params: - single_address: 172.16.10.105 - tenant_address: 10.1.0.105 - external_address: 10.16.0.105 + single_address: ${_param:opnfv_openstack_compute_node01_control_address} + tenant_address: ${_param:opnfv_openstack_compute_node01_tenant_address} + external_address: ${_param:opnfv_openstack_compute_node01_external_address} openstack_compute_node02: params: - single_address: 172.16.10.106 - tenant_address: 10.1.0.106 - external_address: 10.16.0.106 + single_address: ${_param:opnfv_openstack_compute_node02_control_address} + tenant_address: ${_param:opnfv_openstack_compute_node02_tenant_address} + external_address: ${_param:opnfv_openstack_compute_node02_external_address} diff --git a/mcp/reclass/classes/cluster/virtual-mcp-pike-common-noha/infra/init.yml b/mcp/reclass/classes/cluster/mcp-pike-common-noha/infra/init.yml index 464048396..ede41940a 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-pike-common-noha/infra/init.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-common-noha/infra/init.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 diff --git a/mcp/reclass/classes/cluster/virtual-mcp-pike-common-noha/init_options.yml b/mcp/reclass/classes/cluster/mcp-pike-common-noha/init_options.yml index 9540b9436..69aba92ad 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-pike-common-noha/init_options.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-common-noha/init_options.yml @@ -1,26 +1,28 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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.all-mcp-arch-common parameters: _param: # infra service addresses - infra_config_address: 172.16.10.100 + infra_config_address: ${_param:opnfv_infra_config_address} # openstack service addresses - openstack_control_address: 172.16.10.101 - openstack_control_node01_address: 172.16.10.101 - openstack_control_node02_address: 172.16.10.102 - openstack_control_node03_address: 172.16.10.103 + openstack_control_address: ${_param:opnfv_openstack_control_node01_address} + openstack_control_node01_address: ${_param:opnfv_openstack_control_node01_address} + openstack_control_node02_address: ${_param:opnfv_openstack_control_node02_address} + openstack_control_node03_address: ${_param:opnfv_openstack_control_node03_address} openstack_database_address: ${_param:openstack_control_address} openstack_message_queue_address: ${_param:openstack_control_address} openstack_message_queue_node01_address: ${_param:openstack_control_node01_address} openstack_message_queue_node02_address: ${_param:openstack_control_node02_address} openstack_message_queue_node03_address: ${_param:openstack_control_node03_address} - openstack_gateway_address: 172.16.10.110 + openstack_gateway_address: ${_param:opnfv_openstack_gateway_node01_address} control_address: ${_param:openstack_control_address} ntp_strata_host1: 1.se.pool.ntp.org ntp_strata_host2: 0.se.pool.ntp.org diff --git a/mcp/reclass/classes/cluster/virtual-mcp-pike-common-noha/openstack_compute.yml b/mcp/reclass/classes/cluster/mcp-pike-common-noha/openstack_compute.yml index da933dc27..3d84e6c18 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-pike-common-noha/openstack_compute.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-common-noha/openstack_compute.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -7,7 +7,6 @@ ############################################################################## --- classes: - - system.linux.storage.loopback - service.nfs.client - system.nova.compute.single - service.cinder.volume.single @@ -15,19 +14,21 @@ classes: - system.ceilometer.agent.cluster - system.ceilometer.client.nova_compute - system.ceilometer.client.cinder_volume + - system.linux.system.repo.mcp.openstack + - cluster.mcp-pike-common-noha.openstack_compute_pdf parameters: _param: - primary_interface: ${_param:opnfv_fn_vm_secondary_interface} - tenant_interface: ${_param:opnfv_fn_vm_tertiary_interface} - external_interface: ${_param:opnfv_fn_vm_quaternary_interface} interface_mtu: 9000 linux_system_codename: xenial - loopback_device_size: 20 + ~cinder_lvm_devices: ['/dev/vdb'] nova: compute: libvirt_service: libvirtd libvirt_bin: /etc/default/libvirtd + disk_cachemodes: file=directsync,block=none vncproxy_url: http://${_param:cluster_vip_address}:6080 + bind: + vnc_address: ${_param:single_address} network: region: ${_param:openstack_region} user: neutron @@ -37,6 +38,7 @@ parameters: compute: notification: true vlan_aware_vms: true + root_helper_daemon: false agent_mode: ${_param:neutron_compute_agent_mode} message_queue: host: ${_param:openstack_control_address} @@ -65,31 +67,3 @@ parameters: sysctl: vm.dirty_ratio: 10 vm.dirty_background_ratio: 5 - network: - bridge: openvswitch - interface: - dhcp_int: - enabled: true - name: ${_param:opnfv_fn_vm_primary_interface} - proto: dhcp - type: eth - 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 - br-mgmt: - enabled: true - type: bridge - proto: static - address: ${_param:single_address} - netmask: 255.255.255.0 - use_interfaces: - - ${_param:primary_interface} diff --git a/mcp/reclass/classes/cluster/mcp-pike-common-noha/openstack_compute_pdf.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-common-noha/openstack_compute_pdf.yml.j2 new file mode 100644 index 000000000..64af148fd --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-common-noha/openstack_compute_pdf.yml.j2 @@ -0,0 +1,44 @@ +############################################################################## +# 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 +############################################################################## +{#- NOTE: br-{mgmt,ctl} are cross-referenced, careful when changing names #} +{%- import 'net_map.j2' as nm with context %} +--- +parameters: + _param: + primary_interface: {{ nm.cmp001.nic_mgmt }} + tenant_interface: {{ nm.cmp001.nic_private }} + external_interface: {{ nm.cmp001.nic_public }} + linux: + network: + bridge: openvswitch + interface: + dhcp_int: + enabled: true + name: {{ nm.cmp001.nic_admin }} + proto: dhcp + type: eth + 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 + br-mgmt: + enabled: true + type: bridge + proto: static + address: ${_param:single_address} + netmask: 255.255.255.0 + use_interfaces: + - ${_param:primary_interface} diff --git a/mcp/reclass/classes/cluster/virtual-mcp-pike-common-noha/openstack_control.yml b/mcp/reclass/classes/cluster/mcp-pike-common-noha/openstack_control.yml index 98256745f..01b320973 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-pike-common-noha/openstack_control.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-common-noha/openstack_control.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -43,7 +43,8 @@ classes: - system.aodh.server.single - system.horizon.server.single - service.haproxy.proxy.single - - cluster.virtual-mcp-pike-common-noha.haproxy_openstack_api + - cluster.mcp-pike-common-noha.haproxy_openstack_api + - cluster.mcp-pike-common-noha.openstack_control_pdf parameters: _param: linux_system_codename: xenial @@ -52,25 +53,11 @@ parameters: package: python-msgpack: version: latest - network: - interface: - single_int: - enabled: true - name: ${_param:opnfv_fn_vm_secondary_interface} - type: eth - proto: static - address: ${_param:single_address} - netmask: 255.255.255.0 - public_int: - enabled: true - name: ${_param:opnfv_fn_vm_quaternary_interface} - type: eth - proto: static - address: ${_param:cluster_public_host} - netmask: 255.255.255.0 keystone: server: admin_email: ${_param:admin_email} + openrc_extra: + volume_device_name: vdc glance: server: storage: @@ -140,3 +127,4 @@ parameters: neutron: server: vlan_aware_vms: true + root_helper_daemon: false diff --git a/mcp/reclass/classes/cluster/mcp-pike-common-noha/openstack_control_pdf.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-common-noha/openstack_control_pdf.yml.j2 new file mode 100644 index 000000000..8219637dc --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-common-noha/openstack_control_pdf.yml.j2 @@ -0,0 +1,32 @@ +############################################################################## +# 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 %} +--- +parameters: + linux: + network: + interface: + dhcp_int: + enabled: true + name: {{ nm.ctl01.nic_admin }} + proto: dhcp + type: eth + single_int: + enabled: true + name: {{ nm.ctl01.nic_mgmt }} + type: eth + proto: static + address: ${_param:single_address} + netmask: 255.255.255.0 + public_int: + enabled: true + name: {{ nm.ctl01.nic_public }} + type: eth + proto: static + address: ${_param:cluster_public_host} + netmask: 255.255.255.0 diff --git a/mcp/reclass/classes/cluster/mcp-pike-common-noha/openstack_gateway.yml b/mcp/reclass/classes/cluster/mcp-pike-common-noha/openstack_gateway.yml new file mode 100644 index 000000000..8061bb1fe --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-common-noha/openstack_gateway.yml @@ -0,0 +1,20 @@ +############################################################################## +# 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-pike-common-noha.openstack_gateway_pdf +parameters: + _param: + interface_mtu: 9000 + linux_system_codename: xenial + neutron: + gateway: + notification: true + agent_mode: ${_param:neutron_gateway_agent_mode} + vlan_aware_vms: true + root_helper_daemon: false diff --git a/mcp/reclass/classes/cluster/virtual-mcp-pike-common-noha/openstack_gateway.yml b/mcp/reclass/classes/cluster/mcp-pike-common-noha/openstack_gateway_pdf.yml.j2 index 9822de7d3..7067d59a4 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-pike-common-noha/openstack_gateway.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-common-noha/openstack_gateway_pdf.yml.j2 @@ -1,30 +1,24 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 %} parameters: _param: - primary_interface: ${_param:opnfv_fn_vm_secondary_interface} - tenant_interface: ${_param:opnfv_fn_vm_tertiary_interface} - external_interface: ${_param:opnfv_fn_vm_quaternary_interface} - interface_mtu: 9000 - linux_system_codename: xenial - neutron: - gateway: - notification: true - agent_mode: ${_param:neutron_gateway_agent_mode} - vlan_aware_vms: true + primary_interface: {{ nm.ctl01.nic_mgmt }} + tenant_interface: {{ nm.ctl01.nic_private }} + external_interface: {{ nm.ctl01.nic_public }} linux: network: bridge: openvswitch interface: dhcp_int: enabled: true - name: ${_param:opnfv_fn_vm_primary_interface} + name: {{ nm.ctl01.nic_admin }} proto: dhcp type: eth mtu: ${_param:interface_mtu} diff --git a/mcp/reclass/classes/cluster/virtual-mcp-pike-common-noha/openstack_init.yml b/mcp/reclass/classes/cluster/mcp-pike-common-noha/openstack_init.yml index d5606b594..7c6ce90b7 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-pike-common-noha/openstack_init.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-common-noha/openstack_init.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -9,12 +9,12 @@ parameters: _param: openstack_version: pike - apt_mk_version: stable + apt_mk_version: nightly mcp_repo_version: 1.1 openstack_region: RegionOne admin_email: root@localhost cluster_public_protocol: http - cluster_public_host: 10.16.0.101 + cluster_public_host: ${_param:opnfv_openstack_control_node01_external_address} neutron_public_protocol: http neutron_control_dvr: 'False' neutron_l3_ha: 'False' @@ -31,11 +31,11 @@ parameters: cluster_vip_address: ${_param:cluster_public_host} cluster_local_address: ${_param:openstack_control_address} cluster_node01_hostname: ctl01 - cluster_node01_address: 172.16.10.101 + cluster_node01_address: ${_param:opnfv_openstack_control_node01_address} cluster_node02_hostname: ctl02 - cluster_node02_address: 172.16.10.102 + cluster_node02_address: ${_param:opnfv_openstack_control_node02_address} cluster_node03_hostname: ctl03 - cluster_node03_address: 172.16.10.103 + cluster_node03_address: ${_param:opnfv_openstack_control_node03_address} rabbitmq_secret_key: opnfv_secret rabbitmq_admin_password: opnfv_secret rabbitmq_openstack_password: opnfv_secret @@ -52,8 +52,6 @@ parameters: ceilometer_database_host: ${_param:cluster_local_address} cinder_version: ${_param:openstack_version} cinder_service_host: ${_param:cluster_local_address} - ceilometer_graphite_publisher_host: 172.16.10.107 - ceilometer_graphite_publisher_port: 2013 nova_version: ${_param:openstack_version} nova_service_host: ${_param:cluster_local_address} nova_vncproxy_url: http://${_param:cluster_vip_address}:8060 @@ -96,9 +94,14 @@ parameters: linux: system: repo: + uca-staging: + # yamllint disable rule:line-length + source: "deb http://ppa.launchpad.net/ubuntu-cloud-archive/${_param:openstack_version}-staging/ubuntu xenial main" + key_id: 9F68104E + key_server: keyserver.ubuntu.com + # yamllint enable rule:line-length uca: source: "deb http://ubuntu-cloud.archive.canonical.com/ubuntu xenial-updates/${_param:openstack_version} main" - architectures: amd64 key_id: EC4926EA key_server: keyserver.ubuntu.com kernel: @@ -124,12 +127,12 @@ parameters: - gtw01 - gtw01.${_param:cluster_domain} cmp01: - address: 172.16.10.105 + address: ${_param:opnfv_openstack_compute_node01_control_address} names: - cmp01 - cmp01.${_param:cluster_domain} cmp02: - address: 172.16.10.106 + address: ${_param:opnfv_openstack_compute_node02_control_address} names: - cmp02 - cmp02.${_param:cluster_domain} diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/infra/config.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/config.yml index d9f723a7c..b812dea89 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/infra/config.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/config.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -8,8 +8,9 @@ --- classes: - system.reclass.storage.system.opendaylight_control_single - - cluster.baremetal-mcp-pike-common-ha.infra.config - - cluster.baremetal-mcp-pike-odl-ha.infra + - cluster.mcp-pike-common-ha.infra.config + - cluster.mcp-pike-odl-ha.infra + - cluster.all-mcp-arch-common.infra.config_pdf parameters: reclass: storage: diff --git a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/init.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/init.yml new file mode 100644 index 000000000..419c05947 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/init.yml @@ -0,0 +1,14 @@ +############################################################################## +# 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-pike-common-ha.infra + - cluster.mcp-pike-odl-ha.openstack +parameters: + _param: + cluster_name: mcp-pike-odl-ha diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-ha/infra/kvm.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/init_vcp.yml.j2 index b4c2a67ac..385326561 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-ha/infra/kvm.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/init_vcp.yml.j2 @@ -1,11 +1,12 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 ############################################################################## --- +{%- if conf.MCP_VCP %} classes: - - cluster.baremetal-mcp-pike-common-ha.infra.kvm - - cluster.baremetal-mcp-pike-ovs-ha.infra + - cluster.mcp-pike-odl-ha.infra +{%- endif %} diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/infra/kvm.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/kvm.yml.j2 index bbc80e271..5fc4776d9 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/infra/kvm.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/kvm.yml.j2 @@ -1,14 +1,16 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 ############################################################################## --- +{%- if conf.MCP_VCP %} +# NOTE(armband): we don't want to pull in salt.control for novcp classes: - - cluster.baremetal-mcp-pike-common-ha.infra.kvm - - cluster.baremetal-mcp-pike-odl-ha.infra + - cluster.mcp-pike-common-ha.infra.kvm + - cluster.mcp-pike-odl-ha.infra parameters: salt: control: @@ -16,7 +18,7 @@ parameters: # Default production sizing opendaylight.server: cpu: 4 - ram: 6144 + ram: 8192 disk_profile: small net_profile: default cluster: @@ -27,3 +29,4 @@ parameters: provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain} image: ${_param:salt_control_xenial_image} size: opendaylight.server +{%- endif %} diff --git a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/maas.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/maas.yml new file mode 100644 index 000000000..6662f1fad --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/maas.yml @@ -0,0 +1,14 @@ +############################################################################## +# 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-pike-common-ha.infra.maas + - cluster.mcp-pike-odl-ha.infra +parameters: + _param: + hwe_kernel: 'ga-16.04' diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-ha/init.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/init.yml index 12a3ea211..80942c27f 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-ha/init.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/init.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -8,5 +8,5 @@ --- classes: - cluster.all-mcp-arch-common - - cluster.baremetal-mcp-pike-ovs-ha.infra - - cluster.baremetal-mcp-pike-ovs-ha.openstack + - cluster.mcp-pike-odl-ha.infra + - cluster.mcp-pike-odl-ha.openstack diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/opendaylight/control.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/opendaylight/control.yml.j2 index 50eb342e5..a5db82387 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/opendaylight/control.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/opendaylight/control.yml.j2 @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -7,9 +7,11 @@ ############################################################################## --- classes: - - system.opendaylight.server.single - - cluster.baremetal-mcp-pike-common-ha.openstack_interface_vcp_biport - - cluster.baremetal-mcp-pike-odl-ha + - service.opendaylight.server.single + - cluster.mcp-pike-common-ha.openstack_interface_vcp_biport +{%- if conf.MCP_VCP %} + - cluster.mcp-pike-odl-ha +{%- endif %} parameters: _param: linux_system_codename: xenial @@ -17,14 +19,12 @@ parameters: server: odl_bind_ip: ${_param:single_address} odl_rest_port: 8282 - java_min_mem: 4g - java_max_mem: 4g + java_min_mem: 6g + java_max_mem: 6g router_enabled: true karaf_features: odl_default: - odl-restconf-all - odl-aaa-authn - - odl-dlux-all - - odl-mdsal-apidocs netvirt: - odl-netvirt-openstack diff --git a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/compute.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/compute.yml new file mode 100644 index 000000000..6c3e0d04c --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/compute.yml @@ -0,0 +1,17 @@ +############################################################################## +# 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: + - service.neutron.gateway.opendaylight.single + - cluster.mcp-pike-common-ha.openstack_compute + - cluster.mcp-pike-odl-ha.openstack.compute_pdf + - cluster.mcp-pike-odl-ha.infra +parameters: + neutron: + gateway: + agent_mode: ${_param:neutron_gateway_agent_mode} diff --git a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/compute_pdf.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/compute_pdf.yml.j2 new file mode 100644 index 000000000..912537f8f --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/compute_pdf.yml.j2 @@ -0,0 +1,49 @@ +############################################################################## +# 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 %} +{#- Filter-out NIC duplicates by constructing a dict (used NICs only) #} +{%- set nics = { nm.cmp001.nic_private: True } %} +{%- set vlan_private_start = nm.vlan_private.rsplit('-')[0] %} +{%- set vlans = { vlan_private_start: nm.cmp001.nic_private } %} +--- +parameters: + linux: + network: + interface: +{%- for nic in nics %} + {{ nic }}: + enabled: true + type: eth + {%- if nic == nm.cmp001.nic_admin %} + proto: dhcp + {%- else %} + proto: manual + {%- endif %} + name: {{ nic }} +{%- endfor %} + +{%- for vlan in vlans %} + {%- if vlan | int > 0 %} + {{ vlans[vlan] }}.{{ vlan }}: + enabled: true + proto: manual + type: vlan + name: {{ vlans[vlan] }}.{{ vlan }} + use_interfaces: + - {{ vlans[vlan] }} + {%- endif %} +{%- endfor %} + + br-mesh: + enabled: true + type: bridge + address: ${_param:tenant_address} + netmask: 255.255.255.0 + mtu: 1500 + use_interfaces: + - {{ nm.cmp001.nic_private }}{% if vlan_private_start | int > 0 %}.{{ vlan_private_start }}{% endif %} diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/openstack/control.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/control.yml index 2cbb8cae9..e907e3d4c 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/openstack/control.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/control.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -8,11 +8,14 @@ --- classes: - system.neutron.control.opendaylight.cluster - - cluster.baremetal-mcp-pike-common-ha.openstack_interface_vcp_biport - - cluster.baremetal-mcp-pike-common-ha.openstack_control - - cluster.baremetal-mcp-pike-odl-ha.infra + - cluster.mcp-pike-common-ha.openstack_interface_vcp_biport + - cluster.mcp-pike-common-ha.openstack_control + - cluster.mcp-pike-odl-ha.infra parameters: - neutron: + keystone: server: - backend: - router: ${_param:opendaylight_router} + openrc_extra: + # For HA, all public services are available through nginx on prx + sdn_controller_ip: ${_param:cluster_public_host} + sdn_username: admin # Hardcoded to default ODL values for now + sdn_password: admin diff --git a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/database.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/database.yml new file mode 100644 index 000000000..69cb24dbf --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/database.yml @@ -0,0 +1,12 @@ +############################################################################## +# 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-pike-common-ha.openstack_interface_vcp_biport + - cluster.mcp-pike-common-ha.openstack_database + - cluster.mcp-pike-odl-ha.infra.init_vcp diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/openstack/init.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/init.yml.j2 index 0859dc9f0..5a3b36fb1 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/openstack/init.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/init.yml.j2 @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -7,21 +7,14 @@ ############################################################################## --- classes: - - cluster.baremetal-mcp-pike-common-ha.openstack_init + - cluster.mcp-pike-common-ha.openstack_init parameters: _param: # opendaylight options - opendaylight_server_node01_single_address: ${_param:opnfv_opendaylight_server_node01_single_address} opendaylight_service_host: ${_param:opendaylight_server_node01_single_address} - opendaylight_server_node01_hostname: odl01 - opendaylight_router: odl-router_v2 neutron_tenant_network_types: "flat,vxlan" - nova_cpu_pinning: "1,2,3,4,5,7,8,9,10,11" - compute_hugepages_size: 1G - compute_hugepages_count: 16 - compute_hugepages_mount: /mnt/hugepages_1G - compute_kernel_isolcpu: ${_param:nova_cpu_pinning} +{%- if conf.MCP_VCP %} linux: network: host: @@ -30,3 +23,4 @@ parameters: names: - ${_param:opendaylight_server_node01_hostname} - ${_param:opendaylight_server_node01_hostname}.${_param:cluster_domain} +{%- endif %} diff --git a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/message_queue.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/message_queue.yml new file mode 100644 index 000000000..604728da1 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/message_queue.yml @@ -0,0 +1,12 @@ +############################################################################## +# 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-pike-common-ha.openstack_interface_vcp_biport + - cluster.mcp-pike-common-ha.openstack_message_queue + - cluster.mcp-pike-odl-ha.infra.init_vcp diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/openstack/proxy.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/proxy.yml index 023ffd484..3c6b3a2cf 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/openstack/proxy.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/proxy.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -7,25 +7,13 @@ ############################################################################## --- classes: - - cluster.baremetal-mcp-pike-common-ha.openstack_interface_vcp_triport - - cluster.baremetal-mcp-pike-common-ha.openstack_proxy - - cluster.baremetal-mcp-pike-odl-ha.infra + - cluster.mcp-pike-common-ha.openstack_interface_vcp_triport + - cluster.mcp-pike-common-ha.openstack_proxy + - cluster.mcp-pike-odl-ha.infra.init_vcp parameters: nginx: server: site: - nginx_proxy_opendaylight_web: - enabled: true - type: nginx_proxy - name: opendaylight_web - check: false - proxy: - host: ${_param:opendaylight_service_host} - port: 8181 - protocol: http - host: - name: ${_param:nginx_proxy_openstack_api_host} - port: 8181 nginx_proxy_opendaylight_rest: enabled: true type: nginx_proxy diff --git a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/telemetry.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/telemetry.yml new file mode 100644 index 000000000..20df2aab6 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/telemetry.yml @@ -0,0 +1,12 @@ +############################################################################## +# 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-pike-common-ha.openstack_interface_vcp_biport + - cluster.mcp-pike-common-ha.openstack_telemetry + - cluster.mcp-pike-odl-ha.infra.init_vcp diff --git a/mcp/reclass/classes/cluster/virtual-mcp-pike-odl-noha/infra/config.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-noha/infra/config.yml index 8e38ff81d..b63ac68b5 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-pike-odl-noha/infra/config.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-odl-noha/infra/config.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -9,8 +9,9 @@ classes: - system.reclass.storage.system.opendaylight_control_single - system.reclass.storage.system.openstack_gateway_single - - cluster.virtual-mcp-pike-common-noha.infra.config - - cluster.virtual-mcp-pike-odl-noha + - cluster.mcp-pike-common-noha.infra.config + - cluster.mcp-pike-odl-noha + - cluster.all-mcp-arch-common.infra.config_pdf parameters: reclass: storage: @@ -23,5 +24,5 @@ parameters: single_address: ${_param:opendaylight_service_host} openstack_gateway_node01: params: - tenant_address: 10.1.0.110 - external_address: 10.16.0.110 + tenant_address: ${_param:opnfv_openstack_gateway_node01_tenant_address} + external_address: ${_param:opnfv_openstack_gateway_node01_external_address} diff --git a/mcp/reclass/classes/cluster/virtual-mcp-pike-odl-noha/infra/init.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-noha/infra/init.yml index 2cf01eeec..1bdcbd225 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-pike-odl-noha/infra/init.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-odl-noha/infra/init.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -7,8 +7,8 @@ ############################################################################## --- classes: - - cluster.virtual-mcp-pike-common-noha.infra + - cluster.mcp-pike-common-noha.infra parameters: _param: - cluster_name: virtual-mcp-pike-odl-noha + cluster_name: mcp-pike-odl-noha diff --git a/mcp/reclass/classes/cluster/virtual-mcp-pike-odl-noha/init.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-noha/init.yml index 7575d89b8..d770e7895 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-pike-odl-noha/init.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-odl-noha/init.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -8,11 +8,10 @@ --- classes: - system.linux.system.single - - cluster.all-mcp-arch-common - - cluster.virtual-mcp-pike-common-noha.init_options - - cluster.virtual-mcp-pike-odl-noha.infra - - cluster.virtual-mcp-pike-odl-noha.openstack + - cluster.mcp-pike-common-noha.init_options + - cluster.mcp-pike-odl-noha.infra + - cluster.mcp-pike-odl-noha.openstack parameters: _param: - opendaylight_service_host: 172.16.10.111 + opendaylight_service_host: ${_param:opnfv_opendaylight_server_node01_single_address} diff --git a/mcp/reclass/classes/cluster/virtual-mcp-pike-odl-noha/opendaylight/control.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-noha/opendaylight/control.yml index f4404a69b..8854fc2bf 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-pike-odl-noha/opendaylight/control.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-odl-noha/opendaylight/control.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -9,21 +9,12 @@ classes: - system.linux.system.repo.mcp.openstack - system.linux.system.repo.mcp.extra - - system.opendaylight.server.single - - cluster.virtual-mcp-pike-odl-noha + - service.opendaylight.server.single + - cluster.mcp-pike-odl-noha + - cluster.mcp-pike-odl-noha.opendaylight.control_pdf parameters: _param: linux_system_codename: xenial - linux: - network: - interface: - single_int: - enabled: true - name: ${_param:opnfv_fn_vm_secondary_interface} - type: eth - proto: static - address: ${_param:single_address} - netmask: 255.255.255.0 opendaylight: server: odl_bind_ip: ${_param:single_address} @@ -35,7 +26,5 @@ parameters: odl_default: - odl-restconf-all - odl-aaa-authn - - odl-dlux-all - - odl-mdsal-apidocs netvirt: - odl-netvirt-openstack diff --git a/mcp/reclass/classes/cluster/mcp-pike-odl-noha/opendaylight/control_pdf.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-odl-noha/opendaylight/control_pdf.yml.j2 new file mode 100644 index 000000000..fbb7de8b3 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-odl-noha/opendaylight/control_pdf.yml.j2 @@ -0,0 +1,25 @@ +############################################################################## +# 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 %} +--- +parameters: + linux: + network: + interface: + dhcp_int: + enabled: true + name: {{ nm.ctl01.nic_admin }} + proto: dhcp + type: eth + single_int: + enabled: true + name: {{ nm.ctl01.nic_mgmt }} + type: eth + proto: static + address: ${_param:single_address} + netmask: 255.255.255.0 diff --git a/mcp/reclass/classes/cluster/virtual-mcp-pike-odl-noha/openstack/compute.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-noha/openstack/compute.yml index 4c42b585b..b0690167f 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-pike-odl-noha/openstack/compute.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-odl-noha/openstack/compute.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -8,32 +8,25 @@ --- classes: - service.neutron.compute.single - - cluster.virtual-mcp-pike-common-noha.openstack_compute - - cluster.virtual-mcp-pike-odl-noha + - service.neutron.compute.opendaylight.single + - cluster.mcp-pike-common-noha.openstack_compute + - cluster.mcp-pike-odl-noha parameters: - opendaylight: - client: - ovsdb_server_iface: ptcp:6639:127.0.0.1 - ovsdb_odl_iface: tcp:${_param:opendaylight_service_host}:6640 - tunnel_ip: ${_param:tenant_address} - provider_mappings: physnet1:br-floating linux: network: - gateway: ${_param:openstack_gateway_address} interface: external_interface: enabled: true + type: eth name: ${_param:external_interface} mtu: ${_param:interface_mtu} proto: manual - type: eth br-mesh: enabled: true type: bridge proto: static address: ${_param:tenant_address} netmask: 255.255.255.0 - gateway: 10.1.0.110 use_interfaces: - ${_param:tenant_interface} br-floating: @@ -50,7 +43,7 @@ parameters: type: bridge mtu: ${_param:interface_mtu} address: ${_param:external_address} - netmask: 255.255.255.0 + netmask: ${_param:opnfv_net_public_mask} use_interfaces: - ${_param:external_interface} use_ovs_ports: diff --git a/mcp/reclass/classes/cluster/virtual-mcp-pike-odl-noha/openstack/control.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-noha/openstack/control.yml index ede9d4c5d..4c48d0798 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-pike-odl-noha/openstack/control.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-odl-noha/openstack/control.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -8,27 +8,12 @@ --- classes: - system.neutron.control.opendaylight.single - - cluster.virtual-mcp-pike-common-noha.openstack_control - - cluster.virtual-mcp-pike-odl-noha + - cluster.mcp-pike-common-noha.openstack_control + - cluster.mcp-pike-odl-noha parameters: - neutron: - server: - backend: - router: ${_param:opendaylight_router} haproxy: proxy: listen: - opendaylight-web: - type: general-service - service_name: opendaylight - binds: - - address: ${_param:cluster_vip_address} - port: 8181 - servers: - - name: odl01 - host: ${_param:opendaylight_service_host} - port: 8181 - params: ${_param:haproxy_check} opendaylight-rest: type: general-service service_name: opendaylight @@ -40,3 +25,10 @@ parameters: host: ${_param:opendaylight_service_host} port: 8282 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_username: admin # Hardcoded to default ODL values for now + sdn_password: admin diff --git a/mcp/reclass/classes/cluster/virtual-mcp-pike-odl-noha/openstack/gateway.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-noha/openstack/gateway.yml index 47d11cd5d..f4f646160 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-pike-odl-noha/openstack/gateway.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-odl-noha/openstack/gateway.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -7,26 +7,10 @@ ############################################################################## --- classes: - - cluster.virtual-mcp-pike-common-noha.openstack_gateway - - system.neutron.gateway.opendaylight.single - - cluster.virtual-mcp-pike-odl-noha + - cluster.mcp-pike-common-noha.openstack_gateway + - service.neutron.gateway.opendaylight.single + - cluster.mcp-pike-odl-noha parameters: - _param: - neutron_agents: - - neutron-dhcp-agent - - neutron-metadata-agent - neutron: - gateway: - pkgs: ${_param:neutron_agents} - services: ${_param:neutron_agents} - backend: - router: ${_param:opendaylight_router} - opendaylight: - client: - ovsdb_server_iface: ptcp:6639:127.0.0.1 - ovsdb_odl_iface: tcp:${_param:opendaylight_service_host}:6640 - tunnel_ip: ${_param:tenant_address} - provider_mappings: physnet1:br-floating linux: network: interface: diff --git a/mcp/reclass/classes/cluster/virtual-mcp-pike-odl-noha/openstack/init.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-noha/openstack/init.yml index cbf4e692e..2cd3083ff 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-pike-odl-noha/openstack/init.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-odl-noha/openstack/init.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -7,7 +7,7 @@ ############################################################################## --- classes: - - cluster.virtual-mcp-pike-common-noha.openstack_init + - cluster.mcp-pike-common-noha.openstack_init parameters: _param: neutron_tenant_network_types: "flat,vxlan" @@ -16,7 +16,7 @@ parameters: network: host: odl01: - address: 172.16.10.111 + address: ${_param:opnfv_opendaylight_server_node01_single_address} names: - odl01 - odl01.${_param:cluster_domain} diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-ha/infra/config.yml b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/config.yml index 1a55d7807..ca7491a02 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-ha/infra/config.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/config.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -7,5 +7,6 @@ ############################################################################## --- classes: - - cluster.baremetal-mcp-pike-common-ha.infra.config - - cluster.baremetal-mcp-pike-ovs-ha.infra + - cluster.mcp-pike-common-ha.infra.config + - cluster.mcp-pike-ovn-ha.infra + - cluster.all-mcp-arch-common.infra.config_pdf diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/init.yml b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/init.yml new file mode 100644 index 000000000..5c7438ab4 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/init.yml @@ -0,0 +1,14 @@ +############################################################################## +# 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-pike-common-ha.infra + - cluster.mcp-pike-ovn-ha.openstack +parameters: + _param: + cluster_name: mcp-pike-ovn-ha diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/init_vcp.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/init_vcp.yml.j2 new file mode 100644 index 000000000..46acb7d2d --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/init_vcp.yml.j2 @@ -0,0 +1,12 @@ +############################################################################## +# 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 +############################################################################## +--- +{%- if conf.MCP_VCP %} +classes: + - cluster.mcp-pike-ovn-ha.infra +{%- endif %} diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/openstack/message_queue.yml b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/kvm.yml.j2 index dfe1e28ca..4a2355bf1 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/openstack/message_queue.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/kvm.yml.j2 @@ -1,12 +1,14 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 ############################################################################## --- +{%- if conf.MCP_VCP %} +# NOTE(armband): we don't want to pull in salt.control for novcp classes: - - cluster.baremetal-mcp-pike-common-ha.openstack_interface_vcp_biport - - cluster.baremetal-mcp-pike-common-ha.openstack_message_queue - - cluster.baremetal-mcp-pike-odl-ha + - cluster.mcp-pike-common-ha.infra.kvm + - cluster.mcp-pike-ovn-ha.infra +{%- endif %} diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/infra/maas.yml b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/maas.yml index f58e632c7..398768e08 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/infra/maas.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/maas.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -7,5 +7,5 @@ ############################################################################## --- classes: - - cluster.baremetal-mcp-pike-common-ha.infra.maas - - cluster.baremetal-mcp-pike-odl-ha.infra + - cluster.mcp-pike-common-ha.infra.maas + - cluster.mcp-pike-ovn-ha.infra diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/init.yml b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/init.yml index e0d15e607..69e8033c1 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/init.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/init.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -8,5 +8,5 @@ --- classes: - cluster.all-mcp-arch-common - - cluster.baremetal-mcp-pike-odl-ha.infra - - cluster.baremetal-mcp-pike-odl-ha.openstack + - cluster.mcp-pike-ovn-ha.infra + - cluster.mcp-pike-ovn-ha.openstack diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-ha/openstack/compute.yml b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/compute.yml index 5914f50be..36073827a 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-ha/openstack/compute.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/compute.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -7,9 +7,9 @@ ############################################################################## --- classes: - - cluster.baremetal-mcp-pike-common-ha.openstack_compute - - cluster.baremetal-mcp-pike-ovs-ha.openstack.compute_pdf - - cluster.baremetal-mcp-pike-ovs-ha.infra + - cluster.mcp-pike-common-ha.openstack_compute + - cluster.mcp-pike-ovn-ha.openstack.compute_pdf + - cluster.mcp-pike-ovn-ha.infra parameters: nova: compute: diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/compute_pdf.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/compute_pdf.yml.j2 new file mode 100644 index 000000000..912537f8f --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/compute_pdf.yml.j2 @@ -0,0 +1,49 @@ +############################################################################## +# 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 %} +{#- Filter-out NIC duplicates by constructing a dict (used NICs only) #} +{%- set nics = { nm.cmp001.nic_private: True } %} +{%- set vlan_private_start = nm.vlan_private.rsplit('-')[0] %} +{%- set vlans = { vlan_private_start: nm.cmp001.nic_private } %} +--- +parameters: + linux: + network: + interface: +{%- for nic in nics %} + {{ nic }}: + enabled: true + type: eth + {%- if nic == nm.cmp001.nic_admin %} + proto: dhcp + {%- else %} + proto: manual + {%- endif %} + name: {{ nic }} +{%- endfor %} + +{%- for vlan in vlans %} + {%- if vlan | int > 0 %} + {{ vlans[vlan] }}.{{ vlan }}: + enabled: true + proto: manual + type: vlan + name: {{ vlans[vlan] }}.{{ vlan }} + use_interfaces: + - {{ vlans[vlan] }} + {%- endif %} +{%- endfor %} + + br-mesh: + enabled: true + type: bridge + address: ${_param:tenant_address} + netmask: 255.255.255.0 + mtu: 1500 + use_interfaces: + - {{ nm.cmp001.nic_private }}{% if vlan_private_start | int > 0 %}.{{ vlan_private_start }}{% endif %} diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-ha/openstack/control.yml b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/control.yml index 43bec6bcc..96ea48ea2 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-ha/openstack/control.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/control.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -8,6 +8,6 @@ --- classes: - system.neutron.control.openvswitch.cluster - - cluster.baremetal-mcp-pike-common-ha.openstack_interface_vcp_biport - - cluster.baremetal-mcp-pike-common-ha.openstack_control - - cluster.baremetal-mcp-pike-ovs-ha.infra + - cluster.mcp-pike-common-ha.openstack_interface_vcp_biport + - cluster.mcp-pike-common-ha.openstack_control + - cluster.mcp-pike-ovn-ha.infra diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-dpdk-ha/infra/maas.yml b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/database.yml index fb55539f5..2ed79ab3b 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-dpdk-ha/infra/maas.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/database.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -7,5 +7,6 @@ ############################################################################## --- classes: - - cluster.baremetal-mcp-pike-common-ha.infra.maas - - cluster.baremetal-mcp-pike-ovs-dpdk-ha.infra + - cluster.mcp-pike-common-ha.openstack_interface_vcp_biport + - cluster.mcp-pike-common-ha.openstack_database + - cluster.mcp-pike-ovn-ha.infra_vcp diff --git a/mcp/reclass/classes/cluster/virtual-mcp-pike-ovs-noha/openstack/init.yml b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/init.yml index 19126f89d..02cd14adb 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-pike-ovs-noha/openstack/init.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/init.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -7,7 +7,7 @@ ############################################################################## --- classes: - - cluster.virtual-mcp-pike-common-noha.openstack_init + - cluster.mcp-pike-common-ha.openstack_init parameters: _param: neutron_tenant_network_types: "flat,vxlan" diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/message_queue.yml b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/message_queue.yml new file mode 100644 index 000000000..db587ac94 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/message_queue.yml @@ -0,0 +1,12 @@ +############################################################################## +# 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-pike-common-ha.openstack_interface_vcp_biport + - cluster.mcp-pike-common-ha.openstack_message_queue + - cluster.mcp-pike-ovn-ha.infra_vcp diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-dpdk-ha/infra/kvm.yml b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/proxy.yml index bb2087d70..49fec8246 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-dpdk-ha/infra/kvm.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/proxy.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -7,5 +7,6 @@ ############################################################################## --- classes: - - cluster.baremetal-mcp-pike-common-ha.infra.kvm - - cluster.baremetal-mcp-pike-ovs-dpdk-ha.infra + - cluster.mcp-pike-common-ha.openstack_interface_vcp_triport + - cluster.mcp-pike-common-ha.openstack_proxy + - cluster.mcp-pike-ovn-ha.infra_vcp diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/telemetry.yml b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/telemetry.yml new file mode 100644 index 000000000..4b9d9acc2 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/telemetry.yml @@ -0,0 +1,12 @@ +############################################################################## +# 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-pike-common-ha.openstack_interface_vcp_biport + - cluster.mcp-pike-common-ha.openstack_telemetry + - cluster.mcp-pike-ovn-ha.infra_vcp diff --git a/mcp/reclass/classes/cluster/virtual-mcp-pike-ovn-noha/infra/config.yml b/mcp/reclass/classes/cluster/mcp-pike-ovn-noha/infra/config.yml index 4d0a77241..399ffc21a 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-pike-ovn-noha/infra/config.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovn-noha/infra/config.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -7,5 +7,5 @@ ############################################################################## --- classes: - - cluster.virtual-mcp-pike-common-noha.infra.config - - cluster.virtual-mcp-pike-ovn-noha + - cluster.mcp-pike-common-noha.infra.config + - cluster.mcp-pike-ovn-noha diff --git a/mcp/reclass/classes/cluster/virtual-mcp-pike-ovn-noha/infra/init.yml b/mcp/reclass/classes/cluster/mcp-pike-ovn-noha/infra/init.yml index 5a79adddf..cf43fa8e3 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-pike-ovn-noha/infra/init.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovn-noha/infra/init.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -7,8 +7,8 @@ ############################################################################## --- classes: - - cluster.virtual-mcp-pike-common-noha.infra + - cluster.mcp-pike-common-noha.infra parameters: _param: - cluster_name: virtual-mcp-pike-ovn-noha + cluster_name: mcp-pike-ovn-noha diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovn-noha/init.yml b/mcp/reclass/classes/cluster/mcp-pike-ovn-noha/init.yml new file mode 100644 index 000000000..b3aa40415 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-ovn-noha/init.yml @@ -0,0 +1,13 @@ +############################################################################## +# 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.linux.system.single + - cluster.mcp-pike-common-noha.init_options + - cluster.mcp-pike-ovn-noha.infra + - cluster.mcp-pike-ovn-noha.openstack diff --git a/mcp/reclass/classes/cluster/virtual-mcp-pike-ovn-noha/openstack/compute.yml b/mcp/reclass/classes/cluster/mcp-pike-ovn-noha/openstack/compute.yml index a08c65217..ad8658518 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-pike-ovn-noha/openstack/compute.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovn-noha/openstack/compute.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -8,9 +8,12 @@ --- classes: - service.neutron.compute.ovn.single - - cluster.virtual-mcp-pike-common-noha.openstack_compute - - cluster.virtual-mcp-pike-ovn-noha + - cluster.mcp-pike-common-noha.openstack_compute + - cluster.mcp-pike-ovn-noha parameters: + neutron: + compute: + controller_vip: ${_param:cluster_local_address} linux: network: interface: diff --git a/mcp/reclass/classes/cluster/virtual-mcp-pike-ovn-noha/openstack/control.yml b/mcp/reclass/classes/cluster/mcp-pike-ovn-noha/openstack/control.yml index 59c000746..3d120ca9f 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-pike-ovn-noha/openstack/control.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovn-noha/openstack/control.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -8,5 +8,5 @@ --- classes: - system.neutron.control.ovn.single - - cluster.virtual-mcp-pike-common-noha.openstack_control - - cluster.virtual-mcp-pike-ovn-noha + - cluster.mcp-pike-common-noha.openstack_control + - cluster.mcp-pike-ovn-noha diff --git a/mcp/reclass/classes/cluster/virtual-mcp-pike-ovn-noha/openstack/init.yml b/mcp/reclass/classes/cluster/mcp-pike-ovn-noha/openstack/init.yml index 8ae660706..03d46ef91 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-pike-ovn-noha/openstack/init.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovn-noha/openstack/init.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -7,4 +7,4 @@ ############################################################################## --- classes: - - cluster.virtual-mcp-pike-common-noha.openstack_init + - cluster.mcp-pike-common-noha.openstack_init diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/infra/config.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/infra/config.yml new file mode 100644 index 000000000..0b0632609 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/infra/config.yml @@ -0,0 +1,12 @@ +############################################################################## +# 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-pike-common-ha.infra.config + - cluster.mcp-pike-ovs-dpdk-ha.infra + - cluster.all-mcp-arch-common.infra.config_dpdk_pdf diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-dpdk-ha/infra/init.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/infra/init.yml index e3dd53629..5b49f2572 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-dpdk-ha/infra/init.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/infra/init.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -7,11 +7,11 @@ ############################################################################## --- classes: - - cluster.baremetal-mcp-pike-common-ha.infra - - cluster.baremetal-mcp-pike-ovs-dpdk-ha.openstack + - cluster.mcp-pike-common-ha.infra + - cluster.mcp-pike-ovs-dpdk-ha.openstack parameters: _param: - cluster_name: baremetal-mcp-pike-ovs-dpdk-ha + cluster_name: mcp-pike-ovs-dpdk-ha linux: system: service: diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/infra/init_vcp.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/infra/init_vcp.yml.j2 new file mode 100644 index 000000000..9e85995bc --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/infra/init_vcp.yml.j2 @@ -0,0 +1,12 @@ +############################################################################## +# 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 +############################################################################## +--- +{%- if conf.MCP_VCP %} +classes: + - cluster.mcp-pike-ovs-dpdk-ha.infra +{%- endif %} diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-dpdk-ha/openstack/message_queue.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/infra/kvm.yml.j2 index ad9336faa..b62118d4a 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-dpdk-ha/openstack/message_queue.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/infra/kvm.yml.j2 @@ -1,12 +1,14 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 ############################################################################## --- +{%- if conf.MCP_VCP %} +# NOTE(armband): we don't want to pull in salt.control for novcp classes: - - cluster.baremetal-mcp-pike-common-ha.openstack_interface_vcp_biport - - cluster.baremetal-mcp-pike-common-ha.openstack_message_queue - - cluster.baremetal-mcp-pike-ovs-dpdk-ha + - cluster.mcp-pike-common-ha.infra.kvm + - cluster.mcp-pike-ovs-dpdk-ha.infra +{%- endif %} diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/infra/maas.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/infra/maas.yml new file mode 100644 index 000000000..f472885e2 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/infra/maas.yml @@ -0,0 +1,11 @@ +############################################################################## +# 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-pike-common-ha.infra.maas + - cluster.mcp-pike-ovs-dpdk-ha.infra diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-dpdk-ha/init.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/init.yml index ab450e045..07ad6734c 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-dpdk-ha/init.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/init.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -8,5 +8,5 @@ --- classes: - cluster.all-mcp-arch-common - - cluster.baremetal-mcp-pike-ovs-dpdk-ha.infra - - cluster.baremetal-mcp-pike-ovs-dpdk-ha.openstack + - cluster.mcp-pike-ovs-dpdk-ha.infra + - cluster.mcp-pike-ovs-dpdk-ha.openstack diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/openstack/compute.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/openstack/compute.yml new file mode 100644 index 000000000..d121c0807 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/openstack/compute.yml @@ -0,0 +1,28 @@ +############################################################################## +# 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-pike-common-ha.openstack_compute + - cluster.mcp-pike-ovs-dpdk-ha.infra + - cluster.mcp-pike-ovs-dpdk-ha.openstack.compute_pdf + - system.neutron.compute.nfv.dpdk +parameters: + neutron: + gateway: + dpdk: 'True' + vhost_socket_dir: ${_param:compute_ovs_vhost_socket_dir} + backend: + tenant_vlan_range: ${_param:neutron_tenant_vlan_range} + nova: + compute: + libvirt_service: libvirtd + libvirt_bin: /etc/default/libvirtd + linux: + system: + kernel: + isolcpu: ${_param:compute_kernel_isolcpu} diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/openstack/compute_pdf.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/openstack/compute_pdf.yml.j2 new file mode 100644 index 000000000..cf9a0b302 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/openstack/compute_pdf.yml.j2 @@ -0,0 +1,27 @@ +############################################################################## +# 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 %} +--- +parameters: + linux: + network: + ovs_nowait: true + interface: + 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 + br-floating: + datapath_type: netdev diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-dpdk-ha/openstack/control.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/openstack/control.yml index 82db9be87..e0423c33b 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-dpdk-ha/openstack/control.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/openstack/control.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -8,9 +8,9 @@ --- classes: - system.neutron.control.openvswitch.cluster - - cluster.baremetal-mcp-pike-common-ha.openstack_interface_vcp_biport - - cluster.baremetal-mcp-pike-common-ha.openstack_control - - cluster.baremetal-mcp-pike-ovs-dpdk-ha.infra + - cluster.mcp-pike-common-ha.openstack_interface_vcp_biport + - cluster.mcp-pike-common-ha.openstack_control + - cluster.mcp-pike-ovs-dpdk-ha.infra parameters: neutron: server: diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/openstack/database.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/openstack/database.yml new file mode 100644 index 000000000..324ec3f84 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/openstack/database.yml @@ -0,0 +1,12 @@ +############################################################################## +# 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-pike-common-ha.openstack_interface_vcp_biport + - cluster.mcp-pike-common-ha.openstack_database + - cluster.mcp-pike-ovs-dpdk-ha.infra.init_vcp diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/infra/init.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/openstack/init.yml index 014c57ffa..1f8ff4b9e 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/infra/init.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/openstack/init.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -7,8 +7,8 @@ ############################################################################## --- classes: - - cluster.baremetal-mcp-pike-common-ha.infra - - cluster.baremetal-mcp-pike-odl-ha.openstack + - cluster.mcp-pike-common-ha.openstack_init parameters: _param: - cluster_name: baremetal-mcp-pike-odl-ha + neutron_tenant_network_types: "flat,vlan" + neutron_tenant_vlan_range: ${_param:opnfv_net_tenant_vlan} diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-dpdk-ha/infra/config.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/openstack/message_queue.yml index 3b7ba99e0..f15e4310a 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-dpdk-ha/infra/config.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/openstack/message_queue.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -7,6 +7,6 @@ ############################################################################## --- classes: - - cluster.baremetal-mcp-pike-common-ha.infra.config - - cluster.baremetal-mcp-pike-ovs-dpdk-ha.infra - - cluster.baremetal-mcp-pike-ovs-dpdk-ha.infra.config_pdf + - cluster.mcp-pike-common-ha.openstack_interface_vcp_biport + - cluster.mcp-pike-common-ha.openstack_message_queue + - cluster.mcp-pike-ovs-dpdk-ha.infra.init_vcp diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/openstack/proxy.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/openstack/proxy.yml new file mode 100644 index 000000000..09eda53c0 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/openstack/proxy.yml @@ -0,0 +1,12 @@ +############################################################################## +# 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-pike-common-ha.openstack_interface_vcp_triport + - cluster.mcp-pike-common-ha.openstack_proxy + - cluster.mcp-pike-ovs-dpdk-ha.infra.init_vcp diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/openstack/telemetry.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/openstack/telemetry.yml new file mode 100644 index 000000000..68d437864 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/openstack/telemetry.yml @@ -0,0 +1,12 @@ +############################################################################## +# 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-pike-common-ha.openstack_interface_vcp_biport + - cluster.mcp-pike-common-ha.openstack_telemetry + - cluster.mcp-pike-ovs-dpdk-ha.infra.init_vcp diff --git a/mcp/reclass/classes/cluster/virtual-mcp-pike-ovs-dpdk-noha/infra/config.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-noha/infra/config.yml index e80c442ef..baf072fd8 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-pike-ovs-dpdk-noha/infra/config.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-noha/infra/config.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -8,21 +8,14 @@ --- classes: - system.reclass.storage.system.openstack_gateway_single - - cluster.virtual-mcp-pike-common-noha.infra.config - - cluster.virtual-mcp-pike-ovs-dpdk-noha + - cluster.mcp-pike-common-noha.infra.config + - cluster.mcp-pike-ovs-dpdk-noha + - cluster.all-mcp-arch-common.infra.config_dpdk_pdf parameters: reclass: storage: node: - openstack_compute_node01: - params: - dpdk0_name: ${_param:opnfv_fn_vm_tertiary_interface} - dpdk0_pci: '"0000:00:05.0"' - openstack_compute_node02: - params: - dpdk0_name: ${_param:opnfv_fn_vm_tertiary_interface} - dpdk0_pci: '"0000:00:05.0"' openstack_gateway_node01: params: - tenant_address: 10.1.0.110 - external_address: 10.16.0.110 + tenant_address: ${_param:opnfv_openstack_gateway_node01_tenant_address} + external_address: ${_param:opnfv_openstack_gateway_node01_external_address} diff --git a/mcp/reclass/classes/cluster/virtual-mcp-pike-ovs-noha/infra/init.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-noha/infra/init.yml index 0f21b9161..d8cb01596 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-pike-ovs-noha/infra/init.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-noha/infra/init.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -7,8 +7,8 @@ ############################################################################## --- classes: - - cluster.virtual-mcp-pike-common-noha.infra + - cluster.mcp-pike-common-noha.infra parameters: _param: - cluster_name: virtual-mcp-pike-ovs-noha + cluster_name: mcp-pike-ovs-dpdk-noha diff --git a/mcp/reclass/classes/cluster/virtual-mcp-pike-ovn-noha/init.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-noha/init.yml index 0fd6fa790..8d3a7a588 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-pike-ovn-noha/init.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-noha/init.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -8,7 +8,6 @@ --- classes: - system.linux.system.single - - cluster.all-mcp-arch-common - - cluster.virtual-mcp-pike-common-noha.init_options - - cluster.virtual-mcp-pike-ovn-noha.infra - - cluster.virtual-mcp-pike-ovn-noha.openstack + - cluster.mcp-pike-common-noha.init_options + - cluster.mcp-pike-ovs-dpdk-noha.infra + - cluster.mcp-pike-ovs-dpdk-noha.openstack diff --git a/mcp/reclass/classes/cluster/virtual-mcp-pike-ovs-dpdk-noha/openstack/compute.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-noha/openstack/compute.yml index c59cdaade..53ba74592 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-pike-ovs-dpdk-noha/openstack/compute.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-noha/openstack/compute.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -10,8 +10,8 @@ classes: - system.nova.compute.nfv.hugepages - system.neutron.compute.nfv.dpdk - service.neutron.compute.single - - cluster.virtual-mcp-pike-common-noha.openstack_compute - - cluster.virtual-mcp-pike-ovs-dpdk-noha + - cluster.mcp-pike-common-noha.openstack_compute + - cluster.mcp-pike-ovs-dpdk-noha parameters: neutron: compute: @@ -23,11 +23,13 @@ parameters: dpdk0: name: ${_param:dpdk0_name} pci: ${_param:dpdk0_pci} - driver: igb_uio + driver: ${_param:dpdk0_driver} enabled: true bridge: br-prv type: dpdk_ovs_port - n_rxq: 2 + n_rxq: ${_param:dpdk0_n_rxq} br-prv: enabled: true type: dpdk_ovs_bridge + tenant_interface: + type: dpdk # Not a meaningful type, just match 'dpdk' for filtering diff --git a/mcp/reclass/classes/cluster/virtual-mcp-pike-ovs-dpdk-noha/openstack/control.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-noha/openstack/control.yml index 4dbaae829..4be308d0e 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-pike-ovs-dpdk-noha/openstack/control.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-noha/openstack/control.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -8,10 +8,10 @@ --- classes: - system.neutron.control.openvswitch.single - - cluster.virtual-mcp-pike-common-noha.openstack_control - - cluster.virtual-mcp-pike-ovs-dpdk-noha + - cluster.mcp-pike-common-noha.openstack_control + - cluster.mcp-pike-ovs-dpdk-noha parameters: neutron: server: backend: - tenant_vlan_range: 1000:1999 + tenant_vlan_range: ${_param:opnfv_net_tenant_vlan} diff --git a/mcp/reclass/classes/cluster/virtual-mcp-pike-ovs-dpdk-noha/openstack/gateway.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-noha/openstack/gateway.yml index ec943a857..e7c077528 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-pike-ovs-dpdk-noha/openstack/gateway.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-noha/openstack/gateway.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -7,9 +7,9 @@ ############################################################################## --- classes: - - cluster.virtual-mcp-pike-common-noha.openstack_gateway + - cluster.mcp-pike-common-noha.openstack_gateway - service.neutron.gateway.single - - cluster.virtual-mcp-pike-ovs-dpdk-noha + - cluster.mcp-pike-ovs-dpdk-noha parameters: neutron: gateway: diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-noha/openstack/init.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-noha/openstack/init.yml new file mode 100644 index 000000000..9ef4b1b31 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-noha/openstack/init.yml @@ -0,0 +1,13 @@ +############################################################################## +# 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-pike-common-noha.openstack_init +parameters: + _param: + neutron_tenant_network_types: "flat,vlan" diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/infra/config.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/infra/config.yml new file mode 100644 index 000000000..cab196d12 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/infra/config.yml @@ -0,0 +1,12 @@ +############################################################################## +# 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-pike-common-ha.infra.config + - cluster.mcp-pike-ovs-ha.infra + - cluster.all-mcp-arch-common.infra.config_pdf diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/infra/init.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/infra/init.yml new file mode 100644 index 000000000..c0c873c00 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/infra/init.yml @@ -0,0 +1,14 @@ +############################################################################## +# 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-pike-common-ha.infra + - cluster.mcp-pike-ovs-ha.openstack +parameters: + _param: + cluster_name: mcp-pike-ovs-ha diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/infra/init_vcp.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/infra/init_vcp.yml.j2 new file mode 100644 index 000000000..74023ce14 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/infra/init_vcp.yml.j2 @@ -0,0 +1,12 @@ +############################################################################## +# 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 +############################################################################## +--- +{%- if conf.MCP_VCP %} +classes: + - cluster.mcp-pike-ovs-ha.infra +{%- endif %} diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-ha/openstack/message_queue.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/infra/kvm.yml.j2 index 745fd6fd8..0d49e5d10 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-ha/openstack/message_queue.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/infra/kvm.yml.j2 @@ -1,12 +1,14 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 ############################################################################## --- +{%- if conf.MCP_VCP %} +# NOTE(armband): we don't want to pull in salt.control for novcp classes: - - cluster.baremetal-mcp-pike-common-ha.openstack_interface_vcp_biport - - cluster.baremetal-mcp-pike-common-ha.openstack_message_queue - - cluster.baremetal-mcp-pike-ovs-ha + - cluster.mcp-pike-common-ha.infra.kvm + - cluster.mcp-pike-ovs-ha.infra +{%- endif %} diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/infra/maas.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/infra/maas.yml new file mode 100644 index 000000000..d0aabd90f --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/infra/maas.yml @@ -0,0 +1,11 @@ +############################################################################## +# 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-pike-common-ha.infra.maas + - cluster.mcp-pike-ovs-ha.infra diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/init.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/init.yml new file mode 100644 index 000000000..a603c8450 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/init.yml @@ -0,0 +1,12 @@ +############################################################################## +# 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.all-mcp-arch-common + - cluster.mcp-pike-ovs-ha.infra + - cluster.mcp-pike-ovs-ha.openstack diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-ha/infra/init.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/compute.yml index 2f62c0165..fa815e8be 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-ovs-ha/infra/init.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/compute.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -7,8 +7,11 @@ ############################################################################## --- classes: - - cluster.baremetal-mcp-pike-common-ha.infra - - cluster.baremetal-mcp-pike-ovs-ha.openstack + - cluster.mcp-pike-common-ha.openstack_compute + - cluster.mcp-pike-ovs-ha.openstack.compute_pdf + - cluster.mcp-pike-ovs-ha.infra parameters: - _param: - cluster_name: baremetal-mcp-pike-ovs-ha + nova: + compute: + libvirt_service: libvirtd + libvirt_bin: /etc/default/libvirtd diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/compute_pdf.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/compute_pdf.yml.j2 new file mode 100644 index 000000000..912537f8f --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/compute_pdf.yml.j2 @@ -0,0 +1,49 @@ +############################################################################## +# 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 %} +{#- Filter-out NIC duplicates by constructing a dict (used NICs only) #} +{%- set nics = { nm.cmp001.nic_private: True } %} +{%- set vlan_private_start = nm.vlan_private.rsplit('-')[0] %} +{%- set vlans = { vlan_private_start: nm.cmp001.nic_private } %} +--- +parameters: + linux: + network: + interface: +{%- for nic in nics %} + {{ nic }}: + enabled: true + type: eth + {%- if nic == nm.cmp001.nic_admin %} + proto: dhcp + {%- else %} + proto: manual + {%- endif %} + name: {{ nic }} +{%- endfor %} + +{%- for vlan in vlans %} + {%- if vlan | int > 0 %} + {{ vlans[vlan] }}.{{ vlan }}: + enabled: true + proto: manual + type: vlan + name: {{ vlans[vlan] }}.{{ vlan }} + use_interfaces: + - {{ vlans[vlan] }} + {%- endif %} +{%- endfor %} + + br-mesh: + enabled: true + type: bridge + address: ${_param:tenant_address} + netmask: 255.255.255.0 + mtu: 1500 + use_interfaces: + - {{ nm.cmp001.nic_private }}{% if vlan_private_start | int > 0 %}.{{ vlan_private_start }}{% endif %} diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/openstack/database.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/control.yml index 8585c6915..a70a8a07f 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/openstack/database.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/control.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -7,6 +7,7 @@ ############################################################################## --- classes: - - cluster.baremetal-mcp-pike-common-ha.openstack_interface_vcp_biport - - cluster.baremetal-mcp-pike-common-ha.openstack_database - - cluster.baremetal-mcp-pike-odl-ha + - system.neutron.control.openvswitch.cluster + - cluster.mcp-pike-common-ha.openstack_interface_vcp_biport + - cluster.mcp-pike-common-ha.openstack_control + - cluster.mcp-pike-ovs-ha.infra diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/database.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/database.yml new file mode 100644 index 000000000..33c86e8c1 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/database.yml @@ -0,0 +1,12 @@ +############################################################################## +# 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-pike-common-ha.openstack_interface_vcp_biport + - cluster.mcp-pike-common-ha.openstack_database + - cluster.mcp-pike-ovs-ha.infra.init_vcp diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/init.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/init.yml new file mode 100644 index 000000000..02cd14adb --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/init.yml @@ -0,0 +1,13 @@ +############################################################################## +# 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-pike-common-ha.openstack_init +parameters: + _param: + neutron_tenant_network_types: "flat,vxlan" diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/message_queue.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/message_queue.yml new file mode 100644 index 000000000..629b2794b --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/message_queue.yml @@ -0,0 +1,12 @@ +############################################################################## +# 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-pike-common-ha.openstack_interface_vcp_biport + - cluster.mcp-pike-common-ha.openstack_message_queue + - cluster.mcp-pike-ovs-ha.infra.init_vcp diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/proxy.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/proxy.yml new file mode 100644 index 000000000..3698965f6 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/proxy.yml @@ -0,0 +1,12 @@ +############################################################################## +# 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-pike-common-ha.openstack_interface_vcp_triport + - cluster.mcp-pike-common-ha.openstack_proxy + - cluster.mcp-pike-ovs-ha.infra.init_vcp diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/telemetry.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/telemetry.yml new file mode 100644 index 000000000..26341ea7b --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/telemetry.yml @@ -0,0 +1,12 @@ +############################################################################## +# 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-pike-common-ha.openstack_interface_vcp_biport + - cluster.mcp-pike-common-ha.openstack_telemetry + - cluster.mcp-pike-ovs-ha.infra.init_vcp diff --git a/mcp/reclass/classes/cluster/virtual-mcp-pike-ovs-noha/infra/config.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-noha/infra/config.yml index 66c246859..4f7428207 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-pike-ovs-noha/infra/config.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-noha/infra/config.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -8,13 +8,14 @@ --- classes: - system.reclass.storage.system.openstack_gateway_single - - cluster.virtual-mcp-pike-common-noha.infra.config - - cluster.virtual-mcp-pike-ovs-noha + - cluster.mcp-pike-common-noha.infra.config + - cluster.mcp-pike-ovs-noha + - cluster.all-mcp-arch-common.infra.config_pdf parameters: reclass: storage: node: openstack_gateway_node01: params: - tenant_address: 10.1.0.110 - external_address: 10.16.0.110 + tenant_address: ${_param:opnfv_openstack_gateway_node01_tenant_address} + external_address: ${_param:opnfv_openstack_gateway_node01_external_address} diff --git a/mcp/reclass/classes/cluster/virtual-mcp-pike-ovs-dpdk-noha/infra/init.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-noha/infra/init.yml index 50676fc2c..54b50d2a8 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-pike-ovs-dpdk-noha/infra/init.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-noha/infra/init.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -7,8 +7,8 @@ ############################################################################## --- classes: - - cluster.virtual-mcp-pike-common-noha.infra + - cluster.mcp-pike-common-noha.infra parameters: _param: - cluster_name: virtual-mcp-pike-ovs-dpdk-noha + cluster_name: mcp-pike-ovs-noha diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovs-noha/init.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-noha/init.yml new file mode 100644 index 000000000..94267fad4 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-noha/init.yml @@ -0,0 +1,13 @@ +############################################################################## +# 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.linux.system.single + - cluster.mcp-pike-common-noha.init_options + - cluster.mcp-pike-ovs-noha.infra + - cluster.mcp-pike-ovs-noha.openstack diff --git a/mcp/reclass/classes/cluster/virtual-mcp-pike-ovs-noha/openstack/compute.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-noha/openstack/compute.yml index 52edf879f..1a8bbd801 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-pike-ovs-noha/openstack/compute.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-noha/openstack/compute.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -8,8 +8,8 @@ --- classes: - service.neutron.compute.single - - cluster.virtual-mcp-pike-common-noha.openstack_compute - - cluster.virtual-mcp-pike-ovs-noha + - cluster.mcp-pike-common-noha.openstack_compute + - cluster.mcp-pike-ovs-noha parameters: linux: network: diff --git a/mcp/reclass/classes/cluster/virtual-mcp-pike-ovs-noha/openstack/control.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-noha/openstack/control.yml index 4e03c4b7e..9b699b6b1 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-pike-ovs-noha/openstack/control.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-noha/openstack/control.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -8,5 +8,5 @@ --- classes: - system.neutron.control.openvswitch.single - - cluster.virtual-mcp-pike-common-noha.openstack_control - - cluster.virtual-mcp-pike-ovs-noha + - cluster.mcp-pike-common-noha.openstack_control + - cluster.mcp-pike-ovs-noha diff --git a/mcp/reclass/classes/cluster/virtual-mcp-pike-ovs-noha/openstack/gateway.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-noha/openstack/gateway.yml index 0eec95cc4..ff0b79a1f 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-pike-ovs-noha/openstack/gateway.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-noha/openstack/gateway.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# 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 @@ -7,9 +7,9 @@ ############################################################################## --- classes: - - cluster.virtual-mcp-pike-common-noha.openstack_gateway + - cluster.mcp-pike-common-noha.openstack_gateway - service.neutron.gateway.single - - cluster.virtual-mcp-pike-ovs-noha + - cluster.mcp-pike-ovs-noha parameters: linux: network: diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovs-noha/openstack/init.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-noha/openstack/init.yml new file mode 100644 index 000000000..e94c4a00d --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-noha/openstack/init.yml @@ -0,0 +1,13 @@ +############################################################################## +# 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-pike-common-noha.openstack_init +parameters: + _param: + neutron_tenant_network_types: "flat,vxlan" diff --git a/mcp/reclass/classes/cluster/virtual-mcp-pike-ovs-dpdk-noha/init.yml b/mcp/reclass/classes/cluster/virtual-mcp-pike-ovs-dpdk-noha/init.yml deleted file mode 100644 index 07e3ef2ca..000000000 --- a/mcp/reclass/classes/cluster/virtual-mcp-pike-ovs-dpdk-noha/init.yml +++ /dev/null @@ -1,14 +0,0 @@ -############################################################################## -# Copyright (c) 2017 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.linux.system.single - - cluster.all-mcp-arch-common - - cluster.virtual-mcp-pike-common-noha.init_options - - cluster.virtual-mcp-pike-ovs-dpdk-noha.infra - - cluster.virtual-mcp-pike-ovs-dpdk-noha.openstack diff --git a/mcp/reclass/classes/cluster/virtual-mcp-pike-ovs-dpdk-noha/openstack/init.yml b/mcp/reclass/classes/cluster/virtual-mcp-pike-ovs-dpdk-noha/openstack/init.yml deleted file mode 100644 index 5445a07ea..000000000 --- a/mcp/reclass/classes/cluster/virtual-mcp-pike-ovs-dpdk-noha/openstack/init.yml +++ /dev/null @@ -1,21 +0,0 @@ -############################################################################## -# Copyright (c) 2017 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.virtual-mcp-pike-common-noha.openstack_init -parameters: - _param: - neutron_tenant_network_types: "flat,vlan" - compute_hugepages_size: 2M - compute_hugepages_count: 2048 - compute_hugepages_mount: /mnt/hugepages_2M - compute_dpdk_driver: uio - compute_ovs_pmd_cpu_mask: "0x6" - compute_ovs_dpdk_socket_mem: "1024" - compute_ovs_dpdk_lcore_mask: "0x8" - compute_ovs_memory_channels: "2" diff --git a/mcp/reclass/classes/cluster/virtual-mcp-pike-ovs-noha/init.yml b/mcp/reclass/classes/cluster/virtual-mcp-pike-ovs-noha/init.yml deleted file mode 100644 index b29ac95ca..000000000 --- a/mcp/reclass/classes/cluster/virtual-mcp-pike-ovs-noha/init.yml +++ /dev/null @@ -1,14 +0,0 @@ -############################################################################## -# Copyright (c) 2017 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.linux.system.single - - cluster.all-mcp-arch-common - - cluster.virtual-mcp-pike-common-noha.init_options - - cluster.virtual-mcp-pike-ovs-noha.infra - - cluster.virtual-mcp-pike-ovs-noha.openstack |