summaryrefslogtreecommitdiffstats
path: root/mcp/reclass/classes/cluster/mcp-common-noha
diff options
context:
space:
mode:
authorMichael Polenchuk <mpolenchuk@mirantis.com>2018-06-04 17:55:52 +0400
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>2018-06-07 12:43:10 +0000
commitafae8d4d99d962448eb62cdd306f7a3dcda83744 (patch)
tree09d568175957ab7155c327237313f0c3e542bcac /mcp/reclass/classes/cluster/mcp-common-noha
parent78d368731c9582361cc291d5618e01702982f2b9 (diff)
[noha] Update OpenStack version to Queens
* make cluster names version-agnostic * pre-install oslo-templates formula * salt version update to 2017.7 * system reclass update Change-Id: I903895f6bcd98a1062e66e3f14d23ec04dc1b869 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Diffstat (limited to 'mcp/reclass/classes/cluster/mcp-common-noha')
-rw-r--r--mcp/reclass/classes/cluster/mcp-common-noha/haproxy_openstack_api.yml173
-rw-r--r--mcp/reclass/classes/cluster/mcp-common-noha/infra/config.yml80
-rw-r--r--mcp/reclass/classes/cluster/mcp-common-noha/infra/init.yml29
-rw-r--r--mcp/reclass/classes/cluster/mcp-common-noha/init_options.yml28
-rw-r--r--mcp/reclass/classes/cluster/mcp-common-noha/openstack_compute.yml70
-rw-r--r--mcp/reclass/classes/cluster/mcp-common-noha/openstack_compute_pdf.yml.j244
-rw-r--r--mcp/reclass/classes/cluster/mcp-common-noha/openstack_control.yml167
-rw-r--r--mcp/reclass/classes/cluster/mcp-common-noha/openstack_control_pdf.yml.j232
-rw-r--r--mcp/reclass/classes/cluster/mcp-common-noha/openstack_gateway.yml21
-rw-r--r--mcp/reclass/classes/cluster/mcp-common-noha/openstack_gateway_pdf.yml.j270
-rw-r--r--mcp/reclass/classes/cluster/mcp-common-noha/openstack_init.yml134
11 files changed, 848 insertions, 0 deletions
diff --git a/mcp/reclass/classes/cluster/mcp-common-noha/haproxy_openstack_api.yml b/mcp/reclass/classes/cluster/mcp-common-noha/haproxy_openstack_api.yml
new file mode 100644
index 000000000..7235071f5
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-common-noha/haproxy_openstack_api.yml
@@ -0,0 +1,173 @@
+##############################################################################
+# 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:
+ haproxy_check: check inter 15s fastinter 2s downinter 4s rise 3 fall 3
+ haproxy:
+ proxy:
+ listen:
+ cinder_api:
+ type: openstack-service
+ service_name: cinder
+ binds:
+ - address: ${_param:cluster_vip_address}
+ port: 8776
+ servers:
+ - name: ctl01
+ host: ${_param:cluster_node01_address}
+ port: 8776
+ params: ${_param:haproxy_check}
+ glance_api:
+ type: openstack-service
+ service_name: glance
+ binds:
+ - address: ${_param:cluster_vip_address}
+ port: 9292
+ servers:
+ - name: ctl01
+ host: ${_param:cluster_node01_address}
+ port: 9292
+ params: ${_param:haproxy_check}
+ glance_registry_api:
+ type: general-service
+ service_name: glance
+ binds:
+ - address: ${_param:cluster_vip_address}
+ port: 9191
+ servers:
+ - name: ctl01
+ host: ${_param:cluster_node01_address}
+ port: 9191
+ params: ${_param:haproxy_check}
+ heat_cloudwatch_api:
+ type: openstack-service
+ service_name: heat
+ binds:
+ - address: ${_param:cluster_vip_address}
+ port: 8003
+ servers:
+ - name: ctl01
+ host: ${_param:cluster_node01_address}
+ port: 8003
+ params: ${_param:haproxy_check}
+ heat_api:
+ type: openstack-service
+ service_name: heat
+ binds:
+ - address: ${_param:cluster_vip_address}
+ port: 8004
+ servers:
+ - name: ctl01
+ host: ${_param:cluster_node01_address}
+ port: 8004
+ params: ${_param:haproxy_check}
+ heat_cfn_api:
+ type: openstack-service
+ service_name: heat
+ binds:
+ - address: ${_param:cluster_vip_address}
+ port: 8000
+ servers:
+ - name: ctl01
+ host: ${_param:cluster_node01_address}
+ port: 8000
+ params: ${_param:haproxy_check}
+ keystone_public_api:
+ type: openstack-service
+ service_name: keystone
+ binds:
+ - address: ${_param:cluster_vip_address}
+ port: 5000
+ servers:
+ - name: ctl01
+ host: ${_param:cluster_node01_address}
+ port: 5000
+ params: ${_param:haproxy_check}
+ keystone_admin_api:
+ type: openstack-service
+ service_name: keystone
+ binds:
+ - address: ${_param:cluster_vip_address}
+ port: 35357
+ servers:
+ - name: ctl01
+ host: ${_param:cluster_node01_address}
+ port: 35357
+ params: ${_param:haproxy_check}
+ neutron_api:
+ type: openstack-service
+ service_name: neutron
+ binds:
+ - address: ${_param:cluster_vip_address}
+ port: 9696
+ servers:
+ - name: ctl01
+ host: ${_param:cluster_node01_address}
+ port: 9696
+ params: ${_param:haproxy_check}
+ nova_placement_api:
+ mode: http
+ binds:
+ - address: ${_param:cluster_vip_address}
+ port: 8778
+ options:
+ - httpclose
+ - httplog
+ health-check:
+ http:
+ options:
+ - expect status 401
+ servers:
+ - name: ctl01
+ host: ${_param:cluster_node01_address}
+ port: 8778
+ params: ${_param:haproxy_check}
+ nova_api:
+ type: openstack-service
+ service_name: nova
+ binds:
+ - address: ${_param:cluster_vip_address}
+ port: 8774
+ servers:
+ - name: ctl01
+ host: ${_param:cluster_node01_address}
+ port: 8774
+ params: ${_param:haproxy_check}
+ nova_metadata_api:
+ type: openstack-service
+ binds:
+ - address: ${_param:cluster_vip_address}
+ port: 8775
+ servers:
+ - name: ctl01
+ host: ${_param:cluster_node01_address}
+ port: 8775
+ params: ${_param:haproxy_check}
+ ceilometer_api:
+ type: general-service
+ check: false
+ binds:
+ - address: ${_param:cluster_vip_address}
+ port: 8777
+ servers:
+ - name: ${_param:cluster_node01_hostname}
+ host: ${_param:cluster_node01_address}
+ port: 8777
+ params: ${_param:haproxy_check}
+ aodh-api:
+ type: openstack-service
+ service_name: aodh
+ binds:
+ - address: ${_param:cluster_vip_address}
+ port: 8042
+ servers:
+ - name: ctl01
+ host: ${_param:cluster_node01_address}
+ port: 8042
+ params: ${_param:haproxy_check}
diff --git a/mcp/reclass/classes/cluster/mcp-common-noha/infra/config.yml b/mcp/reclass/classes/cluster/mcp-common-noha/infra/config.yml
new file mode 100644
index 000000000..00f3b76ab
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-common-noha/infra/config.yml
@@ -0,0 +1,80 @@
+##############################################################################
+# Copyright (c) 2018 Mirantis Inc., Enea AB and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+classes:
+ - service.git.client
+ - system.linux.system.single
+ - system.linux.system.repo.mcp.salt
+ - system.salt.master.api
+ - system.salt.master.pkg
+ - system.reclass.storage.salt
+ - system.salt.minion.ca.salt_master
+ - system.mysql.client.single
+ - system.reclass.storage.system.openstack_compute_multi
+parameters:
+ _param:
+ openstack_control_node01_hostname: ctl01
+ reclass_data_repository: local
+ reclass_config_master: ${_param:opnfv_infra_config_pxe_address}
+ salt_master_environment_repository: "https://github.com/tcpcloud"
+ salt_master_environment_revision: master
+ single_address: ${_param:opnfv_infra_config_address}
+ salt_master_host: 127.0.0.1
+ salt_master_base_environment: prd
+ salt_minion_ca_host: ${linux:network:fqdn}
+ # yamllint disable-line rule:line-length
+ salt_api_password_hash: "$6$sGnRlxGf$al5jMCetLP.vfI/fTl3Z0N7Za1aeiexL487jAtyRABVfT3NlwZxQGVhO7S1N8OwS/34VHYwZQA8lkXwKMN/GS1"
+ linux:
+ network:
+ interface:
+ dhcp:
+ enabled: true
+ type: eth
+ proto: dhcp
+ name: ${_param:opnfv_fn_vm_primary_interface}
+ single_int:
+ enabled: true
+ name: ${_param:opnfv_fn_vm_secondary_interface}
+ type: eth
+ proto: static
+ address: ${_param:single_address}
+ netmask: 255.255.255.0
+ pxe:
+ enabled: true
+ type: eth
+ proto: static
+ name: ${_param:opnfv_fn_vm_tertiary_interface}
+ address: ${_param:opnfv_infra_config_pxe_address}
+ netmask: 255.255.255.0
+ salt:
+ master:
+ file_recv: true
+ reclass:
+ storage:
+ data_source:
+ engine: local
+ node:
+ openstack_control_node01:
+ name: ${_param:openstack_control_node01_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.openstack.control
+ params:
+ linux_system_codename: xenial
+ salt_master_host: ${_param:reclass_config_master}
+ single_address: ${_param:openstack_control_node01_address}
+ openstack_compute_node01:
+ params:
+ single_address: ${_param:opnfv_openstack_compute_node01_control_address}
+ tenant_address: ${_param:opnfv_openstack_compute_node01_tenant_address}
+ external_address: ${_param:opnfv_openstack_compute_node01_external_address}
+ openstack_compute_node02:
+ params:
+ single_address: ${_param:opnfv_openstack_compute_node02_control_address}
+ tenant_address: ${_param:opnfv_openstack_compute_node02_tenant_address}
+ external_address: ${_param:opnfv_openstack_compute_node02_external_address}
diff --git a/mcp/reclass/classes/cluster/mcp-common-noha/infra/init.yml b/mcp/reclass/classes/cluster/mcp-common-noha/infra/init.yml
new file mode 100644
index 000000000..ede41940a
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-common-noha/infra/init.yml
@@ -0,0 +1,29 @@
+##############################################################################
+# 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:
+ cluster_domain: ${_param:cluster_name}.local
+ linux:
+ system:
+ apt:
+ config:
+ prefer_ipv4:
+ Acquire::ForceIPv4: true
+ network:
+ host:
+ cfg01:
+ address: ${_param:infra_config_address}
+ names:
+ - cfg01
+ - cfg01.${_param:cluster_domain}
+ cfg:
+ address: ${_param:infra_config_address}
+ names:
+ - cfg
+ - cfg.${_param:cluster_domain}
diff --git a/mcp/reclass/classes/cluster/mcp-common-noha/init_options.yml b/mcp/reclass/classes/cluster/mcp-common-noha/init_options.yml
new file mode 100644
index 000000000..69aba92ad
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-common-noha/init_options.yml
@@ -0,0 +1,28 @@
+##############################################################################
+# Copyright (c) 2018 Mirantis Inc., Enea AB and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+classes:
+ - cluster.all-mcp-arch-common
+parameters:
+ _param:
+ # infra service addresses
+ infra_config_address: ${_param:opnfv_infra_config_address}
+ # openstack service addresses
+ openstack_control_address: ${_param:opnfv_openstack_control_node01_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_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_gateway_address: ${_param:opnfv_openstack_gateway_node01_address}
+ control_address: ${_param:openstack_control_address}
+ ntp_strata_host1: 1.se.pool.ntp.org
+ ntp_strata_host2: 0.se.pool.ntp.org
diff --git a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_compute.yml b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_compute.yml
new file mode 100644
index 000000000..edd7f9f58
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_compute.yml
@@ -0,0 +1,70 @@
+##############################################################################
+# Copyright (c) 2018 Mirantis Inc., Enea AB and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+classes:
+ - service.nfs.client
+ - system.nova.compute.single
+ - service.cinder.volume.single
+ - system.cinder.volume.backend.lvm
+ - system.ceilometer.agent.cluster
+ - system.ceilometer.client.nova_compute
+ - system.ceilometer.client.cinder_volume
+ - system.ceilometer.agent.polling.default
+ - system.linux.system.repo.mcp.openstack
+ - cluster.mcp-common-noha.openstack_compute_pdf
+parameters:
+ _param:
+ interface_mtu: 9000
+ linux_system_codename: xenial
+ ~cinder_lvm_devices: ['/dev/vdb']
+ nova:
+ compute:
+ libvirt_service: libvirtd
+ libvirt_bin: /etc/default/libvirtd
+ disk_cachemodes: file=directsync,block=none
+ vncproxy_url: http://${_param:cluster_vip_address}:6080
+ bind:
+ vnc_address: ${_param:single_address}
+ network:
+ region: ${_param:openstack_region}
+ user: neutron
+ tenant: service
+ password: ${_param:keystone_neutron_password}
+ neutron:
+ compute:
+ notification: true
+ vlan_aware_vms: true
+ root_helper_daemon: false
+ agent_mode: ${_param:neutron_compute_agent_mode}
+ message_queue:
+ host: ${_param:openstack_control_address}
+ metadata:
+ host: ${_param:openstack_control_address}
+ cinder:
+ volume:
+ database:
+ host: ${_param:cluster_local_address}
+ identity:
+ host: ${_param:cluster_local_address}
+ glance:
+ host: ${_param:cluster_local_address}
+ message_queue:
+ host: ${_param:cluster_local_address}
+ nfs:
+ client:
+ mount:
+ nfs:
+ path: /var/lib/nova/instances
+ fstype: nfs
+ device: ${_param:openstack_control_address}:/srv/nova/instances
+ linux:
+ system:
+ kernel:
+ sysctl:
+ vm.dirty_ratio: 10
+ vm.dirty_background_ratio: 5
diff --git a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_compute_pdf.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_compute_pdf.yml.j2
new file mode 100644
index 000000000..64af148fd
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_compute_pdf.yml.j2
@@ -0,0 +1,44 @@
+##############################################################################
+# Copyright (c) 2018 Mirantis Inc., Enea AB and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+{#- NOTE: br-{mgmt,ctl} are cross-referenced, careful when changing names #}
+{%- import 'net_map.j2' as nm with context %}
+---
+parameters:
+ _param:
+ primary_interface: {{ nm.cmp001.nic_mgmt }}
+ tenant_interface: {{ nm.cmp001.nic_private }}
+ external_interface: {{ nm.cmp001.nic_public }}
+ linux:
+ network:
+ bridge: openvswitch
+ interface:
+ dhcp_int:
+ enabled: true
+ name: {{ nm.cmp001.nic_admin }}
+ proto: dhcp
+ type: eth
+ mtu: ${_param:interface_mtu}
+ primary_interface:
+ enabled: true
+ name: ${_param:primary_interface}
+ proto: manual
+ type: eth
+ tenant_interface:
+ enabled: true
+ name: ${_param:tenant_interface}
+ mtu: ${_param:interface_mtu}
+ proto: manual
+ type: eth
+ br-mgmt:
+ enabled: true
+ type: bridge
+ proto: static
+ address: ${_param:single_address}
+ netmask: 255.255.255.0
+ use_interfaces:
+ - ${_param:primary_interface}
diff --git a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_control.yml b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_control.yml
new file mode 100644
index 000000000..c4915c795
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_control.yml
@@ -0,0 +1,167 @@
+##############################################################################
+# 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.lowmem
+ - system.linux.system.repo.mcp.openstack
+ - service.nfs.server
+ - system.ceilometer.client
+ - system.ceilometer.client.neutron
+ - system.memcached.server.single
+ - system.rabbitmq.server.single
+ - system.rabbitmq.server.vhost.openstack
+ - system.keystone.server.wsgi
+ - system.keystone.server.single
+ - system.keystone.client.single
+ - system.keystone.client.v3.service.keystone
+ - system.keystone.client.service.nova21
+ - system.keystone.client.service.nova-placement
+ - system.keystone.client.service.cinder3
+ - system.keystone.client.service.ceilometer
+ - system.keystone.client.service.aodh
+ - system.keystone.client.service.gnocchi
+ - system.keystone.client.service.panko
+ - system.glance.control.single
+ - system.nova.control.single
+ - system.cinder.control.single
+ - system.cinder.control.backend.lvm
+ - system.heat.server.single
+ - service.mysql.server.single
+ - system.galera.server.database.cinder
+ - system.galera.server.database.glance
+ - system.galera.server.database.grafana
+ - system.galera.server.database.heat
+ - system.galera.server.database.keystone
+ - system.galera.server.database.nova
+ - system.galera.server.database.ceilometer
+ - system.galera.server.database.aodh
+ - system.galera.server.database.gnocchi
+ - system.galera.server.database.panko
+ - service.redis.server.single
+ - service.ceilometer.server.single
+ - system.ceilometer.server.coordination.redis
+ - system.ceilometer.server.backend.default
+ - system.aodh.server.single
+ - system.aodh.server.coordination.redis
+ - system.gnocchi.server.single
+ - system.gnocchi.common.storage.incoming.redis
+ - system.gnocchi.common.storage.redis
+ - system.gnocchi.common.coordination.redis
+ - service.panko.server.single
+ - system.apache.server.site.gnocchi
+ - system.apache.server.site.panko
+ - system.horizon.server.single
+ - service.haproxy.proxy.single
+ - cluster.mcp-common-noha.haproxy_openstack_api
+ - cluster.mcp-common-noha.openstack_control_pdf
+parameters:
+ _param:
+ linux_system_codename: xenial
+ ceilometer_create_gnocchi_resources: 'True'
+ linux:
+ system:
+ package:
+ python-msgpack:
+ version: latest
+ keystone:
+ server:
+ admin_email: ${_param:admin_email}
+ openrc_extra:
+ volume_device_name: vdc
+ pkgs:
+ - keystone
+ - python-psycopg2
+ - python-mysqldb
+ - python-openstackclient
+ - python-tornado
+ client:
+ enabled: true
+ resources:
+ v3:
+ enabled: true
+ server:
+ identity:
+ admin:
+ api_version: 3
+ admin_identity:
+ admin:
+ api_version: ''
+ user_domain_name: 'Default'
+ project_domain_name: 'Default'
+ glance:
+ server:
+ storage:
+ engine: file
+ images: []
+ workers: 1
+ nova:
+ controller:
+ networking: dvr
+ cpu_allocation: 54
+ metadata:
+ password: ${_param:metadata_password}
+ bind:
+ private_address: ${_param:cluster_local_address}
+ public_address: ${_param:cluster_vip_address}
+ novncproxy_port: 6080
+ vncproxy_url: http://${_param:cluster_vip_address}:6080
+ workers: 1
+ horizon:
+ server:
+ # yamllint disable-line rule:truthy
+ secure: False
+ heat:
+ server:
+ bind:
+ api_cfn:
+ address: ${_param:single_address}
+ api_cloudwatch:
+ address: ${_param:single_address}
+ mysql:
+ server:
+ version: '5.7'
+ bind:
+ address: ${_param:cluster_local_address}
+ key_buffer: 8
+ max_allowed_packet: 128
+ max_connections: 2048
+ thread_stack: 512
+ thread_cache_size: 12
+ query_cache_limit: 2
+ query_cache_size: 0
+ ceilometer:
+ server:
+ ~database: ~
+ redis:
+ server:
+ version: 3.0
+ appendfsync: 'no'
+ bind:
+ address: ${_param:single_address}
+ nfs:
+ server:
+ share:
+ nova_instances:
+ path: /srv/nova/instances
+ host:
+ nova:
+ host: ${_param:single_address}/24
+ params:
+ - rw
+ - no_root_squash
+ - async
+ neutron:
+ server:
+ vlan_aware_vms: true
+ root_helper_daemon: false
+ apache:
+ server:
+ site:
+ gnocchi:
+ wsgi:
+ threads: 1
diff --git a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_control_pdf.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_control_pdf.yml.j2
new file mode 100644
index 000000000..8219637dc
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_control_pdf.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
+##############################################################################
+{%- import 'net_map.j2' as nm with context %}
+---
+parameters:
+ linux:
+ network:
+ interface:
+ dhcp_int:
+ enabled: true
+ name: {{ nm.ctl01.nic_admin }}
+ proto: dhcp
+ type: eth
+ single_int:
+ enabled: true
+ name: {{ nm.ctl01.nic_mgmt }}
+ type: eth
+ proto: static
+ address: ${_param:single_address}
+ netmask: 255.255.255.0
+ public_int:
+ enabled: true
+ name: {{ nm.ctl01.nic_public }}
+ type: eth
+ proto: static
+ address: ${_param:cluster_public_host}
+ netmask: 255.255.255.0
diff --git a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_gateway.yml b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_gateway.yml
new file mode 100644
index 000000000..0062adf16
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_gateway.yml
@@ -0,0 +1,21 @@
+##############################################################################
+# 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.mcp.openstack
+ - cluster.mcp-common-noha.openstack_gateway_pdf
+parameters:
+ _param:
+ interface_mtu: 9000
+ linux_system_codename: xenial
+ neutron:
+ gateway:
+ notification: true
+ agent_mode: ${_param:neutron_gateway_agent_mode}
+ vlan_aware_vms: true
+ root_helper_daemon: false
diff --git a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_gateway_pdf.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_gateway_pdf.yml.j2
new file mode 100644
index 000000000..7067d59a4
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_gateway_pdf.yml.j2
@@ -0,0 +1,70 @@
+##############################################################################
+# Copyright (c) 2018 Mirantis Inc., Enea AB and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+{%- import 'net_map.j2' as nm with context %}
+parameters:
+ _param:
+ primary_interface: {{ nm.ctl01.nic_mgmt }}
+ tenant_interface: {{ nm.ctl01.nic_private }}
+ external_interface: {{ nm.ctl01.nic_public }}
+ linux:
+ network:
+ bridge: openvswitch
+ interface:
+ dhcp_int:
+ enabled: true
+ name: {{ nm.ctl01.nic_admin }}
+ proto: dhcp
+ type: eth
+ mtu: ${_param:interface_mtu}
+ primary_interface:
+ enabled: true
+ name: ${_param:primary_interface}
+ mtu: ${_param:interface_mtu}
+ proto: manual
+ type: eth
+ tenant_interface:
+ enabled: true
+ name: ${_param:tenant_interface}
+ mtu: ${_param:interface_mtu}
+ proto: manual
+ type: eth
+ external_interface:
+ enabled: true
+ name: ${_param:external_interface}
+ mtu: ${_param:interface_mtu}
+ proto: manual
+ type: eth
+ br-floating:
+ enabled: true
+ type: ovs_bridge
+ mtu: ${_param:interface_mtu}
+ br-mgmt:
+ enabled: true
+ type: bridge
+ proto: static
+ address: ${_param:single_address}
+ netmask: 255.255.255.0
+ mtu: ${_param:interface_mtu}
+ use_interfaces:
+ - ${_param:primary_interface}
+ float-to-ex:
+ enabled: true
+ type: ovs_port
+ mtu: ${_param:interface_mtu}
+ bridge: br-floating
+ br-ex:
+ enabled: true
+ type: bridge
+ mtu: ${_param:interface_mtu}
+ address: ${_param:external_address}
+ netmask: 255.255.255.0
+ use_interfaces:
+ - ${_param:external_interface}
+ use_ovs_ports:
+ - float-to-ex
diff --git a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_init.yml b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_init.yml
new file mode 100644
index 000000000..f76333374
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_init.yml
@@ -0,0 +1,134 @@
+##############################################################################
+# 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: queens
+ apt_mk_version: nightly
+ mcp_repo_version: 1.1
+ openstack_region: RegionOne
+ admin_email: root@localhost
+ cluster_public_protocol: http
+ cluster_public_host: ${_param:opnfv_openstack_control_node01_external_address}
+ neutron_public_protocol: http
+ neutron_control_dvr: 'False'
+ neutron_l3_ha: 'False'
+ 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: 'False'
+ galera_server_cluster_name: openstack_cluster
+ galera_server_maintenance_password: opnfv_secret
+ galera_server_admin_password: opnfv_secret
+ cluster_vip_address: ${_param:cluster_public_host}
+ cluster_local_address: ${_param:openstack_control_address}
+ cluster_node01_hostname: ctl01
+ cluster_node01_address: ${_param:opnfv_openstack_control_node01_address}
+ cluster_node02_hostname: ctl02
+ cluster_node02_address: ${_param:opnfv_openstack_control_node02_address}
+ cluster_node03_hostname: ctl03
+ cluster_node03_address: ${_param:opnfv_openstack_control_node03_address}
+ rabbitmq_secret_key: opnfv_secret
+ rabbitmq_admin_password: opnfv_secret
+ rabbitmq_openstack_password: opnfv_secret
+ rabbitmq_cold_password: opnfv_secret
+ glance_version: ${_param:openstack_version}
+ glance_service_host: ${_param:cluster_local_address}
+ keystone_version: ${_param:openstack_version}
+ keystone_service_host: ${_param:cluster_local_address}
+ heat_version: ${_param:openstack_version}
+ heat_service_host: ${_param:cluster_local_address}
+ heat_domain_admin_password: opnfv_secret
+ ceilometer_version: ${_param:openstack_version}
+ ceilometer_service_host: ${_param:cluster_local_address}
+ ceilometer_database_host: ${_param:cluster_local_address}
+ cinder_version: ${_param:openstack_version}
+ cinder_service_host: ${_param:cluster_local_address}
+ nova_version: ${_param:openstack_version}
+ nova_service_host: ${_param:cluster_local_address}
+ nova_vncproxy_url: http://${_param:cluster_vip_address}:8060
+ neutron_version: ${_param:openstack_version}
+ neutron_service_host: ${_param:cluster_local_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
+ 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
+ ceilometer_secret_key: opnfv_secret
+ metadata_password: opnfv_secret
+ horizon_version: ${_param:openstack_version}
+ horizon_secret_key: opaesee8Que2yahJoh9fo0eefo1Aeyo6ahyei8zeiboh3aeth5loth7ieNa5xi5e
+ horizon_identity_host: ${_param:cluster_vip_address}
+ horizon_identity_encryption: none
+ horizon_identity_version: 3
+ aodh_version: ${_param:openstack_version}
+ keystone_aodh_password: opnfv_secret
+ aodh_service_host: ${_param:cluster_local_address}
+ gnocchi_version: 4.0
+ gnocchi_service_host: ${_param:cluster_local_address}
+ mysql_gnocchi_password: opnfv_secret
+ keystone_gnocchi_password: opnfv_secret
+ panko_version: ${_param:openstack_version}
+ panko_service_host: ${_param:cluster_local_address}
+ mysql_panko_password: opnfv_secret
+ keystone_panko_password: opnfv_secret
+ ceilometer_agent_default_polling_interval: 180
+ ceilometer_agent_default_polling_meters:
+ - "*"
+ linux:
+ system:
+ kernel:
+ sysctl:
+ net.ipv4.tcp_congestion_control: yeah
+ net.ipv4.tcp_slow_start_after_idle: 0
+ net.ipv4.tcp_fin_timeout: 30
+ network:
+ host:
+ ctl:
+ address: ${_param:openstack_control_address}
+ names:
+ - ctl
+ - ctl.${_param:cluster_domain}
+ ctl01:
+ address: ${_param:openstack_control_node01_address}
+ names:
+ - ctl01
+ - ctl01.${_param:cluster_domain}
+ gtw01:
+ address: ${_param:openstack_gateway_address}
+ names:
+ - gtw01
+ - gtw01.${_param:cluster_domain}
+ cmp01:
+ address: ${_param:opnfv_openstack_compute_node01_control_address}
+ names:
+ - cmp01
+ - cmp01.${_param:cluster_domain}
+ cmp02:
+ address: ${_param:opnfv_openstack_compute_node02_control_address}
+ names:
+ - cmp02
+ - cmp02.${_param:cluster_domain}