[mcp] Bring in dpdk scenario support 67/35567/1
authorMichael Polenchuk <mpolenchuk@mirantis.com>
Wed, 31 May 2017 12:12:43 +0000 (16:12 +0400)
committerMichael Polenchuk <mpolenchuk@mirantis.com>
Wed, 31 May 2017 12:23:36 +0000 (16:23 +0400)
Change-Id: Ifd6d61026a0e98e8faf59c7d218333122d70ffe9
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
13 files changed:
ci/deploy.sh
mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/infra/config.yml [new file with mode: 0644]
mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/infra/init.yml [new file with mode: 0644]
mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/init.yml [new file with mode: 0644]
mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/openstack/compute.yml [new file with mode: 0644]
mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/openstack/control.yml [new file with mode: 0644]
mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/openstack/gateway.yml [new file with mode: 0644]
mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/openstack/init.yml [new file with mode: 0644]
mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs/openstack/gateway.yml
mcp/reclass/nodes/cfg01.virtual-mcp-ocata-ovs-dpdk.local.yml [new file with mode: 0644]
mcp/reclass/scripts/infra.sh
mcp/reclass/scripts/salt.sh
mcp/reclass/scripts/user-data.template [moved from mcp/reclass/scripts/user-data.sh with 75% similarity, mode: 0644]

index b6926a7..fe40b07 100755 (executable)
@@ -240,6 +240,13 @@ pushd ${DEPLOY_DIR} > /dev/null
 # Prepare the deploy config files based on lab/pod information, deployment
 # scenario, etc.
 
+# Set cluster domain
+case $DEPLOY_SCENARIO in
+    *dpdk*) CLUSTER_DOMAIN=virtual-mcp-ocata-ovs-dpdk.local ;;
+    *) CLUSTER_DOMAIN=virtual-mcp-ocata-ovs.local ;;
+esac
+
+export CLUSTER_DOMAIN
 export SSH_KEY=mcp.rsa
 export SALT_MASTER=192.168.10.100
 export SSH_OPTS="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i ${SSH_KEY}"
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 (file)
index 0000000..331ab6e
--- /dev/null
@@ -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 (file)
index 0000000..9140bd0
--- /dev/null
@@ -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 (file)
index 0000000..d26d401
--- /dev/null
@@ -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 (file)
index 0000000..6a70421
--- /dev/null
@@ -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 (file)
index 0000000..3ec111b
--- /dev/null
@@ -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 (file)
index 0000000..e9f09ca
--- /dev/null
@@ -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 (file)
index 0000000..6c846d6
--- /dev/null
@@ -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}
index 8167f96..67e5a43 100644 (file)
@@ -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 (file)
index 0000000..f7a13bb
--- /dev/null
@@ -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
index b83f215..c88c061 100755 (executable)
@@ -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 ..."
index 6c60c56..b6f844e 100755 (executable)
@@ -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
old mode 100755 (executable)
new mode 100644 (file)
similarity index 75%
rename from mcp/reclass/scripts/user-data.sh
rename to mcp/reclass/scripts/user-data.template
index 2b9b684..811a58c
@@ -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