Merge "Add & fix licensing in README.rst files, align ext"
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Mon, 11 Sep 2017 12:07:05 +0000 (12:07 +0000)
committerGerrit Code Review <gerrit@opnfv.org>
Mon, 11 Sep 2017 12:07:05 +0000 (12:07 +0000)
20 files changed:
ci/deploy.sh
mcp/config/scenario/defaults-aarch64.yaml [moved from mcp/config/scenario/virtual/defaults.yaml with 67% similarity]
mcp/config/scenario/defaults-x86_64.yaml [moved from mcp/config/scenario/baremetal/defaults.yaml with 100% similarity]
mcp/config/states/dpdk
mcp/config/states/maas
mcp/config/states/openstack_ha
mcp/patches/patch.sh
mcp/reclass/classes/cluster/virtual-mcp-ocata-common/infra/config.yml [new file with mode: 0644]
mcp/reclass/classes/cluster/virtual-mcp-ocata-common/infra/init.yml [moved from mcp/reclass/classes/cluster/virtual-mcp-ocata-odl-router/infra/init.yml with 100% similarity]
mcp/reclass/classes/cluster/virtual-mcp-ocata-odl-router/infra/config.yml
mcp/reclass/classes/cluster/virtual-mcp-ocata-odl-router/init.yml
mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/infra/config.yml
mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/infra/init.yml [deleted file]
mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/init.yml
mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs/infra/config.yml
mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs/infra/init.yml [deleted file]
mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs/init.yml
mcp/scripts/lib.sh
mcp/scripts/log.sh [new file with mode: 0755]
mcp/scripts/salt.sh

index 4b64000..36056c8 100755 (executable)
@@ -33,7 +33,7 @@ $(notify "$(basename "$0"): Deploy the Fuel@OPNFV MCP stack" 3)
 $(notify "USAGE:" 2)
   $(basename "$0") -b base-uri -l lab-name -p pod-name -s deploy-scenario \\
     [-B PXE Bridge [-B Mgmt Bridge [-B Internal Bridge [-B Public Bridge]]]] \\
-    [-S storage-dir]
+    [-S storage-dir] [-L /path/to/log/file.tar.gz]
 
 $(notify "OPTIONS:" 2)
   -b  Base-uri for the stack-configuration structure
@@ -43,6 +43,7 @@ $(notify "OPTIONS:" 2)
   -p  Pod-name
   -s  Deploy-scenario short-name
   -S  Storage dir for VM images
+  -L  Deployment log path and file name
 
 $(notify "DISABLED OPTIONS (not yet supported with MCP):" 3)
   -d  (disabled) Dry-run
@@ -50,7 +51,6 @@ $(notify "DISABLED OPTIONS (not yet supported with MCP):" 3)
   -f  (disabled) Deploy on existing Salt master
   -F  (disabled) Do only create a Salt master
   -i  (disabled) iso url
-  -L  (disabled) Deployment log path and file name
   -T  (disabled) Timeout, in minutes, for the deploy.
 
 $(notify "Description:" 2)
@@ -75,6 +75,7 @@ $(notify "Input parameters to the build script are:" 2)
    while "mcpcontrol" is used to provision the infrastructure VMs only.
    The default is 'pxebr'.
 -h Print this message and exit
+-L Deployment log path and name, eg. -L /home/jenkins/job.log.tar.gz
 -l Lab name as defined in the configuration directory, e.g. lf
 -p POD name as defined in the configuration directory, e.g. pod-1
 -s Deployment-scenario, this points to a short deployment scenario name, which
@@ -86,7 +87,6 @@ $(notify "Disabled input parameters (not yet supported with MCP):" 3)
 -f (disabled) Deploy on existing Salt master
 -e (disabled) Do not launch environment deployment
 -F (disabled) Do only create a Salt master
