From a5c7084e2c7711ebfafec56a39afab91d236585f Mon Sep 17 00:00:00 2001 From: Alexandru Avadanii Date: Sat, 4 Aug 2018 18:32:45 +0200 Subject: [states] baremetal_init: Parameterize kvm hosts Instead of hardcoding the 'kvm' hostnames, use new targeting mechanism based on scenario-specific node names, preparing for baremetal noha scenario integration. JIRA: FUEL-382 Change-Id: If336aa1ac130749e4df7bffaf27a55513dd4f267 Signed-off-by: Alexandru Avadanii --- mcp/config/states/baremetal_init | 26 +++++++++++++++----------- mcp/scripts/xdf_data.sh.j2 | 1 + 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/mcp/config/states/baremetal_init b/mcp/config/states/baremetal_init index 3e5f659fd..f363e4a1a 100755 --- a/mcp/config/states/baremetal_init +++ b/mcp/config/states/baremetal_init @@ -11,25 +11,29 @@ CI_DEBUG=${CI_DEBUG:-0}; [[ "${CI_DEBUG}" =~ (false|0) ]] || set -x # shellcheck disable=SC1090 source "$(dirname "${BASH_SOURCE[0]}")/../../scripts/lib.sh" +source "$(dirname "${BASH_SOURCE[0]}")/../../scripts/xdf_data.sh" + +cluster_nodes_query="${control_nodes_query} or cmp*" +compute_nodes_query='cmp*' # KVM, compute node prereqs # patch the networking module for Debian based distros debian_ip_source=/usr/lib/python2.7/dist-packages/salt/modules/debian_ip.py -salt -C 'kvm* or cmp*' file.line $debian_ip_source \ +salt -C "${cluster_nodes_query}" file.line $debian_ip_source \ content='iface = iface.lower()' mode='delete' -salt -C 'kvm* or cmp*' file.replace $debian_ip_source \ +salt -C "${cluster_nodes_query}" file.replace $debian_ip_source \ pattern="^\s{8}__salt__\['pkg.install'\]\('vlan'\)" \ repl="\n if not __salt__['pkg.version']('vlan'):\n __salt__['pkg.install']('vlan')" -salt -C 'kvm* or cmp*' pkg.install bridge-utils -salt -C 'kvm*' state.apply linux.network,linux.system.kernel -wait_for 5.0 "salt -C 'kvm* or cmp*' state.apply salt.minion" -wait_for 5.0 "salt -C 'cmp*' state.apply linux.system,linux.network" -wait_for 30.0 "salt -C 'kvm* or cmp*' test.ping" +salt -C "${cluster_nodes_query}" pkg.install bridge-utils +salt -C "${control_nodes_query}" state.apply linux.network,linux.system.kernel +wait_for 5.0 "salt -C '${cluster_nodes_query}' state.apply salt.minion" +wait_for 5.0 "salt -C '${compute_nodes_query}' state.apply linux.system,linux.network" +wait_for 30.0 "salt -C '${cluster_nodes_query}' test.ping" -salt -C 'kvm* or cmp*' system.reboot -wait_for 90.0 "salt -C 'kvm* or cmp*' test.ping" +salt -C "${cluster_nodes_query}" system.reboot +wait_for 90.0 "salt -C '${cluster_nodes_query}' test.ping" -salt -C 'kvm* or cmp*' state.apply linux,ntp -salt -C 'kvm* or cmp*' pkg.upgrade refresh=False +salt -C "${cluster_nodes_query}" state.apply linux,ntp +salt -C "${cluster_nodes_query}" pkg.upgrade refresh=False diff --git a/mcp/scripts/xdf_data.sh.j2 b/mcp/scripts/xdf_data.sh.j2 index bc0107761..c0629fec4 100644 --- a/mcp/scripts/xdf_data.sh.j2 +++ b/mcp/scripts/xdf_data.sh.j2 @@ -89,6 +89,7 @@ OPNFV_BRIDGES=( export CLUSTER_DOMAIN={{ conf.cluster.domain }} cluster_states={{ bash_arr(conf.cluster.states) }} virtual_nodes={{ filter_nodes('virtual') }} +control_nodes_query={{ filter_nodes(['baremetal', 'virtual'], True, ['control']) }} base_image={{ arch.base_image }} # Serialize vnode data as ',,|,,[...]' -- cgit 1.2.3-korg