- system.reclass.storage.salt
- system.salt.minion.ca.salt_master
- system.salt.minion.cert.proxy
-- system.keystone.client.single
-- system.keystone.client.service.ceilometer
-- system.keystone.client.service.nova21
-- system.keystone.client.service.nova-placement
-- 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_compute_multi
- system.reclass.storage.system.openstack_gateway_single
- cluster.virtual-mcp-ocata-ovs
parameters:
_param:
+ openstack_control_node01_hostname: ctl01
reclass_data_repository: https://gerrit.opnfv.org/gerrit/fuel
reclass_data_revision: master
salt_master_environment_repository: "https://github.com/tcpcloud"
storage:
node:
openstack_control_node01:
+ name: ${_param:openstack_control_node01_hostname}
+ domain: ${_param:cluster_domain}
classes:
- - service.galera.master.cluster
+ - cluster.${_param:cluster_name}.openstack.control
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
+ salt_master_host: ${_param:reclass_config_master}
+ single_address: ${_param:openstack_control_node01_address}
openstack_compute_node01:
params:
single_address: 172.16.10.105
# infra service addresses
infra_config_address: 172.16.10.100
# openstack service addresses
- openstack_control_address: 172.16.10.254
+ openstack_control_address: 172.16.10.101
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_message_queue_node02_address: ${_param:openstack_control_node02_address}
openstack_message_queue_node03_address: ${_param:openstack_control_node03_address}
openstack_gateway_address: 172.16.10.110
+ control_address: ${_param:openstack_control_address}
- system.linux.system.repo.mcp.openstack
- system.linux.system.repo.mcp.extra
- system.linux.system.repo.saltstack.xenial
-- system.nova.compute.cluster
-- system.neutron.compute.cluster
-- system.ceilometer.agent.cluster
+- system.nova.compute.single
+- service.neutron.compute.single
- cluster.virtual-mcp-ocata-ovs
parameters:
_param:
nova:
compute:
vncproxy_url: http://${_param:cluster_vip_address}:6080
+ network:
+ region: ${_param:openstack_region}
+ user: neutron
+ tenant: service
+ password: ${_param:keystone_neutron_password}
+ neutron:
+ compute:
+ agent_mode: ${_param:neutron_compute_agent_mode}
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_address}
+ metadata:
+ host: ${_param:openstack_control_address}
linux:
network:
bridge: openvswitch
- system.linux.system.repo.mcp.openstack
- system.linux.system.repo.mcp.extra
- system.linux.system.repo.saltstack.xenial
-- system.ceilometer.client
- 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.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.galera.server.database.aodh
-- system.galera.server.database.ceilometer
+- system.keystone.server.single
+- system.keystone.client.single
+- system.keystone.client.service.nova21
+- system.keystone.client.service.nova-placement
+- system.keystone.client.service.glare
+- system.keystone.client.service.cinder3
+- system.glance.control.single
+- system.nova.control.single
+- system.neutron.control.openvswitch.single
+- system.cinder.control.single
+- 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.haproxy.proxy.listen.openstack.nova-placement
-- system.ceilometer.server.cluster
-- system.aodh.server.cluster
-- system.horizon.server.cluster
+- system.horizon.server.single
- cluster.virtual-mcp-ocata-ovs
parameters:
_param:
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}
+ pkgs:
+ - keystone
+ - python-keystone
+ - python-keystoneclient
+ - python-psycopg2
+ - python-mysqldb
+ - python-six
+ - python-memcache
+ - python-openstackclient
+ - gettext-base
+ - python-pycadf
glance:
server:
storage:
novncproxy_port: 6080
vncproxy_url: http://${_param:cluster_vip_address}:6080
workers: 1
+ mysql:
+ server:
+ version: '5.7'
+ bind:
+ address: ${_param:cluster_local_address}
- system.linux.system.repo.mcp.openstack
- system.linux.system.repo.mcp.extra
- system.linux.system.repo.saltstack.xenial
-- system.neutron.gateway.cluster
+- service.neutron.gateway.single
- cluster.virtual-mcp-ocata-ovs
parameters:
_param:
external_interface: ens6
interface_mtu: 9000
linux_system_codename: xenial
+ neutron:
+ gateway:
+ agent_mode: ${_param:neutron_gateway_agent_mode}
linux:
network:
bridge: openvswitch
openstack_region: RegionOne
admin_email: root@localhost
cluster_public_protocol: http
- cluster_public_host: 172.16.10.254
+ cluster_public_host: 172.16.10.101
neutron_public_protocol: http
neutron_control_dvr: False
neutron_tenant_network_types: "flat,vxlan"
galera_server_cluster_name: openstack_cluster
galera_server_maintenance_password: opnfv_secret
galera_server_admin_password: opnfv_secret
- cluster_vip_address: 172.16.10.254
+ cluster_vip_address: ${_param:cluster_public_host}
cluster_local_address: ${_param:single_address}
cluster_node01_hostname: ctl01
cluster_node01_address: 172.16.10.101
heat_domain_admin_password: opnfv_secret
ceilometer_version: ${_param:openstack_version}
ceilometer_service_host: 172.16.10.108
+ ceilometer_database_host: ${_param:cluster_local_address}
cinder_version: ${_param:openstack_version}
cinder_service_host: ${_param:cluster_vip_address}
ceilometer_graphite_publisher_host: 172.16.10.107
-Subproject commit 89b124ec180fa47d093acb38010dcf130016fef5
+Subproject commit 8a7dc2f6ae598cc95300fd404dfb8dd75185ecb4
salt '*' state.sls ntp
- salt -C 'I@keepalived:cluster' state.sls keepalived -b 1
-
salt -C 'I@rabbitmq:server' state.sls rabbitmq
- salt -C 'I@rabbitmq:server' cmd.run "rabbitmqctl cluster_status"
+ salt -C 'I@rabbitmq:server' cmd.run "rabbitmqctl status"
- salt -C 'I@galera:master' state.sls galera
- salt -C 'I@galera:master' mysql.status | grep -A1 wsrep_cluster_size
+ salt -C 'I@mysql:server' state.sls mysql
- salt -C 'I@haproxy:proxy' state.sls haproxy
salt -C 'I@memcached:server' state.sls memcached
- salt -C 'I@keystone:server' state.sls keystone.server -b 1
- salt -C 'I@keystone:server' cmd.run "service apache2 restart"
- while true; do salt -C 'I@keystone:client' state.sls keystone.client && break; done
- salt -C 'I@keystone:server' cmd.run ". /root/keystonercv3; openstack user list"
+ salt -C 'I@keystone:server' state.sls keystone.server
+ salt -C 'I@keystone:server' cmd.run "systemctl restart apache2"
+ while true; do salt -C 'I@keystone:server' state.sls keystone.client && break; done
+ salt -C 'I@keystone:server' cmd.run ". /root/keystonercv3; openstack service list"
- salt -C 'I@glance:server' state.sls glance -b 1
- salt -C 'I@nova:controller' state.sls nova -b 1
- salt -C 'I@heat:server' state.sls heat -b 1
- salt -C 'I@cinder:controller' state.sls cinder -b 1
+ salt -C 'I@glance:server' state.sls glance
+ salt -C 'I@nova:controller' state.sls nova
+ salt -C 'I@heat:server' state.sls heat
+ salt -C 'I@cinder:controller' state.sls cinder
- salt -C 'I@neutron:server' state.sls neutron -b 1
+ salt -C 'I@neutron:server' state.sls neutron
salt -C 'I@neutron:gateway' state.sls neutron
salt -C 'I@nova:compute' state.sls nova