From 6acecf3b104a072c60d071364344b9ff04994168 Mon Sep 17 00:00:00 2001 From: Alexandru Avadanii Date: Thu, 1 Feb 2018 00:28:17 +0100 Subject: [baremetal] Rename all to drop baremetal prefix A few things differ between baremetal and virtual nodes: - provisioning method; - network setup; Since now we support completely dynamic network config based on PDF + IDF, as well as dynamic provisioning of VMs on jumpserver (as virtual cluster nodes), respectively MaaS-driven baremetal provisioning, let's drop the 'baremetal-' prefix from cluster model names and prepare for unified scenarios. Note that some limitations still apply, e.g. virtual nodes are spawned only on jumpserver (localhost) for now. JIRA: FUEL-310 Change-Id: If20077ac37c6f15961468abc58db7e16f2c29260 Signed-off-by: Alexandru Avadanii --- .../cluster/mcp-pike-odl-ha/infra/config.yml | 22 ++++++++++ .../classes/cluster/mcp-pike-odl-ha/infra/init.yml | 14 +++++++ .../classes/cluster/mcp-pike-odl-ha/infra/kvm.yml | 29 +++++++++++++ .../classes/cluster/mcp-pike-odl-ha/infra/maas.yml | 11 +++++ .../classes/cluster/mcp-pike-odl-ha/init.yml | 12 ++++++ .../mcp-pike-odl-ha/opendaylight/control.yml | 30 ++++++++++++++ .../cluster/mcp-pike-odl-ha/openstack/compute.yml | 31 ++++++++++++++ .../mcp-pike-odl-ha/openstack/compute_pdf.yml.j2 | 48 ++++++++++++++++++++++ .../cluster/mcp-pike-odl-ha/openstack/control.yml | 18 ++++++++ .../cluster/mcp-pike-odl-ha/openstack/database.yml | 12 ++++++ .../cluster/mcp-pike-odl-ha/openstack/init.yml | 32 +++++++++++++++ .../mcp-pike-odl-ha/openstack/message_queue.yml | 12 ++++++ .../cluster/mcp-pike-odl-ha/openstack/proxy.yml | 40 ++++++++++++++++++ .../mcp-pike-odl-ha/openstack/telemetry.yml | 12 ++++++ 14 files changed, 323 insertions(+) create mode 100644 mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/config.yml create mode 100644 mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/init.yml create mode 100644 mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/kvm.yml create mode 100644 mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/maas.yml create mode 100644 mcp/reclass/classes/cluster/mcp-pike-odl-ha/init.yml create mode 100644 mcp/reclass/classes/cluster/mcp-pike-odl-ha/opendaylight/control.yml create mode 100644 mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/compute.yml create mode 100644 mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/compute_pdf.yml.j2 create mode 100644 mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/control.yml create mode 100644 mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/database.yml create mode 100644 mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/init.yml create mode 100644 mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/message_queue.yml create mode 100644 mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/proxy.yml create mode 100644 mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/telemetry.yml (limited to 'mcp/reclass/classes/cluster/mcp-pike-odl-ha') diff --git a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/config.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/config.yml new file mode 100644 index 000000000..15f8f056f --- /dev/null +++ b/mcp/reclass/classes/cluster/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.mcp-pike-common-ha.infra.config + - cluster.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/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..08303b9ac --- /dev/null +++ b/mcp/reclass/classes/cluster/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.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/mcp-pike-odl-ha/infra/kvm.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/kvm.yml new file mode 100644 index 000000000..536963c00 --- /dev/null +++ b/mcp/reclass/classes/cluster/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.mcp-pike-common-ha.infra.kvm + - cluster.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_node02_hostname}.${_param:cluster_domain} + image: ${_param:salt_control_xenial_image} + size: opendaylight.server 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..3fea28943 --- /dev/null +++ b/mcp/reclass/classes/cluster/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.mcp-pike-common-ha.infra.maas + - cluster.mcp-pike-odl-ha.infra diff --git a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/init.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/init.yml new file mode 100644 index 000000000..add207769 --- /dev/null +++ b/mcp/reclass/classes/cluster/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.mcp-pike-odl-ha.infra + - cluster.mcp-pike-odl-ha.openstack diff --git a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/opendaylight/control.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/opendaylight/control.yml new file mode 100644 index 000000000..9e38d4adb --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/opendaylight/control.yml @@ -0,0 +1,30 @@ +############################################################################## +# 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.mcp-pike-common-ha.openstack_interface_vcp_biport + - cluster.mcp-pike-odl-ha +parameters: + _param: + linux_system_codename: xenial + 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/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..8fd376997 --- /dev/null +++ b/mcp/reclass/classes/cluster/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.mcp-pike-common-ha.openstack_compute + - cluster.mcp-pike-odl-ha.openstack.compute_pdf + - cluster.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/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..4e0f7d147 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/compute_pdf.yml.j2 @@ -0,0 +1,48 @@ +############################################################################## +# 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 vlans = { nm.vlan_private: 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 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: + - {{ nm.cmp001.nic_private }}{% if nm.vlan_private and nm.vlan_private != 'native' %}.{{ nm.vlan_private }}{% endif %} diff --git a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/control.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/control.yml new file mode 100644 index 000000000..0b40e613c --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/control.yml @@ -0,0 +1,18 @@ +############################################################################## +# 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.mcp-pike-common-ha.openstack_interface_vcp_biport + - cluster.mcp-pike-common-ha.openstack_control + - cluster.mcp-pike-odl-ha.infra +parameters: + neutron: + server: + backend: + router: ${_param:opendaylight_router} 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..732c4c799 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/database.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.mcp-pike-common-ha.openstack_interface_vcp_biport + - cluster.mcp-pike-common-ha.openstack_database + - cluster.mcp-pike-odl-ha diff --git a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/init.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/init.yml new file mode 100644 index 000000000..7820a0140 --- /dev/null +++ b/mcp/reclass/classes/cluster/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.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/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..59bd52765 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/message_queue.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.mcp-pike-common-ha.openstack_interface_vcp_biport + - cluster.mcp-pike-common-ha.openstack_message_queue + - cluster.mcp-pike-odl-ha diff --git a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/proxy.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/proxy.yml new file mode 100644 index 000000000..287617774 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/proxy.yml @@ -0,0 +1,40 @@ +############################################################################## +# 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.mcp-pike-common-ha.openstack_interface_vcp_triport + - cluster.mcp-pike-common-ha.openstack_proxy + - cluster.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/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..b0dff05ef --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/telemetry.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.mcp-pike-common-ha.openstack_interface_vcp_biport + - cluster.mcp-pike-common-ha.openstack_telemetry + - cluster.mcp-pike-odl-ha.infra -- cgit 1.2.3-korg