$(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
-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
-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)
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
-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
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
TARGET_LAB=${OPTARG}
;;
L)
- notify '' 3 "${OPTION}"; continue
- DEPLOY_LOG="-log ${OPTARG}"
+ DEPLOY_LOG="${OPTARG}"
;;
p)
TARGET_POD=${OPTARG}
sudo "/root/fuel/mcp/config/states/${state} || true"
done
+./log.sh "${DEPLOY_LOG}"
+
popd > /dev/null
#
--- /dev/null
+#!/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"