diff options
64 files changed, 526 insertions, 730 deletions
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-novcp-ha.yaml.j2 b/mcp/config/scenario/os-nosdn-nofeature-ha.yaml.j2 index 8a366e9f9..2c4a5f197 100644 --- a/mcp/config/scenario/os-nosdn-nofeature-novcp-ha.yaml.j2 +++ b/mcp/config/scenario/os-nosdn-nofeature-ha.yaml.j2 @@ -14,12 +14,15 @@ {%- endfor %} --- cluster: - domain: mcp-pike-ovs-novcp-ha.local + 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: @@ -56,3 +59,9 @@ virtual: kvm03: vcpus: 4 ram: 14336 + cmp001: + vcpus: 4 + ram: 8192 + cmp002: + vcpus: 4 + ram: 8192 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.j2 index acacd2151..7f3839e82 100644 --- a/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/init.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/init.yml.j2 @@ -31,9 +31,16 @@ parameters: infra_maas_node01_deploy_address: ${_param:opnfv_infra_maas_node01_deploy_address} infra_kvm_address: ${_param:opnfv_infra_kvm_address} +{%- if conf.MCP_VCP %} infra_kvm_node01_address: ${_param:opnfv_infra_kvm_node01_address} infra_kvm_node02_address: ${_param:opnfv_infra_kvm_node02_address} infra_kvm_node03_address: ${_param:opnfv_infra_kvm_node03_address} +{%- else %} + # For NOVCP, we override kvm addresses to overlap with ctl + infra_kvm_node01_address: ${_param:openstack_control_node01_address} + infra_kvm_node02_address: ${_param:openstack_control_node02_address} + infra_kvm_node03_address: ${_param:openstack_control_node03_address} +{%- endif %} infra_maas_node01_hostname: mas01 infra_kvm_node01_hostname: kvm01 diff --git a/mcp/reclass/classes/cluster/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_novcp.yml b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_control.yml.j2 index 7ca12f699..1436828a5 100644 --- a/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_control_novcp.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_control.yml.j2 @@ -25,6 +25,7 @@ classes: - system.glusterfs.client.cluster - system.glusterfs.client.volume.glance - system.glusterfs.client.volume.keystone +{%- if not conf.MCP_VCP %} # sync from kvm - service.keepalived.cluster.single - system.glusterfs.server.volume.glance @@ -41,16 +42,21 @@ classes: # - 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 + - 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 - keepalived_vip_interface: ${_param:single_nic} # sync from kvm - keepalived_vip_virtual_router_id: 50 + 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} @@ -61,6 +67,31 @@ parameters: cluster_node03_address: ${_param:openstack_control_node03_address} nova_vncproxy_url: https://${_param:cluster_public_host}:6080 glusterfs_version: '3.13' +{%- if conf.MCP_VCP %} + heat: + server: + metadata: + 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 @@ -68,13 +99,38 @@ parameters: 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 + 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 @@ -123,22 +179,3 @@ parameters: 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.j2 index d2d611c6f..3b890da03 100644 --- a/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_init.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_init.yml.j2 @@ -12,35 +12,56 @@ parameters: openstack_version: pike # openstack service addresses +{%- if conf.MCP_VCP %} openstack_proxy_control_address: ${_param:opnfv_openstack_proxy_control_address} openstack_proxy_node01_control_address: ${_param:opnfv_openstack_proxy_node01_control_address} openstack_proxy_node02_control_address: ${_param:opnfv_openstack_proxy_node02_control_address} +{%- else %} + openstack_proxy_control_address: ${_param:opnfv_openstack_control_address} + openstack_proxy_node01_control_address: ${_param:opnfv_openstack_control_node01_address} + openstack_proxy_node02_control_address: ${_param:opnfv_openstack_control_node03_address} +{%- endif %} + openstack_proxy_address: ${_param:opnfv_openstack_proxy_address} openstack_proxy_node01_address: ${_param:opnfv_openstack_proxy_node01_address} openstack_proxy_node02_address: ${_param:opnfv_openstack_proxy_node02_address} + openstack_control_address: ${_param:opnfv_openstack_control_address} openstack_control_node01_address: ${_param:opnfv_openstack_control_node01_address} openstack_control_node02_address: ${_param:opnfv_openstack_control_node02_address} openstack_control_node03_address: ${_param:opnfv_openstack_control_node03_address} + +{%- if conf.MCP_VCP %} openstack_database_address: ${_param:opnfv_openstack_database_address} openstack_database_node01_address: ${_param:opnfv_openstack_database_node01_address} openstack_database_node02_address: ${_param:opnfv_openstack_database_node02_address} openstack_database_node03_address: ${_param:opnfv_openstack_database_node03_address} + openstack_message_queue_address: ${_param:opnfv_openstack_message_queue_address} openstack_message_queue_node01_address: ${_param:opnfv_openstack_message_queue_node01_address} openstack_message_queue_node02_address: ${_param:opnfv_openstack_message_queue_node02_address} openstack_message_queue_node03_address: ${_param:opnfv_openstack_message_queue_node03_address} - - openstack_telemetry_hostname: mdb - openstack_telemetry_node01_hostname: mdb01 - openstack_telemetry_node02_hostname: mdb02 - openstack_telemetry_node03_hostname: mdb03 - openstack_telemetry_address: ${_param:opnfv_openstack_telemetry_address} openstack_telemetry_node01_address: ${_param:opnfv_openstack_telemetry_node01_address} openstack_telemetry_node02_address: ${_param:opnfv_openstack_telemetry_node02_address} openstack_telemetry_node03_address: ${_param:opnfv_openstack_telemetry_node03_address} +{%- else %} + openstack_database_address: ${_param:openstack_control_address} + openstack_database_node01_address: ${_param:openstack_control_node01_address} + openstack_database_node02_address: ${_param:openstack_control_node02_address} + openstack_database_node03_address: ${_param:openstack_control_node03_address} + + openstack_message_queue_address: ${_param:openstack_control_address} + openstack_message_queue_node01_address: ${_param:openstack_control_node01_address} + openstack_message_queue_node02_address: ${_param:openstack_control_node02_address} + openstack_message_queue_node03_address: ${_param:openstack_control_node03_address} + + openstack_telemetry_address: ${_param:openstack_control_address} + openstack_telemetry_node01_address: ${_param:openstack_control_node01_address} + openstack_telemetry_node02_address: ${_param:openstack_control_node02_address} + openstack_telemetry_node03_address: ${_param:openstack_control_node03_address} +{%- endif %} # OpenStack Compute openstack_compute_node01_single_address: ${_param:opnfv_openstack_compute_node01_single_address} @@ -56,6 +77,7 @@ parameters: openstack_compute_node02_external_address: ${_param:opnfv_openstack_compute_node02_external_address} # openstack service hostnames +{%- if conf.MCP_VCP %} openstack_proxy_hostname: prx openstack_proxy_node01_hostname: prx01 openstack_proxy_node02_hostname: prx02 @@ -71,11 +93,46 @@ parameters: openstack_message_queue_node01_hostname: msg01 openstack_message_queue_node02_hostname: msg02 openstack_message_queue_node03_hostname: msg03 + openstack_telemetry_hostname: mdb + openstack_telemetry_node01_hostname: mdb01 + openstack_telemetry_node02_hostname: mdb02 + openstack_telemetry_node03_hostname: mdb03 +{%- else %} + openstack_proxy_hostname: ${_param:openstack_control_hostname} + openstack_proxy_node01_hostname: ${_param:openstack_control_node01_hostname} + openstack_proxy_node02_hostname: ${_param:openstack_control_node03_hostname} + openstack_control_hostname: kvm + openstack_control_node01_hostname: kvm01 + openstack_control_node02_hostname: kvm02 + openstack_control_node03_hostname: kvm03 + openstack_database_hostname: ${_param:openstack_control_hostname} + openstack_database_node01_hostname: ${_param:openstack_control_node01_hostname} + openstack_database_node02_hostname: ${_param:openstack_control_node02_hostname} + openstack_database_node03_hostname: ${_param:openstack_control_node03_hostname} + openstack_message_queue_hostname: ${_param:openstack_control_hostname} + openstack_message_queue_node01_hostname: ${_param:openstack_control_node01_hostname} + openstack_message_queue_node02_hostname: ${_param:openstack_control_node02_hostname} + openstack_message_queue_node03_hostname: ${_param:openstack_control_node03_hostname} + openstack_telemetry_hostname: ${_param:openstack_control_hostname} + openstack_telemetry_node01_hostname: ${_param:openstack_control_node01_hostname} + openstack_telemetry_node02_hostname: ${_param:openstack_control_node02_hostname} + openstack_telemetry_node03_hostname: ${_param:openstack_control_node03_hostname} +{%- endif %} # openstack compute openstack_compute_node01_hostname: cmp001 openstack_compute_node02_hostname: cmp002 + # opendaylight options +{%- if conf.MCP_VCP %} + opendaylight_server_node01_hostname: odl01 + opendaylight_server_node01_single_address: ${_param:opnfv_opendaylight_server_node01_single_address} +{%- else %} + opendaylight_control_hostname: ${_param:openstack_control_node02_hostname} + opendaylight_server_node01_hostname: ${_param:opendaylight_control_hostname} + opendaylight_server_node01_single_address: ${_param:opnfv_openstack_control_node02_address} +{%- endif %} + openstack_region: RegionOne admin_email: root@localhost # Neutron osv/nodvr @@ -110,7 +167,11 @@ parameters: nova_service_host: ${_param:openstack_control_address} neutron_version: ${_param:openstack_version} neutron_service_host: ${_param:openstack_control_address} +{%- if conf.MCP_VCP %} glusterfs_service_host: ${_param:infra_kvm_address} +{%- else %} + glusterfs_service_host: ${_param:openstack_control_address} +{%- endif %} mysql_admin_user: root mysql_admin_password: opnfv_secret mysql_cinder_password: opnfv_secret @@ -200,6 +261,7 @@ parameters: net.ipv4.tcp_fin_timeout: 30 network: host: +{%- if conf.MCP_VCP %} prx: address: ${_param:openstack_proxy_control_address} names: @@ -295,6 +357,28 @@ parameters: names: - ${_param:openstack_telemetry_node03_hostname} - ${_param:openstack_telemetry_node03_hostname}.${_param:cluster_domain} +{%- else %} + kvm: + address: ${_param:openstack_control_address} + names: + - ${_param:openstack_control_hostname} + - ${_param:openstack_control_hostname}.${_param:cluster_domain} + kvm01: + address: ${_param:openstack_control_node01_address} + names: + - ${_param:openstack_control_node01_hostname} + - ${_param:openstack_control_node01_hostname}.${_param:cluster_domain} + kvm02: + address: ${_param:openstack_control_node02_address} + names: + - ${_param:openstack_control_node02_hostname} + - ${_param:openstack_control_node02_hostname}.${_param:cluster_domain} + kvm03: + address: ${_param:openstack_control_node03_address} + names: + - ${_param:openstack_control_node03_hostname} + - ${_param:openstack_control_node03_hostname}.${_param:cluster_domain} +{%- endif %} cmp001: address: ${_param:openstack_compute_node01_control_address} names: diff --git a/mcp/reclass/classes/cluster/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.j2 index 69fc72ea0..cc92e5df9 100644 --- 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.j2 @@ -6,6 +6,7 @@ # 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 @@ -28,3 +29,4 @@ parameters: name: ${_param:single_nic} address: ${_param:single_address} netmask: ${_param:opnfv_net_public_mask} +{%- endif %} diff --git a/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_interface_vcp_triport.yml b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_interface_vcp_triport.yml.j2 index 1ab134d55..7fef8ae9f 100644 --- 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.j2 @@ -6,6 +6,7 @@ # 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 @@ -41,3 +42,4 @@ parameters: name: ${_param:control_nic} address: ${_param:control_address} netmask: 255.255.255.0 +{%- endif %} diff --git a/mcp/reclass/classes/cluster/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-ovs-novcp-ha/openstack/proxy.yml b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_proxy.yml.j2 index 89b095430..26943b7b6 100644 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/openstack/proxy.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_proxy.yml.j2 @@ -7,10 +7,37 @@ ############################################################################## --- classes: - - cluster.mcp-pike-common-ha.openstack_proxy + - 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: @@ -57,3 +84,15 @@ parameters: <<: *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-ovs-novcp-ha/openstack/message_queue.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/init_vcp.yml.j2 index 0fd4a8a54..385326561 100644 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/openstack/message_queue.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/init_vcp.yml.j2 @@ -6,5 +6,7 @@ # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## --- +{%- if conf.MCP_VCP %} classes: - - cluster.mcp-pike-common-ha.openstack_message_queue + - 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.j2 index e2b18e4da..81135d6a9 100644 --- a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/kvm.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/kvm.yml.j2 @@ -6,6 +6,8 @@ # 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 @@ -27,3 +29,4 @@ parameters: provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain} image: ${_param:salt_control_xenial_image} size: opendaylight.server +{%- endif %} diff --git a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/opendaylight/control.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/opendaylight/control.yml.j2 index d27eb0dc9..8873209cc 100644 --- a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/opendaylight/control.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/opendaylight/control.yml.j2 @@ -9,7 +9,9 @@ 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 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.j2 index a5e63b060..5a3b36fb1 100644 --- a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/init.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/init.yml.j2 @@ -11,11 +11,10 @@ classes: 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" +{%- if conf.MCP_VCP %} linux: network: host: @@ -24,3 +23,4 @@ parameters: names: - ${_param:opendaylight_server_node01_hostname} - ${_param:opendaylight_server_node01_hostname}.${_param:cluster_domain} +{%- endif %} diff --git a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/message_queue.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/message_queue.yml 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/kvm.yml b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/init_vcp.yml.j2 index fe8f2d472..46acb7d2d 100644 --- a/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/kvm.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/init_vcp.yml.j2 @@ -6,6 +6,7 @@ # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## --- +{%- if conf.MCP_VCP %} classes: - - cluster.mcp-pike-common-ha.infra.kvm - cluster.mcp-pike-ovn-ha.infra +{%- endif %} diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/infra/kvm.yml b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/kvm.yml.j2 index 887af029d..4a2355bf1 100644 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-novcp-ha/infra/kvm.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/kvm.yml.j2 @@ -6,7 +6,9 @@ # 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-novcp-ha.infra +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/kvm.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/infra/init_vcp.yml.j2 index 73a3c95ba..9e85995bc 100644 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/infra/kvm.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/infra/init_vcp.yml.j2 @@ -6,6 +6,7 @@ # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## --- +{%- if conf.MCP_VCP %} classes: - - cluster.mcp-pike-common-ha.infra.kvm - cluster.mcp-pike-ovs-dpdk-ha.infra +{%- endif %} diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovs-dpdk-ha/infra/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/kvm.yml b/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/infra/init_vcp.yml.j2 index 5a44e715a..74023ce14 100644 --- a/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/infra/kvm.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/infra/init_vcp.yml.j2 @@ -6,6 +6,7 @@ # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## --- +{%- if conf.MCP_VCP %} classes: - - cluster.mcp-pike-common-ha.infra.kvm - cluster.mcp-pike-ovs-ha.infra +{%- endif %} diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovs-ha/infra/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/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/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 -%} |