--L (disabled) Deployment log path and name, eg. -L /home/jenkins/job.log.tar.gz
 -T (disabled) Timeout, in minutes, for the deploy.
    It defaults to using the DEPLOY_TIMEOUT environment variable when defined.
 -i (disabled) .iso image to be deployed (needs to be provided in a URI
@@ -141,8 +141,10 @@ URI_REGEXP='(file|https?|ftp)://.*'
 
 export SSH_KEY=${SSH_KEY:-"/var/lib/opnfv/mcp.rsa"}
 export SALT_MASTER=${SALT_MASTER_IP:-192.168.10.100}
+export SALT_MASTER_USER=${SALT_MASTER_USER:-ubuntu}
 export MAAS_IP=${MAAS_IP:-192.168.10.3}
 export SSH_OPTS="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i ${SSH_KEY}"
+export SSH_SALT="${SALT_MASTER_USER}@${SALT_MASTER}"
 
 # Variables below are disabled for now, to be re-introduced or removed later
 set +x
@@ -184,7 +186,7 @@ do
                 if [ -n "${bridge}" ]; then
                     OPNFV_BRIDGES[${OPNFV_BRIDGE_IDX}]="${bridge}"
                 fi
-                OPNFV_BRIDGE_IDX=$[OPNFV_BRIDGE_IDX + 1]
+                OPNFV_BRIDGE_IDX=$((OPNFV_BRIDGE_IDX + 1))
             done
             IFS=${OIFS}
             ;;
@@ -208,8 +210,7 @@ do
             TARGET_LAB=${OPTARG}
             ;;
         L)
-            notify '' 3 "${OPTION}"; continue
-            DEPLOY_LOG="-log ${OPTARG}"
+            DEPLOY_LOG="${OPTARG}"
             ;;
         p)
             TARGET_POD=${OPTARG}
@@ -294,20 +295,27 @@ if [ "$(uname -i)" = "aarch64" ]; then
 fi
 
 # Check scenario file existence
-if [ ! -f  "../config/scenario/${DEPLOY_TYPE}/${DEPLOY_SCENARIO}.yaml" ]; then
+SCENARIO_DIR="../config/scenario"
+if [ ! -f  "${SCENARIO_DIR}/${DEPLOY_TYPE}/${DEPLOY_SCENARIO}.yaml" ]; then
     notify "[WARN] ${DEPLOY_SCENARIO}.yaml not found! \
             Setting simplest scenario (os-nosdn-nofeature-noha)\n" 3
     DEPLOY_SCENARIO='os-nosdn-nofeature-noha'
-    if [ ! -f  "../config/scenario/${DEPLOY_TYPE}/${DEPLOY_SCENARIO}.yaml" ]; then
+    if [ ! -f  "${SCENARIO_DIR}/${DEPLOY_TYPE}/${DEPLOY_SCENARIO}.yaml" ]; then
         notify "[ERROR] Scenario definition file is missing!\n" 1>&2
         exit 1
     fi
 fi
 
+# Check defaults file existence
+if [ ! -f  "${SCENARIO_DIR}/defaults-$(uname -i).yaml" ]; then
+    notify "[ERROR] Scenario defaults file is missing!\n" 1>&2
+    exit 1
+fi
+
 # Get required infra deployment data
 source lib.sh
-eval "$(parse_yaml "../config/scenario/${DEPLOY_TYPE}/defaults.yaml")"
-eval "$(parse_yaml "../config/scenario/${DEPLOY_TYPE}/${DEPLOY_SCENARIO}.yaml")"
+eval "$(parse_yaml "${SCENARIO_DIR}/defaults-$(uname -i).yaml")"
+eval "$(parse_yaml "${SCENARIO_DIR}/${DEPLOY_TYPE}/${DEPLOY_SCENARIO}.yaml")"
 
 export CLUSTER_DOMAIN=${cluster_domain}
 
@@ -339,6 +347,8 @@ for state in "${cluster_states[@]}"; do
         sudo "/root/fuel/mcp/config/states/${state} || true"
 done
 
+./log.sh "${DEPLOY_LOG}"
+
 popd > /dev/null
 
 #
similarity index 67%
rename from mcp/config/scenario/virtual/defaults.yaml
rename to mcp/config/scenario/defaults-aarch64.yaml
index b841e88..17fbbfc 100644 (file)
@@ -1,6 +1,6 @@
-base_image: https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img
+base_image: https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-arm64-uefi1.img
 virtual:
   default:
-    vcpus: 2
+    vcpus: 6
     ram: 4096
 
index c1ec07e..ad43563 100755 (executable)
@@ -2,7 +2,7 @@
 set -x
 
 salt -I 'nova:compute' system.reboot
-while true; do salt -I 'nova:compute' test.ping | fgrep -q 'Not connected' || break; done
+while true; do salt -I 'nova:compute' test.ping | grep -Fq 'Not connected' || break; done
 salt -I 'nova:compute' state.sls linux.network
 
 # switch to UCA repos since fuel-infra packages have bugs
