AIO ovs
Change-Id: Iba7458af9fddae62946bd5d1ab9f5b1575f3b670
diff --git a/classes/cluster/os_aio_ovs/infra/config.yml b/classes/cluster/os_aio_ovs/infra/config.yml
index 5c05f4c..2764646 100644
--- a/classes/cluster/os_aio_ovs/infra/config.yml
+++ b/classes/cluster/os_aio_ovs/infra/config.yml
@@ -15,7 +15,7 @@
- system.keystone.client.service.glare
- system.keystone.client.service.cinder3
- system.mysql.client.single
-- system.reclass.storage.system.openstack_control_cluster
+- system.reclass.storage.system.openstack_control_single
- system.reclass.storage.system.openstack_compute_multi
- system.reclass.storage.system.openstack_gateway_single
- system.reclass.storage.system.openstack_dashboard_single
@@ -47,11 +47,63 @@
site:
nginx_proxy_openstack_web:
proxy:
- host: prx
+ host: ${_param:cluster_node01_address}
nginx_proxy_openstack_api_heat_cfn:
enabled: false
+ salt:
+ master:
+ reactor:
+ reclass/minion/classify:
+ - salt://reclass/reactor/node_register.sls
reclass:
storage:
+ class_mapping:
+ common_node:
+ expression: all
+ node_param:
+ single_address:
+ value_template: <<node_control_ip>>
+ linux_system_codename:
+ value_template: <<node_os>>
+ salt_master_host:
+ value_template: <<node_master_ip>>
+ infra_config:
+ expression: <<node_hostname>>__startswith__cfg
+ cluster_param:
+ infra_config_address:
+ value_template: <<node_control_ip>>
+ infra_config_deploy_address:
+ value_template: <<node_deploy_ip>>
+ cluster_domain:
+ value_template: <<node_domain>>
+ openstack_control01:
+ expression: <<node_hostname>>__equals__ctl01
+ cluster_param:
+ openstack_control_node01_address:
+ value_template: <<node_control_ip>>
+ openstack_compute:
+ expression: <<node_hostname>>__startswith__cmp
+ node_class:
+ value_template:
+ - cluster.<<node_cluster>>.openstack.compute
+ node_param:
+ tenant_address:
+ value_template: <<node_tenant_ip>>
+ external_address:
+ value_template: <<node_external_ip>>
+ openstack_gateway:
+ expression: <<node_hostname>>__startswith__gtw
+ node_class:
+ value_template:
+ - cluster.<<node_cluster>>.openstack.gateway
+ node_param:
+ tenant_address:
+ value_template: <<node_tenant_ip>>
+ external_address:
+ value_template: <<node_external_ip>>
+ cluster_param:
+ openstack_gateway_node01_address:
+ value_template: <<node_control_ip>>
node:
openstack_control_node01:
classes:
@@ -59,34 +111,54 @@
params:
mysql_cluster_role: master
linux_system_codename: xenial
- openstack_control_node02:
- classes:
- - service.galera.slave.cluster
- params:
- mysql_cluster_role: slave
- linux_system_codename: xenial
- openstack_control_node03:
- classes:
- - service.galera.slave.cluster
- params:
- mysql_cluster_role: slave
- linux_system_codename: xenial
- openstack_compute_node01:
- params:
- single_address: 172.16.10.105
- tenant_address: 10.1.0.105
- external_address: 10.16.0.105
- openstack_compute_node02:
- params:
- single_address: 172.16.10.106
- tenant_address: 10.1.0.106
- external_address: 10.16.0.106
- openstack_gateway_node01:
- params:
- tenant_address: 10.1.0.110
- external_address: 10.16.0.110
- openstack_proxy_node01:
- classes:
- - cluster.os_aio_ovs.openstack.proxy
- params:
- linux_system_codename: xenial
+
+
+ # nginx:
+ # server:
+ # site:
+ # nginx_proxy_openstack_web:
+ # proxy:
+ # host: prx
+ # nginx_proxy_openstack_api_heat_cfn:
+ # enabled: false
+ # reclass:
+ # storage:
+ # node:
+ # openstack_control_node01:
+ # classes:
+ # - service.galera.master.cluster
+ # params:
+ # mysql_cluster_role: master
+ # linux_system_codename: xenial
+ # openstack_control_node02:
+ # classes:
+ # - service.galera.slave.cluster
+ # params:
+ # mysql_cluster_role: slave
+ # linux_system_codename: xenial
+ # openstack_control_node03:
+ # classes:
+ # - service.galera.slave.cluster
+ # params:
+ # mysql_cluster_role: slave
+ # linux_system_codename: xenial
+ # openstack_compute_node01:
+ # params:
+ # single_address: 172.16.10.105
+ # tenant_address: 10.1.0.105
+ # external_address: 10.16.0.105
+ # openstack_compute_node02:
+ # params:
+ # single_address: 172.16.10.106
+ # tenant_address: 10.1.0.106
+ # external_address: 10.16.0.106
+ # openstack_gateway_node01:
+ # params:
+ # tenant_address: 10.1.0.110
+ # external_address: 10.16.0.110
+ # openstack_proxy_node01:
+ # classes:
+ # - cluster.os_aio_ovs.openstack.proxy
+ # params:
+ # linux_system_codename: xenial
+
diff --git a/classes/cluster/os_aio_ovs/openstack/compute.yml b/classes/cluster/os_aio_ovs/openstack/compute.yml
index 787e608..64fc04d 100644
--- a/classes/cluster/os_aio_ovs/openstack/compute.yml
+++ b/classes/cluster/os_aio_ovs/openstack/compute.yml
@@ -21,13 +21,13 @@
notify_on:
state_change: vm_and_task_state
message_queue:
- members:
- - host: ${_param:openstack_control_node01_address}
- - host: ${_param:openstack_control_node02_address}
- - host: ${_param:openstack_control_node03_address}
+ host: ${_param:openstack_control_node01_address}
linux:
network:
bridge: openvswitch
+ concat_iface_files:
+ - src: '/etc/network/interfaces.d/50-cloud-init.cfg'
+ dst: '/etc/network/interfaces'
interface:
dhcp_int:
enabled: true
@@ -37,12 +37,14 @@
mtu: ${_param:interface_mtu}
primary_interface:
enabled: true
+ ipflush_onchange: true
name: ${_param:primary_interface}
mtu: ${_param:interface_mtu}
proto: manual
type: eth
tenant_interface:
enabled: true
+ ipflush_onchange: true
name: ${_param:tenant_interface}
mtu: ${_param:interface_mtu}
proto: manual
diff --git a/classes/cluster/os_aio_ovs/openstack/control.yml b/classes/cluster/os_aio_ovs/openstack/control.yml
index 4c474c1..38ed2ba 100644
--- a/classes/cluster/os_aio_ovs/openstack/control.yml
+++ b/classes/cluster/os_aio_ovs/openstack/control.yml
@@ -5,22 +5,22 @@
- system.linux.system.repo.mcp.extra
- system.linux.system.repo.saltstack.xenial
- system.memcached.server.single
-- system.rabbitmq.server.cluster
+- system.rabbitmq.server.single
- system.rabbitmq.server.vhost.openstack
- system.keystone.server.wsgi
-- system.keystone.server.cluster
-- system.glusterfs.client.cluster
-- system.glusterfs.client.volume.glance
-- system.glusterfs.client.volume.keystone
-- system.glusterfs.server.volume.glance
-- system.glusterfs.server.volume.keystone
-- system.glusterfs.server.cluster
-- system.glance.control.cluster
-- system.nova.control.cluster
-- system.neutron.control.openvswitch.cluster
-- system.cinder.control.cluster
-- system.heat.server.cluster
-- system.galera.server.cluster
+- system.keystone.server.single
+# - system.glusterfs.client.cluster
+# - system.glusterfs.client.volume.glance
+# - system.glusterfs.client.volume.keystone
+# - system.glusterfs.server.volume.glance
+# - system.glusterfs.server.volume.keystone
+# - system.glusterfs.server.cluster
+- system.glance.control.single
+- system.nova.control.single
+- system.neutron.control.openvswitch.single
+- system.cinder.control.single
+- system.heat.server.single
+#- system.galera.server.cluster
- system.galera.server.database.ceilometer
- system.galera.server.database.cinder
- system.galera.server.database.glance
@@ -30,8 +30,25 @@
- cluster.os_aio_ovs
parameters:
_param:
- keepalived_vip_interface: ens4
- keepalived_openstack_telemetry_vip_interface: ens4
+ galera_server_cluster_name: galeracluster
+ galera_server_bind_address: ${_param:cluster_local_address}
+ galera_server_bind_port: 3306
+ galera_server_admin_user: root
+ galera:
+ master:
+ enabled: true
+ name: ${_param:galera_server_cluster_name}
+ bind:
+ address: ${_param:galera_server_bind_address}
+ port: ${_param:galera_server_bind_port}
+ maintenance_password: ${_param:galera_server_maintenance_password}
+ admin:
+ user: ${_param:galera_server_admin_user}
+ password: ${_param:galera_server_admin_password}
+ members:
+ - host: ${_param:openstack_control_node01_address}
+ port: 4567
+##################
linux:
system:
package:
@@ -45,11 +62,6 @@
proto: static
address: ${_param:single_address}
netmask: 255.255.255.0
- keepalived:
- cluster:
- instance:
- VIP:
- virtual_router_id: 150
keystone:
server:
admin_email: ${_param:admin_email}
@@ -83,9 +95,9 @@
password: ${_param:metadata_password}
bind:
private_address: ${_param:cluster_local_address}
- public_address: ${_param:cluster_vip_address}
+ public_address: ${_param:openstack_control_node01_address}
novncproxy_port: 6080
- vncproxy_url: http://${_param:cluster_vip_address}:6080
+ vncproxy_url: http://${_param:openstack_control_node01_address}:6080
workers: 1
notification:
driver: messagingv2
diff --git a/classes/cluster/os_aio_ovs/openstack/init.yml b/classes/cluster/os_aio_ovs/openstack/init.yml
index 5226be4..6133471 100644
--- a/classes/cluster/os_aio_ovs/openstack/init.yml
+++ b/classes/cluster/os_aio_ovs/openstack/init.yml
@@ -1,16 +1,11 @@
arameters:
_param:
- openstack_proxy_address: 172.16.10.121
- openstack_proxy_node01_address: 172.16.10.121
- openstack_control_address: 172.16.10.254
+ # openstack_proxy_address: 172.16.10.121
+ # openstack_proxy_node01_address: 172.16.10.121
openstack_control_node01_address: 172.16.10.101
- openstack_control_node02_address: 172.16.10.102
- openstack_control_node03_address: 172.16.10.103
- openstack_database_address: ${_param:openstack_control_address}
- openstack_message_queue_address: ${_param:openstack_control_address}
+ openstack_database_address: ${_param:openstack_control_node01_address}
+ openstack_message_queue_address: ${_param:openstack_control_node01_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_version: ocata
apt_mk_version: nightly
@@ -18,7 +13,7 @@
openstack_region: RegionOne
admin_email: root@localhost
cluster_public_protocol: http
- cluster_public_host: 172.16.10.254
+ cluster_public_host: ${_param:openstack_control_node01_address}
neutron_public_protocol: http
neutron_control_dvr: False
neutron_tenant_network_types: "flat,vxlan"
@@ -33,37 +28,33 @@
galera_server_cluster_name: openstack_cluster
galera_server_maintenance_password: workshop
galera_server_admin_password: workshop
- cluster_vip_address: 172.16.10.254
+# cluster_vip_address: 172.16.10.254
cluster_local_address: ${_param:single_address}
cluster_node01_hostname: ctl01
cluster_node01_address: 172.16.10.101
- cluster_node02_hostname: ctl02
- cluster_node02_address: 172.16.10.102
- cluster_node03_hostname: ctl03
- cluster_node03_address: 172.16.10.103
rabbitmq_secret_key: workshop
rabbitmq_admin_password: workshop
rabbitmq_openstack_password: workshop
rabbitmq_cold_password: workshop
glance_version: ${_param:openstack_version}
- glance_service_host: ${_param:cluster_vip_address}
+ glance_service_host: ${_param:openstack_control_node01_address}
keystone_version: ${_param:openstack_version}
- keystone_service_host: ${_param:cluster_vip_address}
+ keystone_service_host: ${_param:openstack_control_node01_address}
heat_version: ${_param:openstack_version}
- heat_service_host: ${_param:cluster_vip_address}
+ heat_service_host: ${_param:openstack_control_node01_address}
heat_domain_admin_password: workshop
ceilometer_version: ${_param:openstack_version}
ceilometer_service_host: 172.16.10.108
cinder_version: ${_param:openstack_version}
- cinder_service_host: ${_param:cluster_vip_address}
+ cinder_service_host: ${_param:openstack_control_node01_address}
ceilometer_graphite_publisher_host: 172.16.10.107
ceilometer_graphite_publisher_port: 2013
nova_version: ${_param:openstack_version}
- nova_service_host: ${_param:cluster_vip_address}
- nova_vncproxy_url: http://${_param:cluster_vip_address}:8060
+ nova_service_host: ${_param:openstack_control_node01_address}
+ nova_vncproxy_url: http://${_param:openstack_control_node01_address}:8060
neutron_version: ${_param:openstack_version}
- neutron_service_host: ${_param:cluster_vip_address}
- glusterfs_service_host: ${_param:cluster_vip_address}
+ neutron_service_host: ${_param:openstack_control_node01_address}
+ glusterfs_service_host: ${_param:openstack_control_node01_address}
metadata_password: password
mysql_admin_user: root
mysql_admin_password: workshop
@@ -88,7 +79,7 @@
metadata_password: workshop
horizon_version: ${_param:openstack_version}
horizon_secret_key: opaesee8Que2yahJoh9fo0eefo1Aeyo6ahyei8zeiboh3aeth5loth7ieNa5xi5e
- horizon_identity_host: ${_param:cluster_vip_address}
+ horizon_identity_host: ${_param:openstack_control_node01_address}
horizon_identity_encryption: none
horizon_identity_version: 2
mongodb_server_replica_set: ceilometer
@@ -98,36 +89,11 @@
linux:
network:
host:
- prx:
- address: ${_param:openstack_proxy_address}
- names:
- - prx
- - prx.${_param:cluster_domain}
- prx01:
- address: ${_param:openstack_proxy_node01_address}
- names:
- - prx01
- - prx01.${_param:cluster_domain}
- 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}
- ctl02:
- address: ${_param:openstack_control_node02_address}
- names:
- - ctl02
- - ctl02.${_param:cluster_domain}
- ctl03:
- address: ${_param:openstack_control_node03_address}
- names:
- - ctl03
- - ctl03.${_param:cluster_domain}
gtw01:
address: ${_param:openstack_gateway_address}
names: