diff options
author | Alexandru Avadanii <Alexandru.Avadanii@enea.com> | 2018-02-19 19:01:56 +0100 |
---|---|---|
committer | Alexandru Avadanii <Alexandru.Avadanii@enea.com> | 2018-03-07 04:16:29 +0100 |
commit | a21457cc96a640700736189612261e9bcae3d825 (patch) | |
tree | 386c1276f5c07f72d8e74412000ced3d3a9d3ad8 /mcp/reclass/classes/cluster/mcp-pike-common-ha | |
parent | 256e2a50b9b340bb78a8c85fdd7cacf96d0fb637 (diff) |
[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 <mcp/reclass/classes/cluster/.gitignore>
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 <Alexandru.Avadanii@enea.com>
Diffstat (limited to 'mcp/reclass/classes/cluster/mcp-pike-common-ha')
11 files changed, 222 insertions, 379 deletions
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.j2 index a32640e7e..26943b7b6 100644 --- a/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_proxy.yml +++ b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_proxy.yml.j2 @@ -37,6 +37,54 @@ parameters: 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: |