From a21457cc96a640700736189612261e9bcae3d825 Mon Sep 17 00:00:00 2001 From: Alexandru Avadanii Date: Mon, 19 Feb 2018 19:01:56 +0100 Subject: [novcp] Add deploy argument `-N` (experimental) Instead of duplicating scenarios for NOVCP, allow it to be specified using a new deploy argument, `-N`. Things are getting convoluted, so instead of creating dedicated '*_pdf.yml.j2' files for each group of similar features, apply the templating in-place and rename all affected files to ".yml.j2". This breaks .gitignore assumption of hiding only "*_pdf.yml" files, so extend (manually) the with `git ls-files --exclude-standard -o` after an expansion. - ha: move nfv.cpu_pinning to j2, conditioned by 'baremetal'; - ha: add cmp00* vnode definitions (hugepages need more RAM); - labs/local: enable hugepage params for non-dpdk noha; - salt.sh: add route_wrapper to all non-infra VMs; This change extends novcp support to all HA scenarios. Change-Id: I7a80415ac33367ab227ececb4ffb1bc026546d36 Signed-off-by: Alexandru Avadanii --- ci/deploy.sh | 15 +- mcp/config/labs/local/idf-virtual1.yaml | 4 +- mcp/config/scenario/.gitignore | 2 +- mcp/config/scenario/os-nosdn-nofeature-ha.yaml | 26 -- mcp/config/scenario/os-nosdn-nofeature-ha.yaml.j2 | 67 ++++ .../scenario/os-nosdn-nofeature-novcp-ha.yaml.j2 | 58 --- mcp/config/scenario/os-nosdn-ovs-ha.yaml | 27 -- mcp/config/scenario/os-nosdn-ovs-ha.yaml.j2 | 68 ++++ mcp/config/scenario/os-odl-nofeature-ha.yaml | 27 -- mcp/config/scenario/os-odl-nofeature-ha.yaml.j2 | 68 ++++ mcp/config/scenario/os-ovn-nofeature-ha.yaml | 26 -- mcp/config/scenario/os-ovn-nofeature-ha.yaml.j2 | 67 ++++ mcp/reclass/classes/cluster/.gitignore | 16 + .../cluster/mcp-pike-common-ha/infra/config.yml | 4 + .../cluster/mcp-pike-common-ha/infra/init.yml | 105 ------ .../cluster/mcp-pike-common-ha/infra/init.yml.j2 | 112 ++++++ .../mcp-pike-common-ha/openstack_compute.yml | 1 - .../openstack_compute_pdf.yml.j2 | 10 +- .../mcp-pike-common-ha/openstack_control.yml | 112 ------ .../mcp-pike-common-ha/openstack_control.yml.j2 | 181 ++++++++++ .../mcp-pike-common-ha/openstack_control_novcp.yml | 144 -------- .../cluster/mcp-pike-common-ha/openstack_init.yml | 307 ---------------- .../mcp-pike-common-ha/openstack_init.yml.j2 | 391 +++++++++++++++++++++ .../mcp-pike-common-ha/openstack_init_novcp.yml | 234 ------------ .../openstack_interface_vcp_biport.yml | 30 -- .../openstack_interface_vcp_biport.yml.j2 | 32 ++ .../openstack_interface_vcp_triport.yml | 43 --- .../openstack_interface_vcp_triport.yml.j2 | 45 +++ .../cluster/mcp-pike-common-ha/openstack_proxy.yml | 50 --- .../mcp-pike-common-ha/openstack_proxy.yml.j2 | 98 ++++++ .../cluster/mcp-pike-odl-ha/infra/init_vcp.yml.j2 | 12 + .../classes/cluster/mcp-pike-odl-ha/infra/kvm.yml | 29 -- .../cluster/mcp-pike-odl-ha/infra/kvm.yml.j2 | 32 ++ .../mcp-pike-odl-ha/opendaylight/control.yml | 30 -- .../mcp-pike-odl-ha/opendaylight/control.yml.j2 | 32 ++ .../cluster/mcp-pike-odl-ha/openstack/database.yml | 2 +- .../cluster/mcp-pike-odl-ha/openstack/init.yml | 26 -- .../cluster/mcp-pike-odl-ha/openstack/init.yml.j2 | 26 ++ .../mcp-pike-odl-ha/openstack/message_queue.yml | 2 +- .../cluster/mcp-pike-odl-ha/openstack/proxy.yml | 2 +- .../mcp-pike-odl-ha/openstack/telemetry.yml | 2 +- .../cluster/mcp-pike-ovn-ha/infra/init_vcp.yml.j2 | 12 + .../classes/cluster/mcp-pike-ovn-ha/infra/kvm.yml | 11 - .../cluster/mcp-pike-ovn-ha/infra/kvm.yml.j2 | 14 + .../cluster/mcp-pike-ovn-ha/openstack/database.yml | 2 +- .../mcp-pike-ovn-ha/openstack/message_queue.yml | 2 +- .../cluster/mcp-pike-ovn-ha/openstack/proxy.yml | 2 +- .../mcp-pike-ovn-ha/openstack/telemetry.yml | 2 +- .../mcp-pike-ovs-dpdk-ha/infra/init_vcp.yml.j2 | 12 + .../cluster/mcp-pike-ovs-dpdk-ha/infra/kvm.yml | 11 - .../cluster/mcp-pike-ovs-dpdk-ha/infra/kvm.yml.j2 | 14 + .../mcp-pike-ovs-dpdk-ha/openstack/database.yml | 2 +- .../openstack/message_queue.yml | 2 +- .../mcp-pike-ovs-dpdk-ha/openstack/proxy.yml | 2 +- .../mcp-pike-ovs-dpdk-ha/openstack/telemetry.yml | 2 +- .../cluster/mcp-pike-ovs-ha/infra/init_vcp.yml.j2 | 12 + .../classes/cluster/mcp-pike-ovs-ha/infra/kvm.yml | 11 - .../cluster/mcp-pike-ovs-ha/infra/kvm.yml.j2 | 14 + .../cluster/mcp-pike-ovs-ha/openstack/database.yml | 2 +- .../mcp-pike-ovs-ha/openstack/message_queue.yml | 2 +- .../cluster/mcp-pike-ovs-ha/openstack/proxy.yml | 2 +- .../mcp-pike-ovs-ha/openstack/telemetry.yml | 2 +- .../cluster/mcp-pike-ovs-novcp-ha/infra/config.yml | 25 -- .../cluster/mcp-pike-ovs-novcp-ha/infra/init.yml | 18 - .../cluster/mcp-pike-ovs-novcp-ha/infra/kvm.yml | 12 - .../cluster/mcp-pike-ovs-novcp-ha/infra/maas.yml | 11 - .../classes/cluster/mcp-pike-ovs-novcp-ha/init.yml | 12 - .../mcp-pike-ovs-novcp-ha/openstack/compute.yml | 17 - .../openstack/compute_pdf.yml.j2 | 1 - .../mcp-pike-ovs-novcp-ha/openstack/control.yml | 19 - .../mcp-pike-ovs-novcp-ha/openstack/database.yml | 10 - .../mcp-pike-ovs-novcp-ha/openstack/init.yml | 19 - .../openstack/message_queue.yml | 10 - .../mcp-pike-ovs-novcp-ha/openstack/proxy.yml | 59 ---- .../mcp-pike-ovs-novcp-ha/openstack/telemetry.yml | 10 - mcp/reclass/nodes/cfg01.mcp-pike-ovs-ha.local.yml | 2 +- .../nodes/cfg01.mcp-pike-ovs-novcp-ha.local.yml | 18 - mcp/scripts/salt.sh | 1 + mcp/scripts/xdf_data.sh.j2 | 2 +- 79 files changed, 1371 insertions(+), 1575 deletions(-) delete mode 100644 mcp/config/scenario/os-nosdn-nofeature-ha.yaml create mode 100644 mcp/config/scenario/os-nosdn-nofeature-ha.yaml.j2 delete mode 100644 mcp/config/scenario/os-nosdn-nofeature-novcp-ha.yaml.j2 delete mode 100644 mcp/config/scenario/os-nosdn-ovs-ha.yaml create mode 100644 mcp/config/scenario/os-nosdn-ovs-ha.yaml.j2 delete mode 100644 mcp/config/scenario/os-odl-nofeature-ha.yaml create mode 100644 mcp/config/scenario/os-odl-nofeature-ha.yaml.j2 delete mode 100644 mcp/config/scenario/os-ovn-nofeature-ha.yaml create mode 100644 mcp/config/scenario/os-ovn-nofeature-ha.yaml.j2 delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/init.yml create 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/openstack_control.yml create 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_novcp.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_init.yml create 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_init_novcp.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_interface_vcp_biport.yml create 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 create 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_proxy.yml create mode 100644 mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_proxy.yml.j2 create 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 create 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/opendaylight/control.yml create 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/init.yml create mode 100644 mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/init.yml.j2 create 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 create mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/kvm.yml.j2 create 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 create mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/infra/kvm.yml.j2 create 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 create mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovs-ha/infra/kvm.yml.j2 delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/infra/config.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/infra/init.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/infra/kvm.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/infra/maas.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/init.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/openstack/compute.yml delete mode 120000 mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/openstack/compute_pdf.yml.j2 delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/openstack/control.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/openstack/database.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/openstack/init.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/openstack/message_queue.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/openstack/proxy.yml delete mode 100644 mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/openstack/telemetry.yml delete mode 100644 mcp/reclass/nodes/cfg01.mcp-pike-ovs-novcp-ha.local.yml diff --git a/ci/deploy.sh b/ci/deploy.sh index 7542bd9d1..a5fec4d44 100755 --- a/ci/deploy.sh +++ b/ci/deploy.sh @@ -1,7 +1,7 @@ #!/bin/bash -e # shellcheck disable=SC2034,SC2154,SC1090,SC1091,SC2155 ############################################################################## -# Copyright (c) 2017 Ericsson AB, Mirantis Inc., Enea AB and others. +# Copyright (c) 2018 Ericsson AB, Mirantis Inc., Enea AB and others. # jonas.bjurel@ericsson.com # All rights reserved. This program and the accompanying materials # are made available under the terms of the Apache License, Version 2.0 @@ -38,7 +38,7 @@ $(notify "USAGE:" 2) $(basename "$0") -l lab-name -p pod-name -s deploy-scenario \\ [-b Lab Config Base URI] \\ [-S storage-dir] [-L /path/to/log/file.tar.gz] \\ - [-f[f]] [-F] [-e | -E[E]] [-d] [-D] + [-f[f]] [-F] [-e | -E[E]] [-d] [-D] [-N] $(notify "OPTIONS:" 2) -b Base-uri for the stack-configuration structure @@ -55,6 +55,7 @@ $(notify "OPTIONS:" 2) -s Deploy-scenario short-name -S Storage dir for VM images -L Deployment log path and file name + -N Experimental: Do not virtualize control plane (novcp) $(notify_i "Description:" 2) Deploys the Fuel@OPNFV stack on the indicated lab resource. @@ -90,6 +91,8 @@ $(notify_i "Input parameters to the build script are:" 2) -L Deployment log path and name, eg. -L /home/jenkins/job.log.tar.gz -l Lab name as defined in the configuration directory, e.g. lf -p POD name as defined in the configuration directory, e.g. pod2 +-N Experimental: Instead of virtualizing the control plane (VCP), deploy + control plane directly on baremetal nodes -P Skip installing dependency distro packages on current host This flag should only be used if you have kept back older packages that would be upgraded and that is undesirable on the current system. @@ -130,6 +133,7 @@ USE_EXISTING_INFRA=${USE_EXISTING_INFRA:-0} INFRA_CREATION_ONLY=${INFRA_CREATION_ONLY:-0} NO_DEPLOY_ENVIRONMENT=${NO_DEPLOY_ENVIRONMENT:-0} ERASE_ENV=${ERASE_ENV:-0} +MCP_VCP=${MCP_VCP:-1} source "${DEPLOY_DIR}/globals.sh" source "${DEPLOY_DIR}/lib.sh" @@ -143,7 +147,7 @@ source "${DEPLOY_DIR}/lib_template.sh" # BEGIN of main # set +x -while getopts "b:dDfEFl:L:p:Ps:S:he" OPTION +while getopts "b:dDfEFl:L:Np:Ps:S:he" OPTION do case $OPTION in b) @@ -178,6 +182,9 @@ do L) DEPLOY_LOG="${OPTARG}" ;; + N) + MCP_VCP=0 + ;; p) TARGET_POD=${OPTARG} if [[ "${TARGET_POD}" =~ virtual ]]; then @@ -260,7 +267,7 @@ generate_ssh_key export MAAS_SSH_KEY="$(cat "$(basename "${SSH_KEY}").pub")" # Expand jinja2 templates based on PDF data and env vars -export MCP_JUMP_ARCH=$(uname -i) +export MCP_VCP MCP_JUMP_ARCH=$(uname -i) do_templates_scenario "${STORAGE_DIR}" "${TARGET_LAB}" "${TARGET_POD}" \ "${BASE_CONFIG_URI}" "${SCENARIO_DIR}" do_templates_cluster "${STORAGE_DIR}" "${TARGET_LAB}" "${TARGET_POD}" \ diff --git a/mcp/config/labs/local/idf-virtual1.yaml b/mcp/config/labs/local/idf-virtual1.yaml index 2142baf95..7d45dd24f 100644 --- a/mcp/config/labs/local/idf-virtual1.yaml +++ b/mcp/config/labs/local/idf-virtual1.yaml @@ -80,10 +80,12 @@ idf: reclass: node: - compute_params: &compute_params - dpdk: + common: &compute_params_common compute_hugepages_size: 2M compute_hugepages_count: 2048 compute_hugepages_mount: /mnt/hugepages_2M + dpdk: + <<: *compute_params_common compute_dpdk_driver: uio compute_ovs_pmd_cpu_mask: "0x6" compute_ovs_dpdk_socket_mem: "1024" diff --git a/mcp/config/scenario/.gitignore b/mcp/config/scenario/.gitignore index 14e9ab880..46c7f92c8 100644 --- a/mcp/config/scenario/.gitignore +++ b/mcp/config/scenario/.gitignore @@ -1 +1 @@ -os-nosdn-nofeature-novcp-ha.yaml +*-ha.yaml diff --git a/mcp/config/scenario/os-nosdn-nofeature-ha.yaml b/mcp/config/scenario/os-nosdn-nofeature-ha.yaml deleted file mode 100644 index 547bc2972..000000000 --- a/mcp/config/scenario/os-nosdn-nofeature-ha.yaml +++ /dev/null @@ -1,26 +0,0 @@ -############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Apache License, Version 2.0 -# which accompanies this distribution, and is available at -# http://www.apache.org/licenses/LICENSE-2.0 -############################################################################## ---- -cluster: - domain: mcp-pike-ovs-ha.local - states: - - maas - - baremetal_init - - virtual_control_plane - - openstack_ha - - networks -virtual: - nodes: - - cfg01 - - mas01 - cfg01: - vcpus: 4 - ram: 6144 - mas01: - vcpus: 4 - ram: 6144 diff --git a/mcp/config/scenario/os-nosdn-nofeature-ha.yaml.j2 b/mcp/config/scenario/os-nosdn-nofeature-ha.yaml.j2 new file mode 100644 index 000000000..2c4a5f197 --- /dev/null +++ b/mcp/config/scenario/os-nosdn-nofeature-ha.yaml.j2 @@ -0,0 +1,67 @@ +############################################################################## +# Copyright (c) 2018 Mirantis Inc., Enea AB and others. +# All rights reserved. This program and the accompanying materials +# are made available under the 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 %} +{%- set cluster = {'has_virtual_nodes': False} %} +{%- for node in conf.nodes %} + {%- if not cluster.has_virtual_nodes and node.node.type == 'baremetal' %} + {%- do cluster.update({'has_baremetal_nodes': True}) %} + {%- endif %} +{%- endfor %} +--- +cluster: + domain: mcp-pike-ovs-ha.local + states: +{%- if cluster.has_baremetal_nodes %} + - maas + - baremetal_init +{%- endif %} +{%- if conf.MCP_VCP %} + - virtual_control_plane +{%- endif %} + - openstack_ha + - networks +virtual: + nodes: + - cfg01 +{%- if cluster.has_baremetal_nodes %} + - mas01 +{%- endif %} +{#- Most likely, controllers will always have the same type and number (3) #} +{%- if conf.nodes[nm.ctl01.idx].node.type == 'virtual' %} + - kvm01 + - kvm02 + - kvm03 +{%- endif %} +{#- Later, we might have mixed computes here, for hybrid multi-arch testing #} +{%- if conf.nodes[nm.cmp001.idx].node.type == 'virtual' %} + - cmp001 + - cmp002 +{%- endif %} + cfg01: + vcpus: 4 + ram: 6144 + # Below values are only used when nodes are defined in virtual.nodes above + mas01: + vcpus: 4 + ram: 6144 + # NOTE: We might need to add more RAM here + kvm01: + vcpus: 4 + ram: 14336 + kvm02: + vcpus: 4 + ram: 14336 + kvm03: + vcpus: 4 + ram: 14336 + cmp001: + vcpus: 4 + ram: 8192 + cmp002: + vcpus: 4 + ram: 8192 diff --git a/mcp/config/scenario/os-nosdn-nofeature-novcp-ha.yaml.j2 b/mcp/config/scenario/os-nosdn-nofeature-novcp-ha.yaml.j2 deleted file mode 100644 index 8a366e9f9..000000000 --- a/mcp/config/scenario/os-nosdn-nofeature-novcp-ha.yaml.j2 +++ /dev/null @@ -1,58 +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 %} -{%- set cluster = {'has_virtual_nodes': False} %} -{%- for node in conf.nodes %} - {%- if not cluster.has_virtual_nodes and node.node.type == 'baremetal' %} - {%- do cluster.update({'has_baremetal_nodes': True}) %} - {%- endif %} -{%- endfor %} ---- -cluster: - domain: mcp-pike-ovs-novcp-ha.local - states: -{%- if cluster.has_baremetal_nodes %} - - maas - - baremetal_init -{%- endif %} - - openstack_ha - - networks -virtual: - nodes: - - cfg01 -{%- if cluster.has_baremetal_nodes %} - - mas01 -{%- endif %} -{#- Most likely, controllers will always have the same type and number (3) #} -{%- if conf.nodes[nm.ctl01.idx].node.type == 'virtual' %} - - kvm01 - - kvm02 - - kvm03 -{%- endif %} -{#- Later, we might have mixed computes here, for hybrid multi-arch testing #} -{%- if conf.nodes[nm.cmp001.idx].node.type == 'virtual' %} - - cmp001 - - cmp002 -{%- endif %} - cfg01: - vcpus: 4 - ram: 6144 - # Below values are only used when nodes are defined in virtual.nodes above - mas01: - vcpus: 4 - ram: 6144 - # NOTE: We might need to add more RAM here - kvm01: - vcpus: 4 - ram: 14336 - kvm02: - vcpus: 4 - ram: 14336 - kvm03: - vcpus: 4 - ram: 14336 diff --git a/mcp/config/scenario/os-nosdn-ovs-ha.yaml b/mcp/config/scenario/os-nosdn-ovs-ha.yaml deleted file mode 100644 index 496262656..000000000 --- a/mcp/config/scenario/os-nosdn-ovs-ha.yaml +++ /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 -############################################################################## ---- -cluster: - domain: mcp-pike-ovs-dpdk-ha.local - states: - - maas - - baremetal_init - - virtual_control_plane - - dpdk - - openstack_ha - - networks -virtual: - nodes: - - cfg01 - - mas01 - cfg01: - vcpus: 4 - ram: 6144 - mas01: - vcpus: 4 - ram: 6144 diff --git a/mcp/config/scenario/os-nosdn-ovs-ha.yaml.j2 b/mcp/config/scenario/os-nosdn-ovs-ha.yaml.j2 new file mode 100644 index 000000000..96db11739 --- /dev/null +++ b/mcp/config/scenario/os-nosdn-ovs-ha.yaml.j2 @@ -0,0 +1,68 @@ +############################################################################## +# Copyright (c) 2018 Mirantis Inc., Enea AB and others. +# All rights reserved. This program and the accompanying materials +# are made available under the 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 %} +{%- set cluster = {'has_virtual_nodes': False} %} +{%- for node in conf.nodes %} + {%- if not cluster.has_virtual_nodes and node.node.type == 'baremetal' %} + {%- do cluster.update({'has_baremetal_nodes': True}) %} + {%- endif %} +{%- endfor %} +--- +cluster: + domain: mcp-pike-ovs-dpdk-ha.local + states: +{%- if cluster.has_baremetal_nodes %} + - maas + - baremetal_init +{%- endif %} +{%- if conf.MCP_VCP %} + - virtual_control_plane +{%- endif %} + - dpdk + - openstack_ha + - networks +virtual: + nodes: + - cfg01 +{%- if cluster.has_baremetal_nodes %} + - mas01 +{%- endif %} +{#- Most likely, controllers will always have the same type and number (3) #} +{%- if conf.nodes[nm.ctl01.idx].node.type == 'virtual' %} + - kvm01 + - kvm02 + - kvm03 +{%- endif %} +{#- Later, we might have mixed computes here, for hybrid multi-arch testing #} +{%- if conf.nodes[nm.cmp001.idx].node.type == 'virtual' %} + - cmp001 + - cmp002 +{%- endif %} + cfg01: + vcpus: 4 + ram: 6144 + # Below values are only used when nodes are defined in virtual.nodes above + mas01: + vcpus: 4 + ram: 6144 + # NOTE: We might need to add more RAM here + kvm01: + vcpus: 4 + ram: 14336 + kvm02: + vcpus: 4 + ram: 14336 + kvm03: + vcpus: 4 + ram: 14336 + cmp001: + vcpus: 4 + ram: 8192 + cmp002: + vcpus: 4 + ram: 8192 diff --git a/mcp/config/scenario/os-odl-nofeature-ha.yaml b/mcp/config/scenario/os-odl-nofeature-ha.yaml deleted file mode 100644 index 7cf1033a4..000000000 --- a/mcp/config/scenario/os-odl-nofeature-ha.yaml +++ /dev/null @@ -1,27 +0,0 @@ -############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Apache License, Version 2.0 -# which accompanies this distribution, and is available at -# http://www.apache.org/licenses/LICENSE-2.0 -############################################################################## ---- -cluster: - domain: mcp-pike-odl-ha.local - states: - - maas - - baremetal_init - - virtual_control_plane - - opendaylight - - openstack_ha - - networks -virtual: - nodes: - - cfg01 - - mas01 - cfg01: - vcpus: 4 - ram: 6144 - mas01: - vcpus: 4 - ram: 6144 diff --git a/mcp/config/scenario/os-odl-nofeature-ha.yaml.j2 b/mcp/config/scenario/os-odl-nofeature-ha.yaml.j2 new file mode 100644 index 000000000..0bd3a1307 --- /dev/null +++ b/mcp/config/scenario/os-odl-nofeature-ha.yaml.j2 @@ -0,0 +1,68 @@ +############################################################################## +# Copyright (c) 2018 Mirantis Inc., Enea AB and others. +# All rights reserved. This program and the accompanying materials +# are made available under the 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 %} +{%- set cluster = {'has_virtual_nodes': False} %} +{%- for node in conf.nodes %} + {%- if not cluster.has_virtual_nodes and node.node.type == 'baremetal' %} + {%- do cluster.update({'has_baremetal_nodes': True}) %} + {%- endif %} +{%- endfor %} +--- +cluster: + domain: mcp-pike-odl-ha.local + states: +{%- if cluster.has_baremetal_nodes %} + - maas + - baremetal_init +{%- endif %} +{%- if conf.MCP_VCP %} + - virtual_control_plane +{%- endif %} + - opendaylight + - openstack_ha + - networks +virtual: + nodes: + - cfg01 +{%- if cluster.has_baremetal_nodes %} + - mas01 +{%- endif %} +{#- Most likely, controllers will always have the same type and number (3) #} +{%- if conf.nodes[nm.ctl01.idx].node.type == 'virtual' %} + - kvm01 + - kvm02 + - kvm03 +{%- endif %} +{#- Later, we might have mixed computes here, for hybrid multi-arch testing #} +{%- if conf.nodes[nm.cmp001.idx].node.type == 'virtual' %} + - cmp001 + - cmp002 +{%- endif %} + cfg01: + vcpus: 4 + ram: 6144 + # Below values are only used when nodes are defined in virtual.nodes above + mas01: + vcpus: 4 + ram: 6144 + # NOTE: We might need to add more RAM here + kvm01: + vcpus: 4 + ram: 14336 + kvm02: + vcpus: 4 + ram: 14336 + kvm03: + vcpus: 4 + ram: 14336 + cmp001: + vcpus: 4 + ram: 8192 + cmp002: + vcpus: 4 + ram: 8192 diff --git a/mcp/config/scenario/os-ovn-nofeature-ha.yaml b/mcp/config/scenario/os-ovn-nofeature-ha.yaml deleted file mode 100644 index 6efc11a3f..000000000 --- a/mcp/config/scenario/os-ovn-nofeature-ha.yaml +++ /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 -############################################################################## ---- -cluster: - domain: mcp-pike-ovn-ha.local - states: - - maas - - baremetal_init - - virtual_control_plane - - openstack_ha - - networks -virtual: - nodes: - - cfg01 - - mas01 - cfg01: - vcpus: 4 - ram: 6144 - mas01: - vcpus: 4 - ram: 6144 diff --git a/mcp/config/scenario/os-ovn-nofeature-ha.yaml.j2 b/mcp/config/scenario/os-ovn-nofeature-ha.yaml.j2 new file mode 100644 index 000000000..8b7fda0c4 --- /dev/null +++ b/mcp/config/scenario/os-ovn-nofeature-ha.yaml.j2 @@ -0,0 +1,67 @@ +############################################################################## +# Copyright (c) 2018 Mirantis Inc., Enea AB and others. +# All rights reserved. This program and the accompanying materials +# are made available under the 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 %} +{%- set cluster = {'has_virtual_nodes': False} %} +{%- for node in conf.nodes %} + {%- if not cluster.has_virtual_nodes and node.node.type == 'baremetal' %} + {%- do cluster.update({'has_baremetal_nodes': True}) %} + {%- endif %} +{%- endfor %} +--- +cluster: + domain: mcp-pike-ovn-ha.local + states: +{%- if cluster.has_baremetal_nodes %} + - maas + - baremetal_init +{%- endif %} +{%- if conf.MCP_VCP %} + - virtual_control_plane +{%- endif %} + - openstack_ha + - networks +virtual: + nodes: + - cfg01 +{%- if cluster.has_baremetal_nodes %} + - mas01 +{%- endif %} +{#- Most likely, controllers will always have the same type and number (3) #} +{%- if conf.nodes[nm.ctl01.idx].node.type == 'virtual' %} + - kvm01 + - kvm02 + - kvm03 +{%- endif %} +{#- Later, we might have mixed computes here, for hybrid multi-arch testing #} +{%- if conf.nodes[nm.cmp001.idx].node.type == 'virtual' %} + - cmp001 + - cmp002 +{%- endif %} + cfg01: + vcpus: 4 + ram: 6144 + # Below values are only used when nodes are defined in virtual.nodes above + mas01: + vcpus: 4 + ram: 6144 + # NOTE: We might need to add more RAM here + kvm01: + vcpus: 4 + ram: 14336 + kvm02: + vcpus: 4 + ram: 14336 + kvm03: + vcpus: 4 + ram: 14336 + cmp001: + vcpus: 4 + ram: 8192 + cmp002: + vcpus: 4 + ram: 8192 diff --git a/mcp/reclass/classes/cluster/.gitignore b/mcp/reclass/classes/cluster/.gitignore index 496fab912..a6b1b7d56 100644 --- a/mcp/reclass/classes/cluster/.gitignore +++ b/mcp/reclass/classes/cluster/.gitignore @@ -1 +1,17 @@ **/*_pdf.yml +mcp-pike-common-ha/infra/init.yml +mcp-pike-common-ha/openstack_control.yml +mcp-pike-common-ha/openstack_init.yml +mcp-pike-common-ha/openstack_interface_vcp_biport.yml +mcp-pike-common-ha/openstack_interface_vcp_triport.yml +mcp-pike-common-ha/openstack_proxy.yml +mcp-pike-ovs-ha/infra/init_vcp.yml +mcp-pike-ovs-ha/infra/kvm.yml +mcp-pike-ovs-dpdk-ha/infra/init_vcp.yml +mcp-pike-ovs-dpdk-ha/infra/kvm.yml +mcp-pike-odl-ha/infra/init_vcp.yml +mcp-pike-odl-ha/infra/kvm.yml +mcp-pike-ovn-ha/infra/init_vcp.yml +mcp-pike-ovn-ha/infra/kvm.yml +mcp-pike-odl-ha/opendaylight/control.yml +mcp-pike-odl-ha/openstack/init.yml diff --git a/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/config.yml b/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/config.yml index 8a87d1a3c..bd75e7b72 100644 --- a/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/config.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/config.yml @@ -120,12 +120,16 @@ parameters: - 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 diff --git a/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/init.yml b/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/init.yml deleted file mode 100644 index acacd2151..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/init.yml +++ /dev/null @@ -1,105 +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: 2016.11 - 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} - 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} - - 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/init.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/init.yml.j2 new file mode 100644 index 000000000..7f3839e82 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-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-pike-common-ha.stacklight + # - cluster.mcp-pike-common-ha.stacklight.client +parameters: + _param: + apt_mk_version: nightly + mcp_repo_version: 1.1 + salt_version: 2016.11 + 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/openstack_compute.yml b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_compute.yml index cb7b32f53..bae1c1c6d 100644 --- a/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_compute.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_compute.yml @@ -11,7 +11,6 @@ classes: - system.glusterfs.client.cluster - system.nova.compute.cluster - system.nova.compute.nfv.hugepages - - system.nova.compute.nfv.cpu_pinning - system.neutron.gateway.cluster - system.cinder.volume.single - system.cinder.volume.backend.lvm 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 index aa8b45f30..412ca4811 100644 --- 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 @@ -11,11 +11,17 @@ {%- 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 } %} --- +{%- if not conf.nodes[nm.cmp001.idx].node.type == 'virtual' %} +classes: + - system.nova.compute.nfv.cpu_pinning +{%- endif %} parameters: _param: # Should later be determined via PDF/IDF, AArch64 has ESP on /dev/sda1 -{%- if conf.nodes[nm.cmp001.idx].node.arch == 'aarch64' or - conf.nodes[nm.cmp001.idx].disks.0.disk_capacity | storage_size_num | float > 2000000000000 %} +{%- 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'] diff --git a/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_control.yml b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_control.yml deleted file mode 100644 index b08f3c2d1..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_control.yml +++ /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.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.haproxy.proxy.listen.openstack.glare - - system.glusterfs.client.cluster - - system.glusterfs.client.volume.glance - - system.glusterfs.client.volume.keystone -parameters: - _param: - 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' - 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 - nova: - controller: - pkgs: - - nova-api - - nova-conductor - - nova-consoleauth - - nova-novncproxy - - nova-scheduler - - python-novaclient - neutron: - server: - vlan_aware_vms: true - keystone: - server: - cacert: /etc/ssl/certs/mcp_os_cacert - 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.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_control.yml.j2 new file mode 100644 index 000000000..1436828a5 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_control.yml.j2 @@ -0,0 +1,181 @@ +############################################################################## +# Copyright (c) 2018 Mirantis Inc., Enea AB and others. +# All rights reserved. This program and the accompanying materials +# are made available under the 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 + - 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.haproxy.proxy.listen.openstack.glare + - 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 + nova: + controller: + pkgs: + - nova-api + - nova-conductor + - nova-consoleauth + - nova-novncproxy + - nova-scheduler + - python-novaclient +{%- else %} + libvirt: + server: + service: libvirtd + config_sys: /etc/default/libvirtd + unix_sock_group: libvirt + linux: + network: + # Add public IPs here as overrides, no need to fork another kvm_pdf.j2 + interface: + br-ex: + address: ${_param:external_address} + proto: static + apache: + server: + bind: + ~ports: ~ + ~modules: + - rewrite + - wsgi + # sync from common-ha kvm role + glusterfs: + server: + service: glusterd + volumes: + nova_instances: + storage: /srv/glusterfs/nova_instances + replica: 3 + bricks: + - ${_param:cluster_node01_address}:/srv/glusterfs/nova_instances + - ${_param:cluster_node02_address}:/srv/glusterfs/nova_instances + - ${_param:cluster_node03_address}:/srv/glusterfs/nova_instances + options: + cluster.readdir-optimize: 'True' + nfs.disable: 'True' + network.remote-dio: 'True' + cluster.favorite-child-policy: mtime + diagnostics.client-log-level: WARNING + diagnostics.brick-log-level: WARNING +{%- endif %} + neutron: + server: + vlan_aware_vms: true + keystone: + server: + cacert: /etc/ssl/certs/mcp_os_cacert + 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_novcp.yml b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_control_novcp.yml deleted file mode 100644 index 7ca12f699..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_control_novcp.yml +++ /dev/null @@ -1,144 +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 - - 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.haproxy.proxy.listen.openstack.glare - - system.glusterfs.client.cluster - - system.glusterfs.client.volume.glance - - system.glusterfs.client.volume.keystone - # 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.proxy -parameters: - _param: - 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 - keepalived_vip_interface: ${_param:single_nic} # sync from kvm - keepalived_vip_virtual_router_id: 50 - keepalived_openstack_web_public_vip_address: ${_param:openstack_proxy_address} - keepalived_openstack_web_public_vip_interface: br-ex - 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' - libvirt: - server: - service: libvirtd - config_sys: /etc/default/libvirtd - unix_sock_group: libvirt - linux: - network: - remove_iface_files: - - '/etc/network/interfaces.d/50-cloud-init.cfg' - # Add public IPs here as overrides, no need to fork another kvm_pdf.j2 - interface: - br-ex: - address: ${_param:external_address} - proto: static - neutron: - server: - vlan_aware_vms: true - keystone: - server: - cacert: /etc/ssl/certs/mcp_os_cacert - 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 - # 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 diff --git a/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_init.yml b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_init.yml deleted file mode 100644 index d2d611c6f..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_init.yml +++ /dev/null @@ -1,307 +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 - 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} - 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} - openstack_database_address: ${_param:opnfv_openstack_database_address} - openstack_database_node01_address: ${_param:opnfv_openstack_database_node01_address} - openstack_database_node02_address: ${_param:opnfv_openstack_database_node02_address} - openstack_database_node03_address: ${_param:opnfv_openstack_database_node03_address} - openstack_message_queue_address: ${_param:opnfv_openstack_message_queue_address} - openstack_message_queue_node01_address: ${_param:opnfv_openstack_message_queue_node01_address} - openstack_message_queue_node02_address: ${_param:opnfv_openstack_message_queue_node02_address} - openstack_message_queue_node03_address: ${_param:opnfv_openstack_message_queue_node03_address} - - - openstack_telemetry_hostname: mdb - openstack_telemetry_node01_hostname: mdb01 - openstack_telemetry_node02_hostname: mdb02 - openstack_telemetry_node03_hostname: mdb03 - - openstack_telemetry_address: ${_param:opnfv_openstack_telemetry_address} - openstack_telemetry_node01_address: ${_param:opnfv_openstack_telemetry_node01_address} - openstack_telemetry_node02_address: ${_param:opnfv_openstack_telemetry_node02_address} - openstack_telemetry_node03_address: ${_param:opnfv_openstack_telemetry_node03_address} - - # 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 - 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 compute - openstack_compute_node01_hostname: cmp001 - openstack_compute_node02_hostname: cmp002 - - openstack_region: RegionOne - admin_email: root@localhost - # Neutron osv/nodvr - neutron_control_dvr: 'False' - neutron_l3_ha: 'True' - neutron_global_physnet_mtu: 1500 - neutron_external_mtu: 1500 - neutron_gateway_dvr: 'False' - 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} - glusterfs_service_host: ${_param:infra_kvm_address} - 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 - mongodb_server_replica_set: ceilometer - mongodb_ceilometer_password: opnfv_secret - mongodb_admin_password: opnfv_secret - mongodb_shared_key: eoTh1AwahlahqueingeejooLughah4tei9feing0eeVaephooDi2li1TaeV1ooth - metadata_password: opnfv_secret - openstack_telemetry_keepalived_password: opnfv_secret - aodh_service_host: ${_param:openstack_telemetry_address} - 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" - architectures: amd64 - 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: - 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} - 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_init.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_init.yml.j2 new file mode 100644 index 000000000..3b890da03 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_init.yml.j2 @@ -0,0 +1,391 @@ +############################################################################## +# Copyright (c) 2018 Mirantis Inc., Enea AB and others. +# All rights reserved. This program and the accompanying materials +# are made available under the 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_l3_ha: 'True' + 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 + mongodb_server_replica_set: ceilometer + mongodb_ceilometer_password: opnfv_secret + mongodb_admin_password: opnfv_secret + mongodb_shared_key: eoTh1AwahlahqueingeejooLughah4tei9feing0eeVaephooDi2li1TaeV1ooth + metadata_password: opnfv_secret + openstack_telemetry_keepalived_password: opnfv_secret + aodh_service_host: ${_param:openstack_telemetry_address} + 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" + architectures: amd64 + 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_init_novcp.yml b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_init_novcp.yml deleted file mode 100644 index 370dcee10..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_init_novcp.yml +++ /dev/null @@ -1,234 +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 - 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} - - 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} - - 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} - - # 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 - 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} - - # openstack compute - openstack_compute_node01_hostname: cmp001 - openstack_compute_node02_hostname: cmp002 - - openstack_region: RegionOne - admin_email: root@localhost - # Neutron osv/nodvr - neutron_control_dvr: 'False' - neutron_l3_ha: 'True' - neutron_global_physnet_mtu: 1500 - neutron_external_mtu: 1500 - neutron_gateway_dvr: 'False' - 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} - glusterfs_service_host: ${_param:openstack_control_address} - 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 - mongodb_server_replica_set: ceilometer - mongodb_ceilometer_password: opnfv_secret - mongodb_admin_password: opnfv_secret - mongodb_shared_key: eoTh1AwahlahqueingeejooLughah4tei9feing0eeVaephooDi2li1TaeV1ooth - metadata_password: opnfv_secret - openstack_telemetry_keepalived_password: opnfv_secret - aodh_service_host: ${_param:openstack_telemetry_address} - 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" - architectures: amd64 - 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: - 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} - 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 b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_interface_vcp_biport.yml deleted file mode 100644 index 69fc72ea0..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_interface_vcp_biport.yml +++ /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: - - 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} 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 new file mode 100644 index 000000000..cc92e5df9 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-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-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 b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_interface_vcp_triport.yml deleted file mode 100644 index 1ab134d55..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_interface_vcp_triport.yml +++ /dev/null @@ -1,43 +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.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 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 new file mode 100644 index 000000000..7fef8ae9f --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-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-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_proxy.yml b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_proxy.yml deleted file mode 100644 index a32640e7e..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_proxy.yml +++ /dev/null @@ -1,50 +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.nginx.server.single - - system.nginx.server.proxy.openstack_api - - system.nginx.server.proxy.openstack_vnc - - system.nginx.server.proxy.openstack_web - - system.nginx.server.proxy.openstack.aodh - - system.nginx.server.proxy.openstack.ceilometer - - system.horizon.server.single - - system.salt.minion.cert.proxy - - system.sphinx.server.doc.reclass - - service.keepalived.cluster.single - - system.keepalived.cluster.instance.openstack_web_public_vip -parameters: - _param: - cluster_vip_address: ${_param:openstack_proxy_address} - keepalived_openstack_web_public_vip_address: ${_param:cluster_vip_address} - keepalived_openstack_web_public_vip_interface: ${_param:single_nic} - keepalived_vip_address: ${_param:openstack_proxy_control_address} - keepalived_vip_interface: ${_param:control_nic} - keepalived_vip_virtual_router_id: 240 - nginx_proxy_ssl: - enabled: true - authority: ${_param:salt_minion_ca_authority} - engine: salt - mode: secure - salt_minion_ca_host: cfg01.${_param:cluster_domain} - linux: - system: - package: - libapache2-mod-wsgi: - version: latest - salt: - minion: - cert: - proxy: - alternative_names: "IP:${_param:openstack_proxy_address}" - key_usage: 'digitalSignature, keyEncipherment' - keepalived: - cluster: - vrrp_scripts: - check_pidof: - args: 'nginx' diff --git a/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_proxy.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_proxy.yml.j2 new file mode 100644 index 000000000..26943b7b6 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_proxy.yml.j2 @@ -0,0 +1,98 @@ +############################################################################## +# Copyright (c) 2018 Mirantis Inc., Enea AB and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +--- +classes: + - system.nginx.server.single + - system.nginx.server.proxy.openstack_api + - system.nginx.server.proxy.openstack_vnc + - system.nginx.server.proxy.openstack_web + - system.nginx.server.proxy.openstack.aodh + - system.nginx.server.proxy.openstack.ceilometer + - system.horizon.server.single + - system.salt.minion.cert.proxy + - system.sphinx.server.doc.reclass + - service.keepalived.cluster.single + - system.keepalived.cluster.instance.openstack_web_public_vip +parameters: + _param: + cluster_vip_address: ${_param:openstack_proxy_address} + keepalived_openstack_web_public_vip_address: ${_param:cluster_vip_address} + keepalived_openstack_web_public_vip_interface: ${_param:single_nic} + keepalived_vip_address: ${_param:openstack_proxy_control_address} + keepalived_vip_interface: ${_param:control_nic} + keepalived_vip_virtual_router_id: 240 + nginx_proxy_ssl: + enabled: true + authority: ${_param:salt_minion_ca_authority} + engine: salt + mode: secure + salt_minion_ca_host: cfg01.${_param:cluster_domain} + linux: + system: + package: + libapache2-mod-wsgi: + version: latest +{%- if not conf.MCP_VCP %} + # Set up routes similar to prx*ovs-ha + network: + interface: + br-ex: + route: + public: + address: 0.0.0.0 + netmask: 0.0.0.0 + gateway: ${_param:opnfv_net_public_gw} + nginx: + server: + # NOTE(armband): Define host.address for all proxies for uniformity + site: + nginx_proxy_novnc: &nginx_openstack_proxy_address + host: + address: ${_param:openstack_proxy_address} + nginx_proxy_openstack_api_aodh: + <<: *nginx_openstack_proxy_address + nginx_proxy_openstack_api_ceilometer: + <<: *nginx_openstack_proxy_address + nginx_proxy_openstack_api_cinder: + <<: *nginx_openstack_proxy_address + nginx_proxy_openstack_api_glance: + <<: *nginx_openstack_proxy_address + nginx_proxy_openstack_api_heat: + <<: *nginx_openstack_proxy_address + nginx_proxy_openstack_api_heat_cfn: + <<: *nginx_openstack_proxy_address + nginx_proxy_openstack_api_heat_cloudwatch: + <<: *nginx_openstack_proxy_address + nginx_proxy_openstack_api_keystone: + <<: *nginx_openstack_proxy_address + nginx_proxy_openstack_api_keystone_private: + <<: *nginx_openstack_proxy_address + nginx_proxy_openstack_api_neutron: + <<: *nginx_openstack_proxy_address + nginx_proxy_openstack_api_nova: + <<: *nginx_openstack_proxy_address + nginx_proxy_openstack_api_nova_ec2: + <<: *nginx_openstack_proxy_address + nginx_proxy_openstack_web: + <<: *nginx_openstack_proxy_address + nginx_ssl_redirect_openstack_web: + <<: *nginx_openstack_proxy_address + nginx_static_reclass_doc: + <<: *nginx_openstack_proxy_address +{%- endif %} + salt: + minion: + cert: + proxy: + alternative_names: "IP:${_param:openstack_proxy_address}" + key_usage: 'digitalSignature, keyEncipherment' + keepalived: + cluster: + vrrp_scripts: + check_pidof: + args: 'nginx' diff --git a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/init_vcp.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/init_vcp.yml.j2 new file mode 100644 index 000000000..385326561 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-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-pike-odl-ha.infra +{%- endif %} diff --git a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/kvm.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/kvm.yml deleted file mode 100644 index e2b18e4da..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/kvm.yml +++ /dev/null @@ -1,29 +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.kvm - - cluster.mcp-pike-odl-ha.infra -parameters: - salt: - control: - size: # RAM 4096,8192,16384,32768,65536 - # Default production sizing - opendaylight.server: - cpu: 4 - ram: 6144 - disk_profile: small - net_profile: default - cluster: - internal: - node: - odl01: - name: ${_param:opendaylight_server_node01_hostname} - provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain} - image: ${_param:salt_control_xenial_image} - size: opendaylight.server diff --git a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/kvm.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/kvm.yml.j2 new file mode 100644 index 000000000..81135d6a9 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-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-pike-common-ha.infra.kvm + - cluster.mcp-pike-odl-ha.infra +parameters: + salt: + control: + size: # RAM 4096,8192,16384,32768,65536 + # Default production sizing + opendaylight.server: + cpu: 4 + ram: 6144 + disk_profile: small + net_profile: default + cluster: + internal: + node: + odl01: + name: ${_param:opendaylight_server_node01_hostname} + provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain} + image: ${_param:salt_control_xenial_image} + size: opendaylight.server +{%- endif %} diff --git a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/opendaylight/control.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/opendaylight/control.yml deleted file mode 100644 index d27eb0dc9..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/opendaylight/control.yml +++ /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 - - cluster.mcp-pike-odl-ha -parameters: - _param: - linux_system_codename: xenial - opendaylight: - server: - odl_bind_ip: ${_param:single_address} - odl_rest_port: 8282 - java_min_mem: 4g - java_max_mem: 4g - router_enabled: true - karaf_features: - odl_default: - - odl-restconf-all - - odl-aaa-authn - - odl-dlux-all - - odl-mdsal-apidocs - netvirt: - - odl-netvirt-openstack diff --git a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/opendaylight/control.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/opendaylight/control.yml.j2 new file mode 100644 index 000000000..8873209cc --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/opendaylight/control.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 +############################################################################## +--- +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: 4g + java_max_mem: 4g + router_enabled: true + karaf_features: + odl_default: + - odl-restconf-all + - odl-aaa-authn + - odl-dlux-all + - odl-mdsal-apidocs + netvirt: + - odl-netvirt-openstack diff --git a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/database.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/database.yml index c6a28c3bc..69cb24dbf 100644 --- a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/database.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/database.yml @@ -9,4 +9,4 @@ classes: - cluster.mcp-pike-common-ha.openstack_interface_vcp_biport - cluster.mcp-pike-common-ha.openstack_database - - cluster.mcp-pike-odl-ha.infra + - cluster.mcp-pike-odl-ha.infra.init_vcp diff --git a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/init.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/init.yml deleted file mode 100644 index a5e63b060..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/init.yml +++ /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_server_node01_single_address: ${_param:opnfv_opendaylight_server_node01_single_address} - opendaylight_service_host: ${_param:opendaylight_server_node01_single_address} - opendaylight_server_node01_hostname: odl01 - - neutron_tenant_network_types: "flat,vxlan" - linux: - network: - host: - odl01: - address: ${_param:opendaylight_service_host} - names: - - ${_param:opendaylight_server_node01_hostname} - - ${_param:opendaylight_server_node01_hostname}.${_param:cluster_domain} diff --git a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/init.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/init.yml.j2 new file mode 100644 index 000000000..5a3b36fb1 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-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-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 index 13596155c..604728da1 100644 --- 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 @@ -9,4 +9,4 @@ classes: - cluster.mcp-pike-common-ha.openstack_interface_vcp_biport - cluster.mcp-pike-common-ha.openstack_message_queue - - cluster.mcp-pike-odl-ha.infra + - 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 index e2040aa3a..cd1ae9040 100644 --- a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/proxy.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/proxy.yml @@ -9,7 +9,7 @@ classes: - cluster.mcp-pike-common-ha.openstack_interface_vcp_triport - cluster.mcp-pike-common-ha.openstack_proxy - - cluster.mcp-pike-odl-ha.infra + - cluster.mcp-pike-odl-ha.infra.init_vcp parameters: nginx: server: 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 index 13e6ef6d4..20df2aab6 100644 --- a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/telemetry.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/telemetry.yml @@ -9,4 +9,4 @@ classes: - cluster.mcp-pike-common-ha.openstack_interface_vcp_biport - cluster.mcp-pike-common-ha.openstack_telemetry - - cluster.mcp-pike-odl-ha.infra + - cluster.mcp-pike-odl-ha.infra.init_vcp diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/init_vcp.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/init_vcp.yml.j2 new file mode 100644 index 000000000..46acb7d2d --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/init_vcp.yml.j2 @@ -0,0 +1,12 @@ +############################################################################## +# Copyright (c) 2018 Mirantis Inc., Enea AB and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +--- +{%- if conf.MCP_VCP %} +classes: + - cluster.mcp-pike-ovn-ha.infra +{%- endif %} diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/kvm.yml b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/kvm.yml deleted file mode 100644 index fe8f2d472..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/kvm.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.kvm - - cluster.mcp-pike-ovn-ha.infra 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 new file mode 100644 index 000000000..4a2355bf1 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-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-pike-common-ha.infra.kvm + - cluster.mcp-pike-ovn-ha.infra +{%- endif %} 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 index 95762ae5f..2ed79ab3b 100644 --- a/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/database.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/database.yml @@ -9,4 +9,4 @@ classes: - cluster.mcp-pike-common-ha.openstack_interface_vcp_biport - cluster.mcp-pike-common-ha.openstack_database - - cluster.mcp-pike-ovn-ha.infra + - cluster.mcp-pike-ovn-ha.infra_vcp 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 index 71e4a4e97..db587ac94 100644 --- 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 @@ -9,4 +9,4 @@ classes: - cluster.mcp-pike-common-ha.openstack_interface_vcp_biport - cluster.mcp-pike-common-ha.openstack_message_queue - - cluster.mcp-pike-ovn-ha.infra + - 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 index 775fbca26..49fec8246 100644 --- a/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/proxy.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/proxy.yml @@ -9,4 +9,4 @@ classes: - cluster.mcp-pike-common-ha.openstack_interface_vcp_triport - cluster.mcp-pike-common-ha.openstack_proxy - - cluster.mcp-pike-ovn-ha.infra + - 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 index 5221cfb9f..4b9d9acc2 100644 --- a/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/telemetry.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/telemetry.yml @@ -9,4 +9,4 @@ classes: - cluster.mcp-pike-common-ha.openstack_interface_vcp_biport - cluster.mcp-pike-common-ha.openstack_telemetry - - cluster.mcp-pike-ovn-ha.infra + - cluster.mcp-pike-ovn-ha.infra_vcp diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/infra/init_vcp.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/infra/init_vcp.yml.j2 new file mode 100644 index 000000000..9e85995bc --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/infra/init_vcp.yml.j2 @@ -0,0 +1,12 @@ +############################################################################## +# Copyright (c) 2018 Mirantis Inc., Enea AB and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +--- +{%- if conf.MCP_VCP %} +classes: + - cluster.mcp-pike-ovs-dpdk-ha.infra +{%- endif %} diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/infra/kvm.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/infra/kvm.yml deleted file mode 100644 index 73a3c95ba..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/infra/kvm.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.kvm - - cluster.mcp-pike-ovs-dpdk-ha.infra 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 new file mode 100644 index 000000000..b62118d4a --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-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-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/openstack/database.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/openstack/database.yml index 5db1ccdb1..324ec3f84 100644 --- 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 @@ -9,4 +9,4 @@ classes: - cluster.mcp-pike-common-ha.openstack_interface_vcp_biport - cluster.mcp-pike-common-ha.openstack_database - - cluster.mcp-pike-ovs-dpdk-ha.infra + - cluster.mcp-pike-ovs-dpdk-ha.infra.init_vcp 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 index c05e16b18..f15e4310a 100644 --- 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 @@ -9,4 +9,4 @@ 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 + - 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 index 3fc77ec98..09eda53c0 100644 --- 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 @@ -9,4 +9,4 @@ classes: - cluster.mcp-pike-common-ha.openstack_interface_vcp_triport - cluster.mcp-pike-common-ha.openstack_proxy - - cluster.mcp-pike-ovs-dpdk-ha.infra + - 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 index 1946d728a..68d437864 100644 --- 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 @@ -9,4 +9,4 @@ classes: - cluster.mcp-pike-common-ha.openstack_interface_vcp_biport - cluster.mcp-pike-common-ha.openstack_telemetry - - cluster.mcp-pike-ovs-dpdk-ha.infra + - cluster.mcp-pike-ovs-dpdk-ha.infra.init_vcp diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/infra/init_vcp.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/infra/init_vcp.yml.j2 new file mode 100644 index 000000000..74023ce14 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/infra/init_vcp.yml.j2 @@ -0,0 +1,12 @@ +############################################################################## +# Copyright (c) 2018 Mirantis Inc., Enea AB and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +--- +{%- if conf.MCP_VCP %} +classes: + - cluster.mcp-pike-ovs-ha.infra +{%- endif %} diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/infra/kvm.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/infra/kvm.yml deleted file mode 100644 index 5a44e715a..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/infra/kvm.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.kvm - - cluster.mcp-pike-ovs-ha.infra 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 new file mode 100644 index 000000000..0d49e5d10 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-pike-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-pike-common-ha.infra.kvm + - cluster.mcp-pike-ovs-ha.infra +{%- endif %} 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 index de5151c8e..33c86e8c1 100644 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/database.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/database.yml @@ -9,4 +9,4 @@ classes: - cluster.mcp-pike-common-ha.openstack_interface_vcp_biport - cluster.mcp-pike-common-ha.openstack_database - - cluster.mcp-pike-ovs-ha.infra + - cluster.mcp-pike-ovs-ha.infra.init_vcp 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 index 145db8f5f..629b2794b 100644 --- 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 @@ -9,4 +9,4 @@ classes: - cluster.mcp-pike-common-ha.openstack_interface_vcp_biport - cluster.mcp-pike-common-ha.openstack_message_queue - - cluster.mcp-pike-ovs-ha.infra + - 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 index 032da69e5..3698965f6 100644 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/proxy.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/proxy.yml @@ -9,4 +9,4 @@ classes: - cluster.mcp-pike-common-ha.openstack_interface_vcp_triport - cluster.mcp-pike-common-ha.openstack_proxy - - cluster.mcp-pike-ovs-ha.infra + - 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 index b13297c0f..26341ea7b 100644 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/telemetry.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/openstack/telemetry.yml @@ -9,4 +9,4 @@ classes: - cluster.mcp-pike-common-ha.openstack_interface_vcp_biport - cluster.mcp-pike-common-ha.openstack_telemetry - - cluster.mcp-pike-ovs-ha.infra + - cluster.mcp-pike-ovs-ha.infra.init_vcp diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/infra/config.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/infra/config.yml deleted file mode 100644 index 9fe92d6bd..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/infra/config.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 -############################################################################## ---- -classes: - - cluster.mcp-pike-common-ha.infra.config - - cluster.mcp-pike-ovs-novcp-ha.infra - - cluster.all-mcp-arch-common.infra.config_pdf -parameters: - reclass: - storage: - node: - openstack_control_node01: # openstack_proxy_node01 - params: - external_address: ${_param:openstack_proxy_node01_address} - openstack_control_node02: # no proxy role - params: - external_address: 0.0.0.0 - openstack_control_node03: # openstack_proxy_node02 - params: - external_address: ${_param:openstack_proxy_node02_address} diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/infra/init.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/infra/init.yml deleted file mode 100644 index 23c299cbc..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/infra/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: - - cluster.mcp-pike-common-ha.infra - - cluster.mcp-pike-ovs-novcp-ha.openstack -parameters: - _param: - cluster_name: mcp-pike-ovs-novcp-ha - # 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} diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/infra/kvm.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/infra/kvm.yml deleted file mode 100644 index 887af029d..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/infra/kvm.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 -############################################################################## ---- -# 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-novcp-ha.infra diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/infra/maas.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/infra/maas.yml deleted file mode 100644 index e694679b9..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-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-novcp-ha.infra diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/init.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/init.yml deleted file mode 100644 index 234418d9c..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-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-novcp-ha.infra - - cluster.mcp-pike-ovs-novcp-ha.openstack diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/openstack/compute.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/openstack/compute.yml deleted file mode 100644 index afe1cc5a6..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-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-novcp-ha.openstack.compute_pdf - - cluster.mcp-pike-ovs-novcp-ha.infra -parameters: - nova: - compute: - libvirt_service: libvirtd - libvirt_bin: /etc/default/libvirtd diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/openstack/compute_pdf.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/openstack/compute_pdf.yml.j2 deleted file mode 120000 index d43451a2a..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/openstack/compute_pdf.yml.j2 +++ /dev/null @@ -1 +0,0 @@ -../../mcp-pike-ovs-ha/openstack/compute_pdf.yml.j2 \ No newline at end of file diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/openstack/control.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/openstack/control.yml deleted file mode 100644 index 4cd5b9629..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/openstack/control.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: - - system.neutron.control.openvswitch.cluster - - cluster.mcp-pike-common-ha.openstack_control_novcp - - cluster.mcp-pike-ovs-novcp-ha -parameters: - apache: - server: - modules: - # NOTE(armband): We first override mods to ~, then to this to drop ssl - - rewrite - - wsgi diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/openstack/database.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/openstack/database.yml deleted file mode 100644 index 163769524..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/openstack/database.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: - - cluster.mcp-pike-common-ha.openstack_database diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/openstack/init.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/openstack/init.yml deleted file mode 100644 index 2bacdfca1..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/openstack/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.openstack_init_novcp -parameters: - _param: - neutron_tenant_network_types: "flat,vxlan" - apache: - server: - # NOTE(armband): override these to ~ first, so we can later drop ssl/443 - bind: - ports: ~ - modules: ~ diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/openstack/message_queue.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/openstack/message_queue.yml deleted file mode 100644 index 0fd4a8a54..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/openstack/message_queue.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: - - cluster.mcp-pike-common-ha.openstack_message_queue diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/openstack/proxy.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/openstack/proxy.yml deleted file mode 100644 index 89b095430..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/openstack/proxy.yml +++ /dev/null @@ -1,59 +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_proxy - - system.keepalived.cluster.instance.openstack_web_public_vip -parameters: - linux: - # 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 diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/openstack/telemetry.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/openstack/telemetry.yml deleted file mode 100644 index 1cb72ac5c..000000000 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/openstack/telemetry.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: - - cluster.mcp-pike-common-ha.openstack_telemetry diff --git a/mcp/reclass/nodes/cfg01.mcp-pike-ovs-ha.local.yml b/mcp/reclass/nodes/cfg01.mcp-pike-ovs-ha.local.yml index f5e3bb0be..5e3cb0186 100644 --- a/mcp/reclass/nodes/cfg01.mcp-pike-ovs-ha.local.yml +++ b/mcp/reclass/nodes/cfg01.mcp-pike-ovs-ha.local.yml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# Copyright (c) 2018 Mirantis Inc., Enea AB and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Apache License, Version 2.0 # which accompanies this distribution, and is available at diff --git a/mcp/reclass/nodes/cfg01.mcp-pike-ovs-novcp-ha.local.yml b/mcp/reclass/nodes/cfg01.mcp-pike-ovs-novcp-ha.local.yml deleted file mode 100644 index eb1f794af..000000000 --- a/mcp/reclass/nodes/cfg01.mcp-pike-ovs-novcp-ha.local.yml +++ /dev/null @@ -1,18 +0,0 @@ -############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Apache License, Version 2.0 -# which accompanies this distribution, and is available at -# http://www.apache.org/licenses/LICENSE-2.0 -############################################################################## ---- -classes: - - cluster.mcp-pike-ovs-novcp-ha.infra.config -parameters: - _param: - linux_system_codename: xenial - reclass_data_revision: master - linux: - system: - name: cfg01 - domain: mcp-pike-ovs-novcp-ha.local diff --git a/mcp/scripts/salt.sh b/mcp/scripts/salt.sh index fc5c78e68..82a73b31a 100755 --- a/mcp/scripts/salt.sh +++ b/mcp/scripts/salt.sh @@ -113,6 +113,7 @@ ssh ${SSH_OPTS} "${SSH_SALT}" bash -s -e << SALT_INSTALL_END wait_for 3.0 'salt -C "E@^(${NODE_MASK}).*" state.sls linux.system,linux.storage' wait_for 2.0 'salt -C "E@^(${NODE_MASK}).*" state.sls linux.network' || true + salt -C "E@^(${NODE_MASK}).*" state.sls opnfv.route_wrapper salt -C "E@^(${NODE_MASK}).*" system.reboot wait_for 90.0 'salt -C "E@^(${NODE_MASK}).*" test.ping' wait_for 3.0 'salt -C "E@^(${NODE_MASK}).*" pkg.upgrade refresh=False dist_upgrade=True' diff --git a/mcp/scripts/xdf_data.sh.j2 b/mcp/scripts/xdf_data.sh.j2 index ad3c0fe1e..8c9d5d969 100644 --- a/mcp/scripts/xdf_data.sh.j2 +++ b/mcp/scripts/xdf_data.sh.j2 @@ -38,7 +38,7 @@ {%- macro serialize_apt_pkg() -%} {%- set arr = [] -%} {%- set sections = [arch.common] -%} - {%- if 'virtual_control_plane' in conf.cluster.states -%} + {%- if conf.MCP_VCP -%} {%- do sections.append(arch.control) -%} {%- endif -%} {%- for c in sections -%} -- cgit 1.2.3-korg