diff options
Diffstat (limited to 'mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha')
14 files changed, 354 insertions, 0 deletions
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/infra/config.yml b/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/infra/config.yml new file mode 100644 index 000000000..d9f723a7c --- /dev/null +++ b/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/infra/config.yml @@ -0,0 +1,22 @@ +############################################################################## +# 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.reclass.storage.system.opendaylight_control_single + - cluster.baremetal-mcp-pike-common-ha.infra.config + - cluster.baremetal-mcp-pike-odl-ha.infra +parameters: + reclass: + storage: + node: + opendaylight_control_node01: + classes: + - cluster.${_param:cluster_name}.opendaylight.control + params: + linux_system_codename: xenial + single_address: ${_param:opendaylight_server_node01_single_address} diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/infra/init.yml b/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/infra/init.yml new file mode 100644 index 000000000..014c57ffa --- /dev/null +++ b/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/infra/init.yml @@ -0,0 +1,14 @@ +############################################################################## +# 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 + - cluster.baremetal-mcp-pike-odl-ha.openstack +parameters: + _param: + cluster_name: baremetal-mcp-pike-odl-ha diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/infra/kvm.yml b/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/infra/kvm.yml new file mode 100644 index 000000000..6bcc72dc8 --- /dev/null +++ b/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/infra/kvm.yml @@ -0,0 +1,29 @@ +############################################################################## +# 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.kvm + - cluster.baremetal-mcp-pike-odl-ha.infra +parameters: + salt: + control: + size: # RAM 4096,8192,16384,32768,65536 + # Default production sizing + opendaylight.server: + cpu: 4 + ram: 6144 + disk_profile: small + net_profile: default + cluster: + internal: + node: + odl01: + name: ${_param:opendaylight_server_node01_hostname} + provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain} + image: ${_param:salt_control_xenial_image} + size: opendaylight.server diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/infra/maas.yml b/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/infra/maas.yml new file mode 100644 index 000000000..f58e632c7 --- /dev/null +++ b/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/infra/maas.yml @@ -0,0 +1,11 @@ +############################################################################## +# 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-odl-ha.infra diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/init.yml b/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/init.yml new file mode 100644 index 000000000..e0d15e607 --- /dev/null +++ b/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/init.yml @@ -0,0 +1,12 @@ +############################################################################## +# 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.all-mcp-arch-common + - cluster.baremetal-mcp-pike-odl-ha.infra + - cluster.baremetal-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/baremetal-mcp-pike-odl-ha/opendaylight/control.yml new file mode 100644 index 000000000..3bb4266ea --- /dev/null +++ b/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/opendaylight/control.yml @@ -0,0 +1,35 @@ +############################################################################## +# 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.opendaylight.server.single + - cluster.baremetal-mcp-pike-odl-ha +parameters: + _param: + linux_system_codename: xenial + dhcp_nic: ${_param:opnfv_vcp_vm_primary_interface} + single_nic: ${_param:opnfv_vcp_vm_secondary_interface} + linux: + network: + interface: + single: ${_param:linux_single_interface} + opendaylight: + server: + odl_bind_ip: ${_param:single_address} + odl_rest_port: 8282 + java_min_mem: 4g + java_max_mem: 4g + 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/baremetal-mcp-pike-odl-ha/openstack/compute.yml b/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/openstack/compute.yml new file mode 100644 index 000000000..473b3ff48 --- /dev/null +++ b/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/openstack/compute.yml @@ -0,0 +1,31 @@ +############################################################################## +# 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 new file mode 100644 index 000000000..7809bd8c8 --- /dev/null +++ b/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/openstack/compute_pdf.yml.j2 @@ -0,0 +1,79 @@ +############################################################################## +# 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.net_config is defined and conf.idf 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['net_config']['admin']['interface'] -%} + {%- set idx_mgmt = conf['net_config']['mgmt']['interface'] -%} + {%- set idx_private = conf['net_config']['private']['interface'] -%} + {%- set idx_public = conf['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['net_config']['admin']['vlan'] -%} + {%- set vlan_mgmt = conf['net_config']['mgmt']['vlan'] -%} + {%- set vlan_private = conf['net_config']['private']['vlan'] -%} + {%- set vlan_public = conf['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 + proto: manual + 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/control.yml b/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/openstack/control.yml new file mode 100644 index 000000000..fd89a4fc2 --- /dev/null +++ b/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/openstack/control.yml @@ -0,0 +1,17 @@ +############################################################################## +# 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.neutron.control.opendaylight.cluster + - cluster.baremetal-mcp-pike-common-ha.openstack_control + - cluster.baremetal-mcp-pike-odl-ha.infra +parameters: + neutron: + server: + backend: + router: ${_param:opendaylight_router} diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/openstack/database.yml b/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/openstack/database.yml new file mode 100644 index 000000000..18cc777a5 --- /dev/null +++ b/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/openstack/database.yml @@ -0,0 +1,11 @@ +############################################################################## +# 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_database + - cluster.baremetal-mcp-pike-odl-ha diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/openstack/init.yml b/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/openstack/init.yml new file mode 100644 index 000000000..0859dc9f0 --- /dev/null +++ b/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/openstack/init.yml @@ -0,0 +1,32 @@ +############################################################################## +# 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: + # 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} + linux: + network: + host: + odl01: + address: ${_param:opendaylight_service_host} + names: + - ${_param:opendaylight_server_node01_hostname} + - ${_param:opendaylight_server_node01_hostname}.${_param:cluster_domain} diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/openstack/message_queue.yml b/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/openstack/message_queue.yml new file mode 100644 index 000000000..ad0836577 --- /dev/null +++ b/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/openstack/message_queue.yml @@ -0,0 +1,11 @@ +############################################################################## +# 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_message_queue + - cluster.baremetal-mcp-pike-odl-ha diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/openstack/proxy.yml b/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/openstack/proxy.yml new file mode 100644 index 000000000..1b329354a --- /dev/null +++ b/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/openstack/proxy.yml @@ -0,0 +1,39 @@ +############################################################################## +# 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_proxy + - cluster.baremetal-mcp-pike-odl-ha.infra +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 + name: opendaylight_rest + check: false + proxy: + host: ${_param:opendaylight_service_host} + port: 8282 + protocol: http + host: + name: ${_param:nginx_proxy_openstack_api_host} + port: 8282 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 new file mode 100644 index 000000000..0eed90823 --- /dev/null +++ b/mcp/reclass/classes/cluster/baremetal-mcp-pike-odl-ha/openstack/telemetry.yml @@ -0,0 +1,11 @@ +############################################################################## +# 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_telemetry + - cluster.baremetal-mcp-pike-odl-ha.infra |