aboutsummaryrefslogtreecommitdiffstats
path: root/mcp/reclass/classes/cluster/mcp-pike-common-ha
diff options
context:
space:
mode:
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>2018-02-19 19:01:56 +0100
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>2018-03-07 04:16:29 +0100
commita21457cc96a640700736189612261e9bcae3d825 (patch)
tree386c1276f5c07f72d8e74412000ced3d3a9d3ad8 /mcp/reclass/classes/cluster/mcp-pike-common-ha
parent256e2a50b9b340bb78a8c85fdd7cacf96d0fb637 (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')
-rw-r--r--mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/config.yml4
-rw-r--r--mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/init.yml.j2 (renamed from mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/init.yml)7
-rw-r--r--mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_compute.yml1
-rw-r--r--mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_compute_pdf.yml.j210
-rw-r--r--mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_control.yml112
-rw-r--r--mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_control.yml.j2 (renamed from mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_control_novcp.yml)85
-rw-r--r--mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_init.yml.j2 (renamed from mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_init.yml)96
-rw-r--r--mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_init_novcp.yml234
-rw-r--r--mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_interface_vcp_biport.yml.j2 (renamed from mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_interface_vcp_biport.yml)2
-rw-r--r--mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_interface_vcp_triport.yml.j2 (renamed from mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_interface_vcp_triport.yml)2
-rw-r--r--mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_proxy.yml.j2 (renamed from mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_proxy.yml)48
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: