From bf341b7e0d7e423044827f379e4b180e9dc897a1 Mon Sep 17 00:00:00 2001 From: Michael Polenchuk Date: Thu, 7 Jun 2018 17:19:27 +0400 Subject: [ha] Update OpenStack version to Queens * make cluster names version-agnostic * switch to mirror.mirantis.com * system reclass update Change-Id: I96394b3c9d8d38321289af8e3a4e8bbc5dd7a408 Signed-off-by: Michael Polenchuk --- mcp/reclass/classes/cluster/.gitignore | 32 +- .../mcp-common-ha/include/lab_proxy_pdf.yml.j2 | 25 ++ .../cluster/mcp-common-ha/include/maas_proxy.yml | 25 ++ .../classes/cluster/mcp-common-ha/infra/config.yml | 173 +++++++++ .../cluster/mcp-common-ha/infra/init.yml.j2 | 112 ++++++ .../classes/cluster/mcp-common-ha/infra/kvm.yml | 160 +++++++++ .../cluster/mcp-common-ha/infra/kvm_pdf.yml.j2 | 66 ++++ .../classes/cluster/mcp-common-ha/infra/maas.yml | 69 ++++ .../cluster/mcp-common-ha/infra/maas_pdf.yml.j2 | 94 +++++ .../cluster/mcp-common-ha/openstack_compute.yml | 73 ++++ .../mcp-common-ha/openstack_compute_pdf.yml.j2 | 93 +++++ .../cluster/mcp-common-ha/openstack_control.yml.j2 | 175 +++++++++ .../mcp-common-ha/openstack_control_init.yml | 35 ++ .../cluster/mcp-common-ha/openstack_database.yml | 38 ++ .../mcp-common-ha/openstack_database_init.yml | 10 + .../cluster/mcp-common-ha/openstack_init.yml.j2 | 399 +++++++++++++++++++++ .../openstack_interface_vcp_biport.yml.j2 | 32 ++ .../openstack_interface_vcp_triport.yml.j2 | 45 +++ .../mcp-common-ha/openstack_message_queue.yml | 24 ++ .../cluster/mcp-common-ha/openstack_proxy.yml.j2 | 99 +++++ .../cluster/mcp-common-ha/openstack_telemetry.yml | 87 +++++ .../classes/cluster/mcp-odl-ha/infra/config.yml | 23 ++ .../classes/cluster/mcp-odl-ha/infra/init.yml | 14 + .../cluster/mcp-odl-ha/infra/init_vcp.yml.j2 | 12 + .../classes/cluster/mcp-odl-ha/infra/kvm.yml.j2 | 32 ++ .../classes/cluster/mcp-odl-ha/infra/maas.yml.j2 | 22 ++ mcp/reclass/classes/cluster/mcp-odl-ha/init.yml | 12 + .../cluster/mcp-odl-ha/opendaylight/control.yml.j2 | 30 ++ .../cluster/mcp-odl-ha/openstack/compute.yml | 17 + .../mcp-odl-ha/openstack/compute_pdf.yml.j2 | 49 +++ .../cluster/mcp-odl-ha/openstack/control.yml | 21 ++ .../cluster/mcp-odl-ha/openstack/database.yml | 12 + .../cluster/mcp-odl-ha/openstack/init.yml.j2 | 26 ++ .../cluster/mcp-odl-ha/openstack/message_queue.yml | 12 + .../classes/cluster/mcp-odl-ha/openstack/proxy.yml | 28 ++ .../cluster/mcp-odl-ha/openstack/telemetry.yml | 12 + .../classes/cluster/mcp-ovn-ha/infra/config.yml | 12 + .../classes/cluster/mcp-ovn-ha/infra/init.yml | 14 + .../cluster/mcp-ovn-ha/infra/init_vcp.yml.j2 | 12 + .../classes/cluster/mcp-ovn-ha/infra/kvm.yml.j2 | 14 + .../classes/cluster/mcp-ovn-ha/infra/maas.yml | 11 + mcp/reclass/classes/cluster/mcp-ovn-ha/init.yml | 12 + .../cluster/mcp-ovn-ha/openstack/compute.yml | 17 + .../mcp-ovn-ha/openstack/compute_pdf.yml.j2 | 49 +++ .../cluster/mcp-ovn-ha/openstack/control.yml | 13 + .../cluster/mcp-ovn-ha/openstack/database.yml | 12 + .../classes/cluster/mcp-ovn-ha/openstack/init.yml | 13 + .../cluster/mcp-ovn-ha/openstack/message_queue.yml | 12 + .../classes/cluster/mcp-ovn-ha/openstack/proxy.yml | 12 + .../cluster/mcp-ovn-ha/openstack/telemetry.yml | 12 + .../cluster/mcp-ovs-dpdk-ha/infra/config.yml | 12 + .../classes/cluster/mcp-ovs-dpdk-ha/infra/init.yml | 19 + .../cluster/mcp-ovs-dpdk-ha/infra/init_vcp.yml.j2 | 12 + .../cluster/mcp-ovs-dpdk-ha/infra/kvm.yml.j2 | 14 + .../classes/cluster/mcp-ovs-dpdk-ha/infra/maas.yml | 11 + .../classes/cluster/mcp-ovs-dpdk-ha/init.yml | 12 + .../cluster/mcp-ovs-dpdk-ha/openstack/compute.yml | 28 ++ .../mcp-ovs-dpdk-ha/openstack/compute_pdf.yml.j2 | 27 ++ .../cluster/mcp-ovs-dpdk-ha/openstack/control.yml | 18 + .../cluster/mcp-ovs-dpdk-ha/openstack/database.yml | 12 + .../cluster/mcp-ovs-dpdk-ha/openstack/init.yml | 14 + .../mcp-ovs-dpdk-ha/openstack/message_queue.yml | 12 + .../cluster/mcp-ovs-dpdk-ha/openstack/proxy.yml | 12 + .../mcp-ovs-dpdk-ha/openstack/telemetry.yml | 12 + .../classes/cluster/mcp-ovs-ha/infra/config.yml | 12 + .../classes/cluster/mcp-ovs-ha/infra/init.yml | 14 + .../cluster/mcp-ovs-ha/infra/init_vcp.yml.j2 | 12 + .../classes/cluster/mcp-ovs-ha/infra/kvm.yml.j2 | 14 + .../classes/cluster/mcp-ovs-ha/infra/maas.yml | 11 + mcp/reclass/classes/cluster/mcp-ovs-ha/init.yml | 12 + .../cluster/mcp-ovs-ha/openstack/compute.yml | 17 + .../mcp-ovs-ha/openstack/compute_pdf.yml.j2 | 49 +++ .../cluster/mcp-ovs-ha/openstack/control.yml | 13 + .../cluster/mcp-ovs-ha/openstack/database.yml | 12 + .../classes/cluster/mcp-ovs-ha/openstack/init.yml | 13 + .../cluster/mcp-ovs-ha/openstack/message_queue.yml | 12 + .../classes/cluster/mcp-ovs-ha/openstack/proxy.yml | 12 + .../cluster/mcp-ovs-ha/openstack/telemetry.yml | 12 + .../include/lab_proxy_pdf.yml.j2 | 25 -- .../mcp-pike-common-ha/include/maas_proxy.yml | 25 -- .../cluster/mcp-pike-common-ha/infra/config.yml | 173 --------- .../cluster/mcp-pike-common-ha/infra/init.yml.j2 | 112 ------ .../cluster/mcp-pike-common-ha/infra/kvm.yml | 160 --------- .../mcp-pike-common-ha/infra/kvm_pdf.yml.j2 | 66 ---- .../cluster/mcp-pike-common-ha/infra/maas.yml | 69 ---- .../mcp-pike-common-ha/infra/maas_pdf.yml.j2 | 94 ----- .../mcp-pike-common-ha/openstack_compute.yml | 73 ---- .../openstack_compute_pdf.yml.j2 | 93 ----- .../mcp-pike-common-ha/openstack_control.yml.j2 | 175 --------- .../mcp-pike-common-ha/openstack_control_init.yml | 18 - .../mcp-pike-common-ha/openstack_database.yml | 38 -- .../mcp-pike-common-ha/openstack_database_init.yml | 10 - .../mcp-pike-common-ha/openstack_init.yml.j2 | 396 -------------------- .../openstack_interface_vcp_biport.yml.j2 | 32 -- .../openstack_interface_vcp_triport.yml.j2 | 45 --- .../mcp-pike-common-ha/openstack_message_queue.yml | 24 -- .../mcp-pike-common-ha/openstack_proxy.yml.j2 | 99 ----- .../mcp-pike-common-ha/openstack_telemetry.yml | 87 ----- .../cluster/mcp-pike-odl-ha/infra/config.yml | 23 -- .../classes/cluster/mcp-pike-odl-ha/infra/init.yml | 14 - .../cluster/mcp-pike-odl-ha/infra/init_vcp.yml.j2 | 12 - .../cluster/mcp-pike-odl-ha/infra/kvm.yml.j2 | 32 -- .../cluster/mcp-pike-odl-ha/infra/maas.yml.j2 | 22 -- .../classes/cluster/mcp-pike-odl-ha/init.yml | 12 - .../mcp-pike-odl-ha/opendaylight/control.yml.j2 | 30 -- .../cluster/mcp-pike-odl-ha/openstack/compute.yml | 17 - .../mcp-pike-odl-ha/openstack/compute_pdf.yml.j2 | 49 --- .../cluster/mcp-pike-odl-ha/openstack/control.yml | 21 -- .../cluster/mcp-pike-odl-ha/openstack/database.yml | 12 - .../cluster/mcp-pike-odl-ha/openstack/init.yml.j2 | 26 -- .../mcp-pike-odl-ha/openstack/message_queue.yml | 12 - .../cluster/mcp-pike-odl-ha/openstack/proxy.yml | 28 -- .../mcp-pike-odl-ha/openstack/telemetry.yml | 12 - .../cluster/mcp-pike-ovn-ha/infra/config.yml | 12 - .../classes/cluster/mcp-pike-ovn-ha/infra/init.yml | 14 - .../cluster/mcp-pike-ovn-ha/infra/init_vcp.yml.j2 | 12 - .../cluster/mcp-pike-ovn-ha/infra/kvm.yml.j2 | 14 - .../classes/cluster/mcp-pike-ovn-ha/infra/maas.yml | 11 - .../classes/cluster/mcp-pike-ovn-ha/init.yml | 12 - .../cluster/mcp-pike-ovn-ha/openstack/compute.yml | 17 - .../mcp-pike-ovn-ha/openstack/compute_pdf.yml.j2 | 49 --- .../cluster/mcp-pike-ovn-ha/openstack/control.yml | 13 - .../cluster/mcp-pike-ovn-ha/openstack/database.yml | 12 - .../cluster/mcp-pike-ovn-ha/openstack/init.yml | 13 - .../mcp-pike-ovn-ha/openstack/message_queue.yml | 12 - .../cluster/mcp-pike-ovn-ha/openstack/proxy.yml | 12 - .../mcp-pike-ovn-ha/openstack/telemetry.yml | 12 - .../cluster/mcp-pike-ovs-dpdk-ha/infra/config.yml | 12 - .../cluster/mcp-pike-ovs-dpdk-ha/infra/init.yml | 19 - .../mcp-pike-ovs-dpdk-ha/infra/init_vcp.yml.j2 | 12 - .../cluster/mcp-pike-ovs-dpdk-ha/infra/kvm.yml.j2 | 14 - .../cluster/mcp-pike-ovs-dpdk-ha/infra/maas.yml | 11 - .../classes/cluster/mcp-pike-ovs-dpdk-ha/init.yml | 12 - .../mcp-pike-ovs-dpdk-ha/openstack/compute.yml | 28 -- .../openstack/compute_pdf.yml.j2 | 27 -- .../mcp-pike-ovs-dpdk-ha/openstack/control.yml | 18 - .../mcp-pike-ovs-dpdk-ha/openstack/database.yml | 12 - .../mcp-pike-ovs-dpdk-ha/openstack/init.yml | 14 - .../openstack/message_queue.yml | 12 - .../mcp-pike-ovs-dpdk-ha/openstack/proxy.yml | 12 - .../mcp-pike-ovs-dpdk-ha/openstack/telemetry.yml | 12 - .../cluster/mcp-pike-ovs-ha/infra/config.yml | 12 - .../classes/cluster/mcp-pike-ovs-ha/infra/init.yml | 14 - .../cluster/mcp-pike-ovs-ha/infra/init_vcp.yml.j2 | 12 - .../cluster/mcp-pike-ovs-ha/infra/kvm.yml.j2 | 14 - .../classes/cluster/mcp-pike-ovs-ha/infra/maas.yml | 11 - .../classes/cluster/mcp-pike-ovs-ha/init.yml | 12 - .../cluster/mcp-pike-ovs-ha/openstack/compute.yml | 17 - .../mcp-pike-ovs-ha/openstack/compute_pdf.yml.j2 | 49 --- .../cluster/mcp-pike-ovs-ha/openstack/control.yml | 13 - .../cluster/mcp-pike-ovs-ha/openstack/database.yml | 12 - .../cluster/mcp-pike-ovs-ha/openstack/init.yml | 13 - .../mcp-pike-ovs-ha/openstack/message_queue.yml | 12 - .../cluster/mcp-pike-ovs-ha/openstack/proxy.yml | 12 - .../mcp-pike-ovs-ha/openstack/telemetry.yml | 12 - 155 files changed, 2817 insertions(+), 2797 deletions(-) create mode 100644 mcp/reclass/classes/cluster/mcp-common-ha/include/lab_proxy_pdf.yml.j2 create mode 100644 mcp/reclass/classes/cluster/mcp-common-ha/include/maas_proxy.yml create mode 100644 mcp/reclass/classes/cluster/mcp-common-ha/infra/config.yml create mode 100644 mcp/reclass/classes/cluster/mcp-common-ha/infra/init.yml.j2 create mode 100644 mcp/reclass/classes/cluster/mcp-common-ha/infra/kvm.yml create mode 100644 mcp/reclass/classes/cluster/mcp-common-ha/infra/kvm_pdf.yml.j2 create mode 100644 mcp/reclass/classes/cluster/mcp-common-ha/infra/maas.yml create mode 100644 mcp/reclass/classes/cluster/mcp-common-ha/infra/maas_pdf.yml.j2 create mode 100644 mcp/reclass/classes/cluster/mcp-common-ha/openstack_compute.yml create mode 100644 mcp/reclass/classes/cluster/mcp-common-ha/openstack_compute_pdf.yml.j2 create mode 100644 mcp/reclass/classes/cluster/mcp-common-ha/openstack_control.yml.j2 create mode 100644 mcp/reclass/classes/cluster/mcp-common-ha/openstack_control_init.yml create mode 100644 mcp/reclass/classes/cluster/mcp-common-ha/openstack_database.yml create mode 100644 mcp/reclass/classes/cluster/mcp-common-ha/openstack_database_init.yml create mode 100644 mcp/reclass/classes/cluster/mcp-common-ha/openstack_init.yml.j2 create mode 100644 mcp/reclass/classes/cluster/mcp-common-ha/openstack_interface_vcp_biport.yml.j2 create mode 100644 mcp/reclass/classes/cluster/mcp-common-ha/openstack_interface_vcp_triport.yml.j2 create mode 100644 mcp/reclass/classes/cluster/mcp-common-ha/openstack_message_queue.yml create mode 100644 mcp/reclass/classes/cluster/mcp-common-ha/openstack_proxy.yml.j2 create mode 100644 mcp/reclass/classes/cluster/mcp-common-ha/openstack_telemetry.yml create mode 100644 mcp/reclass/classes/cluster/mcp-odl-ha/infra/config.yml create mode 100644 mcp/reclass/classes/cluster/mcp-odl-ha/infra/init.yml create mode 100644 mcp/reclass/classes/cluster/mcp-odl-ha/infra/init_vcp.yml.j2 create mode 100644 mcp/reclass/classes/cluster/mcp-odl-ha/infra/kvm.yml.j2 create mode 100644 mcp/reclass/classes/cluster/mcp-odl-ha/infra/maas.yml.j2 create mode 100644 mcp/reclass/classes/cluster/mcp-odl-ha/init.yml create mode 100644 mcp/reclass/classes/cluster/mcp-odl-ha/opendaylight/control.yml.j2 create mode 100644 mcp/reclass/classes/cluster/mcp-odl-ha/openstack/compute.yml create mode 100644 mcp/reclass/classes/cluster/mcp-odl-ha/openstack/compute_pdf.yml.j2 create mode 100644 mcp/reclass/classes/cluster/mcp-odl-ha/openstack/control.yml create mode 100644 mcp/reclass/classes/cluster/mcp-odl-ha/openstack/database.yml create mode 100644 mcp/reclass/classes/cluster/mcp-odl-ha/openstack/init.yml.j2 create mode 100644 mcp/reclass/classes/cluster/mcp-odl-ha/openstack/message_queue.yml create mode 100644 mcp/reclass/classes/cluster/mcp-odl-ha/openstack/proxy.yml create mode 100644 mcp/reclass/classes/cluster/mcp-odl-ha/openstack/telemetry.yml create mode 100644 mcp/reclass/classes/cluster/mcp-ovn-ha/infra/config.yml create mode 100644 mcp/reclass/classes/cluster/mcp-ovn-ha/infra/init.yml create mode 100644 mcp/reclass/classes/cluster/mcp-ovn-ha/infra/init_vcp.yml.j2 create mode 100644 mcp/reclass/classes/cluster/mcp-ovn-ha/infra/kvm.yml.j2 create mode 100644 mcp/reclass/classes/cluster/mcp-ovn-ha/infra/maas.yml create mode 100644 mcp/reclass/classes/cluster/mcp-ovn-ha/init.yml create mode 100644 mcp/reclass/classes/cluster/mcp-ovn-ha/openstack/compute.yml create mode 100644 mcp/reclass/classes/cluster/mcp-ovn-ha/openstack/compute_pdf.yml.j2 create mode 100644 mcp/reclass/classes/cluster/mcp-ovn-ha/openstack/control.yml create mode 100644 mcp/reclass/classes/cluster/mcp-ovn-ha/openstack/database.yml create mode 100644 mcp/reclass/classes/cluster/mcp-ovn-ha/openstack/init.yml create mode 100644 mcp/reclass/classes/cluster/mcp-ovn-ha/openstack/message_queue.yml create mode 100644 mcp/reclass/classes/cluster/mcp-ovn-ha/openstack/proxy.yml create mode 100644 mcp/reclass/classes/cluster/mcp-ovn-ha/openstack/telemetry.yml create mode 100644 mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/infra/config.yml create mode 100644 mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/infra/init.yml create mode 100644 mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/infra/init_vcp.yml.j2 create mode 100644 mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/infra/kvm.yml.j2 create mode 100644 mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/infra/maas.yml create mode 100644 mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/init.yml create mode 100644 mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/openstack/compute.yml create mode 100644 mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/openstack/compute_pdf.yml.j2 create mode 100644 mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/openstack/control.yml create mode 100644 mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/openstack/database.yml create mode 100644 mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/openstack/init.yml create mode 100644 mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/openstack/message_queue.yml create mode 100644 mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/openstack/proxy.yml create mode 100644 mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/openstack/telemetry.yml create mode 100644 mcp/reclass/classes/cluster/mcp-ovs-ha/infra/config.yml create mode 100644 mcp/reclass/classes/cluster/mcp-ovs-ha/infra/init.yml create mode 100644 mcp/reclass/classes/cluster/mcp-ovs-ha/infra/init_vcp.yml.j2 create mode 100644 mcp/reclass/classes/cluster/mcp-ovs-ha/infra/kvm.yml.j2 create mode 100644 mcp/reclass/classes/cluster/mcp-ovs-ha/infra/maas.yml create mode 100644 mcp/reclass/classes/cluster/mcp-ovs-ha/init.yml create mode 100644 mcp/reclass/classes/cluster/mcp-ovs-ha/openstack/compute.yml create mode 100644 mcp/reclass/classes/cluster/mcp-ovs-ha/openstack/compute_pdf.yml.j2 create mode 100644 mcp/reclass/classes/cluster/mcp-ovs-ha/openstack/control.yml create mode 100644 mcp/reclass/classes/cluster/mcp-ovs-ha/openstack/database.yml create mode 100644 mcp/reclass/classes/cluster/mcp-ovs-ha/openstack/init.yml create mode 100644 mcp/reclass/classes/cluster/mcp-ovs-ha/openstack/message_queue.yml create mode 100644 mcp/reclass/classes/cluster/mcp-ovs-ha/openstack/proxy.yml create mode 100644 mcp/reclass/classes/cluster/mcp-ovs-ha/openstack/telemetry.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-common-ha/include/lab_proxy_pdf.yml.j2 delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-common-ha/include/maas_proxy.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/config.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/init.yml.j2 delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/kvm.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/kvm_pdf.yml.j2 delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/maas.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/maas_pdf.yml.j2 delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_compute.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_compute_pdf.yml.j2 delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_control.yml.j2 delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_control_init.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_database.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_database_init.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_init.yml.j2 delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_interface_vcp_biport.yml.j2 delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_interface_vcp_triport.yml.j2 delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_message_queue.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_proxy.yml.j2 delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_telemetry.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/config.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/init.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/init_vcp.yml.j2 delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/kvm.yml.j2 delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/maas.yml.j2 delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-odl-ha/init.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-odl-ha/opendaylight/control.yml.j2 delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/compute.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/compute_pdf.yml.j2 delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/control.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/database.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/init.yml.j2 delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/message_queue.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/proxy.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/telemetry.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/config.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/init.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/init_vcp.yml.j2 delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/kvm.yml.j2 delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/maas.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovn-ha/init.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/compute.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/compute_pdf.yml.j2 delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/control.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/database.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/init.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/message_queue.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/proxy.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/telemetry.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/infra/config.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/infra/init.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/infra/init_vcp.yml.j2 delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/infra/kvm.yml.j2 delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/infra/maas.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/init.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/openstack/compute.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/openstack/compute_pdf.yml.j2 delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/openstack/control.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/openstack/database.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/openstack/init.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/openstack/message_queue.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/openstack/proxy.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/openstack/telemetry.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovs-ha/infra/config.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovs-ha/infra/init.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovs-ha/infra/init_vcp.yml.j2 delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovs-ha/infra/kvm.yml.j2 delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovs-ha/infra/maas.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovs-ha/init.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/compute.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/compute_pdf.yml.j2 delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/control.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/database.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/init.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/message_queue.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/proxy.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/telemetry.yml (limited to 'mcp/reclass/classes/cluster') diff --git a/mcp/reclass/classes/cluster/.gitignore b/mcp/reclass/classes/cluster/.gitignore index a37a68691..bc812c229 100644 --- a/mcp/reclass/classes/cluster/.gitignore +++ b/mcp/reclass/classes/cluster/.gitignore @@ -1,19 +1,19 @@ **/*_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 +mcp-common-ha/infra/init.yml +mcp-common-ha/openstack_control.yml +mcp-common-ha/openstack_init.yml +mcp-common-ha/openstack_interface_vcp_biport.yml +mcp-common-ha/openstack_interface_vcp_triport.yml +mcp-common-ha/openstack_proxy.yml +mcp-ovs-ha/infra/init_vcp.yml +mcp-ovs-ha/infra/kvm.yml +mcp-ovs-dpdk-ha/infra/init_vcp.yml +mcp-ovs-dpdk-ha/infra/kvm.yml +mcp-odl-ha/infra/init_vcp.yml +mcp-odl-ha/infra/kvm.yml +mcp-ovn-ha/infra/init_vcp.yml +mcp-ovn-ha/infra/kvm.yml +mcp-odl-ha/opendaylight/control.yml +mcp-odl-ha/openstack/init.yml mcp-odl-noha/infra/config.yml mcp-odl-noha/openstack/compute.yml diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/include/lab_proxy_pdf.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-ha/include/lab_proxy_pdf.yml.j2 new file mode 100644 index 000000000..3f238d667 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-common-ha/include/lab_proxy_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 +############################################################################## +--- +# We'll craft this class so it can be reused on both cfg01 and mas01 +{%- if conf.idf.fuel.network.upstream_proxy is defined %} +{%- set upstream_proxy=conf.idf.fuel.network.upstream_proxy %} +parameters: + maas: + region: + upstream_proxy: + address: {{ upstream_proxy.address }} + port: {{ upstream_proxy.port }} + linux: + system: + proxy: + pkg: + enabled: true + http: http://{{ upstream_proxy.address }}:{{ upstream_proxy.port }} + https: http://{{ upstream_proxy.address }}:{{ upstream_proxy.port }} +{%- endif %} diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/include/maas_proxy.yml b/mcp/reclass/classes/cluster/mcp-common-ha/include/maas_proxy.yml new file mode 100644 index 000000000..e5b263fe8 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-common-ha/include/maas_proxy.yml @@ -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 +############################################################################## +--- +parameters: + # NOTE: Apt proxy is set by curtin, Salt minion proxy is configured below, + # only enable proxy via /etc/environment if you need it for smth else + # linux: + # system: + # env: + # http_proxy: http://${_param:infra_maas_node01_deploy_address}:8000 + # https_proxy: http://${_param:infra_maas_node01_deploy_address}:8000 + # no_proxy: + # - .local + linux: + system: + proxy: + pkg: + enabled: true + http: http://${_param:infra_maas_node01_deploy_address}:8000 + https: http://${_param:infra_maas_node01_deploy_address}:8000 diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/infra/config.yml b/mcp/reclass/classes/cluster/mcp-common-ha/infra/config.yml new file mode 100644 index 000000000..f626ecea4 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-common-ha/infra/config.yml @@ -0,0 +1,173 @@ +############################################################################## +# 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.git.client + - system.linux.system.single + - system.linux.system.repo.mcp.salt + - system.linux.system.repo.saltstack.xenial + - system.salt.master.api + - system.salt.master.pkg + - system.salt.minion.ca.salt_master + - system.reclass.storage.salt + - system.reclass.storage.system.physical_control_cluster + - system.reclass.storage.system.openstack_control_cluster + - system.reclass.storage.system.openstack_proxy_cluster + - system.reclass.storage.system.openstack_database_cluster + - system.reclass.storage.system.openstack_message_queue_cluster + - system.reclass.storage.system.openstack_telemetry_cluster + # - system.reclass.storage.system.stacklight_log_cluster + # - system.reclass.storage.system.stacklight_monitor_cluster + # - system.reclass.storage.system.stacklight_telemetry_cluster + - system.reclass.storage.system.infra_maas_single + - cluster.mcp-common-ha.include.lab_proxy_pdf +parameters: + _param: + salt_master_base_environment: prd + reclass_data_repository: local + salt_master_environment_repository: "https://github.com/tcpcloud" + salt_master_environment_revision: master + single_address: ${_param:infra_config_address} + deploy_address: ${_param:infra_config_deploy_address} + pxe_address: ${_param:opnfv_infra_config_pxe_address} + salt_master_host: ${_param:infra_config_deploy_address} + # yamllint disable rule:line-length + salt_api_password_hash: "$6$sGnRlxGf$al5jMCetLP.vfI/fTl3Z0N7Za1aeiexL487jAtyRABVfT3NlwZxQGVhO7S1N8OwS/34VHYwZQA8lkXwKMN/GS1" + dhcp_nic: ${_param:opnfv_fn_vm_primary_interface} + single_nic: ${_param:opnfv_fn_vm_secondary_interface} + pxe_nic: ${_param:opnfv_fn_vm_tertiary_interface} + linux: + network: + interface: + dhcp: + enabled: true + type: eth + proto: dhcp + name: ${_param:dhcp_nic} + single: + enabled: true + type: eth + proto: static + name: ${_param:single_nic} + address: ${_param:single_address} + netmask: 255.255.255.0 + pxe: + enabled: true + type: eth + proto: static + name: ${_param:pxe_nic} + address: ${_param:pxe_address} + netmask: 255.255.255.0 + salt: + master: + accept_policy: open_mode + file_recv: true + reclass: + storage: + data_source: + engine: local + node: + infra_kvm_node01: + params: + keepalived_vip_priority: 100 + linux_system_codename: xenial + infra_kvm_node02: + params: + keepalived_vip_priority: 101 + linux_system_codename: xenial + infra_kvm_node03: + params: + keepalived_vip_priority: 102 + linux_system_codename: xenial + openstack_telemetry_node01: + params: + linux_system_codename: xenial + # create resources only from 1 controller + # to prevent race conditions + ceilometer_create_gnocchi_resources: true + redis_cluster_role: 'master' + openstack_telemetry_node02: + params: + linux_system_codename: xenial + redis_cluster_role: 'slave' + openstack_telemetry_node03: + params: + linux_system_codename: xenial + redis_cluster_role: 'slave' + openstack_message_queue_node01: + params: + linux_system_codename: xenial + openstack_message_queue_node02: + params: + linux_system_codename: xenial + openstack_message_queue_node03: + params: + linux_system_codename: xenial + openstack_proxy_node01: + params: + linux_system_codename: xenial + openstack_proxy_node02: + params: + linux_system_codename: xenial + # stacklight_log_node01: + # classes: + # - system.elasticsearch.client.single + # stacklight_monitor_node01: + # classes: + # - system.grafana.client.single + # - system.kibana.client.single + openstack_control_node01: + classes: + - cluster.mcp-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.mcp-common-ha.openstack_database_init + params: + linux_system_codename: xenial + openstack_database_node02: + params: + linux_system_codename: xenial + openstack_database_node03: + params: + linux_system_codename: xenial + openstack_compute_node01: + name: ${_param:openstack_compute_node01_hostname} + domain: ${_param:cluster_domain} + classes: + - cluster.${_param:cluster_name}.openstack.compute + params: + salt_master_host: ${_param:reclass_config_master} + linux_system_codename: xenial + control_address: ${_param:openstack_compute_node01_control_address} + single_address: ${_param:openstack_compute_node01_single_address} + tenant_address: ${_param:openstack_compute_node01_tenant_address} + external_address: ${_param:openstack_compute_node01_external_address} + openstack_compute_node02: + name: ${_param:openstack_compute_node02_hostname} + domain: ${_param:cluster_domain} + classes: + - cluster.${_param:cluster_name}.openstack.compute + params: + salt_master_host: ${_param:reclass_config_master} + linux_system_codename: xenial + control_address: ${_param:openstack_compute_node02_control_address} + single_address: ${_param:openstack_compute_node02_single_address} + tenant_address: ${_param:openstack_compute_node02_tenant_address} + external_address: ${_param:openstack_compute_node02_external_address} diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/infra/init.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-ha/infra/init.yml.j2 new file mode 100644 index 000000000..d4927428f --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-common-ha/infra/init.yml.j2 @@ -0,0 +1,112 @@ +############################################################################## +# 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.all-mcp-arch-common + # - cluster.mcp-common-ha.stacklight + # - cluster.mcp-common-ha.stacklight.client +parameters: + _param: + apt_mk_version: nightly + mcp_repo_version: 1.1 + salt_version: 2017.7 + cluster_domain: ${_param:cluster_name}.local + # stacklight_environment: ${_param:cluster_domain} + reclass_data_revision: master + reclass_config_master: ${_param:opnfv_infra_config_pxe_address} + cluster_public_host: ${_param:openstack_proxy_address} + infra_config_hostname: cfg01 + infra_maas_database_password: opnfv_secret + + # infra service addresses + infra_config_address: ${_param:opnfv_infra_config_address} + infra_config_deploy_address: ${_param:opnfv_salt_master_ip} + infra_maas_node01_address: ${_param:opnfv_infra_maas_node01_address} + 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 + infra_kvm_node02_hostname: kvm02 + infra_kvm_node03_hostname: kvm03 + + ntp_strata_host1: 1.pool.ntp.org + ntp_strata_host2: 0.pool.ntp.org + + # Interface definitions + reclass: + storage: + node: + name: default + + # yamllint disable-line rule:line-length + salt_api_password_hash: "$6$WV0P1shnoDh2gI/Z$22/Bcd7ffMv0jDlFpT63cAU4PiXHz9pjXwngToKwqAsgoeK4HNR3PiKaushjxp3JsQ8hNoJmAC6TxzVqfV8WH/" + reclass: + storage: + node: + openstack_proxy_node01: + params: + control_address: ${_param:openstack_proxy_node01_control_address} + openstack_proxy_node02: + params: + control_address: ${_param:openstack_proxy_node02_control_address} + linux: + system: + apt: + config: + prefer_ipv4: + Acquire::ForceIPv4: true + user: + ubuntu: + enabled: true + sudo: true + home: /home/ubuntu + network: + host: + cfg01: + address: ${_param:infra_config_address} + names: + - cfg01 + - cfg01.${_param:cluster_domain} + cfg: + address: ${_param:infra_config_address} + names: + - ${_param:infra_config_hostname} + - ${_param:infra_config_hostname}.${_param:cluster_domain} + mas01: + address: ${_param:infra_maas_node01_address} + names: + - ${_param:infra_maas_node01_hostname} + - ${_param:infra_maas_node01_hostname}.${_param:cluster_domain} + kvm01: + address: ${_param:infra_kvm_node01_address} + names: + - ${_param:infra_kvm_node01_hostname} + - ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain} + kvm02: + address: ${_param:infra_kvm_node02_address} + names: + - ${_param:infra_kvm_node02_hostname} + - ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain} + kvm03: + address: ${_param:infra_kvm_node03_address} + names: + - ${_param:infra_kvm_node03_hostname} + - ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain} diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/infra/kvm.yml b/mcp/reclass/classes/cluster/mcp-common-ha/infra/kvm.yml new file mode 100644 index 000000000..868f324f6 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-common-ha/infra/kvm.yml @@ -0,0 +1,160 @@ +############################################################################## +# 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.repo.glusterfs + - service.keepalived.cluster.single + - system.glusterfs.server.volume.glance + - system.glusterfs.server.volume.keystone + - system.glusterfs.server.cluster + - 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-common-ha.infra.kvm_pdf + - cluster.mcp-common-ha.include.maas_proxy + - cluster.mcp-common-ha.include.lab_proxy_pdf +parameters: + _param: + linux_system_codename: xenial + glusterfs_version: '3.13' + cluster_vip_address: ${_param:infra_kvm_address} + cluster_node01_address: ${_param:infra_kvm_node01_address} + cluster_node02_address: ${_param:infra_kvm_node02_address} + cluster_node03_address: ${_param:infra_kvm_node03_address} + keepalived_vip_interface: br-ctl + keepalived_vip_virtual_router_id: 69 + linux: + system: + kernel: + boot_options: + - spectre_v2=off + - nopti + libvirt: + server: + service: libvirtd + config_sys: /etc/default/libvirtd + unix_sock_group: libvirt + salt: + control: + size: # RAM 4096,8192,16384,32768,65536 + # Default production sizing + openstack.control: + cpu: 4 + ram: 12288 + disk_profile: small + net_profile: default + openstack.database: + cpu: 4 + ram: 6144 + disk_profile: large + net_profile: default + openstack.message_queue: + cpu: 4 + ram: 2048 + disk_profile: small + net_profile: default + openstack.telemetry: + cpu: 2 + ram: 3072 + disk_profile: xxlarge + net_profile: default + # stacklight.log: + # cpu: 2 + # ram: 4096 + # disk_profile: xxlarge + # net_profile: default + # stacklight.server: + # cpu: 2 + # ram: 4096 + # disk_profile: small + # net_profile: default + # stacklight.telemetry: + # cpu: 2 + # ram: 4096 + # disk_profile: xxlarge + # net_profile: default + openstack.proxy: + cpu: 2 + ram: 2048 + disk_profile: small + net_profile: default_ext + cluster: + internal: + node: + mdb01: + image: ${_param:salt_control_xenial_image} + mdb02: + image: ${_param:salt_control_xenial_image} + mdb03: + image: ${_param:salt_control_xenial_image} + ctl01: + image: ${_param:salt_control_xenial_image} + ctl02: + image: ${_param:salt_control_xenial_image} + ctl03: + image: ${_param:salt_control_xenial_image} + dbs01: + image: ${_param:salt_control_xenial_image} + dbs02: + image: ${_param:salt_control_xenial_image} + dbs03: + image: ${_param:salt_control_xenial_image} + msg01: + image: ${_param:salt_control_xenial_image} + msg02: + image: ${_param:salt_control_xenial_image} + msg03: + image: ${_param:salt_control_xenial_image} + prx01: + image: ${_param:salt_control_xenial_image} + prx02: + image: ${_param:salt_control_xenial_image} + provider: kvm03.${_param:cluster_domain} + virt: + nic: + default: + eth1: + bridge: br-mgmt + model: virtio + eth0: + bridge: br-ctl + model: virtio + default_ext: + eth2: + bridge: br-mgmt + model: virtio + eth1: + bridge: br-ex + model: virtio + eth0: + bridge: br-ctl + model: virtio + 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 diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/infra/kvm_pdf.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-ha/infra/kvm_pdf.yml.j2 new file mode 100644 index 000000000..97166c62c --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-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/mcp-common-ha/infra/maas.yml b/mcp/reclass/classes/cluster/mcp-common-ha/infra/maas.yml new file mode 100644 index 000000000..8c8f4f659 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-common-ha/infra/maas.yml @@ -0,0 +1,69 @@ +############################################################################## +# 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.maas.region.single + - service.maas.cluster.single + - cluster.mcp-common-ha.include.lab_proxy_pdf + - cluster.mcp-common-ha.infra.maas_pdf +parameters: + _param: + dhcp_interface: ${_param:opnfv_fn_vm_primary_interface} + primary_interface: ${_param:opnfv_fn_vm_secondary_interface} + pxe_interface: ${_param:opnfv_fn_vm_tertiary_interface} + interface_mtu: 1500 + # MaaS has issues using MTU > 1500 for PXE interface + pxe_interface_mtu: 1500 + linux_system_codename: xenial + maas_admin_username: opnfv + maas_admin_password: opnfv_secret + maas_db_password: opnfv_secret + dns_server01: ${_param:opnfv_dns_server01} + single_address: ${_param:infra_maas_node01_deploy_address} + hwe_kernel: 'hwe-16.04' + maas: + region: + salt_master_ip: ${_param:reclass_config_master} + domain: ${_param:cluster_domain} + maas_config: + commissioning_distro_series: 'xenial' + default_distro_series: 'xenial' + default_osystem: 'ubuntu' + default_storage_layout: 'lvm' + enable_http_proxy: true + disk_erase_with_secure_erase: false + dnssec_validation: 'no' + enable_third_party_drivers: true + network_discovery: 'enabled' + default_min_hwe_kernel: ${_param:hwe_kernel} + cluster: + saltstack_repo_xenial: "http://repo.saltstack.com/apt/ubuntu/16.04/amd64/2017.7/ xenial main" + linux: + network: + interface: + dhcp_interface: + enabled: true + name: ${_param:dhcp_interface} + type: eth + proto: dhcp + primary_interface: + enabled: true + name: ${_param:primary_interface} + mtu: ${_param:interface_mtu} + proto: static + address: ${_param:infra_maas_node01_address} + netmask: 255.255.255.0 + type: eth + pxe_interface: + enabled: true + name: ${_param:pxe_interface} + mtu: ${_param:pxe_interface_mtu} + proto: static + address: ${_param:single_address} + netmask: 255.255.255.0 + type: eth diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/infra/maas_pdf.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-ha/infra/maas_pdf.yml.j2 new file mode 100644 index 000000000..1838590e9 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-common-ha/infra/maas_pdf.yml.j2 @@ -0,0 +1,94 @@ +############################################################################## +# 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 +############################################################################## +{%- set cluster_arch = [] %} +{%- for node in conf.nodes %} + {%- if node.node.arch not in cluster_arch %} + {%- do cluster_arch.append(node.node.arch) %} + {%- endif %} +{%- endfor %} +{%- set net_admin = [conf.idf.net_config.admin.network, + conf.idf.net_config.admin.mask] | join("/") %} +--- +parameters: + maas: + region: + subnets: + {{ net_admin }}: + name: {{ net_admin }} + cidr: {{ net_admin }} + gateway_ip: ${_param:single_address} + iprange: + start: ${_param:opnfv_infra_maas_pxe_start_address} + end: ${_param:opnfv_infra_maas_pxe_end_address} + type: dynamic + vlans: + untagged: + vid: 0 + dhcp_on: true + primary_rack: ${_param:infra_maas_node01_hostname} + # Space-separated list of dpkg architectures to be supported by MaaS + opnfv_arches:{%- for arch in cluster_arch %} {{ arch | dpkg_arch }}{%- endfor %} + sshprefs: + - '{{ conf.MAAS_SSH_KEY }}' +{%- if 'aarch64' in cluster_arch %} + package_repositories: + armband: + name: armband + enabled: '1' + url: 'http://linux.enea.com/mcp-repos/${_param:openstack_version}/${_param:linux_system_codename}' + distributions: '${_param:openstack_version}-armband' + components: 'main' + arches: 'arm64' + key: &armband_key | + -----BEGIN PGP PUBLIC KEY BLOCK----- + Version: GnuPG v2.0.14 (GNU/Linux) + + mQENBFagAroBCADWboNIjuF6lB1mWv2+EbvqY3lKl5mLKhr2DnSUkKeHUPBv8gNM + qK8Q00AMIyPiyEhgjA+dWizZ+5aBgxoiY7oMeLJ2Xym36U/8SYq2BWd3SGCbMNoz + SJDxDUSM/HFVs6atF1M3DY9oN65hSVnu4uy5Tu6asf6k4rhAyk0z4+pRcPBCu2vq + mnGi3COM/+9PShrEKeVOx5W2vRJywUFuq8EDvQnRoJ0GvM28JiJIanw17YwIPxhg + BKZVpZjan5X+ihVMXwA2h/G/FS5Omhd50RqV6LWSYs94VJJgYqHx8UMm7izcxI+P + ct3IcbD195bPbJ+SbuiFe45ZLsdY1MyGiU2BABEBAAG0K0VuZWEgQXJtYmFuZCBE + ZXZvcHMgVGVhbSA8YXJtYmFuZEBlbmVhLmNvbT6JATgEEwECACICGwMGCwkIBwMC + BhUIAgkKCwQWAgMBAh4BAheABQJaY3bYAAoJEN6rkLp5irHRoQMH/0PYl0A/6eWw + nQ/szhEFrr76Ln6wA4vEO+PiuWj9kTkZM2NaCnkisrIuHSPIVvOLfFmztbE6sKGe + t+a2b7Jqw48DZ/gq508aZE4Q307ookxdCOrzIu/796hFO34yXg3sqZoJh3VmKIjY + 4DL8yG1iAiQ5vOw3IFWQnATwIZUgaCcjmE7HGap+9ePuJfFuQ8mIG5cy28t8qocx + AB/B2tucfBMwomYxKqgbLI5AG7iSt58ajvrrNa9f8IX7Ihj/jiuXhUwX+geEp98K + IWVI1ftEthZvfBpZW4BS98J4z//dEPi31L4jb9RQXq3afF2RpXchDeUN85bW45nu + W/9PMAlgE/U= + =m+zE + -----END PGP PUBLIC KEY BLOCK----- +{%- endif %} + 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} + {%- if loop.index0 >= node_roles.index('cmp001') %} + disk_layout: + type: lvm + root_device: sda + volume_group: vgroot + volume_name: lvroot + volume_size: 100 + {%- endif %} + {%- endif %} + {%- endfor %} diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/openstack_compute.yml b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_compute.yml new file mode 100644 index 000000000..c793f9759 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_compute.yml @@ -0,0 +1,73 @@ +############################################################################## +# 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.repo.mcp.mirror.v1.openstack + - system.linux.system.repo.glusterfs + - system.glusterfs.client.cluster + - system.nova.compute.cluster + - system.nova.compute.nfv.hugepages + - system.neutron.gateway.cluster + - system.cinder.volume.single + - system.cinder.volume.backend.lvm + - system.ceilometer.agent.cluster + - system.ceilometer.agent.polling.default + - cluster.mcp-common-ha.openstack_compute_pdf + - cluster.mcp-common-ha.include.maas_proxy + - cluster.mcp-common-ha.include.lab_proxy_pdf +parameters: + _param: + cluster_vip_address: ${_param:openstack_control_address} + cluster_local_address: ${_param:control_address} + cluster_node01_hostname: ${_param:openstack_control_node01_hostname} + cluster_node01_address: ${_param:openstack_control_node01_address} + cluster_node02_hostname: ${_param:openstack_control_node02_hostname} + cluster_node02_address: ${_param:openstack_control_node02_address} + cluster_node03_hostname: ${_param:openstack_control_node03_hostname} + cluster_node03_address: ${_param:openstack_control_node03_address} + nova_vncproxy_url: https://${_param:cluster_public_host}:6080 + interface_mtu: 1500 + keepalived_vip_interface: br-ctl + keepalived_vip_virtual_router_id: 69 + linux_system_codename: xenial + glusterfs_version: '3.13' + glusterfs: + client: + volumes: + nova_instances: + path: /var/lib/nova/instances + 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: + storage: + lvm: + # Align with both system.cinder.volume.backend.lvm and MaaS data + cinder-vg: + name: vgroot + system: + kernel: + sysctl: + vm.dirty_ratio: 10 + vm.dirty_background_ratio: 5 + boot_options: + - spectre_v2=off + - nopti + 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-common-ha/openstack_compute_pdf.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_compute_pdf.yml.j2 new file mode 100644 index 000000000..fd51f5fea --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-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/mcp-common-ha/openstack_control.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_control.yml.j2 new file mode 100644 index 000000000..ebec944da --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_control.yml.j2 @@ -0,0 +1,175 @@ +############################################################################## +# 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.repo.mcp.mirror.v1.openstack + - system.linux.system.repo.glusterfs + - system.ceilometer.client + - system.memcached.server.single + - system.keystone.server.cluster + - system.keystone.server.wsgi + - system.glance.control.cluster + - system.nova.control.cluster + - system.cinder.control.cluster + - system.cinder.control.backend.lvm + - system.heat.server.cluster + - system.designate.server.cluster + - system.designate.server.backend.bind + - system.bind.server.single + - system.haproxy.proxy.listen.openstack.nova-placement + - 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-common-ha.infra.kvm_pdf + - cluster.mcp-common-ha.include.maas_proxy + - cluster.mcp-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} + cluster_local_address: ${_param:single_address} + cluster_node01_hostname: ${_param:openstack_control_node01_hostname} + cluster_node01_address: ${_param:openstack_control_node01_address} + cluster_node02_hostname: ${_param:openstack_control_node02_hostname} + cluster_node02_address: ${_param:openstack_control_node02_address} + cluster_node03_hostname: ${_param:openstack_control_node03_hostname} + 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: + host: ${_param:openstack_proxy_control_address} + port: 8000 + protocol: http + waitcondition: + host: ${_param:openstack_proxy_control_address} + port: 8000 + protocol: http + watch: + host: ${_param:openstack_proxy_control_address} + port: 8003 + protocol: http +{%- 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: + mgmt: + enabled: true + bind: + address: ${_param:single_address} + port: 953 + allow: + - ${_param:openstack_control_node01_address} + - ${_param:openstack_control_node02_address} + - ${_param:openstack_control_node03_address} + keys: + - designate + designate: + server: + pools: + default: + description: 'test pool' + targets: + default: + description: 'test target1' + default1: + type: ${_param:designate_pool_target_type} + description: 'test target2' + masters: ${_param:designate_pool_target_masters} + options: + host: ${_param:openstack_control_node02_address} + port: 53 + rndc_host: ${_param:openstack_control_node02_address} + rndc_port: 953 + rndc_key_file: /etc/designate/rndc.key + default2: + type: ${_param:designate_pool_target_type} + description: 'test target3' + masters: ${_param:designate_pool_target_masters} + options: + host: ${_param:openstack_control_node03_address} + port: 53 + rndc_host: ${_param:openstack_control_node03_address} + rndc_port: 953 + rndc_key_file: /etc/designate/rndc.key diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/openstack_control_init.yml b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_control_init.yml new file mode 100644 index 000000000..0664c5399 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_control_init.yml @@ -0,0 +1,35 @@ +############################################################################## +# 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.keystone.client.single + - system.keystone.client.service.aodh + - system.keystone.client.service.ceilometer + - system.keystone.client.service.nova21 + - system.keystone.client.service.nova-placement + - system.keystone.client.service.cinder3 + - system.keystone.client.service.designate + - system.keystone.client.service.gnocchi + - system.keystone.client.service.panko + - system.keystone.client.v3.service.keystone +parameters: + keystone: + client: + enabled: true + resources: + v3: + enabled: true + server: + identity: + admin: + api_version: 3 + admin_identity: + admin: + api_version: '' + user_domain_name: 'Default' + project_domain_name: 'Default' diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/openstack_database.yml b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_database.yml new file mode 100644 index 000000000..89c485e0f --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_database.yml @@ -0,0 +1,38 @@ +############################################################################## +# 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.repo.mcp.mirror.v1.openstack + - system.galera.server.cluster + - system.galera.server.database.aodh + - system.galera.server.database.ceilometer + - system.galera.server.database.cinder + - system.galera.server.database.designate + - system.galera.server.database.glance + - system.galera.server.database.gnocchi + - system.galera.server.database.grafana + - system.galera.server.database.heat + - system.galera.server.database.keystone + - system.galera.server.database.nova + - system.galera.server.database.neutron + - system.galera.server.database.panko +parameters: + _param: + keepalived_vip_interface: ${_param:single_nic} + keepalived_vip_virtual_router_id: 80 + galera_server_cluster_name: openstack_cluster + galera_max_connections: 3072 + galera_innodb_buffer_pool_size: 2048M + cluster_vip_address: ${_param:openstack_database_address} + cluster_local_address: ${_param:single_address} + cluster_node01_hostname: ${_param:openstack_database_node01_hostname} + cluster_node01_address: ${_param:openstack_database_node01_address} + cluster_node02_hostname: ${_param:openstack_database_node02_hostname} + cluster_node02_address: ${_param:openstack_database_node02_address} + cluster_node03_hostname: ${_param:openstack_database_node03_hostname} + cluster_node03_address: ${_param:openstack_database_node03_address} diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/openstack_database_init.yml b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_database_init.yml new file mode 100644 index 000000000..b7d09cfff --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_database_init.yml @@ -0,0 +1,10 @@ +############################################################################## +# 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.mysql.client.single diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/openstack_init.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_init.yml.j2 new file mode 100644 index 000000000..00f24087e --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_init.yml.j2 @@ -0,0 +1,399 @@ +############################################################################## +# 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: + _param: + + openstack_version: queens + + # 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_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} + openstack_compute_node02_single_address: ${_param:opnfv_openstack_compute_node02_single_address} + openstack_compute_node03_single_address: ${_param:opnfv_openstack_compute_node03_single_address} + openstack_compute_node01_control_address: ${_param:opnfv_openstack_compute_node01_control_address} + openstack_compute_node02_control_address: ${_param:opnfv_openstack_compute_node02_control_address} + openstack_compute_node03_control_address: ${_param:opnfv_openstack_compute_node03_control_address} + openstack_compute_node01_tenant_address: ${_param:opnfv_openstack_compute_node01_tenant_address} + openstack_compute_node02_tenant_address: ${_param:opnfv_openstack_compute_node02_tenant_address} + openstack_compute_node03_tenant_address: ${_param:opnfv_openstack_compute_node03_tenant_address} + openstack_compute_node01_external_address: ${_param:opnfv_openstack_compute_node01_external_address} + 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 + openstack_control_hostname: ctl + openstack_control_node01_hostname: ctl01 + openstack_control_node02_hostname: ctl02 + openstack_control_node03_hostname: ctl03 + openstack_database_hostname: dbs + openstack_database_node01_hostname: dbs01 + openstack_database_node02_hostname: dbs02 + openstack_database_node03_hostname: dbs03 + openstack_message_queue_hostname: msg + 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_global_physnet_mtu: 1500 + neutron_external_mtu: 1500 + neutron_gateway_dvr: 'False' + neutron_gateway_agent_mode: legacy + neutron_compute_dvr: 'False' + neutron_compute_agent_mode: legacy + neutron_compute_external_access: 'True' + galera_server_cluster_name: openstack_cluster + galera_server_maintenance_password: opnfv_secret + galera_server_admin_password: opnfv_secret + rabbitmq_secret_key: opnfv_secret + rabbitmq_admin_password: opnfv_secret + rabbitmq_openstack_password: opnfv_secret + glance_version: ${_param:openstack_version} + glance_service_host: ${_param:openstack_control_address} + keystone_version: ${_param:openstack_version} + keystone_service_host: ${_param:openstack_control_address} + heat_version: ${_param:openstack_version} + heat_service_host: ${_param:openstack_control_address} + heat_domain_admin_password: opnfv_secret + cinder_version: ${_param:openstack_version} + cinder_service_host: ${_param:openstack_control_address} + ceilometer_version: ${_param:openstack_version} + ceilometer_service_host: ${_param:openstack_telemetry_address} + ceilometer_influxdb_password: opnfv_secret + nova_version: ${_param:openstack_version} + 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 + mysql_ceilometer_password: opnfv_secret + mysql_glance_password: opnfv_secret + mysql_grafana_password: opnfv_secret + mysql_heat_password: opnfv_secret + mysql_keystone_password: opnfv_secret + mysql_neutron_password: opnfv_secret + mysql_nova_password: opnfv_secret + mysql_aodh_password: opnfv_secret + mysql_designate_password: opnfv_secret + aodh_version: ${_param:openstack_version} + keystone_aodh_password: opnfv_secret + keystone_service_token: opnfv_secret + keystone_admin_password: opnfv_secret + keystone_ceilometer_password: opnfv_secret + keystone_cinder_password: opnfv_secret + keystone_glance_password: opnfv_secret + keystone_heat_password: opnfv_secret + keystone_keystone_password: opnfv_secret + keystone_neutron_password: opnfv_secret + keystone_nova_password: opnfv_secret + keystone_designate_password: opnfv_secret + ceilometer_secret_key: opnfv_secret + horizon_version: ${_param:openstack_version} + horizon_secret_key: opaesee8Que2yahJoh9fo0eefo1Aeyo6ahyei8zeiboh3aeth5loth7ieNa5xi5e + horizon_identity_host: ${_param:openstack_control_address} + horizon_identity_encryption: none + horizon_identity_version: 3 + metadata_password: opnfv_secret + openstack_telemetry_keepalived_password: opnfv_secret + aodh_service_host: ${_param:openstack_telemetry_address} + gnocchi_version: 4.0 + gnocchi_service_host: ${_param:openstack_telemetry_address} + mysql_gnocchi_password: opnfv_secret + keystone_gnocchi_password: opnfv_secret + panko_version: ${_param:openstack_version} + panko_service_host: ${_param:openstack_telemetry_address} + mysql_panko_password: opnfv_secret + keystone_panko_password: opnfv_secret + ceilometer_agent_default_polling_interval: 180 + ceilometer_agent_default_polling_meters: + - "*" + designate_service_host: ${_param:openstack_control_address} + designate_bind9_rndc_key: 4pc+X4PDqb2q+5o72dISm72LM1Ds9X2EYZjqg+nmsS7FhdTwzFFY8l/iEDmHxnyjkA33EQC8H+z0fLLBunoitw== + designate_domain_id: 5186883b-91fb-4891-bd49-e6769234a8fc + designate_pool_ns_records: + - hostname: 'ns1.example.org.' + priority: 10 + designate_pool_nameservers: + - host: ${_param:openstack_control_node01_address} + port: 53 + - host: ${_param:openstack_control_node02_address} + port: 53 + - host: ${_param:openstack_control_node03_address} + port: 53 + designate_pool_target_type: bind9 + designate_pool_target_masters: + - host: ${_param:openstack_control_node01_address} + port: 5354 + - host: ${_param:openstack_control_node02_address} + port: 5354 + - host: ${_param:openstack_control_node03_address} + port: 5354 + designate_pool_target_options: + host: ${_param:openstack_control_node01_address} + port: 53 + rndc_host: ${_param:openstack_control_node01_address} + rndc_port: 953 + rndc_key_file: /etc/designate/rndc.key + designate_version: ${_param:openstack_version} + # Billing + # keystone_billometer_password: opnfv_secret + # keystone_billometer_address: ${_param:billometer_service_host} + # billometer_service_host: ${_param:openstack_billing_address} + # billometer_version: ${_param:openstack_version} + # billometer_secret_key: opnfv_secretpasswordpasswordpassword + # billometer_identity_password: ${_param:keystone_billometer_password} + # billometer_identity_host: ${_param:openstack_control_address} + # billometer_identity_token: ${_param:keystone_service_token} + linux: + system: + repo: + uca: + source: "deb http://ubuntu-cloud.archive.canonical.com/ubuntu xenial-updates/${_param:openstack_version} main" + key_id: EC4926EA + key_server: keyserver.ubuntu.com + kernel: + sysctl: + net.ipv4.tcp_congestion_control: yeah + net.ipv4.tcp_slow_start_after_idle: 0 + net.ipv4.tcp_fin_timeout: 30 + package: + python-tornado: + version: latest + network: + host: +{%- if conf.MCP_VCP %} + prx: + address: ${_param:openstack_proxy_control_address} + names: + - ${_param:openstack_proxy_hostname} + - ${_param:openstack_proxy_hostname}.${_param:cluster_domain} + prx01: + address: ${_param:openstack_proxy_node01_control_address} + names: + - ${_param:openstack_proxy_node01_hostname} + - ${_param:openstack_proxy_node01_hostname}.${_param:cluster_domain} + prx02: + address: ${_param:openstack_proxy_node02_control_address} + names: + - ${_param:openstack_proxy_node02_hostname} + - ${_param:openstack_proxy_node02_hostname}.${_param:cluster_domain} + ctl: + address: ${_param:openstack_control_address} + names: + - ${_param:openstack_control_hostname} + - ${_param:openstack_control_hostname}.${_param:cluster_domain} + ctl01: + address: ${_param:openstack_control_node01_address} + names: + - ${_param:openstack_control_node01_hostname} + - ${_param:openstack_control_node01_hostname}.${_param:cluster_domain} + ctl02: + address: ${_param:openstack_control_node02_address} + names: + - ${_param:openstack_control_node02_hostname} + - ${_param:openstack_control_node02_hostname}.${_param:cluster_domain} + ctl03: + address: ${_param:openstack_control_node03_address} + names: + - ${_param:openstack_control_node03_hostname} + - ${_param:openstack_control_node03_hostname}.${_param:cluster_domain} + msg: + address: ${_param:openstack_message_queue_address} + names: + - ${_param:openstack_message_queue_hostname} + - ${_param:openstack_message_queue_hostname}.${_param:cluster_domain} + msg01: + address: ${_param:openstack_message_queue_node01_address} + names: + - ${_param:openstack_message_queue_node01_hostname} + - ${_param:openstack_message_queue_node01_hostname}.${_param:cluster_domain} + msg02: + address: ${_param:openstack_message_queue_node02_address} + names: + - ${_param:openstack_message_queue_node02_hostname} + - ${_param:openstack_message_queue_node02_hostname}.${_param:cluster_domain} + msg03: + address: ${_param:openstack_message_queue_node03_address} + names: + - ${_param:openstack_message_queue_node03_hostname} + - ${_param:openstack_message_queue_node03_hostname}.${_param:cluster_domain} + dbs: + address: ${_param:openstack_database_address} + names: + - ${_param:openstack_database_hostname} + - ${_param:openstack_database_hostname}.${_param:cluster_domain} + dbs01: + address: ${_param:openstack_database_node01_address} + names: + - ${_param:openstack_database_node01_hostname} + - ${_param:openstack_database_node01_hostname}.${_param:cluster_domain} + dbs02: + address: ${_param:openstack_database_node02_address} + names: + - ${_param:openstack_database_node02_hostname} + - ${_param:openstack_database_node02_hostname}.${_param:cluster_domain} + dbs03: + address: ${_param:openstack_database_node03_address} + names: + - ${_param:openstack_database_node03_hostname} + - ${_param:openstack_database_node03_hostname}.${_param:cluster_domain} + mdb: + address: ${_param:openstack_telemetry_address} + names: + - ${_param:openstack_telemetry_hostname} + - ${_param:openstack_telemetry_hostname}.${_param:cluster_domain} + mdb01: + address: ${_param:openstack_telemetry_node01_address} + names: + - ${_param:openstack_telemetry_node01_hostname} + - ${_param:openstack_telemetry_node01_hostname}.${_param:cluster_domain} + mdb02: + address: ${_param:openstack_telemetry_node02_address} + names: + - ${_param:openstack_telemetry_node02_hostname} + - ${_param:openstack_telemetry_node02_hostname}.${_param:cluster_domain} + mdb03: + address: ${_param:openstack_telemetry_node03_address} + 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: + - ${_param:openstack_compute_node01_hostname} + - ${_param:openstack_compute_node01_hostname}.${_param:cluster_domain} + cmp002: + address: ${_param:openstack_compute_node02_control_address} + names: + - ${_param:openstack_compute_node02_hostname} + - ${_param:openstack_compute_node02_hostname}.${_param:cluster_domain} diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/openstack_interface_vcp_biport.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_interface_vcp_biport.yml.j2 new file mode 100644 index 000000000..18576b257 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_interface_vcp_biport.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 +############################################################################## +--- +{%- if conf.MCP_VCP %} +classes: + - cluster.mcp-common-ha.include.maas_proxy + - cluster.mcp-common-ha.include.lab_proxy_pdf +parameters: + _param: + dhcp_nic: ${_param:opnfv_vcp_vm_primary_interface} + single_nic: ${_param:opnfv_vcp_vm_secondary_interface} + linux: + network: + interface: + dhcp: + enabled: true + type: eth + proto: dhcp + name: ${_param:dhcp_nic} + single: + enabled: true + type: eth + proto: static + name: ${_param:single_nic} + address: ${_param:single_address} + netmask: ${_param:opnfv_net_public_mask} +{%- endif %} diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/openstack_interface_vcp_triport.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_interface_vcp_triport.yml.j2 new file mode 100644 index 000000000..2cd74992a --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_interface_vcp_triport.yml.j2 @@ -0,0 +1,45 @@ +############################################################################## +# 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-common-ha.include.maas_proxy + - cluster.mcp-common-ha.include.lab_proxy_pdf +parameters: + _param: + dhcp_nic: ${_param:opnfv_vcp_vm_primary_interface} + single_nic: ${_param:opnfv_vcp_vm_secondary_interface} + control_nic: ${_param:opnfv_vcp_vm_tertiary_interface} + linux: + network: + interface: + dhcp_int: + enabled: true + type: eth + proto: dhcp + name: ${_param:dhcp_nic} + single_int: + enabled: true + type: eth + proto: static + name: ${_param:single_nic} + address: ${_param:single_address} + netmask: ${_param:opnfv_net_public_mask} + route: + public: + address: 0.0.0.0 + netmask: 0.0.0.0 + gateway: ${_param:opnfv_net_public_gw} + control_int: + enabled: true + type: eth + proto: static + name: ${_param:control_nic} + address: ${_param:control_address} + netmask: 255.255.255.0 +{%- endif %} diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/openstack_message_queue.yml b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_message_queue.yml new file mode 100644 index 000000000..855e63267 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_message_queue.yml @@ -0,0 +1,24 @@ +############################################################################## +# 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.repo.mcp.mirror.v1.openstack + - system.rabbitmq.server.cluster + - system.rabbitmq.server.vhost.openstack +parameters: + _param: + keepalived_vip_interface: ${_param:single_nic} + keepalived_vip_virtual_router_id: 90 + cluster_vip_address: ${_param:openstack_message_queue_address} + cluster_local_address: ${_param:single_address} + cluster_node01_hostname: ${_param:openstack_message_queue_node01_hostname} + cluster_node01_address: ${_param:openstack_message_queue_node01_address} + cluster_node02_hostname: ${_param:openstack_message_queue_node02_hostname} + cluster_node02_address: ${_param:openstack_message_queue_node02_address} + cluster_node03_hostname: ${_param:openstack_message_queue_node03_hostname} + cluster_node03_address: ${_param:openstack_message_queue_node03_address} diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/openstack_proxy.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_proxy.yml.j2 new file mode 100644 index 000000000..34ec10664 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_proxy.yml.j2 @@ -0,0 +1,99 @@ +############################################################################## +# 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.repo.mcp.mirror.v1.openstack + - 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/mcp-common-ha/openstack_telemetry.yml b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_telemetry.yml new file mode 100644 index 000000000..b7bb83b35 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_telemetry.yml @@ -0,0 +1,87 @@ +############################################################################## +# 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.repo.mcp.mirror.v1.openstack + - service.redis.server.single + - system.ceilometer.server.cluster + - system.ceilometer.server.coordination.redis + - system.ceilometer.server.backend.default + - system.aodh.server.cluster + - system.aodh.server.coordination.redis + - system.memcached.server.single + - system.apache.server.single + - system.apache.server.site.gnocchi + - system.apache.server.site.panko + - system.gnocchi.server.cluster + - system.gnocchi.common.storage.incoming.redis + - system.gnocchi.common.storage.redis + - system.gnocchi.common.coordination.redis + - system.panko.server.cluster +parameters: + _param: + keepalived_openstack_telemetry_vip_interface: ${_param:single_nic} + keepalived_vip_virtual_router_id: 230 + cluster_vip_address: ${_param:openstack_telemetry_address} + cluster_local_address: ${_param:single_address} + cluster_node01_hostname: ${_param:openstack_telemetry_node01_hostname} + cluster_node01_address: ${_param:openstack_telemetry_node01_address} + cluster_node02_hostname: ${_param:openstack_telemetry_node02_hostname} + cluster_node02_address: ${_param:openstack_telemetry_node02_address} + cluster_node03_hostname: ${_param:openstack_telemetry_node03_hostname} + cluster_node03_address: ${_param:openstack_telemetry_node03_address} + redis_sentinel_node01_address: ${_param:openstack_telemetry_node01_address} + redis_sentinel_node02_address: ${_param:openstack_telemetry_node02_address} + redis_sentinel_node03_address: ${_param:openstack_telemetry_node03_address} + # yamllint disable-line rule:line-length + openstack_telemetry_redis_url: redis://${_param:redis_sentinel_node01_address}:26379?sentinel=master_1&sentinel_fallback=${_param:redis_sentinel_node02_address}:26379&sentinel_fallback=${_param:redis_sentinel_node03_address}:26379 + gnocchi_coordination_url: ${_param:openstack_telemetry_redis_url} + gnocchi_storage_incoming_redis_url: ${_param:openstack_telemetry_redis_url} + redis: + server: + version: 3.0 + appendfsync: 'no' + bind: + address: ${_param:single_address} + cluster: + enabled: true + mode: sentinel + role: ${_param:redis_cluster_role} + quorum: 2 + master: + host: ${_param:cluster_node01_address} + port: 6379 + sentinel: + address: ${_param:single_address} + gnocchi: + common: + database: + host: ${_param:openstack_database_address} + server: + pkgs: + - gnocchi-api + - gnocchi-metricd + - python-memcache + apache: + server: + ~modules: + - wsgi + - rewrite + site: + gnocchi: + wsgi: + threads: 1 + aodh: + server: + coordination_backend: + url: ${_param:openstack_telemetry_redis_url} + ceilometer: + server: + ~database: ~ + coordination_backend: + url: ${_param:openstack_telemetry_redis_url} diff --git a/mcp/reclass/classes/cluster/mcp-odl-ha/infra/config.yml b/mcp/reclass/classes/cluster/mcp-odl-ha/infra/config.yml new file mode 100644 index 000000000..58e4cd09c --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-odl-ha/infra/config.yml @@ -0,0 +1,23 @@ +############################################################################## +# Copyright (c) 2018 Mirantis Inc., Enea AB and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +--- +classes: + - system.reclass.storage.system.opendaylight_control_single + - cluster.mcp-common-ha.infra.config + - cluster.mcp-odl-ha.infra + - cluster.all-mcp-arch-common.infra.config_pdf +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-odl-ha/infra/init.yml b/mcp/reclass/classes/cluster/mcp-odl-ha/infra/init.yml new file mode 100644 index 000000000..67d8c5654 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-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-common-ha.infra + - cluster.mcp-odl-ha.openstack +parameters: + _param: + cluster_name: mcp-odl-ha diff --git a/mcp/reclass/classes/cluster/mcp-odl-ha/infra/init_vcp.yml.j2 b/mcp/reclass/classes/cluster/mcp-odl-ha/infra/init_vcp.yml.j2 new file mode 100644 index 000000000..42cf4083e --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-odl-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-odl-ha.infra +{%- endif %} diff --git a/mcp/reclass/classes/cluster/mcp-odl-ha/infra/kvm.yml.j2 b/mcp/reclass/classes/cluster/mcp-odl-ha/infra/kvm.yml.j2 new file mode 100644 index 000000000..ab0da39b3 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-odl-ha/infra/kvm.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 +############################################################################## +--- +{%- if conf.MCP_VCP %} +# NOTE(armband): we don't want to pull in salt.control for novcp +classes: + - cluster.mcp-common-ha.infra.kvm + - cluster.mcp-odl-ha.infra +parameters: + salt: + control: + size: # RAM 4096,8192,16384,32768,65536 + # Default production sizing + opendaylight.server: + cpu: 4 + ram: 8192 + 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 +{%- endif %} diff --git a/mcp/reclass/classes/cluster/mcp-odl-ha/infra/maas.yml.j2 b/mcp/reclass/classes/cluster/mcp-odl-ha/infra/maas.yml.j2 new file mode 100644 index 000000000..30d712634 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-odl-ha/infra/maas.yml.j2 @@ -0,0 +1,22 @@ +############################################################################## +# 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 +############################################################################## +{%- set cluster_arch = [] %} +{%- for node in conf.nodes %} + {%- if node.node.arch not in cluster_arch %} + {%- do cluster_arch.append(node.node.arch) %} + {%- endif %} +{%- endfor %} +--- +classes: + - cluster.mcp-common-ha.infra.maas + - cluster.mcp-odl-ha.infra +{%- if 'aarch64' not in cluster_arch %} +parameters: + _param: + hwe_kernel: 'ga-16.04' +{%- endif %} diff --git a/mcp/reclass/classes/cluster/mcp-odl-ha/init.yml b/mcp/reclass/classes/cluster/mcp-odl-ha/init.yml new file mode 100644 index 000000000..4e740d700 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-odl-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-odl-ha.infra + - cluster.mcp-odl-ha.openstack diff --git a/mcp/reclass/classes/cluster/mcp-odl-ha/opendaylight/control.yml.j2 b/mcp/reclass/classes/cluster/mcp-odl-ha/opendaylight/control.yml.j2 new file mode 100644 index 000000000..a6027e08a --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-odl-ha/opendaylight/control.yml.j2 @@ -0,0 +1,30 @@ +############################################################################## +# 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.opendaylight.server.single + - cluster.mcp-common-ha.openstack_interface_vcp_biport +{%- if conf.MCP_VCP %} + - cluster.mcp-odl-ha +{%- endif %} +parameters: + _param: + linux_system_codename: xenial + opendaylight: + server: + odl_bind_ip: ${_param:single_address} + odl_rest_port: 8282 + java_min_mem: 6g + java_max_mem: 6g + router_enabled: true + karaf_features: + odl_default: + - odl-restconf-all + - odl-aaa-authn + netvirt: + - odl-netvirt-openstack diff --git a/mcp/reclass/classes/cluster/mcp-odl-ha/openstack/compute.yml b/mcp/reclass/classes/cluster/mcp-odl-ha/openstack/compute.yml new file mode 100644 index 000000000..992d1c8bf --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-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-common-ha.openstack_compute + - cluster.mcp-odl-ha.openstack.compute_pdf + - cluster.mcp-odl-ha.infra +parameters: + neutron: + gateway: + agent_mode: ${_param:neutron_gateway_agent_mode} diff --git a/mcp/reclass/classes/cluster/mcp-odl-ha/openstack/compute_pdf.yml.j2 b/mcp/reclass/classes/cluster/mcp-odl-ha/openstack/compute_pdf.yml.j2 new file mode 100644 index 000000000..7cf4c8864 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-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 | string).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/mcp-odl-ha/openstack/control.yml b/mcp/reclass/classes/cluster/mcp-odl-ha/openstack/control.yml new file mode 100644 index 000000000..547b61e0f --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-odl-ha/openstack/control.yml @@ -0,0 +1,21 @@ +############################################################################## +# Copyright (c) 2018 Mirantis Inc., Enea AB and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +--- +classes: + - system.neutron.control.opendaylight.cluster + - cluster.mcp-common-ha.openstack_interface_vcp_biport + - cluster.mcp-common-ha.openstack_control + - cluster.mcp-odl-ha.infra +parameters: + keystone: + server: + 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-odl-ha/openstack/database.yml b/mcp/reclass/classes/cluster/mcp-odl-ha/openstack/database.yml new file mode 100644 index 000000000..c14f3853e --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-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-common-ha.openstack_interface_vcp_biport + - cluster.mcp-common-ha.openstack_database + - cluster.mcp-odl-ha.infra.init_vcp diff --git a/mcp/reclass/classes/cluster/mcp-odl-ha/openstack/init.yml.j2 b/mcp/reclass/classes/cluster/mcp-odl-ha/openstack/init.yml.j2 new file mode 100644 index 000000000..43779e927 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-odl-ha/openstack/init.yml.j2 @@ -0,0 +1,26 @@ +############################################################################## +# Copyright (c) 2018 Mirantis Inc., Enea AB and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +--- +classes: + - cluster.mcp-common-ha.openstack_init +parameters: + _param: + # opendaylight options + opendaylight_service_host: ${_param:opendaylight_server_node01_single_address} + + neutron_tenant_network_types: "flat,vxlan" +{%- if conf.MCP_VCP %} + linux: + network: + host: + odl01: + address: ${_param:opendaylight_service_host} + names: + - ${_param:opendaylight_server_node01_hostname} + - ${_param:opendaylight_server_node01_hostname}.${_param:cluster_domain} +{%- endif %} diff --git a/mcp/reclass/classes/cluster/mcp-odl-ha/openstack/message_queue.yml b/mcp/reclass/classes/cluster/mcp-odl-ha/openstack/message_queue.yml new file mode 100644 index 000000000..c44cb22b2 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-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-common-ha.openstack_interface_vcp_biport + - cluster.mcp-common-ha.openstack_message_queue + - cluster.mcp-odl-ha.infra.init_vcp diff --git a/mcp/reclass/classes/cluster/mcp-odl-ha/openstack/proxy.yml b/mcp/reclass/classes/cluster/mcp-odl-ha/openstack/proxy.yml new file mode 100644 index 000000000..f0d4ecc37 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-odl-ha/openstack/proxy.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-common-ha.openstack_interface_vcp_triport + - cluster.mcp-common-ha.openstack_proxy + - cluster.mcp-odl-ha.infra.init_vcp +parameters: + nginx: + server: + site: + 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-odl-ha/openstack/telemetry.yml b/mcp/reclass/classes/cluster/mcp-odl-ha/openstack/telemetry.yml new file mode 100644 index 000000000..52469b09a --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-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-common-ha.openstack_interface_vcp_biport + - cluster.mcp-common-ha.openstack_telemetry + - cluster.mcp-odl-ha.infra.init_vcp diff --git a/mcp/reclass/classes/cluster/mcp-ovn-ha/infra/config.yml b/mcp/reclass/classes/cluster/mcp-ovn-ha/infra/config.yml new file mode 100644 index 000000000..6cfca4f78 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-ovn-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-common-ha.infra.config + - cluster.mcp-ovn-ha.infra + - cluster.all-mcp-arch-common.infra.config_pdf diff --git a/mcp/reclass/classes/cluster/mcp-ovn-ha/infra/init.yml b/mcp/reclass/classes/cluster/mcp-ovn-ha/infra/init.yml new file mode 100644 index 000000000..198e460de --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-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-common-ha.infra + - cluster.mcp-ovn-ha.openstack +parameters: + _param: + cluster_name: mcp-ovn-ha diff --git a/mcp/reclass/classes/cluster/mcp-ovn-ha/infra/init_vcp.yml.j2 b/mcp/reclass/classes/cluster/mcp-ovn-ha/infra/init_vcp.yml.j2 new file mode 100644 index 000000000..d62335703 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-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-ovn-ha.infra +{%- endif %} diff --git a/mcp/reclass/classes/cluster/mcp-ovn-ha/infra/kvm.yml.j2 b/mcp/reclass/classes/cluster/mcp-ovn-ha/infra/kvm.yml.j2 new file mode 100644 index 000000000..1e6ed8554 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-ovn-ha/infra/kvm.yml.j2 @@ -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 +############################################################################## +--- +{%- if conf.MCP_VCP %} +# NOTE(armband): we don't want to pull in salt.control for novcp +classes: + - cluster.mcp-common-ha.infra.kvm + - cluster.mcp-ovn-ha.infra +{%- endif %} diff --git a/mcp/reclass/classes/cluster/mcp-ovn-ha/infra/maas.yml b/mcp/reclass/classes/cluster/mcp-ovn-ha/infra/maas.yml new file mode 100644 index 000000000..72a451652 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-ovn-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-common-ha.infra.maas + - cluster.mcp-ovn-ha.infra diff --git a/mcp/reclass/classes/cluster/mcp-ovn-ha/init.yml b/mcp/reclass/classes/cluster/mcp-ovn-ha/init.yml new file mode 100644 index 000000000..a8cb4d8f8 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-ovn-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-ovn-ha.infra + - cluster.mcp-ovn-ha.openstack diff --git a/mcp/reclass/classes/cluster/mcp-ovn-ha/openstack/compute.yml b/mcp/reclass/classes/cluster/mcp-ovn-ha/openstack/compute.yml new file mode 100644 index 000000000..7afb40e52 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-ovn-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: + - cluster.mcp-common-ha.openstack_compute + - cluster.mcp-ovn-ha.openstack.compute_pdf + - cluster.mcp-ovn-ha.infra +parameters: + nova: + compute: + libvirt_service: libvirtd + libvirt_bin: /etc/default/libvirtd diff --git a/mcp/reclass/classes/cluster/mcp-ovn-ha/openstack/compute_pdf.yml.j2 b/mcp/reclass/classes/cluster/mcp-ovn-ha/openstack/compute_pdf.yml.j2 new file mode 100644 index 000000000..7cf4c8864 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-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 | string).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/mcp-ovn-ha/openstack/control.yml b/mcp/reclass/classes/cluster/mcp-ovn-ha/openstack/control.yml new file mode 100644 index 000000000..811957600 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-ovn-ha/openstack/control.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.neutron.control.openvswitch.cluster + - cluster.mcp-common-ha.openstack_interface_vcp_biport + - cluster.mcp-common-ha.openstack_control + - cluster.mcp-ovn-ha.infra diff --git a/mcp/reclass/classes/cluster/mcp-ovn-ha/openstack/database.yml b/mcp/reclass/classes/cluster/mcp-ovn-ha/openstack/database.yml new file mode 100644 index 000000000..b8e441a36 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-ovn-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-common-ha.openstack_interface_vcp_biport + - cluster.mcp-common-ha.openstack_database + - cluster.mcp-ovn-ha.infra_vcp diff --git a/mcp/reclass/classes/cluster/mcp-ovn-ha/openstack/init.yml b/mcp/reclass/classes/cluster/mcp-ovn-ha/openstack/init.yml new file mode 100644 index 000000000..9dbfd59a1 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-ovn-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-common-ha.openstack_init +parameters: + _param: + neutron_tenant_network_types: "flat,vxlan" diff --git a/mcp/reclass/classes/cluster/mcp-ovn-ha/openstack/message_queue.yml b/mcp/reclass/classes/cluster/mcp-ovn-ha/openstack/message_queue.yml new file mode 100644 index 000000000..de0561d31 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-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-common-ha.openstack_interface_vcp_biport + - cluster.mcp-common-ha.openstack_message_queue + - cluster.mcp-ovn-ha.infra_vcp diff --git a/mcp/reclass/classes/cluster/mcp-ovn-ha/openstack/proxy.yml b/mcp/reclass/classes/cluster/mcp-ovn-ha/openstack/proxy.yml new file mode 100644 index 000000000..95b78758c --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-ovn-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-common-ha.openstack_interface_vcp_triport + - cluster.mcp-common-ha.openstack_proxy + - cluster.mcp-ovn-ha.infra_vcp diff --git a/mcp/reclass/classes/cluster/mcp-ovn-ha/openstack/telemetry.yml b/mcp/reclass/classes/cluster/mcp-ovn-ha/openstack/telemetry.yml new file mode 100644 index 000000000..eb7910faa --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-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-common-ha.openstack_interface_vcp_biport + - cluster.mcp-common-ha.openstack_telemetry + - cluster.mcp-ovn-ha.infra_vcp diff --git a/mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/infra/config.yml b/mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/infra/config.yml new file mode 100644 index 000000000..6c14d916a --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-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-common-ha.infra.config + - cluster.mcp-ovs-dpdk-ha.infra + - cluster.all-mcp-arch-common.infra.config_dpdk_pdf diff --git a/mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/infra/init.yml b/mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/infra/init.yml new file mode 100644 index 000000000..b3745b524 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/infra/init.yml @@ -0,0 +1,19 @@ +############################################################################## +# Copyright (c) 2018 Mirantis Inc., Enea AB and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +--- +classes: + - cluster.mcp-common-ha.infra + - cluster.mcp-ovs-dpdk-ha.openstack +parameters: + _param: + cluster_name: mcp-ovs-dpdk-ha + linux: + system: + service: + apt-daily.timer: + status: dead diff --git a/mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/infra/init_vcp.yml.j2 b/mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/infra/init_vcp.yml.j2 new file mode 100644 index 000000000..f1636affe --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-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-ovs-dpdk-ha.infra +{%- endif %} diff --git a/mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/infra/kvm.yml.j2 b/mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/infra/kvm.yml.j2 new file mode 100644 index 000000000..54c3a94a9 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/infra/kvm.yml.j2 @@ -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 +############################################################################## +--- +{%- if conf.MCP_VCP %} +# NOTE(armband): we don't want to pull in salt.control for novcp +classes: + - cluster.mcp-common-ha.infra.kvm + - cluster.mcp-ovs-dpdk-ha.infra +{%- endif %} diff --git a/mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/infra/maas.yml b/mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/infra/maas.yml new file mode 100644 index 000000000..f3d605494 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-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-common-ha.infra.maas + - cluster.mcp-ovs-dpdk-ha.infra diff --git a/mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/init.yml b/mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/init.yml new file mode 100644 index 000000000..e32a7cfea --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-ovs-dpdk-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-ovs-dpdk-ha.infra + - cluster.mcp-ovs-dpdk-ha.openstack diff --git a/mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/openstack/compute.yml b/mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/openstack/compute.yml new file mode 100644 index 000000000..106a2a7ac --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-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-common-ha.openstack_compute + - cluster.mcp-ovs-dpdk-ha.infra + - cluster.mcp-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-ovs-dpdk-ha/openstack/compute_pdf.yml.j2 b/mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/openstack/compute_pdf.yml.j2 new file mode 100644 index 000000000..cf9a0b302 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-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/mcp-ovs-dpdk-ha/openstack/control.yml b/mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/openstack/control.yml new file mode 100644 index 000000000..fdcec3541 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/openstack/control.yml @@ -0,0 +1,18 @@ +############################################################################## +# Copyright (c) 2018 Mirantis Inc., Enea AB and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +--- +classes: + - system.neutron.control.openvswitch.cluster + - cluster.mcp-common-ha.openstack_interface_vcp_biport + - cluster.mcp-common-ha.openstack_control + - cluster.mcp-ovs-dpdk-ha.infra +parameters: + neutron: + server: + backend: + tenant_vlan_range: ${_param:neutron_tenant_vlan_range} diff --git a/mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/openstack/database.yml b/mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/openstack/database.yml new file mode 100644 index 000000000..0402a6fb4 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-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-common-ha.openstack_interface_vcp_biport + - cluster.mcp-common-ha.openstack_database + - cluster.mcp-ovs-dpdk-ha.infra.init_vcp diff --git a/mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/openstack/init.yml b/mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/openstack/init.yml new file mode 100644 index 000000000..23921fa9d --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/openstack/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-common-ha.openstack_init +parameters: + _param: + neutron_tenant_network_types: "flat,vlan" + neutron_tenant_vlan_range: ${_param:opnfv_net_tenant_vlan} diff --git a/mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/openstack/message_queue.yml b/mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/openstack/message_queue.yml new file mode 100644 index 000000000..67107953f --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-ovs-dpdk-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-common-ha.openstack_interface_vcp_biport + - cluster.mcp-common-ha.openstack_message_queue + - cluster.mcp-ovs-dpdk-ha.infra.init_vcp diff --git a/mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/openstack/proxy.yml b/mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/openstack/proxy.yml new file mode 100644 index 000000000..7da362666 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-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-common-ha.openstack_interface_vcp_triport + - cluster.mcp-common-ha.openstack_proxy + - cluster.mcp-ovs-dpdk-ha.infra.init_vcp diff --git a/mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/openstack/telemetry.yml b/mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/openstack/telemetry.yml new file mode 100644 index 000000000..1c5406ea6 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-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-common-ha.openstack_interface_vcp_biport + - cluster.mcp-common-ha.openstack_telemetry + - cluster.mcp-ovs-dpdk-ha.infra.init_vcp diff --git a/mcp/reclass/classes/cluster/mcp-ovs-ha/infra/config.yml b/mcp/reclass/classes/cluster/mcp-ovs-ha/infra/config.yml new file mode 100644 index 000000000..8e5551d48 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-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-common-ha.infra.config + - cluster.mcp-ovs-ha.infra + - cluster.all-mcp-arch-common.infra.config_pdf diff --git a/mcp/reclass/classes/cluster/mcp-ovs-ha/infra/init.yml b/mcp/reclass/classes/cluster/mcp-ovs-ha/infra/init.yml new file mode 100644 index 000000000..b423ac134 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-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-common-ha.infra + - cluster.mcp-ovs-ha.openstack +parameters: + _param: + cluster_name: mcp-ovs-ha diff --git a/mcp/reclass/classes/cluster/mcp-ovs-ha/infra/init_vcp.yml.j2 b/mcp/reclass/classes/cluster/mcp-ovs-ha/infra/init_vcp.yml.j2 new file mode 100644 index 000000000..239c9a725 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-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-ovs-ha.infra +{%- endif %} diff --git a/mcp/reclass/classes/cluster/mcp-ovs-ha/infra/kvm.yml.j2 b/mcp/reclass/classes/cluster/mcp-ovs-ha/infra/kvm.yml.j2 new file mode 100644 index 000000000..238c0cbab --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-ovs-ha/infra/kvm.yml.j2 @@ -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 +############################################################################## +--- +{%- if conf.MCP_VCP %} +# NOTE(armband): we don't want to pull in salt.control for novcp +classes: + - cluster.mcp-common-ha.infra.kvm + - cluster.mcp-ovs-ha.infra +{%- endif %} diff --git a/mcp/reclass/classes/cluster/mcp-ovs-ha/infra/maas.yml b/mcp/reclass/classes/cluster/mcp-ovs-ha/infra/maas.yml new file mode 100644 index 000000000..c9102ea70 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-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-common-ha.infra.maas + - cluster.mcp-ovs-ha.infra diff --git a/mcp/reclass/classes/cluster/mcp-ovs-ha/init.yml b/mcp/reclass/classes/cluster/mcp-ovs-ha/init.yml new file mode 100644 index 000000000..73f4ea6dd --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-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-ovs-ha.infra + - cluster.mcp-ovs-ha.openstack diff --git a/mcp/reclass/classes/cluster/mcp-ovs-ha/openstack/compute.yml b/mcp/reclass/classes/cluster/mcp-ovs-ha/openstack/compute.yml new file mode 100644 index 000000000..1e157cfa7 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-ovs-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: + - cluster.mcp-common-ha.openstack_compute + - cluster.mcp-ovs-ha.openstack.compute_pdf + - cluster.mcp-ovs-ha.infra +parameters: + nova: + compute: + libvirt_service: libvirtd + libvirt_bin: /etc/default/libvirtd diff --git a/mcp/reclass/classes/cluster/mcp-ovs-ha/openstack/compute_pdf.yml.j2 b/mcp/reclass/classes/cluster/mcp-ovs-ha/openstack/compute_pdf.yml.j2 new file mode 100644 index 000000000..7cf4c8864 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-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 | string).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/mcp-ovs-ha/openstack/control.yml b/mcp/reclass/classes/cluster/mcp-ovs-ha/openstack/control.yml new file mode 100644 index 000000000..47257e0ff --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-ovs-ha/openstack/control.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.neutron.control.openvswitch.cluster + - cluster.mcp-common-ha.openstack_interface_vcp_biport + - cluster.mcp-common-ha.openstack_control + - cluster.mcp-ovs-ha.infra diff --git a/mcp/reclass/classes/cluster/mcp-ovs-ha/openstack/database.yml b/mcp/reclass/classes/cluster/mcp-ovs-ha/openstack/database.yml new file mode 100644 index 000000000..c0002d9c1 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-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-common-ha.openstack_interface_vcp_biport + - cluster.mcp-common-ha.openstack_database + - cluster.mcp-ovs-ha.infra.init_vcp diff --git a/mcp/reclass/classes/cluster/mcp-ovs-ha/openstack/init.yml b/mcp/reclass/classes/cluster/mcp-ovs-ha/openstack/init.yml new file mode 100644 index 000000000..9dbfd59a1 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-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-common-ha.openstack_init +parameters: + _param: + neutron_tenant_network_types: "flat,vxlan" diff --git a/mcp/reclass/classes/cluster/mcp-ovs-ha/openstack/message_queue.yml b/mcp/reclass/classes/cluster/mcp-ovs-ha/openstack/message_queue.yml new file mode 100644 index 000000000..3fe3c0eaa --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-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-common-ha.openstack_interface_vcp_biport + - cluster.mcp-common-ha.openstack_message_queue + - cluster.mcp-ovs-ha.infra.init_vcp diff --git a/mcp/reclass/classes/cluster/mcp-ovs-ha/openstack/proxy.yml b/mcp/reclass/classes/cluster/mcp-ovs-ha/openstack/proxy.yml new file mode 100644 index 000000000..27120ffe3 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-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-common-ha.openstack_interface_vcp_triport + - cluster.mcp-common-ha.openstack_proxy + - cluster.mcp-ovs-ha.infra.init_vcp diff --git a/mcp/reclass/classes/cluster/mcp-ovs-ha/openstack/telemetry.yml b/mcp/reclass/classes/cluster/mcp-ovs-ha/openstack/telemetry.yml new file mode 100644 index 000000000..161eb9f1e --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-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-common-ha.openstack_interface_vcp_biport + - cluster.mcp-common-ha.openstack_telemetry + - cluster.mcp-ovs-ha.infra.init_vcp diff --git a/mcp/reclass/classes/cluster/mcp-pike-common-ha/include/lab_proxy_pdf.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-common-ha/include/lab_proxy_pdf.yml.j2 deleted file mode 100644 index 3f238d667..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-common-ha/include/lab_proxy_pdf.yml.j2 +++ /dev/null @@ -1,25 +0,0 @@ -############################################################################## -# 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 -############################################################################## ---- -# We'll craft this class so it can be reused on both cfg01 and mas01 -{%- if conf.idf.fuel.network.upstream_proxy is defined %} -{%- set upstream_proxy=conf.idf.fuel.network.upstream_proxy %} -parameters: - maas: - region: - upstream_proxy: - address: {{ upstream_proxy.address }} - port: {{ upstream_proxy.port }} - linux: - system: - proxy: - pkg: - enabled: true - http: http://{{ upstream_proxy.address }}:{{ upstream_proxy.port }} - https: http://{{ upstream_proxy.address }}:{{ upstream_proxy.port }} -{%- endif %} diff --git a/mcp/reclass/classes/cluster/mcp-pike-common-ha/include/maas_proxy.yml b/mcp/reclass/classes/cluster/mcp-pike-common-ha/include/maas_proxy.yml deleted file mode 100644 index e5b263fe8..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-common-ha/include/maas_proxy.yml +++ /dev/null @@ -1,25 +0,0 @@ -############################################################################## -# 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: - # NOTE: Apt proxy is set by curtin, Salt minion proxy is configured below, - # only enable proxy via /etc/environment if you need it for smth else - # linux: - # system: - # env: - # http_proxy: http://${_param:infra_maas_node01_deploy_address}:8000 - # https_proxy: http://${_param:infra_maas_node01_deploy_address}:8000 - # no_proxy: - # - .local - linux: - system: - proxy: - pkg: - enabled: true - http: http://${_param:infra_maas_node01_deploy_address}:8000 - https: http://${_param:infra_maas_node01_deploy_address}:8000 diff --git a/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/config.yml b/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/config.yml deleted file mode 100644 index 525abbea7..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/config.yml +++ /dev/null @@ -1,173 +0,0 @@ -############################################################################## -# 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.git.client - - system.linux.system.single - - system.linux.system.repo.mcp.salt - - system.linux.system.repo.saltstack.xenial - - system.salt.master.api - - system.salt.master.pkg - - system.salt.minion.ca.salt_master - - system.reclass.storage.salt - - system.reclass.storage.system.physical_control_cluster - - system.reclass.storage.system.openstack_control_cluster - - system.reclass.storage.system.openstack_proxy_cluster - - system.reclass.storage.system.openstack_database_cluster - - system.reclass.storage.system.openstack_message_queue_cluster - - system.reclass.storage.system.openstack_telemetry_cluster - # - system.reclass.storage.system.stacklight_log_cluster - # - system.reclass.storage.system.stacklight_monitor_cluster - # - system.reclass.storage.system.stacklight_telemetry_cluster - - system.reclass.storage.system.infra_maas_single - - cluster.mcp-pike-common-ha.include.lab_proxy_pdf -parameters: - _param: - salt_master_base_environment: prd - reclass_data_repository: local - salt_master_environment_repository: "https://github.com/tcpcloud" - salt_master_environment_revision: master - single_address: ${_param:infra_config_address} - deploy_address: ${_param:infra_config_deploy_address} - pxe_address: ${_param:opnfv_infra_config_pxe_address} - salt_master_host: ${_param:infra_config_deploy_address} - # yamllint disable rule:line-length - salt_api_password_hash: "$6$sGnRlxGf$al5jMCetLP.vfI/fTl3Z0N7Za1aeiexL487jAtyRABVfT3NlwZxQGVhO7S1N8OwS/34VHYwZQA8lkXwKMN/GS1" - dhcp_nic: ${_param:opnfv_fn_vm_primary_interface} - single_nic: ${_param:opnfv_fn_vm_secondary_interface} - pxe_nic: ${_param:opnfv_fn_vm_tertiary_interface} - linux: - network: - interface: - dhcp: - enabled: true - type: eth - proto: dhcp - name: ${_param:dhcp_nic} - single: - enabled: true - type: eth - proto: static - name: ${_param:single_nic} - address: ${_param:single_address} - netmask: 255.255.255.0 - pxe: - enabled: true - type: eth - proto: static - name: ${_param:pxe_nic} - address: ${_param:pxe_address} - netmask: 255.255.255.0 - salt: - master: - accept_policy: open_mode - file_recv: true - reclass: - storage: - data_source: - engine: local - node: - infra_kvm_node01: - params: - keepalived_vip_priority: 100 - linux_system_codename: xenial - infra_kvm_node02: - params: - keepalived_vip_priority: 101 - linux_system_codename: xenial - infra_kvm_node03: - params: - keepalived_vip_priority: 102 - linux_system_codename: xenial - openstack_telemetry_node01: - params: - linux_system_codename: xenial - # create resources only from 1 controller - # to prevent race conditions - ceilometer_create_gnocchi_resources: true - redis_cluster_role: 'master' - openstack_telemetry_node02: - params: - linux_system_codename: xenial - redis_cluster_role: 'slave' - openstack_telemetry_node03: - params: - linux_system_codename: xenial - redis_cluster_role: 'slave' - openstack_message_queue_node01: - params: - linux_system_codename: xenial - openstack_message_queue_node02: - params: - linux_system_codename: xenial - openstack_message_queue_node03: - params: - linux_system_codename: xenial - openstack_proxy_node01: - params: - linux_system_codename: xenial - openstack_proxy_node02: - params: - linux_system_codename: xenial - # stacklight_log_node01: - # classes: - # - system.elasticsearch.client.single - # stacklight_monitor_node01: - # classes: - # - system.grafana.client.single - # - system.kibana.client.single - openstack_control_node01: - classes: - - 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.mcp-pike-common-ha.openstack_database_init - params: - linux_system_codename: xenial - openstack_database_node02: - params: - linux_system_codename: xenial - openstack_database_node03: - params: - linux_system_codename: xenial - openstack_compute_node01: - name: ${_param:openstack_compute_node01_hostname} - domain: ${_param:cluster_domain} - classes: - - cluster.${_param:cluster_name}.openstack.compute - params: - salt_master_host: ${_param:reclass_config_master} - linux_system_codename: xenial - control_address: ${_param:openstack_compute_node01_control_address} - single_address: ${_param:openstack_compute_node01_single_address} - tenant_address: ${_param:openstack_compute_node01_tenant_address} - external_address: ${_param:openstack_compute_node01_external_address} - openstack_compute_node02: - name: ${_param:openstack_compute_node02_hostname} - domain: ${_param:cluster_domain} - classes: - - cluster.${_param:cluster_name}.openstack.compute - params: - salt_master_host: ${_param:reclass_config_master} - linux_system_codename: xenial - control_address: ${_param:openstack_compute_node02_control_address} - single_address: ${_param:openstack_compute_node02_single_address} - tenant_address: ${_param:openstack_compute_node02_tenant_address} - external_address: ${_param:openstack_compute_node02_external_address} diff --git a/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/init.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/init.yml.j2 deleted file mode 100644 index 21639e3bc..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/init.yml.j2 +++ /dev/null @@ -1,112 +0,0 @@ -############################################################################## -# 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.all-mcp-arch-common - # - cluster.mcp-pike-common-ha.stacklight - # - cluster.mcp-pike-common-ha.stacklight.client -parameters: - _param: - apt_mk_version: nightly - mcp_repo_version: 1.1 - salt_version: 2017.7 - cluster_domain: ${_param:cluster_name}.local - # stacklight_environment: ${_param:cluster_domain} - reclass_data_revision: master - reclass_config_master: ${_param:opnfv_infra_config_pxe_address} - cluster_public_host: ${_param:openstack_proxy_address} - infra_config_hostname: cfg01 - infra_maas_database_password: opnfv_secret - - # infra service addresses - infra_config_address: ${_param:opnfv_infra_config_address} - infra_config_deploy_address: ${_param:opnfv_salt_master_ip} - infra_maas_node01_address: ${_param:opnfv_infra_maas_node01_address} - 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 - infra_kvm_node02_hostname: kvm02 - infra_kvm_node03_hostname: kvm03 - - ntp_strata_host1: 1.pool.ntp.org - ntp_strata_host2: 0.pool.ntp.org - - # Interface definitions - reclass: - storage: - node: - name: default - - # yamllint disable-line rule:line-length - salt_api_password_hash: "$6$WV0P1shnoDh2gI/Z$22/Bcd7ffMv0jDlFpT63cAU4PiXHz9pjXwngToKwqAsgoeK4HNR3PiKaushjxp3JsQ8hNoJmAC6TxzVqfV8WH/" - reclass: - storage: - node: - openstack_proxy_node01: - params: - control_address: ${_param:openstack_proxy_node01_control_address} - openstack_proxy_node02: - params: - control_address: ${_param:openstack_proxy_node02_control_address} - linux: - system: - apt: - config: - prefer_ipv4: - Acquire::ForceIPv4: true - user: - ubuntu: - enabled: true - sudo: true - home: /home/ubuntu - network: - host: - cfg01: - address: ${_param:infra_config_address} - names: - - cfg01 - - cfg01.${_param:cluster_domain} - cfg: - address: ${_param:infra_config_address} - names: - - ${_param:infra_config_hostname} - - ${_param:infra_config_hostname}.${_param:cluster_domain} - mas01: - address: ${_param:infra_maas_node01_address} - names: - - ${_param:infra_maas_node01_hostname} - - ${_param:infra_maas_node01_hostname}.${_param:cluster_domain} - kvm01: - address: ${_param:infra_kvm_node01_address} - names: - - ${_param:infra_kvm_node01_hostname} - - ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain} - kvm02: - address: ${_param:infra_kvm_node02_address} - names: - - ${_param:infra_kvm_node02_hostname} - - ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain} - kvm03: - address: ${_param:infra_kvm_node03_address} - names: - - ${_param:infra_kvm_node03_hostname} - - ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain} diff --git a/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/kvm.yml b/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/kvm.yml deleted file mode 100644 index df2304521..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/kvm.yml +++ /dev/null @@ -1,160 +0,0 @@ -############################################################################## -# 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.repo.glusterfs - - service.keepalived.cluster.single - - system.glusterfs.server.volume.glance - - system.glusterfs.server.volume.keystone - - system.glusterfs.server.cluster - - 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 -parameters: - _param: - linux_system_codename: xenial - glusterfs_version: '3.13' - cluster_vip_address: ${_param:infra_kvm_address} - cluster_node01_address: ${_param:infra_kvm_node01_address} - cluster_node02_address: ${_param:infra_kvm_node02_address} - cluster_node03_address: ${_param:infra_kvm_node03_address} - keepalived_vip_interface: br-ctl - keepalived_vip_virtual_router_id: 69 - linux: - system: - kernel: - boot_options: - - spectre_v2=off - - nopti - libvirt: - server: - service: libvirtd - config_sys: /etc/default/libvirtd - unix_sock_group: libvirt - salt: - control: - size: # RAM 4096,8192,16384,32768,65536 - # Default production sizing - openstack.control: - cpu: 4 - ram: 12288 - disk_profile: small - net_profile: default - openstack.database: - cpu: 4 - ram: 6144 - disk_profile: large - net_profile: default - openstack.message_queue: - cpu: 4 - ram: 2048 - disk_profile: small - net_profile: default - openstack.telemetry: - cpu: 2 - ram: 3072 - disk_profile: xxlarge - net_profile: default - # stacklight.log: - # cpu: 2 - # ram: 4096 - # disk_profile: xxlarge - # net_profile: default - # stacklight.server: - # cpu: 2 - # ram: 4096 - # disk_profile: small - # net_profile: default - # stacklight.telemetry: - # cpu: 2 - # ram: 4096 - # disk_profile: xxlarge - # net_profile: default - openstack.proxy: - cpu: 2 - ram: 2048 - disk_profile: small - net_profile: default_ext - cluster: - internal: - node: - mdb01: - image: ${_param:salt_control_xenial_image} - mdb02: - image: ${_param:salt_control_xenial_image} - mdb03: - image: ${_param:salt_control_xenial_image} - ctl01: - image: ${_param:salt_control_xenial_image} - ctl02: - image: ${_param:salt_control_xenial_image} - ctl03: - image: ${_param:salt_control_xenial_image} - dbs01: - image: ${_param:salt_control_xenial_image} - dbs02: - image: ${_param:salt_control_xenial_image} - dbs03: - image: ${_param:salt_control_xenial_image} - msg01: - image: ${_param:salt_control_xenial_image} - msg02: - image: ${_param:salt_control_xenial_image} - msg03: - image: ${_param:salt_control_xenial_image} - prx01: - image: ${_param:salt_control_xenial_image} - prx02: - image: ${_param:salt_control_xenial_image} - provider: kvm03.${_param:cluster_domain} - virt: - nic: - default: - eth1: - bridge: br-mgmt - model: virtio - eth0: - bridge: br-ctl - model: virtio - default_ext: - eth2: - bridge: br-mgmt - model: virtio - eth1: - bridge: br-ex - model: virtio - eth0: - bridge: br-ctl - model: virtio - 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 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 deleted file mode 100644 index 97166c62c..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/kvm_pdf.yml.j2 +++ /dev/null @@ -1,66 +0,0 @@ -############################################################################## -# 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/mcp-pike-common-ha/infra/maas.yml b/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/maas.yml deleted file mode 100644 index 793a7efa5..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/maas.yml +++ /dev/null @@ -1,69 +0,0 @@ -############################################################################## -# 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.maas.region.single - - service.maas.cluster.single - - 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} - primary_interface: ${_param:opnfv_fn_vm_secondary_interface} - pxe_interface: ${_param:opnfv_fn_vm_tertiary_interface} - interface_mtu: 1500 - # MaaS has issues using MTU > 1500 for PXE interface - pxe_interface_mtu: 1500 - linux_system_codename: xenial - maas_admin_username: opnfv - maas_admin_password: opnfv_secret - maas_db_password: opnfv_secret - dns_server01: ${_param:opnfv_dns_server01} - single_address: ${_param:infra_maas_node01_deploy_address} - hwe_kernel: 'hwe-16.04' - maas: - region: - salt_master_ip: ${_param:reclass_config_master} - domain: ${_param:cluster_domain} - maas_config: - commissioning_distro_series: 'xenial' - default_distro_series: 'xenial' - default_osystem: 'ubuntu' - default_storage_layout: 'lvm' - enable_http_proxy: true - disk_erase_with_secure_erase: false - dnssec_validation: 'no' - enable_third_party_drivers: true - network_discovery: 'enabled' - default_min_hwe_kernel: ${_param:hwe_kernel} - cluster: - saltstack_repo_xenial: "http://repo.saltstack.com/apt/ubuntu/16.04/amd64/2017.7/ xenial main" - linux: - network: - interface: - dhcp_interface: - enabled: true - name: ${_param:dhcp_interface} - type: eth - proto: dhcp - primary_interface: - enabled: true - name: ${_param:primary_interface} - mtu: ${_param:interface_mtu} - proto: static - address: ${_param:infra_maas_node01_address} - netmask: 255.255.255.0 - type: eth - pxe_interface: - enabled: true - name: ${_param:pxe_interface} - mtu: ${_param:pxe_interface_mtu} - proto: static - address: ${_param:single_address} - netmask: 255.255.255.0 - type: eth 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 deleted file mode 100644 index 1838590e9..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/maas_pdf.yml.j2 +++ /dev/null @@ -1,94 +0,0 @@ -############################################################################## -# 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 -############################################################################## -{%- set cluster_arch = [] %} -{%- for node in conf.nodes %} - {%- if node.node.arch not in cluster_arch %} - {%- do cluster_arch.append(node.node.arch) %} - {%- endif %} -{%- endfor %} -{%- set net_admin = [conf.idf.net_config.admin.network, - conf.idf.net_config.admin.mask] | join("/") %} ---- -parameters: - maas: - region: - subnets: - {{ net_admin }}: - name: {{ net_admin }} - cidr: {{ net_admin }} - gateway_ip: ${_param:single_address} - iprange: - start: ${_param:opnfv_infra_maas_pxe_start_address} - end: ${_param:opnfv_infra_maas_pxe_end_address} - type: dynamic - vlans: - untagged: - vid: 0 - dhcp_on: true - primary_rack: ${_param:infra_maas_node01_hostname} - # Space-separated list of dpkg architectures to be supported by MaaS - opnfv_arches:{%- for arch in cluster_arch %} {{ arch | dpkg_arch }}{%- endfor %} - sshprefs: - - '{{ conf.MAAS_SSH_KEY }}' -{%- if 'aarch64' in cluster_arch %} - package_repositories: - armband: - name: armband - enabled: '1' - url: 'http://linux.enea.com/mcp-repos/${_param:openstack_version}/${_param:linux_system_codename}' - distributions: '${_param:openstack_version}-armband' - components: 'main' - arches: 'arm64' - key: &armband_key | - -----BEGIN PGP PUBLIC KEY BLOCK----- - Version: GnuPG v2.0.14 (GNU/Linux) - - mQENBFagAroBCADWboNIjuF6lB1mWv2+EbvqY3lKl5mLKhr2DnSUkKeHUPBv8gNM - qK8Q00AMIyPiyEhgjA+dWizZ+5aBgxoiY7oMeLJ2Xym36U/8SYq2BWd3SGCbMNoz - SJDxDUSM/HFVs6atF1M3DY9oN65hSVnu4uy5Tu6asf6k4rhAyk0z4+pRcPBCu2vq - mnGi3COM/+9PShrEKeVOx5W2vRJywUFuq8EDvQnRoJ0GvM28JiJIanw17YwIPxhg - BKZVpZjan5X+ihVMXwA2h/G/FS5Omhd50RqV6LWSYs94VJJgYqHx8UMm7izcxI+P - ct3IcbD195bPbJ+SbuiFe45ZLsdY1MyGiU2BABEBAAG0K0VuZWEgQXJtYmFuZCBE - ZXZvcHMgVGVhbSA8YXJtYmFuZEBlbmVhLmNvbT6JATgEEwECACICGwMGCwkIBwMC - BhUIAgkKCwQWAgMBAh4BAheABQJaY3bYAAoJEN6rkLp5irHRoQMH/0PYl0A/6eWw - nQ/szhEFrr76Ln6wA4vEO+PiuWj9kTkZM2NaCnkisrIuHSPIVvOLfFmztbE6sKGe - t+a2b7Jqw48DZ/gq508aZE4Q307ookxdCOrzIu/796hFO34yXg3sqZoJh3VmKIjY - 4DL8yG1iAiQ5vOw3IFWQnATwIZUgaCcjmE7HGap+9ePuJfFuQ8mIG5cy28t8qocx - AB/B2tucfBMwomYxKqgbLI5AG7iSt58ajvrrNa9f8IX7Ihj/jiuXhUwX+geEp98K - IWVI1ftEthZvfBpZW4BS98J4z//dEPi31L4jb9RQXq3afF2RpXchDeUN85bW45nu - W/9PMAlgE/U= - =m+zE - -----END PGP PUBLIC KEY BLOCK----- -{%- endif %} - 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} - {%- if loop.index0 >= node_roles.index('cmp001') %} - disk_layout: - type: lvm - root_device: sda - volume_group: vgroot - volume_name: lvroot - volume_size: 100 - {%- endif %} - {%- endif %} - {%- endfor %} diff --git a/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_compute.yml b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_compute.yml deleted file mode 100644 index c9bba93f2..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_compute.yml +++ /dev/null @@ -1,73 +0,0 @@ -############################################################################## -# 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.repo.mcp.openstack - - system.linux.system.repo.glusterfs - - system.glusterfs.client.cluster - - system.nova.compute.cluster - - system.nova.compute.nfv.hugepages - - system.neutron.gateway.cluster - - system.cinder.volume.single - - system.cinder.volume.backend.lvm - - system.ceilometer.agent.cluster - - system.ceilometer.agent.polling.default - - 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} - cluster_local_address: ${_param:control_address} - cluster_node01_hostname: ${_param:openstack_control_node01_hostname} - cluster_node01_address: ${_param:openstack_control_node01_address} - cluster_node02_hostname: ${_param:openstack_control_node02_hostname} - cluster_node02_address: ${_param:openstack_control_node02_address} - cluster_node03_hostname: ${_param:openstack_control_node03_hostname} - cluster_node03_address: ${_param:openstack_control_node03_address} - nova_vncproxy_url: https://${_param:cluster_public_host}:6080 - interface_mtu: 1500 - keepalived_vip_interface: br-ctl - keepalived_vip_virtual_router_id: 69 - linux_system_codename: xenial - glusterfs_version: '3.13' - glusterfs: - client: - volumes: - nova_instances: - path: /var/lib/nova/instances - 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: - storage: - lvm: - # Align with both system.cinder.volume.backend.lvm and MaaS data - cinder-vg: - name: vgroot - system: - kernel: - sysctl: - vm.dirty_ratio: 10 - vm.dirty_background_ratio: 5 - boot_options: - - spectre_v2=off - - nopti - 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 deleted file mode 100644 index fd51f5fea..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_compute_pdf.yml.j2 +++ /dev/null @@ -1,93 +0,0 @@ -############################################################################## -# 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/mcp-pike-common-ha/openstack_control.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_control.yml.j2 deleted file mode 100644 index 599c48e80..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_control.yml.j2 +++ /dev/null @@ -1,175 +0,0 @@ -############################################################################## -# 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.repo.mcp.openstack - - system.linux.system.repo.glusterfs - - system.ceilometer.client - - system.memcached.server.single - - system.keystone.server.cluster - - system.keystone.server.wsgi - - system.glance.control.cluster - - system.nova.control.cluster - - system.cinder.control.cluster - - system.cinder.control.backend.lvm - - system.heat.server.cluster - - system.designate.server.cluster - - system.designate.server.backend.bind - - system.bind.server.single - - system.haproxy.proxy.listen.openstack.nova-placement - - 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} - cluster_local_address: ${_param:single_address} - cluster_node01_hostname: ${_param:openstack_control_node01_hostname} - cluster_node01_address: ${_param:openstack_control_node01_address} - cluster_node02_hostname: ${_param:openstack_control_node02_hostname} - cluster_node02_address: ${_param:openstack_control_node02_address} - cluster_node03_hostname: ${_param:openstack_control_node03_hostname} - 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: - host: ${_param:openstack_proxy_control_address} - port: 8000 - protocol: http - waitcondition: - host: ${_param:openstack_proxy_control_address} - port: 8000 - protocol: http - watch: - host: ${_param:openstack_proxy_control_address} - port: 8003 - protocol: http -{%- 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: - mgmt: - enabled: true - bind: - address: ${_param:single_address} - port: 953 - allow: - - ${_param:openstack_control_node01_address} - - ${_param:openstack_control_node02_address} - - ${_param:openstack_control_node03_address} - keys: - - designate - designate: - server: - pools: - default: - description: 'test pool' - targets: - default: - description: 'test target1' - default1: - type: ${_param:designate_pool_target_type} - description: 'test target2' - masters: ${_param:designate_pool_target_masters} - options: - host: ${_param:openstack_control_node02_address} - port: 53 - rndc_host: ${_param:openstack_control_node02_address} - rndc_port: 953 - rndc_key_file: /etc/designate/rndc.key - default2: - type: ${_param:designate_pool_target_type} - description: 'test target3' - masters: ${_param:designate_pool_target_masters} - options: - host: ${_param:openstack_control_node03_address} - port: 53 - rndc_host: ${_param:openstack_control_node03_address} - rndc_port: 953 - rndc_key_file: /etc/designate/rndc.key diff --git a/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_control_init.yml b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_control_init.yml deleted file mode 100644 index d34892282..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_control_init.yml +++ /dev/null @@ -1,18 +0,0 @@ -############################################################################## -# 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.keystone.client.single - - system.keystone.client.service.aodh - - system.keystone.client.service.ceilometer - - system.keystone.client.service.nova21 - - system.keystone.client.service.nova-placement - - system.keystone.client.service.cinder3 - - system.keystone.client.service.designate - - system.keystone.client.service.gnocchi - - system.keystone.client.service.panko diff --git a/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_database.yml b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_database.yml deleted file mode 100644 index e65fc24a2..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_database.yml +++ /dev/null @@ -1,38 +0,0 @@ -############################################################################## -# 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.repo.mcp.openstack - - system.galera.server.cluster - - system.galera.server.database.aodh - - system.galera.server.database.ceilometer - - system.galera.server.database.cinder - - system.galera.server.database.designate - - system.galera.server.database.glance - - system.galera.server.database.gnocchi - - system.galera.server.database.grafana - - system.galera.server.database.heat - - system.galera.server.database.keystone - - system.galera.server.database.nova - - system.galera.server.database.neutron - - system.galera.server.database.panko -parameters: - _param: - keepalived_vip_interface: ${_param:single_nic} - keepalived_vip_virtual_router_id: 80 - galera_server_cluster_name: openstack_cluster - galera_max_connections: 3072 - galera_innodb_buffer_pool_size: 2048M - cluster_vip_address: ${_param:openstack_database_address} - cluster_local_address: ${_param:single_address} - cluster_node01_hostname: ${_param:openstack_database_node01_hostname} - cluster_node01_address: ${_param:openstack_database_node01_address} - cluster_node02_hostname: ${_param:openstack_database_node02_hostname} - cluster_node02_address: ${_param:openstack_database_node02_address} - cluster_node03_hostname: ${_param:openstack_database_node03_hostname} - cluster_node03_address: ${_param:openstack_database_node03_address} diff --git a/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_database_init.yml b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_database_init.yml deleted file mode 100644 index b7d09cfff..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_database_init.yml +++ /dev/null @@ -1,10 +0,0 @@ -############################################################################## -# 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.mysql.client.single diff --git a/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_init.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_init.yml.j2 deleted file mode 100644 index 796bbb138..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_init.yml.j2 +++ /dev/null @@ -1,396 +0,0 @@ -############################################################################## -# 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: - _param: - - 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_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} - openstack_compute_node02_single_address: ${_param:opnfv_openstack_compute_node02_single_address} - openstack_compute_node03_single_address: ${_param:opnfv_openstack_compute_node03_single_address} - openstack_compute_node01_control_address: ${_param:opnfv_openstack_compute_node01_control_address} - openstack_compute_node02_control_address: ${_param:opnfv_openstack_compute_node02_control_address} - openstack_compute_node03_control_address: ${_param:opnfv_openstack_compute_node03_control_address} - openstack_compute_node01_tenant_address: ${_param:opnfv_openstack_compute_node01_tenant_address} - openstack_compute_node02_tenant_address: ${_param:opnfv_openstack_compute_node02_tenant_address} - openstack_compute_node03_tenant_address: ${_param:opnfv_openstack_compute_node03_tenant_address} - openstack_compute_node01_external_address: ${_param:opnfv_openstack_compute_node01_external_address} - 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 - openstack_control_hostname: ctl - openstack_control_node01_hostname: ctl01 - openstack_control_node02_hostname: ctl02 - openstack_control_node03_hostname: ctl03 - openstack_database_hostname: dbs - openstack_database_node01_hostname: dbs01 - openstack_database_node02_hostname: dbs02 - openstack_database_node03_hostname: dbs03 - openstack_message_queue_hostname: msg - 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_global_physnet_mtu: 1500 - neutron_external_mtu: 1500 - neutron_gateway_dvr: 'False' - neutron_gateway_agent_mode: legacy - neutron_compute_dvr: 'False' - neutron_compute_agent_mode: legacy - neutron_compute_external_access: 'True' - galera_server_cluster_name: openstack_cluster - galera_server_maintenance_password: opnfv_secret - galera_server_admin_password: opnfv_secret - rabbitmq_secret_key: opnfv_secret - rabbitmq_admin_password: opnfv_secret - rabbitmq_openstack_password: opnfv_secret - glance_version: ${_param:openstack_version} - glance_service_host: ${_param:openstack_control_address} - keystone_version: ${_param:openstack_version} - keystone_service_host: ${_param:openstack_control_address} - heat_version: ${_param:openstack_version} - heat_service_host: ${_param:openstack_control_address} - heat_domain_admin_password: opnfv_secret - cinder_version: ${_param:openstack_version} - cinder_service_host: ${_param:openstack_control_address} - ceilometer_version: ${_param:openstack_version} - ceilometer_service_host: ${_param:openstack_telemetry_address} - ceilometer_influxdb_password: opnfv_secret - nova_version: ${_param:openstack_version} - 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 - mysql_ceilometer_password: opnfv_secret - mysql_glance_password: opnfv_secret - mysql_grafana_password: opnfv_secret - mysql_heat_password: opnfv_secret - mysql_keystone_password: opnfv_secret - mysql_neutron_password: opnfv_secret - mysql_nova_password: opnfv_secret - mysql_aodh_password: opnfv_secret - mysql_designate_password: opnfv_secret - aodh_version: ${_param:openstack_version} - keystone_aodh_password: opnfv_secret - keystone_service_token: opnfv_secret - keystone_admin_password: opnfv_secret - keystone_ceilometer_password: opnfv_secret - keystone_cinder_password: opnfv_secret - keystone_glance_password: opnfv_secret - keystone_heat_password: opnfv_secret - keystone_keystone_password: opnfv_secret - keystone_neutron_password: opnfv_secret - keystone_nova_password: opnfv_secret - keystone_designate_password: opnfv_secret - ceilometer_secret_key: opnfv_secret - horizon_version: ${_param:openstack_version} - horizon_secret_key: opaesee8Que2yahJoh9fo0eefo1Aeyo6ahyei8zeiboh3aeth5loth7ieNa5xi5e - horizon_identity_host: ${_param:openstack_control_address} - horizon_identity_encryption: none - horizon_identity_version: 3 - metadata_password: opnfv_secret - openstack_telemetry_keepalived_password: opnfv_secret - aodh_service_host: ${_param:openstack_telemetry_address} - gnocchi_version: 4.0 - gnocchi_service_host: ${_param:openstack_telemetry_address} - mysql_gnocchi_password: opnfv_secret - keystone_gnocchi_password: opnfv_secret - panko_version: ${_param:openstack_version} - panko_service_host: ${_param:openstack_telemetry_address} - mysql_panko_password: opnfv_secret - keystone_panko_password: opnfv_secret - ceilometer_agent_default_polling_interval: 180 - ceilometer_agent_default_polling_meters: - - "*" - designate_service_host: ${_param:openstack_control_address} - designate_bind9_rndc_key: 4pc+X4PDqb2q+5o72dISm72LM1Ds9X2EYZjqg+nmsS7FhdTwzFFY8l/iEDmHxnyjkA33EQC8H+z0fLLBunoitw== - designate_domain_id: 5186883b-91fb-4891-bd49-e6769234a8fc - designate_pool_ns_records: - - hostname: 'ns1.example.org.' - priority: 10 - designate_pool_nameservers: - - host: ${_param:openstack_control_node01_address} - port: 53 - - host: ${_param:openstack_control_node02_address} - port: 53 - - host: ${_param:openstack_control_node03_address} - port: 53 - designate_pool_target_type: bind9 - designate_pool_target_masters: - - host: ${_param:openstack_control_node01_address} - port: 5354 - - host: ${_param:openstack_control_node02_address} - port: 5354 - - host: ${_param:openstack_control_node03_address} - port: 5354 - designate_pool_target_options: - host: ${_param:openstack_control_node01_address} - port: 53 - rndc_host: ${_param:openstack_control_node01_address} - rndc_port: 953 - rndc_key_file: /etc/designate/rndc.key - designate_version: ${_param:openstack_version} - # Billing - # keystone_billometer_password: opnfv_secret - # keystone_billometer_address: ${_param:billometer_service_host} - # billometer_service_host: ${_param:openstack_billing_address} - # billometer_version: ${_param:openstack_version} - # billometer_secret_key: opnfv_secretpasswordpasswordpassword - # billometer_identity_password: ${_param:keystone_billometer_password} - # billometer_identity_host: ${_param:openstack_control_address} - # billometer_identity_token: ${_param:keystone_service_token} - linux: - system: - repo: - uca: - source: "deb http://ubuntu-cloud.archive.canonical.com/ubuntu xenial-updates/${_param:openstack_version} main" - key_id: EC4926EA - key_server: keyserver.ubuntu.com - kernel: - sysctl: - net.ipv4.tcp_congestion_control: yeah - net.ipv4.tcp_slow_start_after_idle: 0 - net.ipv4.tcp_fin_timeout: 30 - network: - host: -{%- if conf.MCP_VCP %} - prx: - address: ${_param:openstack_proxy_control_address} - names: - - ${_param:openstack_proxy_hostname} - - ${_param:openstack_proxy_hostname}.${_param:cluster_domain} - prx01: - address: ${_param:openstack_proxy_node01_control_address} - names: - - ${_param:openstack_proxy_node01_hostname} - - ${_param:openstack_proxy_node01_hostname}.${_param:cluster_domain} - prx02: - address: ${_param:openstack_proxy_node02_control_address} - names: - - ${_param:openstack_proxy_node02_hostname} - - ${_param:openstack_proxy_node02_hostname}.${_param:cluster_domain} - ctl: - address: ${_param:openstack_control_address} - names: - - ${_param:openstack_control_hostname} - - ${_param:openstack_control_hostname}.${_param:cluster_domain} - ctl01: - address: ${_param:openstack_control_node01_address} - names: - - ${_param:openstack_control_node01_hostname} - - ${_param:openstack_control_node01_hostname}.${_param:cluster_domain} - ctl02: - address: ${_param:openstack_control_node02_address} - names: - - ${_param:openstack_control_node02_hostname} - - ${_param:openstack_control_node02_hostname}.${_param:cluster_domain} - ctl03: - address: ${_param:openstack_control_node03_address} - names: - - ${_param:openstack_control_node03_hostname} - - ${_param:openstack_control_node03_hostname}.${_param:cluster_domain} - msg: - address: ${_param:openstack_message_queue_address} - names: - - ${_param:openstack_message_queue_hostname} - - ${_param:openstack_message_queue_hostname}.${_param:cluster_domain} - msg01: - address: ${_param:openstack_message_queue_node01_address} - names: - - ${_param:openstack_message_queue_node01_hostname} - - ${_param:openstack_message_queue_node01_hostname}.${_param:cluster_domain} - msg02: - address: ${_param:openstack_message_queue_node02_address} - names: - - ${_param:openstack_message_queue_node02_hostname} - - ${_param:openstack_message_queue_node02_hostname}.${_param:cluster_domain} - msg03: - address: ${_param:openstack_message_queue_node03_address} - names: - - ${_param:openstack_message_queue_node03_hostname} - - ${_param:openstack_message_queue_node03_hostname}.${_param:cluster_domain} - dbs: - address: ${_param:openstack_database_address} - names: - - ${_param:openstack_database_hostname} - - ${_param:openstack_database_hostname}.${_param:cluster_domain} - dbs01: - address: ${_param:openstack_database_node01_address} - names: - - ${_param:openstack_database_node01_hostname} - - ${_param:openstack_database_node01_hostname}.${_param:cluster_domain} - dbs02: - address: ${_param:openstack_database_node02_address} - names: - - ${_param:openstack_database_node02_hostname} - - ${_param:openstack_database_node02_hostname}.${_param:cluster_domain} - dbs03: - address: ${_param:openstack_database_node03_address} - names: - - ${_param:openstack_database_node03_hostname} - - ${_param:openstack_database_node03_hostname}.${_param:cluster_domain} - mdb: - address: ${_param:openstack_telemetry_address} - names: - - ${_param:openstack_telemetry_hostname} - - ${_param:openstack_telemetry_hostname}.${_param:cluster_domain} - mdb01: - address: ${_param:openstack_telemetry_node01_address} - names: - - ${_param:openstack_telemetry_node01_hostname} - - ${_param:openstack_telemetry_node01_hostname}.${_param:cluster_domain} - mdb02: - address: ${_param:openstack_telemetry_node02_address} - names: - - ${_param:openstack_telemetry_node02_hostname} - - ${_param:openstack_telemetry_node02_hostname}.${_param:cluster_domain} - mdb03: - address: ${_param:openstack_telemetry_node03_address} - 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: - - ${_param:openstack_compute_node01_hostname} - - ${_param:openstack_compute_node01_hostname}.${_param:cluster_domain} - cmp002: - address: ${_param:openstack_compute_node02_control_address} - names: - - ${_param:openstack_compute_node02_hostname} - - ${_param:openstack_compute_node02_hostname}.${_param:cluster_domain} diff --git a/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_interface_vcp_biport.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_interface_vcp_biport.yml.j2 deleted file mode 100644 index cc92e5df9..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_interface_vcp_biport.yml.j2 +++ /dev/null @@ -1,32 +0,0 @@ -############################################################################## -# 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-common-ha.include.maas_proxy - - cluster.mcp-pike-common-ha.include.lab_proxy_pdf -parameters: - _param: - dhcp_nic: ${_param:opnfv_vcp_vm_primary_interface} - single_nic: ${_param:opnfv_vcp_vm_secondary_interface} - linux: - network: - interface: - dhcp: - enabled: true - type: eth - proto: dhcp - name: ${_param:dhcp_nic} - single: - enabled: true - type: eth - proto: static - name: ${_param:single_nic} - address: ${_param:single_address} - netmask: ${_param:opnfv_net_public_mask} -{%- endif %} diff --git a/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_interface_vcp_triport.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_interface_vcp_triport.yml.j2 deleted file mode 100644 index 7fef8ae9f..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_interface_vcp_triport.yml.j2 +++ /dev/null @@ -1,45 +0,0 @@ -############################################################################## -# 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-common-ha.include.maas_proxy - - cluster.mcp-pike-common-ha.include.lab_proxy_pdf -parameters: - _param: - dhcp_nic: ${_param:opnfv_vcp_vm_primary_interface} - single_nic: ${_param:opnfv_vcp_vm_secondary_interface} - control_nic: ${_param:opnfv_vcp_vm_tertiary_interface} - linux: - network: - interface: - dhcp_int: - enabled: true - type: eth - proto: dhcp - name: ${_param:dhcp_nic} - single_int: - enabled: true - type: eth - proto: static - name: ${_param:single_nic} - address: ${_param:single_address} - netmask: ${_param:opnfv_net_public_mask} - route: - public: - address: 0.0.0.0 - netmask: 0.0.0.0 - gateway: ${_param:opnfv_net_public_gw} - control_int: - enabled: true - type: eth - proto: static - name: ${_param:control_nic} - address: ${_param:control_address} - netmask: 255.255.255.0 -{%- endif %} diff --git a/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_message_queue.yml b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_message_queue.yml deleted file mode 100644 index be6c5a311..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_message_queue.yml +++ /dev/null @@ -1,24 +0,0 @@ -############################################################################## -# 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.repo.mcp.openstack - - system.rabbitmq.server.cluster - - system.rabbitmq.server.vhost.openstack -parameters: - _param: - keepalived_vip_interface: ${_param:single_nic} - keepalived_vip_virtual_router_id: 90 - cluster_vip_address: ${_param:openstack_message_queue_address} - cluster_local_address: ${_param:single_address} - cluster_node01_hostname: ${_param:openstack_message_queue_node01_hostname} - cluster_node01_address: ${_param:openstack_message_queue_node01_address} - cluster_node02_hostname: ${_param:openstack_message_queue_node02_hostname} - cluster_node02_address: ${_param:openstack_message_queue_node02_address} - cluster_node03_hostname: ${_param:openstack_message_queue_node03_hostname} - cluster_node03_address: ${_param:openstack_message_queue_node03_address} 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 deleted file mode 100644 index 63a5d3af9..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_proxy.yml.j2 +++ /dev/null @@ -1,99 +0,0 @@ -############################################################################## -# 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.repo.mcp.openstack - - 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/mcp-pike-common-ha/openstack_telemetry.yml b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_telemetry.yml deleted file mode 100644 index bf0dc0b41..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_telemetry.yml +++ /dev/null @@ -1,87 +0,0 @@ -############################################################################## -# 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.repo.mcp.openstack - - service.redis.server.single - - system.ceilometer.server.cluster - - system.ceilometer.server.coordination.redis - - system.ceilometer.server.backend.default - - system.aodh.server.cluster - - system.aodh.server.coordination.redis - - system.memcached.server.single - - system.apache.server.single - - system.apache.server.site.gnocchi - - system.apache.server.site.panko - - system.gnocchi.server.cluster - - system.gnocchi.common.storage.incoming.redis - - system.gnocchi.common.storage.redis - - system.gnocchi.common.coordination.redis - - system.panko.server.cluster -parameters: - _param: - keepalived_openstack_telemetry_vip_interface: ${_param:single_nic} - keepalived_vip_virtual_router_id: 230 - cluster_vip_address: ${_param:openstack_telemetry_address} - cluster_local_address: ${_param:single_address} - cluster_node01_hostname: ${_param:openstack_telemetry_node01_hostname} - cluster_node01_address: ${_param:openstack_telemetry_node01_address} - cluster_node02_hostname: ${_param:openstack_telemetry_node02_hostname} - cluster_node02_address: ${_param:openstack_telemetry_node02_address} - cluster_node03_hostname: ${_param:openstack_telemetry_node03_hostname} - cluster_node03_address: ${_param:openstack_telemetry_node03_address} - redis_sentinel_node01_address: ${_param:openstack_telemetry_node01_address} - redis_sentinel_node02_address: ${_param:openstack_telemetry_node02_address} - redis_sentinel_node03_address: ${_param:openstack_telemetry_node03_address} - # yamllint disable-line rule:line-length - openstack_telemetry_redis_url: redis://${_param:redis_sentinel_node01_address}:26379?sentinel=master_1&sentinel_fallback=${_param:redis_sentinel_node02_address}:26379&sentinel_fallback=${_param:redis_sentinel_node03_address}:26379 - gnocchi_coordination_url: ${_param:openstack_telemetry_redis_url} - gnocchi_storage_incoming_redis_url: ${_param:openstack_telemetry_redis_url} - redis: - server: - version: 3.0 - appendfsync: 'no' - bind: - address: ${_param:single_address} - cluster: - enabled: true - mode: sentinel - role: ${_param:redis_cluster_role} - quorum: 2 - master: - host: ${_param:cluster_node01_address} - port: 6379 - sentinel: - address: ${_param:single_address} - gnocchi: - common: - database: - host: ${_param:openstack_database_address} - server: - pkgs: - - gnocchi-api - - gnocchi-metricd - - python-memcache - apache: - server: - ~modules: - - wsgi - - rewrite - site: - gnocchi: - wsgi: - threads: 1 - aodh: - server: - coordination_backend: - url: ${_param:openstack_telemetry_redis_url} - ceilometer: - server: - ~database: ~ - coordination_backend: - url: ${_param:openstack_telemetry_redis_url} 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 deleted file mode 100644 index b812dea89..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/config.yml +++ /dev/null @@ -1,23 +0,0 @@ -############################################################################## -# 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.reclass.storage.system.opendaylight_control_single - - cluster.mcp-pike-common-ha.infra.config - - cluster.mcp-pike-odl-ha.infra - - cluster.all-mcp-arch-common.infra.config_pdf -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 deleted file mode 100644 index 419c05947..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/init.yml +++ /dev/null @@ -1,14 +0,0 @@ -############################################################################## -# 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/mcp-pike-odl-ha/infra/init_vcp.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/init_vcp.yml.j2 deleted file mode 100644 index 385326561..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/init_vcp.yml.j2 +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################## -# 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-odl-ha.infra -{%- endif %} diff --git a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/kvm.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/kvm.yml.j2 deleted file mode 100644 index 5fc4776d9..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/kvm.yml.j2 +++ /dev/null @@ -1,32 +0,0 @@ -############################################################################## -# 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.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: 8192 - 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 -{%- endif %} diff --git a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/maas.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/maas.yml.j2 deleted file mode 100644 index 153b493ce..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/maas.yml.j2 +++ /dev/null @@ -1,22 +0,0 @@ -############################################################################## -# 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 -############################################################################## -{%- set cluster_arch = [] %} -{%- for node in conf.nodes %} - {%- if node.node.arch not in cluster_arch %} - {%- do cluster_arch.append(node.node.arch) %} - {%- endif %} -{%- endfor %} ---- -classes: - - cluster.mcp-pike-common-ha.infra.maas - - cluster.mcp-pike-odl-ha.infra -{%- if 'aarch64' not in cluster_arch %} -parameters: - _param: - hwe_kernel: 'ga-16.04' -{%- endif %} diff --git a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/init.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/init.yml deleted file mode 100644 index 80942c27f..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/init.yml +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################## -# 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-odl-ha.infra - - cluster.mcp-pike-odl-ha.openstack diff --git a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/opendaylight/control.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/opendaylight/control.yml.j2 deleted file mode 100644 index a5db82387..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/opendaylight/control.yml.j2 +++ /dev/null @@ -1,30 +0,0 @@ -############################################################################## -# 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.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 - opendaylight: - server: - odl_bind_ip: ${_param:single_address} - odl_rest_port: 8282 - java_min_mem: 6g - java_max_mem: 6g - router_enabled: true - karaf_features: - odl_default: - - odl-restconf-all - - odl-aaa-authn - 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 deleted file mode 100644 index 6c3e0d04c..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/compute.yml +++ /dev/null @@ -1,17 +0,0 @@ -############################################################################## -# 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 deleted file mode 100644 index 7cf4c8864..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/compute_pdf.yml.j2 +++ /dev/null @@ -1,49 +0,0 @@ -############################################################################## -# 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 | string).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/mcp-pike-odl-ha/openstack/control.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/control.yml deleted file mode 100644 index e907e3d4c..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/control.yml +++ /dev/null @@ -1,21 +0,0 @@ -############################################################################## -# Copyright (c) 2018 Mirantis Inc., Enea AB and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Apache License, Version 2.0 -# which accompanies this distribution, and is available at -# http://www.apache.org/licenses/LICENSE-2.0 -############################################################################## ---- -classes: - - system.neutron.control.opendaylight.cluster - - cluster.mcp-pike-common-ha.openstack_interface_vcp_biport - - cluster.mcp-pike-common-ha.openstack_control - - cluster.mcp-pike-odl-ha.infra -parameters: - keystone: - server: - 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 deleted file mode 100644 index 69cb24dbf..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/database.yml +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################## -# 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/mcp-pike-odl-ha/openstack/init.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/init.yml.j2 deleted file mode 100644 index 5a3b36fb1..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/init.yml.j2 +++ /dev/null @@ -1,26 +0,0 @@ -############################################################################## -# 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: - # opendaylight options - opendaylight_service_host: ${_param:opendaylight_server_node01_single_address} - - neutron_tenant_network_types: "flat,vxlan" -{%- if conf.MCP_VCP %} - linux: - network: - host: - odl01: - address: ${_param:opendaylight_service_host} - 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 deleted file mode 100644 index 604728da1..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/message_queue.yml +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################## -# 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/mcp-pike-odl-ha/openstack/proxy.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/proxy.yml deleted file mode 100644 index 3c6b3a2cf..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/proxy.yml +++ /dev/null @@ -1,28 +0,0 @@ -############################################################################## -# 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-odl-ha.infra.init_vcp -parameters: - nginx: - server: - site: - 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 deleted file mode 100644 index 20df2aab6..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/telemetry.yml +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################## -# 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/mcp-pike-ovn-ha/infra/config.yml b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/config.yml deleted file mode 100644 index ca7491a02..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/config.yml +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################## -# 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-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 deleted file mode 100644 index 5c7438ab4..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/init.yml +++ /dev/null @@ -1,14 +0,0 @@ -############################################################################## -# 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 deleted file mode 100644 index 46acb7d2d..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/init_vcp.yml.j2 +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################## -# 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/mcp-pike-ovn-ha/infra/kvm.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/kvm.yml.j2 deleted file mode 100644 index 4a2355bf1..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/kvm.yml.j2 +++ /dev/null @@ -1,14 +0,0 @@ -############################################################################## -# 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.mcp-pike-common-ha.infra.kvm - - cluster.mcp-pike-ovn-ha.infra -{%- endif %} diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/maas.yml b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/maas.yml deleted file mode 100644 index 398768e08..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/maas.yml +++ /dev/null @@ -1,11 +0,0 @@ -############################################################################## -# 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-ovn-ha.infra diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/init.yml b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/init.yml deleted file mode 100644 index 69e8033c1..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/init.yml +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################## -# 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-ovn-ha.infra - - cluster.mcp-pike-ovn-ha.openstack diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/compute.yml b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/compute.yml deleted file mode 100644 index 36073827a..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/compute.yml +++ /dev/null @@ -1,17 +0,0 @@ -############################################################################## -# 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-ovn-ha.openstack.compute_pdf - - cluster.mcp-pike-ovn-ha.infra -parameters: - nova: - compute: - libvirt_service: libvirtd - libvirt_bin: /etc/default/libvirtd 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 deleted file mode 100644 index 7cf4c8864..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/compute_pdf.yml.j2 +++ /dev/null @@ -1,49 +0,0 @@ -############################################################################## -# 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 | string).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/mcp-pike-ovn-ha/openstack/control.yml b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/control.yml deleted file mode 100644 index 96ea48ea2..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/control.yml +++ /dev/null @@ -1,13 +0,0 @@ -############################################################################## -# Copyright (c) 2018 Mirantis Inc., Enea AB and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Apache License, Version 2.0 -# which accompanies this distribution, and is available at -# http://www.apache.org/licenses/LICENSE-2.0 -############################################################################## ---- -classes: - - system.neutron.control.openvswitch.cluster - - 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/mcp-pike-ovn-ha/openstack/database.yml b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/database.yml deleted file mode 100644 index 2ed79ab3b..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/database.yml +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################## -# 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-ovn-ha.infra_vcp diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/init.yml b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/init.yml deleted file mode 100644 index 02cd14adb..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/init.yml +++ /dev/null @@ -1,13 +0,0 @@ -############################################################################## -# 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-ovn-ha/openstack/message_queue.yml b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/message_queue.yml deleted file mode 100644 index db587ac94..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/message_queue.yml +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################## -# 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/mcp-pike-ovn-ha/openstack/proxy.yml b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/proxy.yml deleted file mode 100644 index 49fec8246..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/proxy.yml +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################## -# 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-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 deleted file mode 100644 index 4b9d9acc2..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/telemetry.yml +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################## -# 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/mcp-pike-ovs-dpdk-ha/infra/config.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/infra/config.yml deleted file mode 100644 index 0b0632609..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/infra/config.yml +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################## -# 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/mcp-pike-ovs-dpdk-ha/infra/init.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/infra/init.yml deleted file mode 100644 index 5b49f2572..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/infra/init.yml +++ /dev/null @@ -1,19 +0,0 @@ -############################################################################## -# 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-dpdk-ha.openstack -parameters: - _param: - cluster_name: mcp-pike-ovs-dpdk-ha - linux: - system: - service: - apt-daily.timer: - status: dead 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 deleted file mode 100644 index 9e85995bc..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/infra/init_vcp.yml.j2 +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################## -# 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/mcp-pike-ovs-dpdk-ha/infra/kvm.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/infra/kvm.yml.j2 deleted file mode 100644 index b62118d4a..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/infra/kvm.yml.j2 +++ /dev/null @@ -1,14 +0,0 @@ -############################################################################## -# 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.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 deleted file mode 100644 index f472885e2..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/infra/maas.yml +++ /dev/null @@ -1,11 +0,0 @@ -############################################################################## -# 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/mcp-pike-ovs-dpdk-ha/init.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/init.yml deleted file mode 100644 index 07ad6734c..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/init.yml +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################## -# 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-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 deleted file mode 100644 index d121c0807..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/openstack/compute.yml +++ /dev/null @@ -1,28 +0,0 @@ -############################################################################## -# 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 deleted file mode 100644 index cf9a0b302..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/openstack/compute_pdf.yml.j2 +++ /dev/null @@ -1,27 +0,0 @@ -############################################################################## -# 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/mcp-pike-ovs-dpdk-ha/openstack/control.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/openstack/control.yml deleted file mode 100644 index e0423c33b..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/openstack/control.yml +++ /dev/null @@ -1,18 +0,0 @@ -############################################################################## -# Copyright (c) 2018 Mirantis Inc., Enea AB and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Apache License, Version 2.0 -# which accompanies this distribution, and is available at -# http://www.apache.org/licenses/LICENSE-2.0 -############################################################################## ---- -classes: - - system.neutron.control.openvswitch.cluster - - 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: - backend: - tenant_vlan_range: ${_param:neutron_tenant_vlan_range} 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 deleted file mode 100644 index 324ec3f84..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/openstack/database.yml +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################## -# 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/mcp-pike-ovs-dpdk-ha/openstack/init.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/openstack/init.yml deleted file mode 100644 index 1f8ff4b9e..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/openstack/init.yml +++ /dev/null @@ -1,14 +0,0 @@ -############################################################################## -# 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,vlan" - neutron_tenant_vlan_range: ${_param:opnfv_net_tenant_vlan} diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/openstack/message_queue.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/openstack/message_queue.yml deleted file mode 100644 index f15e4310a..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/openstack/message_queue.yml +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################## -# 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-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 deleted file mode 100644 index 09eda53c0..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/openstack/proxy.yml +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################## -# 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 deleted file mode 100644 index 68d437864..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/openstack/telemetry.yml +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################## -# 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/mcp-pike-ovs-ha/infra/config.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/infra/config.yml deleted file mode 100644 index cab196d12..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/infra/config.yml +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################## -# 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 deleted file mode 100644 index c0c873c00..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/infra/init.yml +++ /dev/null @@ -1,14 +0,0 @@ -############################################################################## -# 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 deleted file mode 100644 index 74023ce14..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/infra/init_vcp.yml.j2 +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################## -# 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/mcp-pike-ovs-ha/infra/kvm.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/infra/kvm.yml.j2 deleted file mode 100644 index 0d49e5d10..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/infra/kvm.yml.j2 +++ /dev/null @@ -1,14 +0,0 @@ -############################################################################## -# 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.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 deleted file mode 100644 index d0aabd90f..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/infra/maas.yml +++ /dev/null @@ -1,11 +0,0 @@ -############################################################################## -# 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 deleted file mode 100644 index a603c8450..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/init.yml +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################## -# 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/mcp-pike-ovs-ha/openstack/compute.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/compute.yml deleted file mode 100644 index fa815e8be..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/compute.yml +++ /dev/null @@ -1,17 +0,0 @@ -############################################################################## -# 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-ha.openstack.compute_pdf - - cluster.mcp-pike-ovs-ha.infra -parameters: - 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 deleted file mode 100644 index 7cf4c8864..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/compute_pdf.yml.j2 +++ /dev/null @@ -1,49 +0,0 @@ -############################################################################## -# 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 | string).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/mcp-pike-ovs-ha/openstack/control.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/control.yml deleted file mode 100644 index a70a8a07f..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/control.yml +++ /dev/null @@ -1,13 +0,0 @@ -############################################################################## -# Copyright (c) 2018 Mirantis Inc., Enea AB and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Apache License, Version 2.0 -# which accompanies this distribution, and is available at -# http://www.apache.org/licenses/LICENSE-2.0 -############################################################################## ---- -classes: - - system.neutron.control.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 deleted file mode 100644 index 33c86e8c1..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/database.yml +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################## -# 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 deleted file mode 100644 index 02cd14adb..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/init.yml +++ /dev/null @@ -1,13 +0,0 @@ -############################################################################## -# 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 deleted file mode 100644 index 629b2794b..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/message_queue.yml +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################## -# 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 deleted file mode 100644 index 3698965f6..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/proxy.yml +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################## -# 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 deleted file mode 100644 index 26341ea7b..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/telemetry.yml +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################## -# 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 -- cgit 1.2.3-korg