index 710ec0e..db0bd3f 100755 (executable)
@@ -3,10 +3,12 @@ set -x
 
 function wait_for() {
   local total_attempts=$1; shift
-  local cmdstr=$@
+  local cmdstr=$*
   local sleep_time=10
   echo "[NOTE] Waiting for cmd to return success: ${cmdstr}"
+  # shellcheck disable=SC2034
   for attempt in $(seq "${total_attempts}"); do
+    # shellcheck disable=SC2015
     eval "${cmdstr}" && break || true
     echo -n '.'; sleep "${sleep_time}"
   done
@@ -17,8 +19,10 @@ function maas_fixup() {
   local statuscmd="salt 'mas01*' --out yaml state.apply maas.machines.status"
   wait_for 180 "${statuscmd} | tee /dev/stderr | " \
            "grep -Eq '((Deployed|Ready): 5|status:Failed|status:Allocated)'"
+  # shellcheck disable=SC2155
   local statusout=$(eval "${statuscmd}")
 
+  # shellcheck disable=SC2155
   local fcnodes=$(echo "${statusout}" | \
     grep -Po '(?<=system_id:)(.*)(?=,status:Failed commissioning)')
   for node_system_id in ${fcnodes}; do
@@ -30,6 +34,7 @@ function maas_fixup() {
     return 1
   fi
 
+  # shellcheck disable=SC2155
   local fdnodes=$(echo "${statusout}" | \
     grep -Po '(?<=system_id:)(.*)(?=,status:(Failed deployment|Allocated))')
   for node_system_id in ${fdnodes}; do
@@ -106,4 +111,4 @@ wait_for 10 "! salt -C 'E@^(?!cfg01|mas01|kvm|cmp00).*' state.apply linux,ntp |
   "tee /dev/stderr | fgrep -q 'Not connected'"
 
 wait_for 10 "salt -C 'E@^(?!cfg01|mas01|kvm|cmp00).*' ssh.set_auth_key ${SUDO_USER} \
-  $(awk 'NR==1{print $2}' $(eval echo ~${SUDO_USER}/.ssh/authorized_keys))"
+  $(awk 'NR==1{print $2}' "$(eval echo "~${SUDO_USER}/.ssh/authorized_keys")")"
index b9db817..8ca76e4 100755 (executable)
@@ -54,5 +54,8 @@ salt -I 'ceilometer:agent' state.sls ceilometer
 salt -I 'horizon:server' state.sls horizon
 salt -I 'nginx:server' state.sls nginx
 
-salt -C 'I@nginx:server and *01*' cp.push /etc/ssl/certs/10.167.4.80-with-chain.crt upload_path='certs/os_cacert'
+clstr_vip_addr=$(salt -C 'I@nginx:server and *01*' --out=yaml \
+  pillar.get _param:cluster_vip_address | awk '{print $2; exit}')
+salt -C 'I@nginx:server and *01*' cp.push \
+  /etc/ssl/certs/${clstr_vip_addr}-with-chain.crt upload_path='certs/os_cacert'
 cd /etc/ssl/certs && ln -s /var/cache/salt/master/minions/prx01.*/files/certs/os_cacert
index aac0017..6cd65fd 100755 (executable)
@@ -2,7 +2,7 @@
 
 if [ -r "$1" ]; then
   while IFS=': ' read -r p_dest p_file; do
-    [[ "${p_dest}" =~ "$2" ]] && \
+    [[ "${p_dest}" =~ $2 ]] && \
       patch -fd "${p_dest}" -p1 < "/root/fuel/mcp/patches/${p_file}"
   done < "$1"
 fi
diff --git a/mcp/reclass/classes/cluster/virtual-mcp-ocata-common/infra/config.yml b/mcp/reclass/classes/cluster/virtual-mcp-ocata-common/infra/config.yml
new file mode 100644 (file)
index 0000000..a5fc3b1
--- /dev/null
@@ -0,0 +1,64 @@
+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.mysql.client.single
+- system.reclass.storage.system.openstack_compute_multi
+- system.reclass.storage.system.openstack_gateway_single
+parameters:
+  _param:
+    openstack_control_node01_hostname: ctl01
+    reclass_data_repository: local
+    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
+  salt:
+    master:
+      file_recv: true
+  reclass:
+    storage:
+      data_source:
+        engine: local
+      node:
+        openstack_control_node01:
+          name: ${_param:openstack_control_node01_hostname}
+          domain: ${_param:cluster_domain}
+          classes:
+          - cluster.${_param:cluster_name}.openstack.control
+          params:
+            linux_system_codename: xenial
+            salt_master_host: ${_param:reclass_config_master}
+            single_address: ${_param:openstack_control_node01_address}
+        openstack_compute_node01:
+          params:
+            single_address: 172.16.10.105
+            tenant_address: 10.1.0.105
+            external_address: 10.16.0.105
+        openstack_compute_node02:
+          params:
+            single_address: 172.16.10.106
+            tenant_address: 10.1.0.106
+            external_address: 10.16.0.106
+        openstack_gateway_node01:
+          params:
+            tenant_address: 10.1.0.110
+            external_address: 10.16.0.110
index 63e58a2..c66ba2a 100644 (file)
@@ -1,69 +1,14 @@
 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.mysql.client.single
-- system.reclass.storage.system.openstack_compute_multi
-- system.reclass.storage.system.openstack_gateway_single
 - system.reclass.storage.system.opendaylight_control_single
+- cluster.virtual-mcp-ocata-common.infra.config
 - cluster.virtual-mcp-ocata-odl-router
 parameters:
-  _param:
-    openstack_control_node01_hostname: ctl01
-    reclass_data_repository: local
-    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:
-      data_source:
-        engine: local
       node:
-        openstack_control_node01:
-          name: ${_param:openstack_control_node01_hostname}
-          domain: ${_param:cluster_domain}
-          classes:
-          - cluster.${_param:cluster_name}.openstack.control
-          params:
-            linux_system_codename: xenial
-            salt_master_host: ${_param:reclass_config_master}
-            single_address: ${_param:openstack_control_node01_address}
-        openstack_compute_node01:
-          params:
-            single_address: 172.16.10.105
-            tenant_address: 10.1.0.105
-            external_address: 10.16.0.105
-        openstack_compute_node02:
-          params:
-            single_address: 172.16.10.106
-            tenant_address: 10.1.0.106
-            external_address: 10.16.0.106
-        openstack_gateway_node01:
-          params:
-            tenant_address: 10.1.0.110
-            external_address: 10.16.0.110
         opendaylight_control_node01:
           classes:
           - cluster.${_param:cluster_name}.opendaylight.control
           params:
             linux_system_codename: xenial
-            single_address: 172.16.10.111
+            single_address: ${_param:opendaylight_service_host}
index 954a7a1..e0311de 100644 (file)
@@ -1,7 +1,7 @@
 classes:
 - system.linux.system.single
 - cluster.virtual-mcp-ocata-common.init_options
-- cluster.virtual-mcp-ocata-odl-router.infra
+- cluster.virtual-mcp-ocata-common.infra
 - cluster.virtual-mcp-ocata-odl-router.openstack
 
 parameters:
index 864c71d..87a4210 100644 (file)
@@ -1,66 +1,15 @@
 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.mysql.client.single
-- system.reclass.storage.system.openstack_compute_multi
-- system.reclass.storage.system.openstack_gateway_single
+- cluster.virtual-mcp-ocata-common.infra.config
 - cluster.virtual-mcp-ocata-ovs-dpdk
 parameters:
-  _param:
-    openstack_control_node01_hostname: ctl01
-    reclass_data_repository: local
-    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:
-      data_source:
-        engine: local
       node:
-        openstack_control_node01:
-          name: ${_param:openstack_control_node01_hostname}
-          domain: ${_param:cluster_domain}
-          classes:
-          - cluster.${_param:cluster_name}.openstack.control
-          params:
-            linux_system_codename: xenial
-            salt_master_host: ${_param:reclass_config_master}
-            single_address: ${_param:openstack_control_node01_address}
         openstack_compute_node01:
           params:
-            single_address: 172.16.10.105
-            tenant_address: 10.1.0.105
-            external_address: 10.16.0.105
             dpdk0_name: ens5
             dpdk0_pci: '"0000:00:05.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: ens5
             dpdk0_pci: '"0000:00:05.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
deleted file mode 100644 (file)
index 9140bd0..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-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}
index 4626fd6..77e2380 100644 (file)
@@ -1,7 +1,7 @@
 classes:
 - system.linux.system.single
 - cluster.virtual-mcp-ocata-common.init_options
-- cluster.virtual-mcp-ocata-ovs-dpdk.infra
+- cluster.virtual-mcp-ocata-common.infra
 - cluster.virtual-mcp-ocata-ovs-dpdk.openstack
 
 parameters:
index 97730b1..c366ec5 100644 (file)
@@ -1,62 +1,3 @@
 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.mysql.client.single
-- system.reclass.storage.system.openstack_compute_multi
-- system.reclass.storage.system.openstack_gateway_single
+- cluster.virtual-mcp-ocata-common.infra.config
 - cluster.virtual-mcp-ocata-ovs
-parameters:
-  _param:
-    openstack_control_node01_hostname: ctl01
-    reclass_data_repository: local
-    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:
-      data_source:
-        engine: local
-      node:
-        openstack_control_node01:
-          name: ${_param:openstack_control_node01_hostname}
-          domain: ${_param:cluster_domain}
-          classes:
-          - cluster.${_param:cluster_name}.openstack.control
-          params:
-            linux_system_codename: xenial
-            salt_master_host: ${_param:reclass_config_master}
-            single_address: ${_param:openstack_control_node01_address}
-        openstack_compute_node01:
-          params:
-            single_address: 172.16.10.105
-            tenant_address: 10.1.0.105
-            external_address: 10.16.0.105
-        openstack_compute_node02:
-          params:
-            single_address: 172.16.10.106
-            tenant_address: 10.1.0.106
-            external_address: 10.16.0.106
-        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/infra/init.yml b/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs/infra/init.yml
deleted file mode 100644 (file)
index 9140bd0..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-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}
index 86c0cf5..34dca1f 100644 (file)
@@ -1,7 +1,7 @@
 classes:
 - system.linux.system.single
 - cluster.virtual-mcp-ocata-common.init_options
-- cluster.virtual-mcp-ocata-ovs.infra
+- cluster.virtual-mcp-ocata-common.infra
 - cluster.virtual-mcp-ocata-ovs.openstack
 
 parameters:
index 94a9bd3..e123e52 100644 (file)
@@ -141,7 +141,7 @@ start_vms() {
   # start vms
   for node in "${vnodes[@]}"; do
     virsh start "${node}"
-    sleep $[RANDOM%5+1]
+    sleep $((RANDOM%5+1))
   done
 }
 
diff --git a/mcp/scripts/log.sh b/mcp/scripts/log.sh
new file mode 100755 (executable)
index 0000000..1ae0953
--- /dev/null
@@ -0,0 +1,35 @@
+#!/bin/bash
+##############################################################################
+# Copyright (c) 2017 Mirantis Inc., Enea AB and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+#
+# Collect /var/log from all cluster nodes via Salt Master
+#
+
+DEPLOY_LOG=$1
+OPNFV_TMP_LOG="opnfv_fuel_logs"
+
+[ -n "${DEPLOY_LOG}" ] || exit 0
+
+# ssh to cfg01
+# shellcheck disable=SC2086,2087
+ssh ${SSH_OPTS} "${SSH_SALT}" bash -s << LOG_COLLECT_END
+  sudo -i
+
+  echo salt -C '*' cp.push_dir /var/log upload_path='${OPNFV_TMP_LOG}'
+  salt -C '*' cp.push_dir /var/log upload_path='${OPNFV_TMP_LOG}'
+
+  cd /var/cache/salt/master/minions && \
+    find */files/${OPNFV_TMP_LOG}/ | \
+      xargs tar czf \$(eval echo \~\${SUDO_USER}/${OPNFV_TMP_LOG}.tar.gz) \
+        --transform 's|/files/${OPNFV_TMP_LOG}||'
+LOG_COLLECT_END
+
+# shellcheck disable=SC2086
+scp ${SSH_OPTS} "${SSH_SALT}:${OPNFV_TMP_LOG}.tar.gz" "${DEPLOY_LOG}"
+# shellcheck disable=SC2086,2029
+ssh ${SSH_OPTS} "${SSH_SALT}" rm -f "${OPNFV_TMP_LOG}.tar.gz"
index 4fa54ab..174471e 100755 (executable)
@@ -11,8 +11,6 @@
 #
 
 F_GIT_ROOT=$(git rev-parse --show-toplevel)
-SALT_MASTER_USER=${SALT_MASTER_USER:-ubuntu}
-SSH_SALT="${SALT_MASTER_USER}@${SALT_MASTER}"
 OPNFV_TMP_DIR="/home/${SALT_MASTER_USER}/fuel"
 OPNFV_FUEL_DIR="/root/fuel"