Use ansible-playbook in place of quickstart.sh
This will change CI to only use quicktart.sh to bootstrap the virtualenv. The ansible-playbook command will then be run directly for the deploy and collect logs. This is a first step in breaking the deploy into multiple ansible-playbook calls so that we CI the ability to run them in stages for development purposes. Change-Id: Ie0a3729277fb608c653e7bc2ab85781d9b815880
This commit is contained in:
parent
473afcc755
commit
46c5a0b62c
|
@ -125,21 +125,22 @@ export EXTRA_VARS=${EXTRA_VARS:-""}
|
|||
export EXTRA_VARS="$EXTRA_VARS --extra-vars deploy_timeout=$OVERCLOUD_DEPLOY_TIMEOUT"
|
||||
export NODES_ARGS=""
|
||||
export COLLECT_CONF="$TRIPLEO_ROOT/tripleo-ci/toci-quickstart/config/collect-logs.yml"
|
||||
|
||||
LOCAL_WORKING_DIR="$WORKSPACE/.quickstart"
|
||||
LWD=$LOCAL_WORKING_DIR
|
||||
|
||||
# Assemble quickstart configuration based on job type keywords
|
||||
for JOB_TYPE_PART in $(sed 's/-/ /g' <<< "${TOCI_JOBTYPE:-}") ; do
|
||||
case $JOB_TYPE_PART in
|
||||
featureset*)
|
||||
FEATURESET_FILE="config/general_config/$JOB_TYPE_PART.yml"
|
||||
FEATURESET_CONF="$FEATURESET_CONF --config $FEATURESET_FILE"
|
||||
FEATURESET_FILE="$LWD/config/general_config/$JOB_TYPE_PART.yml"
|
||||
FEATURESET_CONF="$FEATURESET_CONF --extra-vars @$FEATURESET_FILE"
|
||||
;;
|
||||
ovb)
|
||||
OVB=1
|
||||
ENVIRONMENT="ovb"
|
||||
UCINSTANCEID=$(http_proxy= curl http://169.254.169.254/openstack/2015-10-15/meta_data.json | python -c 'import json, sys; print json.load(sys.stdin)["uuid"]')
|
||||
PLAYBOOK="baremetal-full-deploy.yml"
|
||||
ENV_VARS="$ENV_VARS --environment $TRIPLEO_ROOT/tripleo-ci/toci-quickstart/config/testenv/ovb.yml"
|
||||
ENV_VARS="$ENV_VARS --extra-vars @$TRIPLEO_ROOT/tripleo-ci/toci-quickstart/config/testenv/ovb.yml"
|
||||
if [[ -f "$TRIPLEO_ROOT/tripleo-ci/toci-quickstart/config/testenv/ovb-$RHCLOUD.yml" ]]; then
|
||||
ENV_VARS="$ENV_VARS --extra-vars @$TRIPLEO_ROOT/tripleo-ci/toci-quickstart/config/testenv/ovb-$RHCLOUD.yml"
|
||||
fi
|
||||
|
@ -150,13 +151,13 @@ for JOB_TYPE_PART in $(sed 's/-/ /g' <<< "${TOCI_JOBTYPE:-}") ; do
|
|||
ENVIRONMENT="osinfra"
|
||||
PLAYBOOK="multinode.yml"
|
||||
FEATURESET_CONF="
|
||||
--extra-vars @config/general_config/featureset-multinode-common.yml
|
||||
--extra-vars @$LWD/config/general_config/featureset-multinode-common.yml
|
||||
$FEATURESET_CONF
|
||||
"
|
||||
if [[ $NODEPOOL_PROVIDER == "rdo-cloud-tripleo" ]]; then
|
||||
ENV_VARS="$ENV_VARS --environment $TRIPLEO_ROOT/tripleo-ci/toci-quickstart/config/testenv/multinode-rdocloud.yml"
|
||||
ENV_VARS="$ENV_VARS --extra-vars @$TRIPLEO_ROOT/tripleo-ci/toci-quickstart/config/testenv/multinode-rdocloud.yml"
|
||||
else
|
||||
ENV_VARS="$ENV_VARS --environment $TRIPLEO_ROOT/tripleo-ci/toci-quickstart/config/testenv/multinode.yml"
|
||||
ENV_VARS="$ENV_VARS --extra-vars @$TRIPLEO_ROOT/tripleo-ci/toci-quickstart/config/testenv/multinode.yml"
|
||||
fi
|
||||
UNDERCLOUD="127.0.0.2"
|
||||
TAGS="build,undercloud-setup,undercloud-scripts,undercloud-install,undercloud-post-install,tripleo-validations,overcloud-scripts,overcloud-prep-config,overcloud-prep-containers,overcloud-deploy,overcloud-upgrade,overcloud-validate"
|
||||
|
@ -168,13 +169,13 @@ for JOB_TYPE_PART in $(sed 's/-/ /g' <<< "${TOCI_JOBTYPE:-}") ; do
|
|||
UNDERCLOUD="127.0.0.2"
|
||||
PLAYBOOK="multinode.yml"
|
||||
FEATURESET_CONF="
|
||||
--extra-vars @config/general_config/featureset-multinode-common.yml
|
||||
--extra-vars @$LWD/config/general_config/featureset-multinode-common.yml
|
||||
$FEATURESET_CONF
|
||||
"
|
||||
if [[ $NODEPOOL_PROVIDER == "rdo-cloud-tripleo" ]]; then
|
||||
ENV_VARS="$ENV_VARS --environment $TRIPLEO_ROOT/tripleo-ci/toci-quickstart/config/testenv/multinode-rdocloud.yml"
|
||||
ENV_VARS="$ENV_VARS --extra-vars @$TRIPLEO_ROOT/tripleo-ci/toci-quickstart/config/testenv/multinode-rdocloud.yml"
|
||||
else
|
||||
ENV_VARS="$ENV_VARS --environment $TRIPLEO_ROOT/tripleo-ci/toci-quickstart/config/testenv/multinode.yml"
|
||||
ENV_VARS="$ENV_VARS --extra-vars @$TRIPLEO_ROOT/tripleo-ci/toci-quickstart/config/testenv/multinode.yml"
|
||||
fi
|
||||
TAGS="build,undercloud-setup,undercloud-scripts,undercloud-install,undercloud-validate,images"
|
||||
;;
|
||||
|
@ -186,7 +187,7 @@ for JOB_TYPE_PART in $(sed 's/-/ /g' <<< "${TOCI_JOBTYPE:-}") ; do
|
|||
;;
|
||||
*)
|
||||
# the rest should be node configuration
|
||||
NODES_FILE="config/nodes/$JOB_TYPE_PART.yml"
|
||||
NODES_FILE="$TRIPLEO_ROOT/tripleo-quickstart/config/nodes/$JOB_TYPE_PART.yml"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
@ -201,7 +202,7 @@ if [[ ! -z $NODES_FILE ]]; then
|
|||
pushd $TRIPLEO_ROOT/tripleo-quickstart
|
||||
NODECOUNT=$(shyaml get-value node_count < $NODES_FILE)
|
||||
popd
|
||||
NODES_ARGS="--nodes $NODES_FILE"
|
||||
NODES_ARGS="--extra-vars @$NODES_FILE"
|
||||
fi
|
||||
|
||||
|
||||
|
|
|
@ -13,14 +13,12 @@ source $TRIPLEO_ROOT/tripleo-ci/scripts/oooq_common_functions.sh
|
|||
touch /tmp/toci.started
|
||||
|
||||
export DEFAULT_ARGS="
|
||||
--no-clone
|
||||
--working-dir $LOCAL_WORKING_DIR
|
||||
--retain-inventory
|
||||
--teardown none
|
||||
--extra-vars local_working_dir=$LOCAL_WORKING_DIR
|
||||
--extra-vars virthost=$UNDERCLOUD
|
||||
--inventory $LOCAL_WORKING_DIR/hosts
|
||||
--extra-vars tripleo_root=$TRIPLEO_ROOT
|
||||
--extra-vars working_dir=$WORKING_DIR
|
||||
--extra-vars validation_args='--validation-errors-nonfatal'
|
||||
--release tripleo-ci/$QUICKSTART_RELEASE
|
||||
"
|
||||
|
||||
# --install-deps arguments installs deps and then quits, no other arguments are
|
||||
|
@ -30,32 +28,44 @@ QUICKSTART_PREPARE_CMD="
|
|||
--install-deps
|
||||
"
|
||||
|
||||
QUICKSTART_INSTALL_CMD="
|
||||
QUICKSTART_VENV_CMD="
|
||||
./quickstart.sh
|
||||
--bootstrap
|
||||
--tags $TAGS
|
||||
$DEFAULT_ARGS
|
||||
$NODES_ARGS
|
||||
$ENV_VARS
|
||||
$FEATURESET_CONF
|
||||
$EXTRA_VARS
|
||||
--playbook $PLAYBOOK
|
||||
--no-clone
|
||||
--working-dir $LOCAL_WORKING_DIR
|
||||
--playbook noop.yml
|
||||
--retain-inventory
|
||||
$UNDERCLOUD
|
||||
"
|
||||
|
||||
QUICKSTART_INSTALL_CMD="
|
||||
$LOCAL_WORKING_DIR/bin/ansible-playbook
|
||||
$LOCAL_WORKING_DIR/playbooks/$PLAYBOOK
|
||||
--extra-vars @$LOCAL_WORKING_DIR/config/release/tripleo-ci/$QUICKSTART_RELEASE.yml
|
||||
$NODES_ARGS
|
||||
$FEATURESET_CONF
|
||||
$ENV_VARS
|
||||
$EXTRA_VARS
|
||||
$DEFAULT_ARGS
|
||||
--tags $TAGS
|
||||
--skip-tags teardown-all
|
||||
"
|
||||
|
||||
QUICKSTART_COLLECTLOGS_CMD="
|
||||
./quickstart.sh
|
||||
$LOCAL_WORKING_DIR/bin/ansible-playbook
|
||||
$LOCAL_WORKING_DIR/playbooks/collect-logs.yml
|
||||
--extra-vars @$LOCAL_WORKING_DIR/config/release/tripleo-ci/$QUICKSTART_RELEASE.yml
|
||||
$NODES_ARGS
|
||||
$FEATURESET_CONF
|
||||
$ENV_VARS
|
||||
$EXTRA_VARS
|
||||
$DEFAULT_ARGS
|
||||
--extra-vars @$COLLECT_CONF
|
||||
--tags all
|
||||
$NODES_ARGS
|
||||
$ENV_VARS
|
||||
$FEATURESET_CONF
|
||||
$EXTRA_VARS
|
||||
--playbook collect-logs.yml
|
||||
--extra-vars artcl_collect_dir=$LOGS_DIR
|
||||
$UNDERCLOUD
|
||||
--tags all
|
||||
--skip-tags teardown-all
|
||||
"
|
||||
|
||||
mkdir -p $LOCAL_WORKING_DIR
|
||||
# TODO(gcerami) parametrize hosts
|
||||
cp $TRIPLEO_ROOT/tripleo-ci/toci-quickstart/config/testenv/${ENVIRONMENT}_hosts $LOCAL_WORKING_DIR/hosts
|
||||
|
@ -64,6 +74,18 @@ cp $TRIPLEO_ROOT/tripleo-ci/toci-quickstart/playbooks/* $TRIPLEO_ROOT/tripleo-qu
|
|||
pushd $TRIPLEO_ROOT/tripleo-quickstart/
|
||||
|
||||
$QUICKSTART_PREPARE_CMD
|
||||
$QUICKSTART_VENV_CMD
|
||||
|
||||
# Only ansible-playbook command will be used from this point forward, so we
|
||||
# need some variables from quickstart.sh
|
||||
OOOQ_DIR=$TRIPLEO_ROOT/tripleo-quickstart/
|
||||
export OPT_WORKDIR=$LOCAL_WORKING_DIR
|
||||
export ANSIBLE_CONFIG=$OOOQ_DIR/ansible.cfg
|
||||
export ARA_DATABASE="sqlite:///${LOCAL_WORKING_DIR}/ara.sqlite"
|
||||
export VIRTUAL_ENV_DISABLE_PROMPT=1
|
||||
source $LOCAL_WORKING_DIR/bin/activate
|
||||
source $OOOQ_DIR/ansible_ssh_env.sh
|
||||
|
||||
run_with_timeout $START_JOB_TIME $QUICKSTART_INSTALL_CMD \
|
||||
2>&1 | tee $LOGS_DIR/quickstart_install.log && exit_value=0 || exit_value=$?
|
||||
|
||||
|
|
Loading…
Reference in New Issue