aboutsummaryrefslogtreecommitdiffstats
path: root/mcp
diff options
context:
space:
mode:
authorMichael Polenchuk <mpolenchuk@mirantis.com>2017-05-31 16:12:43 +0400
committerMichael Polenchuk <mpolenchuk@mirantis.com>2017-05-31 16:23:36 +0400
commitf19e006f84e98bdee061d79e68c316364251dcbc (patch)
tree3baa59efabe08d993aec82653611dc6eea189eea /mcp
parentecfbd90af36439bcb51ec2cace0d0d2340e9fee1 (diff)
[mcp] Bring in dpdk scenario support
Change-Id: Ifd6d61026a0e98e8faf59c7d218333122d70ffe9 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Diffstat (limited to 'mcp')
-rw-r--r--mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/infra/config.yml80
-rw-r--r--mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/infra/init.yml14
-rw-r--r--mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/init.yml22
-rw-r--r--mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/openstack/compute.yml67
-rw-r--r--mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/openstack/control.yml81
-rw-r--r--mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/openstack/gateway.yml65
-rw-r--r--mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/openstack/init.yml135
-rw-r--r--mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs/openstack/gateway.yml2
-rw-r--r--mcp/reclass/nodes/cfg01.virtual-mcp-ocata-ovs-dpdk.local.yml10
-rwxr-xr-xmcp/reclass/scripts/infra.sh9
-rwxr-xr-xmcp/reclass/scripts/salt.sh7
-rw-r--r--[-rwxr-xr-x]mcp/reclass/scripts/user-data.template (renamed from mcp/reclass/scripts/user-data.sh)4
12 files changed, 488 insertions, 8 deletions
diff --git a/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/infra/config.yml b/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/infra/config.yml
new file mode 100644
index 000000000..331ab6e05
--- /dev/null
+++ b/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/infra/config.yml
@@ -0,0 +1,80 @@
+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.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-dpdk
+parameters:
+ _param:
+ reclass_data_repository: https://gerrit.opnfv.org/gerrit/fuel
+ reclass_data_revision: master
+ salt_master_environment_repository: "https://github.com/tcpcloud"
+ salt_master_environment_revision: master
+ reclass_config_master: 192.168.10.100
+ single_address: 172.16.10.100
+ salt_master_host: 127.0.0.1
+ salt_master_base_environment: prd
+ salt_minion_ca_host: ${linux:network:fqdn}
+ salt_api_password_hash: "$6$sGnRlxGf$al5jMCetLP.vfI/fTl3Z0N7Za1aeiexL487jAtyRABVfT3NlwZxQGVhO7S1N8OwS/34VHYwZQA8lkXwKMN/GS1"
+ linux:
+ network:
+ interface:
+ ens4:
+ enabled: true
+ type: eth
+ proto: static
+ address: ${_param:single_address}
+ netmask: 255.255.255.0
+ 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
+ dpdk0_name: ens4
+ dpdk0_pci: '"0000:00:04.0"'
+ openstack_compute_node02:
+ params:
+ single_address: 172.16.10.106
+ tenant_address: 10.1.0.106
+ external_address: 10.16.0.106
+ dpdk0_name: ens4
+ dpdk0_pci: '"0000:00:04.0"'
+ openstack_gateway_node01:
+ params:
+ tenant_address: 10.1.0.110
+ external_address: 10.16.0.110
diff --git a/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/infra/init.yml b/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/infra/init.yml
new file mode 100644
index 000000000..9140bd0bc
--- /dev/null
+++ b/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/infra/init.yml
@@ -0,0 +1,14 @@
+parameters:
+ linux:
+ 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/virtual-mcp-ocata-ovs-dpdk/init.yml b/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/init.yml
new file mode 100644
index 000000000..d26d4018d
--- /dev/null
+++ b/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/init.yml
@@ -0,0 +1,22 @@
+classes:
+- system.linux.system.single
+- cluster.virtual-mcp-ocata-ovs-dpdk.infra
+- cluster.virtual-mcp-ocata-ovs-dpdk.openstack
+
+parameters:
+ _param:
+ cluster_domain: virtual-mcp-ocata-ovs-dpdk.local
+ cluster_name: virtual-mcp-ocata-ovs-dpdk
+ # infra service addresses
+ infra_config_address: 172.16.10.100
+ # openstack service addresses
+ openstack_control_address: 172.16.10.254
+ 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_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: 172.16.10.110
diff --git a/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/openstack/compute.yml b/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/openstack/compute.yml
new file mode 100644
index 000000000..6a70421df
--- /dev/null
+++ b/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/openstack/compute.yml
@@ -0,0 +1,67 @@
+classes:
+- 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.nfv.hugepages
+- system.neutron.compute.nfv.dpdk
+- cluster.virtual-mcp-ocata-ovs-dpdk
+parameters:
+ _param:
+ primary_interface: ens4
+ tenant_interface: ens5
+ external_interface: ens6
+ interface_mtu: 9000
+ linux_system_codename: xenial
+ nova:
+ compute:
+ vncproxy_url: http://${_param:cluster_vip_address}:6080
+ message_queue:
+ members:
+ - host: ${_param:openstack_control_node01_address}
+ - host: ${_param:openstack_control_node02_address}
+ - host: ${_param:openstack_control_node03_address}
+ linux:
+ network:
+ bridge: openvswitch
+ interface:
+ dhcp_int:
+ enabled: true
+ name: ens3
+ 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
+ br-mgmt:
+ enabled: true
+ type: bridge
+ proto: static
+ address: ${_param:single_address}
+ netmask: 255.255.255.0
+ use_interfaces:
+ - ${_param:primary_interface}
+ dpdk0:
+ name: ${_param:dpdk0_name}
+ pci: ${_param:dpdk0_pci}
+ driver: igb_uio
+ enabled: true
+ type: dpdk_ovs_port
+ n_rxq: 2
+ br-prv:
+ enabled: true
+ type: dpdk_ovs_bridge
+ address: ${_param:tenant_address}
+ netmask: 255.255.255.0
diff --git a/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/openstack/control.yml b/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/openstack/control.yml
new file mode 100644
index 000000000..3ec111b0b
--- /dev/null
+++ b/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/openstack/control.yml
@@ -0,0 +1,81 @@
+classes:
+- system.linux.system.lowmem
+- system.linux.system.repo.glusterfs
+- 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.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.galera.server.database.aodh
+- system.galera.server.database.ceilometer
+- 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
+- cluster.virtual-mcp-ocata-ovs-dpdk
+parameters:
+ _param:
+ keepalived_vip_interface: ens4
+ keepalived_openstack_telemetry_vip_interface: ens4
+ linux_system_codename: xenial
+ linux:
+ system:
+ package:
+ python-msgpack:
+ version: latest
+ network:
+ interface:
+ ens4:
+ enabled: true
+ type: eth
+ 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}
+ 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
diff --git a/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/openstack/gateway.yml b/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/openstack/gateway.yml
new file mode 100644
index 000000000..e9f09ca0b
--- /dev/null
+++ b/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/openstack/gateway.yml
@@ -0,0 +1,65 @@
+classes:
+- system.linux.system.repo.mcp.openstack
+- system.linux.system.repo.mcp.extra
+- system.linux.system.repo.saltstack.xenial
+- system.neutron.gateway.cluster
+- cluster.virtual-mcp-ocata-ovs-dpdk
+parameters:
+ _param:
+ primary_interface: ens4
+ tenant_interface: ens5
+ external_interface: ens6
+ interface_mtu: 9000
+ linux_system_codename: xenial
+ linux:
+ network:
+ bridge: openvswitch
+ interface:
+ dhcp_int:
+ enabled: true
+ name: ens3
+ 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
+ br_ctl:
+ enabled: true
+ type: ovs_port
+ bridge: br-floating
+ proto: static
+ address: ${_param:single_address}
+ netmask: 255.255.255.0
+ mtu: ${_param:interface_mtu}
+ use_interfaces:
+ - ${_param:primary_interface}
+ br-floating:
+ enabled: true
+ type: ovs_bridge
+ br-prv:
+ enabled: true
+ type: ovs_bridge
+ address: ${_param:tenant_address}
+ netmask: 255.255.255.0
+ floating-to-prv:
+ enabled: true
+ type: ovs_port
+ port_type: patch
+ bridge: br-floating
+ peer: prv-to-floating
+ prv-to-floating:
+ enabled: true
+ type: ovs_port
+ port_type: patch
+ bridge: br-prv
+ peer: floating-to-prv
diff --git a/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/openstack/init.yml b/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/openstack/init.yml
new file mode 100644
index 000000000..6c846d6cc
--- /dev/null
+++ b/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/openstack/init.yml
@@ -0,0 +1,135 @@
+parameters:
+ _param:
+ openstack_version: ocata
+ apt_mk_version: nightly
+ mcp_repo_version: 1.1
+ openstack_region: RegionOne
+ admin_email: root@localhost
+ cluster_public_protocol: http
+ cluster_public_host: 172.16.10.254
+ neutron_public_protocol: http
+ neutron_control_dvr: False
+ neutron_tenant_network_types: "flat"
+ 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: False
+ 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_local_address: ${_param:single_address}
+ compute_hugepages_size: 2M
+ compute_hugepages_count: 1024
+ compute_hugepages_mount: /mnt/hugepages_2M
+ compute_dpdk_driver: uio
+ compute_ovs_pmd_cpu_mask: "0x6"
+ compute_ovs_dpdk_socket_mem: "1024"
+ compute_ovs_dpdk_lcore_mask: "0x400"
+ compute_ovs_memory_channels: "2"
+ 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: 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_vip_address}
+ keystone_version: ${_param:openstack_version}
+ keystone_service_host: ${_param:cluster_vip_address}
+ heat_version: ${_param:openstack_version}
+ heat_service_host: ${_param:cluster_vip_address}
+ heat_domain_admin_password: opnfv_secret
+ ceilometer_version: ${_param:openstack_version}
+ ceilometer_service_host: 172.16.10.108
+ cinder_version: ${_param:openstack_version}
+ cinder_service_host: ${_param:cluster_vip_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
+ neutron_version: ${_param:openstack_version}
+ neutron_service_host: ${_param:cluster_vip_address}
+ glusterfs_service_host: ${_param:cluster_vip_address}
+ metadata_password: password
+ 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
+ mongodb_server_replica_set: ceilometer
+ mongodb_ceilometer_password: cloudlab
+ mongodb_admin_password: cloudlab
+ mongodb_shared_key: eoTh1AwahlahqueingeejooLughah4tei9feing0eeVaephooDi2li1TaeV1ooth
+ aodh_version: ${_param:openstack_version}
+ keystone_aodh_password: opnfv_secret
+ aodh_service_host: 172.16.10.108
+ linux:
+ 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}
+ 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:
+ - gtw01
+ - gtw01.${_param:cluster_domain}
+ cmp01:
+ address: 172.16.10.105
+ names:
+ - cmp01
+ - cmp01.${_param:cluster_domain}
+ cmp02:
+ address: 172.16.10.106
+ names:
+ - cmp02
+ - cmp02.${_param:cluster_domain}
diff --git a/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs/openstack/gateway.yml b/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs/openstack/gateway.yml
index 8167f96f5..67e5a4371 100644
--- a/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs/openstack/gateway.yml
+++ b/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs/openstack/gateway.yml
@@ -75,4 +75,4 @@ parameters:
use_interfaces:
- ${_param:external_interface}
use_ovs_ports:
- - float-to-ex \ No newline at end of file
+ - float-to-ex
diff --git a/mcp/reclass/nodes/cfg01.virtual-mcp-ocata-ovs-dpdk.local.yml b/mcp/reclass/nodes/cfg01.virtual-mcp-ocata-ovs-dpdk.local.yml
new file mode 100644
index 000000000..f7a13bbe4
--- /dev/null
+++ b/mcp/reclass/nodes/cfg01.virtual-mcp-ocata-ovs-dpdk.local.yml
@@ -0,0 +1,10 @@
+classes:
+- cluster.virtual-mcp-ocata-ovs-dpdk.infra.config
+parameters:
+ _param:
+ linux_system_codename: xenial
+ reclass_data_revision: master
+ linux:
+ system:
+ name: cfg01
+ domain: virtual-mcp-ocata-ovs-dpdk.local
diff --git a/mcp/reclass/scripts/infra.sh b/mcp/reclass/scripts/infra.sh
index b83f21508..c88c061fd 100755
--- a/mcp/reclass/scripts/infra.sh
+++ b/mcp/reclass/scripts/infra.sh
@@ -1,7 +1,7 @@
#!/bin/bash
BASE_IMAGE=https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img
-declare -A NODES=( [cfg01]=4096 [ctl01]=6144 [ctl02]=6144 [ctl03]=6144 [gtw01]=2048 [cmp01]=2048 )
+declare -A NODES=( [cfg01]=4096 [ctl01]=8192 [ctl02]=8192 [ctl03]=8192 [gtw01]=2048 [cmp01]=6144 )
# get required packages
apt-get install -y mkisofs curl virtinst cpu-checker qemu-kvm
@@ -13,6 +13,9 @@ apt-get install -y mkisofs curl virtinst cpu-checker qemu-kvm
mkdir -p images
wget -P /tmp -nc $BASE_IMAGE
+# generate cloud-init user data
+envsubst < user-data.template > user-data.sh
+
for node in "${!NODES[@]}"; do
# clean up existing nodes
if [ "$(virsh domstate $node 2>/dev/null)" == 'running' ]; then
@@ -60,8 +63,8 @@ for node in "${!NODES[@]}"; do
sleep $[RANDOM%5+1]
done
-CONNECTION_ATTEMPTS=20
-SLEEP=15
+CONNECTION_ATTEMPTS=60
+SLEEP=5
# wait until ssh on Salt master is available
echo "Attempting to ssh to Salt master ..."
diff --git a/mcp/reclass/scripts/salt.sh b/mcp/reclass/scripts/salt.sh
index 6c60c5662..b6f844e83 100755
--- a/mcp/reclass/scripts/salt.sh
+++ b/mcp/reclass/scripts/salt.sh
@@ -7,7 +7,10 @@
ssh $SSH_OPTS ubuntu@$SALT_MASTER bash -s << SALT_INSTALL_END
sudo -i
- apt-get update
+ echo -n 'Checking out cloud-init has finished running ...'
+ while [ ! -f /var/lib/cloud/instance/boot-finished ]; do echo -n '.'; sleep 1; done
+ echo ' done'
+
apt-get install -y git curl subversion
svn export --force https://github.com/salt-formulas/salt-formulas/trunk/deploy/scripts /srv/salt/scripts
@@ -15,6 +18,6 @@ ssh $SSH_OPTS ubuntu@$SALT_MASTER bash -s << SALT_INSTALL_END
ln -s /root/fuel/mcp/reclass /srv/salt/reclass
cd /srv/salt/scripts
- MASTER_HOSTNAME=cfg01.virtual-mcp-ocata-ovs.local ./salt-master-init.sh
+ MASTER_HOSTNAME=cfg01.${CLUSTER_DOMAIN} ./salt-master-init.sh
salt-key -Ay
SALT_INSTALL_END
diff --git a/mcp/reclass/scripts/user-data.sh b/mcp/reclass/scripts/user-data.template
index 2b9b6845c..811a58c70 100755..100644
--- a/mcp/reclass/scripts/user-data.sh
+++ b/mcp/reclass/scripts/user-data.template
@@ -5,6 +5,6 @@ apt update
apt-get install -y salt-minion
rm /etc/salt/minion_id
rm -f /etc/salt/pki/minion/minion_master.pub
-echo "id: $(hostname).virtual-mcp-ocata-ovs.local" > /etc/salt/minion
-echo "master: 192.168.10.100" >> /etc/salt/minion
+echo "id: $(hostname).${CLUSTER_DOMAIN}" > /etc/salt/minion
+echo "master: ${SALT_MASTER}" >> /etc/salt/minion
service salt-minion restart