Working deploy for controller and compute nodes
- use 'dash' branch for mk-lab-salt-model repo (it has a lot of
improvements and fixes)
- use less number of nodes to match the 'mk22-lab-advanced' model
- force update packages before configuring salt.minions
- use saltstack repo for latest salt.minions on trusty
* Note if the deploy starts from an 'underlay' snapshot,
keepalived can lose VIP after update DHCP leases on nodes.
It's better to start deploy from clean environment.
diff --git a/tcp_tests/templates/tcpcloud--user-data-master-node.yaml b/tcp_tests/templates/tcpcloud--user-data-master-node.yaml
index bfbb85f..fa24840 100644
--- a/tcp_tests/templates/tcpcloud--user-data-master-node.yaml
+++ b/tcp_tests/templates/tcpcloud--user-data-master-node.yaml
@@ -39,6 +39,8 @@
- which wget >/dev/null || (apt-get update; apt-get install -y wget)
- echo "deb [arch=amd64] http://apt.tcpcloud.eu/nightly/ xenial main security extra tcp tcp-salt" > /etc/apt/sources.list
+ # 'tcp-salt' from trusty is for temporary workaround until formulas will be fixed in xenial
+ - echo "deb [arch=amd64] http://apt.tcpcloud.eu/nightly/ trusty tcp-salt" >> /etc/apt/sources.list
- wget -O - http://apt.tcpcloud.eu/public.gpg | apt-key add -
- apt-get clean
@@ -77,7 +79,17 @@
- HOME=/root git config --global user.name "TCP QA"
- echo "Configuring reclass ..."
- - git clone https://github.com/Mirantis/mk-lab-salt-model.git /srv/salt/reclass -b master
+ - git clone https://github.com/Mirantis/mk-lab-salt-model.git /srv/salt/reclass -b dash
+ - sed -i 's/ master/ dash/' /srv/salt/reclass/classes/cluster/mk20_lab_advanced/openstack_config.yml
+ - |
+ cat << 'EOF' >> /srv/salt/reclass/nodes/control/{hostname}.yml
+ # local storage
+ reclass:
+ storage:
+ data_source:
+ engine: local
+ EOF
+ - cd /srv/salt/reclass; git add -A;git commit -m"use dash repo"
- mkdir -p /srv/salt/reclass/classes/service
- for i in /usr/share/salt-formulas/reclass/service/*; do ln -s $i /srv/salt/reclass/classes/service/; done
diff --git a/tcp_tests/templates/tcpcloud--user-data.yaml b/tcp_tests/templates/tcpcloud--user-data.yaml
index d60a87a..ecde655 100644
--- a/tcp_tests/templates/tcpcloud--user-data.yaml
+++ b/tcp_tests/templates/tcpcloud--user-data.yaml
@@ -41,6 +41,9 @@
- echo "deb [arch=amd64] http://apt.tcpcloud.eu/nightly/ trusty main security extra tcp tcp-salt" > /etc/apt/sources.list
- wget -O - http://apt.tcpcloud.eu/public.gpg | apt-key add -
+ # saltstack repo is for minions that have the same version in the xenial and trusty (2016.3.3)
+ - echo "deb http://repo.saltstack.com/apt/ubuntu/14.04/amd64/latest trusty main" > /etc/apt/sources.list.d/saltstack.list
+ - wget -O - https://repo.saltstack.com/apt/ubuntu/14.04/amd64/latest/SALTSTACK-GPG-KEY.pub | apt-key add -
- apt-get clean
- apt-get update
diff --git a/tcp_tests/templates/tcpcloud-default.yaml b/tcp_tests/templates/tcpcloud-default.yaml
index 0a8cbdc..597a759 100644
--- a/tcp_tests/templates/tcpcloud-default.yaml
+++ b/tcp_tests/templates/tcpcloud-default.yaml
@@ -21,10 +21,8 @@
default_ctl01.mk22-lab-advanced.local: +101
default_ctl02.mk22-lab-advanced.local: +102
default_ctl03.mk22-lab-advanced.local: +103
- default_web01.mk22-lab-advanced.local: +104
+ default_prx01.mk22-lab-advanced.local: +104
default_cmp01.mk22-lab-advanced.local: +105
- default_mtr01.mk22-lab-advanced.local: +106
- default_mon01.mk22-lab-advanced.local: +107
ip_ranges:
dhcp: [+100, -2]
@@ -227,7 +225,7 @@
networks:
- private
- - name: web01.mk22-lab-advanced.local
+ - name: prx01.mk22-lab-advanced.local
role: salt_minion
params:
vcpu: !os_env SLAVE_NODE_CPU, 1
@@ -302,79 +300,3 @@
eth1:
networks:
- private
-
- - name: mtr01.mk22-lab-advanced.local
- role: salt_minion
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 1
- memory: !os_env SLAVE_NODE_MEMORY, 2048
- boot:
- - hd
- cloud_init_volume_name: iso
- cloud_init_iface_up: eth0
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: cloudimage1404
- format: qcow2
- - name: iso # Volume with name 'iso' will be used
- # for store image with cloud-init metadata.
- capacity: 1
- format: raw
- device: cdrom
- bus: ide
- cloudinit_meta_data: !include tcpcloud--meta-data.yaml
- cloudinit_user_data: !include tcpcloud--user-data.yaml
-
- interfaces:
- - label: eth0
- l2_network_device: public
- interface_model: *interface_model
- - label: eth1
- l2_network_device: private
- interface_model: *interface_model
- network_config:
- eth0: # Will get an IP from DHCP public-pool01
- networks:
- - public
- eth1:
- networks:
- - private
-
- - name: mon01.mk22-lab-advanced.local
- role: salt_minion
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 1
- memory: !os_env SLAVE_NODE_MEMORY, 2048
- boot:
- - hd
- cloud_init_volume_name: iso
- cloud_init_iface_up: eth0
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: cloudimage1404
- format: qcow2
- - name: iso # Volume with name 'iso' will be used
- # for store image with cloud-init metadata.
- capacity: 1
- format: raw
- device: cdrom
- bus: ide
- cloudinit_meta_data: !include tcpcloud--meta-data.yaml
- cloudinit_user_data: !include tcpcloud--user-data.yaml
-
- interfaces:
- - label: eth0
- l2_network_device: public
- interface_model: *interface_model
- - label: eth1
- l2_network_device: private
- interface_model: *interface_model
- network_config:
- eth0: # Will get an IP from DHCP public-pool01
- networks:
- - public
- eth1:
- networks:
- - private