Fix deployments after changes in salt-formula-salt
We don't need to hack deployment anymore. This patch removes workarounds
that were required to make a deployments.
Change-Id: Ieead7c73173ebbf7a97d209afb623185c02f3f26
Signed-off-by: Sergii Golovatiuk <sgolovatiuk@mirantis.com>
Reviewed-on: https://review.gerrithub.io/372233
Reviewed-by: Dennis Dmitriev <dis.xcom@gmail.com>
Tested-by: Dennis Dmitriev <dis.xcom@gmail.com>
diff --git a/tcp_tests/templates/virtual-mcp11-k8s-calico-minimal/salt.yaml b/tcp_tests/templates/virtual-mcp11-k8s-calico-minimal/salt.yaml
index 0fec045..40963d8 100644
--- a/tcp_tests/templates/virtual-mcp11-k8s-calico-minimal/salt.yaml
+++ b/tcp_tests/templates/virtual-mcp11-k8s-calico-minimal/salt.yaml
@@ -65,7 +65,7 @@
cmd: |
ssh-keyscan -H github.com >> ~/.ssh/known_hosts;
git clone -b {{ SALT_MODELS_BRANCH }} --recurse-submodules {{ SALT_MODELS_REPOSITORY }} /srv/salt/reclass;
- pushd /srv/salt/reclass && git checkout {{ SALT_MODELS_COMMIT }} && popd
+ pushd /srv/salt/reclass && git checkout {{ SALT_MODELS_COMMIT }} && popd;
{%- if SALT_MODELS_REF_CHANGE != '' %}
pushd /srv/salt/reclass && git fetch {{ SALT_MODELS_REPOSITORY }} {{ SALT_MODELS_REF_CHANGE }} && git checkout FETCH_HEAD && popd;
{%- endif %}
@@ -100,7 +100,6 @@
retry: {count: 1, delay: 1}
skip_fail: false
-
- description: Configure reclass
cmd: |
FORMULA_PATH=${FORMULA_PATH:-/usr/share/salt-formulas};
@@ -111,7 +110,7 @@
wget -O - "${FORMULA_GPG}" | apt-key add -;
apt-get clean; apt-get update;
[ ! -d /srv/salt/reclass/classes/service ] && mkdir -p /srv/salt/reclass/classes/service;
- declare -a formula_services=("linux" "reclass" "salt" "openssh" "ntp" "git" "nginx" "collectd" "sensu" "heka" "sphinx" "keystone" "mysql" "grafana" "haproxy" "rsyslog" "horizon" "prometheus" "telegraf");
+ declare -a formula_services=("linux" "reclass" "salt" "openssh" "ntp" "git" "nginx" "collectd" "sensu" "heka" "sphinx" "keystone" "mysql" "grafana" "haproxy" "rsyslog" "horizon" "prometheus" "telegraf" "elasticsearch");
echo -e "\nInstalling all required salt formulas\n";
eatmydata apt-get install -y "${formula_services[@]/#/salt-formula-}";
for formula_service in "${formula_services[@]}"; do
@@ -149,8 +148,8 @@
EOF
eatmydata apt-get install -y salt-minion;
echo "Check for system info and metadata availability ...";
- salt-call --no-color grains.items;
- salt-call --no-color pillar.items;
+ salt-call --hard-crash --no-color grains.items;
+ salt-call --hard-crash --no-color pillar.items;
node_name: {{ ssh['node_name'] }}
retry: {count: 1, delay: 1}
skip_fail: false
@@ -170,20 +169,12 @@
retry: {count: 1, delay: 1}
skip_fail: false
-# Patch linux formula to workaround https://mirantis.jira.com/browse/PROD-12327
-- description:
- cmd: salt '*' cmd.run 'wget https://raw.githubusercontent.com/saltstack/salt/2017.7/salt/templates/debian_ip/route_eth.jinja -O
- /usr/lib/python2.7/dist-packages/salt/templates/debian_ip/route_eth.jinja'
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 5}
- skip_fail: false
-
# Prepare salt services and nodes settings
- description: Run 'linux' formula on cfg01
cmd: salt --hard-crash --state-output=mixed --state-verbose=False
-C 'I@salt:master' state.sls linux;
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 5}
+ retry: {count: 2, delay: 5}
skip_fail: false
- description: Run 'openssh' formula on cfg01
@@ -205,20 +196,11 @@
- description: Run 'salt.master' formula on cfg01
cmd: timeout 120 salt --timeout=120 --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@salt:master' state.sls salt.master.service;
+ -C 'I@salt:master' state.sls salt.master;
node_name: {{ HOSTNAME_CFG01 }}
retry: {count: 2, delay: 5}
skip_fail: false
-- description: Run 'salt' formula on cfg01 with workaround proposed in PROD-10894
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@salt:master' state.sls salt;
- salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@salt:master' saltutil.sync_all
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 5, delay: 5}
- skip_fail: false
-
- description: Generate inventory for all the nodes to the /srv/salt/reclass/nodes/_generated
cmd: salt --hard-crash --state-output=mixed --state-verbose=False
-C 'I@salt:master' state.sls reclass
@@ -232,47 +214,62 @@
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: 1, delay: 5}
- skip_fail: false
-
- description: Show reclass-salt --top
cmd: reclass-salt --top
node_name: {{ HOSTNAME_CFG01 }}
retry: {count: 1, delay: 5}
skip_fail: false
-- description: Execute salt.minion.cert
- cmd: salt-call --no-color state.sls salt.minion.cert -l info;
+- description: Sync all salt resources
+ cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' saltutil.sync_all
node_name: {{ HOSTNAME_CFG01 }}
retry: {count: 1, delay: 5}
skip_fail: false
+- description: Configure linux on master
+ cmd: salt --hard-crash --state-output=mixed --state-verbose=False
+ -C 'I@salt:master' state.sls 'linux.system'
+ node_name: {{ HOSTNAME_CFG01 }}
+ retry: {count: 1, delay: 5}
+ skip_fail: false
+
+- description: Configure minion on master
+ cmd: salt-call --hard-crash -l debug state.sls 'salt.minion'
+ node_name: {{ HOSTNAME_CFG01 }}
+ retry: {count: 3, delay: 10}
+ skip_fail: false
+
# Bootstrap all nodes
- description: Configure linux on other nodes
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False -C '* and not
- cfg01*' state.sls linux
+ cmd: salt --hard-crash --state-output=mixed --state-verbose=False
+ -C 'I@linux:system' state.sls 'linux'
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 5}
+ retry: {count: 3, delay: 5}
skip_fail: false
- description: Configure openssh on all nodes
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False -C '* and not
- cfg01*' state.sls openssh;salt --hard-crash --state-output=mixed --state-verbose=False
- -C '* and not cfg*' cmd.run "sed -i 's/PasswordAuthentication no/PasswordAuthentication
- yes/' /etc/ssh/sshd_config && service ssh restart"
+ cmd: salt --hard-crash --state-output=mixed --state-verbose=False
+ -C 'I@linux:system' state.sls openssh;
+ salt --hard-crash --state-output=mixed --state-verbose=False
+ -C 'I@linux:system' cmd.run "sed -i 's/PasswordAuthentication no/PasswordAuthentication
+ yes/' /etc/ssh/sshd_config && service ssh reload"
node_name: {{ HOSTNAME_CFG01 }}
retry: {count: 1, delay: 5}
skip_fail: false
-- description: Configure salt.minion on other nodes
- cmd: salt --timeout=120 --hard-crash --state-output=mixed --state-verbose=False -C '* and not
- cfg01*' state.sls salt.minion
+- description: Configure salt.minion on all nodes
+ cmd: salt --hard-crash --state-output=mixed --state-verbose=False
+ -C 'I@linux:system' state.sls salt.minion
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
+ retry: {count: 2, delay: 5}
+ skip_fail: false
+
+- description: Configure ntp and rsyslog on nodes
+ cmd: salt --hard-crash --state-output=mixed --state-verbose=False
+ -C 'I@linux:system' state.sls ntp,rsyslog
+ node_name: {{ HOSTNAME_CFG01 }}
+ retry: {count: 2, delay: 10}
skip_fail: false
- description: Check salt minion versions on slaves
@@ -286,9 +283,3 @@
node_name: {{ HOSTNAME_CFG01 }}
retry: {count: 1, delay: 5}
skip_fail: false
-
-- 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: 1, delay: 10}
- skip_fail: false