Merge branch 'add_1_0' of https://github.com/Mirantis/tcp-qa into add_1_0
diff --git a/tcp_tests/helpers/utils.py b/tcp_tests/helpers/utils.py
index 129c06a..28314f6 100644
--- a/tcp_tests/helpers/utils.py
+++ b/tcp_tests/helpers/utils.py
@@ -161,7 +161,7 @@
shutil.rmtree(dirpath)
-def retry(tries_number=3, exception=Exception):
+def retry(tries_number=2, exception=Exception):
def _retry(func):
assert tries_number >= 1, 'ERROR! @retry is called with no tries!'
diff --git a/tcp_tests/templates/common-services/virtual-mcp10-ovs-common-services.yaml b/tcp_tests/templates/common-services/virtual-mcp10-ovs-common-services.yaml
index 3cf252a..1d228ff 100644
--- a/tcp_tests/templates/common-services/virtual-mcp10-ovs-common-services.yaml
+++ b/tcp_tests/templates/common-services/virtual-mcp10-ovs-common-services.yaml
@@ -6,14 +6,14 @@
cmd: salt --hard-crash --state-output=mixed --state-verbose=False
-C 'I@keepalived:cluster' state.sls keepalived -b 1
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 10, delay: 10}
+ retry: {count: 1, delay: 10}
skip_fail: true
- description: Check the VIP
cmd: salt --hard-crash --state-output=mixed --state-verbose=False
-C 'I@keepalived:cluster' cmd.run 'ip a | grep 172.16.10.2' | grep -B1 172.16.10.2
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
+ retry: {count: 1, delay: 5}
skip_fail: false
@@ -21,21 +21,21 @@
cmd: salt --hard-crash --state-output=mixed --state-verbose=False
-C 'I@glusterfs:server' state.sls glusterfs.server.service
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
+ retry: {count: 1, delay: 5}
skip_fail: false
- description: Setup glusterfs on primary controller
cmd: salt --hard-crash --state-output=mixed --state-verbose=False
-C 'I@glusterfs:server' state.sls glusterfs.server.setup -b 1
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
+ retry: {count: 1, delay: 5}
skip_fail: false
- description: Check the gluster status
cmd: salt --hard-crash --state-output=mixed --state-verbose=False
-C 'I@glusterfs:server' cmd.run 'gluster peer status; gluster volume status' -b 1
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
+ retry: {count: 1, delay: 5}
skip_fail: false
@@ -43,35 +43,35 @@
cmd: salt --hard-crash --state-output=mixed --state-verbose=False
-C 'I@rabbitmq:server' state.sls rabbitmq
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
+ retry: {count: 1, delay: 5}
skip_fail: false
- description: Check the rabbitmq status
cmd: salt --hard-crash --state-output=mixed --state-verbose=False
-C 'I@rabbitmq:server' cmd.run 'rabbitmqctl cluster_status'
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
+ retry: {count: 1, delay: 5}
skip_fail: false
- description: Install Galera on first server
cmd: salt --hard-crash --state-output=mixed --state-verbose=False
-C 'I@galera:master' state.sls galera
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
+ retry: {count: 1, delay: 5}
skip_fail: false
- description: Install Galera on other servers
cmd: salt --hard-crash --state-output=mixed --state-verbose=False
-C 'I@galera:slave' state.sls galera
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
+ retry: {count: 1, delay: 5}
skip_fail: false
- description: Check mysql status
cmd: salt --hard-crash --state-output=mixed --state-verbose=False
-C 'I@galera:*' mysql.status | grep -A1 -e "wsrep_incoming_addresses\|wsrep_cluster_size"
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
+ retry: {count: 1, delay: 5}
skip_fail: true
@@ -79,26 +79,26 @@
cmd: salt --hard-crash --state-output=mixed --state-verbose=False
-C 'I@haproxy:proxy' state.sls haproxy
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
+ retry: {count: 1, delay: 5}
skip_fail: false
- description: Check haproxy status
cmd: salt --hard-crash --state-output=mixed --state-verbose=False
-C 'I@haproxy:proxy' service.status haproxy
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
+ retry: {count: 1, delay: 5}
skip_fail: false
- description: Restart rsyslog
cmd: salt --hard-crash --state-output=mixed --state-verbose=False
-C 'I@haproxy:proxy' service.restart rsyslog
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
+ retry: {count: 1, delay: 5}
skip_fail: false
- description: Install memcached on all controllers
cmd: salt --hard-crash --state-output=mixed --state-verbose=False
-C 'I@memcached:server' state.sls memcached
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
+ retry: {count: 1, delay: 5}
skip_fail: false
diff --git a/tcp_tests/templates/openstack/virtual-mcp10-ovs-openstack.yaml b/tcp_tests/templates/openstack/virtual-mcp10-ovs-openstack.yaml
index 4a39fcb..9be7e06 100644
--- a/tcp_tests/templates/openstack/virtual-mcp10-ovs-openstack.yaml
+++ b/tcp_tests/templates/openstack/virtual-mcp10-ovs-openstack.yaml
@@ -6,21 +6,21 @@
cmd: salt --hard-crash --state-output=mixed --state-verbose=False
-C 'I@keystone:server' state.sls keystone.server -b 1
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
+ retry: {count: 1, delay: 5}
skip_fail: false
- description: Populate keystone services/tenants/admins
cmd: salt --hard-crash --state-output=mixed --state-verbose=False
-C 'I@keystone:client' state.sls keystone.client
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
+ retry: {count: 1, delay: 5}
skip_fail: false
- description: Check keystone service-list
cmd: salt --hard-crash --state-output=mixed --state-verbose=False
-C 'I@keystone:server' cmd.run '. /root/keystonerc; keystone service-list'
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
+ retry: {count: 1, delay: 5}
skip_fail: false
@@ -28,28 +28,28 @@
cmd: salt --hard-crash --state-output=mixed --state-verbose=False
-C 'I@glance:server' state.sls glance -b 1
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
+ retry: {count: 1, delay: 5}
skip_fail: false
- description: Configure glusterfs.client on all controllers
cmd: salt --hard-crash --state-output=mixed --state-verbose=False
-C 'I@glance:server' state.sls glusterfs.client
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
+ retry: {count: 1, delay: 5}
skip_fail: false
- description: Update fernet tokens for keystone server
cmd: salt --hard-crash --state-output=mixed --state-verbose=False
-C 'I@keystone:server' state.sls keystone.server -b 1
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
+ retry: {count: 1, delay: 5}
skip_fail: false
- description: Check glance image-list
cmd: salt --hard-crash --state-output=mixed --state-verbose=False
-C 'I@keystone:server' cmd.run '. /root/keystonerc; glance image-list'
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
+ retry: {count: 1, delay: 5}
skip_fail: false
@@ -57,14 +57,14 @@
cmd: salt --hard-crash --state-output=mixed --state-verbose=False
-C 'I@nova:controller' state.sls nova -b 1
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
+ retry: {count: 1, delay: 5}
skip_fail: false
- description: Check nova service-list
cmd: salt --hard-crash --state-output=mixed --state-verbose=False
-C 'I@keystone:server' cmd.run '. /root/keystonerc; nova service-list'
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
+ retry: {count: 1, delay: 5}
skip_fail: false
@@ -72,14 +72,14 @@
cmd: salt --hard-crash --state-output=mixed --state-verbose=False
-C 'I@cinder:controller' state.sls cinder -b 1
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
+ retry: {count: 1, delay: 5}
skip_fail: false
- description: Check cinder list
cmd: salt --hard-crash --state-output=mixed --state-verbose=False
-C 'I@keystone:server' cmd.run '. /root/keystonerc; cinder list'
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
+ retry: {count: 1, delay: 5}
skip_fail: false
@@ -87,14 +87,14 @@
cmd: salt --hard-crash --state-output=mixed --state-verbose=False
-C 'I@neutron:server' state.sls neutron -b 1
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
+ retry: {count: 1, delay: 5}
skip_fail: false
- description: Check neutron agent-list
cmd: salt --hard-crash --state-output=mixed --state-verbose=False
-C 'I@keystone:server' cmd.run '. /root/keystonerc; neutron agent-list'
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
+ retry: {count: 1, delay: 5}
skip_fail: false
@@ -102,14 +102,14 @@
cmd: salt --hard-crash --state-output=mixed --state-verbose=False
-C 'I@heat:server' state.sls heat -b 1
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
+ retry: {count: 1, delay: 5}
skip_fail: false
- description: Check heat service
cmd: salt --hard-crash --state-output=mixed --state-verbose=False
-C 'I@keystone:server' cmd.run '. /root/keystonerc; heat resource-type-list'
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
+ retry: {count: 1, delay: 5}
skip_fail: false
@@ -117,14 +117,14 @@
cmd: salt --hard-crash --state-output=mixed --state-verbose=False
-C 'I@horizon:server' state.sls horizon
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
+ retry: {count: 1, delay: 5}
skip_fail: true
- description: Deploy nginx proxy
cmd: salt --hard-crash --state-output=mixed --state-verbose=False
-C 'I@nginx:server' state.sls nginx
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
+ retry: {count: 1, delay: 5}
skip_fail: true
@@ -133,13 +133,13 @@
- description: Apply formulas for compute node
cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cmp*' state.apply
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
+ retry: {count: 1, delay: 5}
skip_fail: true
- description: Re-apply(as in doc) formulas for compute node
cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cmp*' state.apply
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
+ retry: {count: 1, delay: 5}
skip_fail: true
- description: Check IP on computes
diff --git a/tcp_tests/templates/salt/virtual-mcp10-ovs-salt.yaml b/tcp_tests/templates/salt/virtual-mcp10-ovs-salt.yaml
index 198cac7..5211705 100644
--- a/tcp_tests/templates/salt/virtual-mcp10-ovs-salt.yaml
+++ b/tcp_tests/templates/salt/virtual-mcp10-ovs-salt.yaml
@@ -110,7 +110,7 @@
- description: Configure salt adoptors on cfg01
cmd: |
- ln -s /usr/lib/python2.7/dist-packages/reclass/adapters/salt.py /usr/local/sbin/salt-reclass;
+ ln -s /usr/lib/python2.7/dist-packages/reclass/adapters/salt.py /usr/local/sbin/reclass-salt;
chmod +x /usr/lib/python2.7/dist-packages/reclass/adapters/salt.py
node_name: {{ HOSTNAME_CFG01 }}
retry: {count: 1, delay: 1}
@@ -124,20 +124,20 @@
salt-call --no-color grains.items;
salt-call --no-color pillar.data;
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
+ retry: {count: 1, delay: 5}
skip_fail: false
# Prepare salt services and nodes settings
-- description: Run 'linux' and openssh formula on cfg01
+- description: Run 'linux' formula on cfg01
cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@salt:master' state.sls linux,openssh;
+ -C 'I@salt:master' state.sls linux;
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
+ retry: {count: 1, delay: 5}
skip_fail: false
-- description: Run 'reclass' formula on cfg01
+- description: Run 'openssh' formula on cfg01
cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@salt:master' state.sls reclass;
+ -C 'I@salt:master' state.sls openssh;
salt --hard-crash --state-output=mixed --state-verbose=False
-C 'I@salt:master' cmd.run "sed -i 's/PasswordAuthentication no/PasswordAuthentication
yes/' /etc/ssh/sshd_config && service ssh restart";
@@ -145,12 +145,19 @@
retry: {count: 3, delay: 5}
skip_fail: false
+- description: '*Workaround* of the bug https://mirantis.jira.com/browse/PROD-7962'
+ cmd: salt --hard-crash --state-output=mixed --state-verbose=False
+ '*' cmd.run "echo ' StrictHostKeyChecking no' >> /root/.ssh/config"
+ node_name: {{ HOSTNAME_CFG01 }}
+ retry: {count: 1, delay: 1}
+ skip_fail: false
+
- description: Run 'salt' formula on cfg01
cmd: timeout 120 salt --hard-crash --state-output=mixed --state-verbose=False
-C 'I@salt:master' state.sls salt.master.service;
- salt-call --no-color state.sls salt.master,salt.api,salt.minion.ca -l info;
+ salt-call --no-color state.sls salt.master;
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
+ retry: {count: 1, delay: 5}
skip_fail: true
- description: Accept salt keys from all the nodes
@@ -163,25 +170,25 @@
cmd: salt --hard-crash --state-output=mixed --state-verbose=False
-C 'I@salt:master' state.sls reclass
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
+ retry: {count: 1, delay: 5}
skip_fail: false
- description: Refresh pillars on all minions
cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' saltutil.refresh_pillar
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
+ retry: {count: 1, delay: 5}
skip_fail: false
- description: Sync all salt resources
cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' saltutil.sync_all
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
+ retry: {count: 1, delay: 5}
skip_fail: false
- description: Show reclass-salt --top
cmd: salt-call --no-color state.sls salt.minion.cert -l info
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
+ retry: {count: 1, delay: 5}
skip_fail: false
@@ -200,11 +207,32 @@
skip_fail: false
-- description: Configure linux on all nodes
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' state.sls
+- description: Configure linux on controllers
+ cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls
linux
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 5, delay: 5}
+ retry: {count: 1, delay: 5}
+ skip_fail: false
+
+- description: Configure linux on proxy
+ cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'prx*' state.sls
+ linux
+ node_name: {{ HOSTNAME_CFG01 }}
+ retry: {count: 1, delay: 5}
+ skip_fail: false
+
+- description: Configure linux on gtw
+ cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'gtw*' state.sls
+ linux
+ node_name: {{ HOSTNAME_CFG01 }}
+ retry: {count: 3, delay: 20}
+ skip_fail: false
+
+- description: Configure linux on cmp
+ cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cmp*' state.sls
+ linux
+ node_name: {{ HOSTNAME_CFG01 }}
+ retry: {count: 3, delay: 20}
skip_fail: false
- description: Configure openssh on all nodes
@@ -213,18 +241,37 @@
-C '* and not cfg*' cmd.run "sed -i 's/PasswordAuthentication no/PasswordAuthentication
yes/' /etc/ssh/sshd_config && service ssh restart"
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
+ retry: {count: 1, delay: 5}
skip_fail: false
- description: '*Workaround* for the bug https://mirantis.jira.com/browse/PROD-8021'
cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' cmd.run 'apt-get
-y install linux-image-extra-$(uname -r)'
node_name: {{ HOSTNAME_CFG01 }}
+ retry: {count: 2, delay: 5}
+ skip_fail: false
+
+- description: Configure salt.minion on ctl
+ cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls salt.minion
+ node_name: {{ HOSTNAME_CFG01 }}
retry: {count: 3, delay: 5}
skip_fail: false
-- description: Configure salt.minion on controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' state.sls salt.minion
+- description: Configure salt.minion on prx
+ cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'prx*' state.sls salt.minion
+ node_name: {{ HOSTNAME_CFG01 }}
+ retry: {count: 3, delay: 5}
+ skip_fail: false
+
+
+- description: Configure salt.minion on gtw
+ cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'gtw*' state.sls salt.minion
+ node_name: {{ HOSTNAME_CFG01 }}
+ retry: {count: 3, delay: 5}
+ skip_fail: false
+
+- description: Configure salt.minion on cmp
+ cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cmp*' state.sls salt.minion
node_name: {{ HOSTNAME_CFG01 }}
retry: {count: 3, delay: 5}
skip_fail: false
@@ -232,18 +279,18 @@
- description: Check salt minion versions on slaves
cmd: salt '*' test.version
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
+ retry: {count: 1, delay: 5}
skip_fail: false
-- description: Check salt minion versions on slaves
+- description: Check salt top states on nodes
cmd: salt '*' state.show_top
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
+ retry: {count: 1, delay: 5}
skip_fail: false
-- description: Configure ntp on controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' state.sls ntp
+- description: Configure ntp and rsyslog on nodes
+ cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' state.sls ntp,rsyslog
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 5, delay: 10}
+ retry: {count: 1, delay: 10}
skip_fail: false
diff --git a/tcp_tests/templates/underlay/virtual-mcp10-ovs--user-data1604.yaml b/tcp_tests/templates/underlay/virtual-mcp10-ovs--user-data1604.yaml
index 1560d5b..26c21d8 100644
--- a/tcp_tests/templates/underlay/virtual-mcp10-ovs--user-data1604.yaml
+++ b/tcp_tests/templates/underlay/virtual-mcp10-ovs--user-data1604.yaml
@@ -72,8 +72,8 @@
- apt-get install -y salt-minion
# To be configured from inventory/fuel-devops by operator or autotests
- - 'echo "id: {hostname}" >> /etc/salt/minion.d/minion.conf'
- - 'echo "master: 172.16.10.100" >> /etc/salt/minion.d/minion.conf'
+ - 'echo "id: {hostname}" >> /etc/salt/minion'
+ - 'echo "master: 172.16.10.100" >> /etc/salt/minion'
- echo "Restarting minion service with workarounds..."
- rm -f /etc/salt/pki/minion/minion_master.pub
diff --git a/tcp_tests/tests/system/test_mcp10_ovs_vxlan_install.py b/tcp_tests/tests/system/test_mcp10_ovs_vxlan_install.py
index 9fc1408..54f6d61 100644
--- a/tcp_tests/tests/system/test_mcp10_ovs_vxlan_install.py
+++ b/tcp_tests/tests/system/test_mcp10_ovs_vxlan_install.py
@@ -47,56 +47,56 @@
"""
LOG.info("*************** DONE **************")
-
- def test_mcp10_ovs_vxlan_install_run_rally(self, underlay,
- openstack_deployed,
- show_step, rally):
- """Test for deploying an mcp environment and check it
-
- Scenario:
- 1. Prepare salt on hosts
- 2. Setup controller nodes
- 3. Setup compute nodes
- 4. Run rally
-
- """
- # prepare rally
- rally.prepare()
- rally.pull_image()
- rally.run()
- # run tempest
- rally.run_tempest()
-
- res = rally.get_results()
-
- fail_msg = 'Tempest verification fails {}'.format(res)
- assert res['failures'] == 0, fail_msg
-
- # @pytest.mark.snapshot_needed
- # @pytest.mark.fail_snapshot
- def test_mcp10_vxlan_install_with_scripts(self, config, underlay,
- salt_deployed,
- show_step, rally):
- """Test for deploying an mcp environment with scripts and check it
-
- Scenario:
- 1. Prepare salt on hosts
- 2. Setup controller nodes
- 3. Setup compute nodes
-
- """
-
- cmd = 'cd /srv/salt/reclass/scripts/; ./bootstrap_all.sh'
- underlay.check_call(cmd, host=config.salt.salt_master_host, verbose=True)
-
- # prepare rally
- rally.prepare()
- rally.pull_image()
- rally.run()
- # run tempest
- rally.run_tempest()
-
- res = rally.get_results()
-
- fail_msg = 'Tempest verification fails {}'.format(res)
- assert res['failures'] == 0, fail_msg
+ #
+ # def test_mcp10_ovs_vxlan_install_run_rally(self, underlay,
+ # openstack_deployed,
+ # show_step, rally):
+ # """Test for deploying an mcp environment and check it
+ #
+ # Scenario:
+ # 1. Prepare salt on hosts
+ # 2. Setup controller nodes
+ # 3. Setup compute nodes
+ # 4. Run rally
+ #
+ # """
+ # # prepare rally
+ # rally.prepare()
+ # rally.pull_image()
+ # rally.run()
+ # # run tempest
+ # rally.run_tempest()
+ #
+ # res = rally.get_results()
+ #
+ # fail_msg = 'Tempest verification fails {}'.format(res)
+ # assert res['failures'] == 0, fail_msg
+ #
+ # # @pytest.mark.snapshot_needed
+ # # @pytest.mark.fail_snapshot
+ # def test_mcp10_vxlan_install_with_scripts(self, config, underlay,
+ # salt_deployed,
+ # show_step, rally):
+ # """Test for deploying an mcp environment with scripts and check it
+ #
+ # Scenario:
+ # 1. Prepare salt on hosts
+ # 2. Setup controller nodes
+ # 3. Setup compute nodes
+ #
+ # """
+ #
+ # cmd = 'cd /srv/salt/reclass/scripts/; ./bootstrap_all.sh'
+ # underlay.check_call(cmd, host=config.salt.salt_master_host, verbose=True)
+ #
+ # # prepare rally
+ # rally.prepare()
+ # rally.pull_image()
+ # rally.run()
+ # # run tempest
+ # rally.run_tempest()
+ #
+ # res = rally.get_results()
+ #
+ # fail_msg = 'Tempest verification fails {}'.format(res)
+ # assert res['failures'] == 0, fail_msg