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 --- .../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 ++++++ 17 files changed, 871 insertions(+), 1028 deletions(-) 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 (limited to 'mcp/reclass/classes/cluster/mcp-pike-common-ha') 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' -- cgit 1.2.3-korg