diff options
Diffstat (limited to 'xci')
18 files changed, 370 insertions, 261 deletions
diff --git a/xci/config/pinned-versions b/xci/config/pinned-versions index 5d5908e7..8067fe69 100755 --- a/xci/config/pinned-versions +++ b/xci/config/pinned-versions @@ -35,8 +35,8 @@ export BIFROST_IRONIC_CLIENT_VERSION=${BIFROST_IRONIC_CLIENT_VERSION:-"1da269b0e export BIFROST_IRONIC_INSPECTOR_VERSION=${BIFROST_IRONIC_INSPECTOR_VERSION:-"84da941fafb905c2debdd9a9ba68ba743af3ce8a"} # HEAD of ironic-inspector-client "master" as of 13.02.2018 export BIFROST_IRONIC_INSPECTOR_CLIENT_VERSION=${BIFROST_IRONIC_INSPECTOR_CLIENT_VERSION:-"b73403fdad3165cfcccbf4b0330d426ae5925e01"} -# HEAD of osa "stable/queens" as of 02.03.2018 -export OPENSTACK_OSA_VERSION=${OPENSTACK_OSA_VERSION:-"eee0498dbe21fea565c06c686546c0734c4bb2e3"} +# HEAD of osa "stable/queens" as of 21.03.2018 +export OPENSTACK_OSA_VERSION=${OPENSTACK_OSA_VERSION:-"dbf6a9c54a8a3aa59eb998daef296022eeadfa0f"} export KEEPALIVED_VERSION=$(grep -E '.*name: keepalived' -A 3 \ ${XCI_PATH}/xci/installer/osa/files/ansible-role-requirements.yml \ | tail -n1 | sed -n 's/\(^.*: \)\([0-9a-z].*$\)/\2/p') diff --git a/xci/files/install-ansible.sh b/xci/files/install-ansible.sh deleted file mode 100644 index e370d14a..00000000 --- a/xci/files/install-ansible.sh +++ /dev/null @@ -1,161 +0,0 @@ -#!/bin/bash -# NOTE(hwoarang): Most parts of this this file were taken from the -# bifrost repository (scripts/install-deps.sh). This script contains all -# the necessary distro specific code to install ansible and it's dependencies. - -set -eu - -declare -A PKG_MAP - -# workaround: for latest bindep to work, it needs to use en_US local -export LANG=c - -CHECK_CMD_PKGS=( - gcc - libffi - libopenssl - lsb-release - make - net-tools - python-devel - python - venv - wget -) - -source /etc/os-release || source /usr/lib/os-release -case ${ID,,} in - *suse) - OS_FAMILY="Suse" - INSTALLER_CMD="sudo -H -E zypper -q install -y --no-recommends" - CHECK_CMD="zypper search --match-exact --installed" - PKG_MAP=( - [gcc]=gcc - [libffi]=libffi-devel - [libopenssl]=libopenssl-devel - [lsb-release]=lsb-release - [make]=make - [net-tools]=net-tools - [python]=python - [python-devel]=python-devel - [venv]=python-virtualenv - [wget]=wget - ) - EXTRA_PKG_DEPS=( python-xml ) - sudo zypper -n ref - # NOTE (cinerama): we can't install python without removing this package - # if it exists - if $(${CHECK_CMD} patterns-openSUSE-minimal_base-conflicts &> /dev/null); then - sudo -H zypper remove -y patterns-openSUSE-minimal_base-conflicts - fi - ;; - - ubuntu|debian) - OS_FAMILY="Debian" - export DEBIAN_FRONTEND=noninteractive - INSTALLER_CMD="sudo -H -E apt-get -y -q=3 install" - CHECK_CMD="dpkg -l" - PKG_MAP=( - [gcc]=gcc - [libffi]=libffi-dev - [libopenssl]=libssl-dev - [lsb-release]=lsb-release - [make]=make - [net-tools]=net-tools - [python]=python-minimal - [python-devel]=libpython-dev - [venv]=python-virtualenv - [wget]=wget - ) - EXTRA_PKG_DEPS=() - sudo apt-get update - ;; - - rhel|fedora|centos) - OS_FAMILY="RedHat" - PKG_MANAGER=$(which dnf || which yum) - INSTALLER_CMD="sudo -H -E ${PKG_MANAGER} -q -y install" - CHECK_CMD="rpm -q" - PKG_MAP=( - [gcc]=gcc - [libffi]=libffi-devel - [libopenssl]=openssl-devel - [lsb-release]=redhat-lsb - [make]=make - [net-tools]=net-tools - [python]=python - [python-devel]=python-devel - [venv]=python-virtualenv - [wget]=wget - ) - sudo $PKG_MANAGER updateinfo - EXTRA_PKG_DEPS=( deltarpm ) - ;; - - *) echo "ERROR: Supported package manager not found. Supported: apt, dnf, yum, zypper"; exit 1;; -esac - -if ! $(python --version &>/dev/null); then - ${INSTALLER_CMD} ${PKG_MAP[python]} -fi -if ! $(gcc -v &>/dev/null); then - ${INSTALLER_CMD} ${PKG_MAP[gcc]} -fi -if ! $(wget --version &>/dev/null); then - ${INSTALLER_CMD} ${PKG_MAP[wget]} -fi - -if ! $(python -m virtualenv --version &>/dev/null); then - ${INSTALLER_CMD} ${PKG_MAP[venv]} -fi - -for pkg in ${CHECK_CMD_PKGS[@]}; do - if ! $(${CHECK_CMD} ${PKG_MAP[$pkg]} &>/dev/null); then - ${INSTALLER_CMD} ${PKG_MAP[$pkg]} - fi -done - -if [ -n "${EXTRA_PKG_DEPS-}" ]; then - for pkg in ${EXTRA_PKG_DEPS}; do - if ! $(${CHECK_CMD} ${pkg} &>/dev/null); then - ${INSTALLER_CMD} ${pkg} - fi - done -fi - -# If we're using a venv, we need to work around sudo not -# keeping the path even with -E. -PYTHON=$(which python) - -# To install python packages, we need pip. -# -# We can't use the apt packaged version of pip since -# older versions of pip are incompatible with -# requests, one of our indirect dependencies (bug 1459947). -# -# Note(cinerama): We use pip to install an updated pip plus our -# other python requirements. pip breakages can seriously impact us, -# so we've chosen to install/upgrade pip here rather than in -# requirements (which are synced automatically from the global ones) -# so we can quickly and easily adjust version parameters. -# See bug 1536627. -# -# Note(cinerama): If pip is linked to pip3, the rest of the install -# won't work. Remove the alternatives. This is due to ansible's -# python 2.x requirement. -if [[ $(readlink -f /etc/alternatives/pip) =~ "pip3" ]]; then - sudo -H update-alternatives --remove pip $(readlink -f /etc/alternatives/pip) -fi - -if ! which pip; then - wget -O /tmp/get-pip.py https://bootstrap.pypa.io/get-pip.py - sudo -H -E ${PYTHON} /tmp/get-pip.py -fi - -PIP=$(which pip) -echo "Using pip: $(${PIP} --version)" -sudo -H -E ${PIP} -q install --upgrade virtualenv -sudo -H -E ${PIP} -q install --upgrade pip -# upgrade setuptools, as latest version is needed to install some projects -sudo -H -E ${PIP} -q install --upgrade setuptools -${PIP} install -q --user --upgrade ansible==$XCI_ANSIBLE_PIP_VERSION diff --git a/xci/files/install-lib.sh b/xci/files/install-lib.sh new file mode 100644 index 00000000..2679233d --- /dev/null +++ b/xci/files/install-lib.sh @@ -0,0 +1,191 @@ +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2018 SUSE LINUX GmbH. +# 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 +############################################################################## + +# NOTE(hwoarang): Most parts of this this file were taken from the +# bifrost repository (scripts/install-deps.sh). This script contains all +# the necessary distro specific code to install ansible and it's dependencies. + +function install_ansible() { + set -eu + + # Use the upper-constraints file from the pinned requirements repository. + local requirements_sha=$(awk '/requirements_git_install_branch:/ {print $2}' ${XCI_PATH}/xci/installer/osa/files/openstack_services.yml) + local uc="https://raw.githubusercontent.com/openstack/requirements/${requirements_sha}/upper-constraints.txt" + + declare -A PKG_MAP + + # workaround: for latest bindep to work, it needs to use en_US local + export LANG=c + + CHECK_CMD_PKGS=( + gcc + libffi + libopenssl + lsb-release + make + net-tools + python-devel + python + venv + wget + ) + + source /etc/os-release || source /usr/lib/os-release + case ${ID,,} in + *suse) + OS_FAMILY="Suse" + INSTALLER_CMD="sudo -H -E zypper -q install -y --no-recommends" + CHECK_CMD="zypper search --match-exact --installed" + PKG_MAP=( + [gcc]=gcc + [libffi]=libffi-devel + [libopenssl]=libopenssl-devel + [lsb-release]=lsb-release + [make]=make + [net-tools]=net-tools + [python]=python + [python-devel]=python-devel + [venv]=python-virtualenv + [wget]=wget + ) + EXTRA_PKG_DEPS=( python-xml ) + sudo zypper -n ref + # NOTE (cinerama): we can't install python without removing this package + # if it exists + if $(${CHECK_CMD} patterns-openSUSE-minimal_base-conflicts &> /dev/null); then + sudo -H zypper remove -y patterns-openSUSE-minimal_base-conflicts + fi + ;; + + ubuntu|debian) + OS_FAMILY="Debian" + export DEBIAN_FRONTEND=noninteractive + INSTALLER_CMD="sudo -H -E apt-get -y -q=3 install" + CHECK_CMD="dpkg -l" + PKG_MAP=( + [gcc]=gcc + [libffi]=libffi-dev + [libopenssl]=libssl-dev + [lsb-release]=lsb-release + [make]=make + [net-tools]=net-tools + [python]=python-minimal + [python-devel]=libpython-dev + [venv]=python-virtualenv + [wget]=wget + ) + EXTRA_PKG_DEPS=() + sudo apt-get update + ;; + + rhel|fedora|centos) + OS_FAMILY="RedHat" + PKG_MANAGER=$(which dnf || which yum) + INSTALLER_CMD="sudo -H -E ${PKG_MANAGER} -q -y install" + CHECK_CMD="rpm -q" + PKG_MAP=( + [gcc]=gcc + [libffi]=libffi-devel + [libopenssl]=openssl-devel + [lsb-release]=redhat-lsb + [make]=make + [net-tools]=net-tools + [python]=python + [python-devel]=python-devel + [venv]=python-virtualenv + [wget]=wget + ) + sudo $PKG_MANAGER updateinfo + EXTRA_PKG_DEPS=( deltarpm ) + ;; + + *) echo "ERROR: Supported package manager not found. Supported: apt, dnf, yum, zypper"; exit 1;; + esac + + if ! $(python --version &>/dev/null); then + ${INSTALLER_CMD} ${PKG_MAP[python]} + fi + if ! $(gcc -v &>/dev/null); then + ${INSTALLER_CMD} ${PKG_MAP[gcc]} + fi + if ! $(wget --version &>/dev/null); then + ${INSTALLER_CMD} ${PKG_MAP[wget]} + fi + + if ! $(python -m virtualenv --version &>/dev/null); then + ${INSTALLER_CMD} ${PKG_MAP[venv]} + fi + + for pkg in ${CHECK_CMD_PKGS[@]}; do + if ! $(${CHECK_CMD} ${PKG_MAP[$pkg]} &>/dev/null); then + ${INSTALLER_CMD} ${PKG_MAP[$pkg]} + fi + done + + if [ -n "${EXTRA_PKG_DEPS-}" ]; then + for pkg in ${EXTRA_PKG_DEPS}; do + if ! $(${CHECK_CMD} ${pkg} &>/dev/null); then + ${INSTALLER_CMD} ${pkg} + fi + done + fi + + # If we're using a venv, we need to work around sudo not + # keeping the path even with -E. + PYTHON=$(which python) + + # To install python packages, we need pip. + # + # We can't use the apt packaged version of pip since + # older versions of pip are incompatible with + # requests, one of our indirect dependencies (bug 1459947). + # + # Note(cinerama): We use pip to install an updated pip plus our + # other python requirements. pip breakages can seriously impact us, + # so we've chosen to install/upgrade pip here rather than in + # requirements (which are synced automatically from the global ones) + # so we can quickly and easily adjust version parameters. + # See bug 1536627. + # + # Note(cinerama): If pip is linked to pip3, the rest of the install + # won't work. Remove the alternatives. This is due to ansible's + # python 2.x requirement. + if [[ $(readlink -f /etc/alternatives/pip) =~ "pip3" ]]; then + sudo -H update-alternatives --remove pip $(readlink -f /etc/alternatives/pip) + fi + + if ! which pip; then + wget -O /tmp/get-pip.py https://bootstrap.pypa.io/get-pip.py + sudo -H -E ${PYTHON} /tmp/get-pip.py + fi + + PIP=$(which pip) + echo "Using pip: $(${PIP} --version)" + ${PIP} -q install --user --upgrade -c $uc ara virtualenv pip setuptools ansible==$XCI_ANSIBLE_PIP_VERSION + + ara_location=$(${PYTHON} -c "import os,ara; print(os.path.dirname(ara.__file__))") + export ANSIBLE_CALLBACK_PLUGINS="/etc/ansible/roles/plugins/callback:${ara_location}/plugins/callbacks" +} + +collect_xci_logs() { + echo "----------------------------------" + echo "Info: Collecting XCI logs" + echo "----------------------------------" + + # Create the ARA log directory and store the sqlite source database + mkdir -p ${LOG_PATH}/ara/ ${LOG_PATH}/opnfv/ara + + rsync -q -a "${HOME}/.ara/ansible.sqlite" "${LOG_PATH}/ara/" + rsync -q -a root@${OPNFV_HOST_IP}:releng-xci/${LOG_PATH#$XCI_PATH/}/ ${LOG_PATH}/opnfv/ || true + rsync -q -a root@${OPNFV_HOST_IP}:.ara/ansible.sqlite ${LOG_PATH}/opnfv/ara/ || true + + sudo -H -E bash -c 'chown ${SUDO_UID}:${SUDO_GID} -R ${LOG_PATH}/' +} + +# vim: set ts=4 sw=4 expandtab: diff --git a/xci/files/xci-destroy-env.sh b/xci/files/xci-destroy-env.sh index 9d53dc15..8b811d0f 100755 --- a/xci/files/xci-destroy-env.sh +++ b/xci/files/xci-destroy-env.sh @@ -14,6 +14,8 @@ if [[ $(whoami) != "root" ]]; then exit 1 fi +flavors=(aio mini noha ha) + # Start fresh rm -rf /opt/stack # HOME is normally set by sudo -H @@ -33,14 +35,16 @@ if which vbmc &>/dev/null || { [[ -e /opt/stack/bifrost/bin/activate ]] && sourc which vbmc &>/dev/null || { [[ -e /opt/stack/bifrost/bin/activate ]] && deactivate; } fi -# Destroy all XCI VMs if the previous operation failed -[[ -n ${XCI_FLAVOR} ]] && \ +# Destroy all XCI VMs on all flavors +for varfile in ${flavors[@]}; do + source ${XCI_PATH}/xci/config/${varfile}-vars for vm in ${TEST_VM_NODE_NAMES}; do if which virsh &>/dev/null; then virsh destroy $vm || true virsh undefine $vm || true fi done +done service ironic-conductor stop || true @@ -76,3 +80,5 @@ service libvirtd restart service ironic-api restart || true service ironic-conductor start || true service ironic-inspector restart || true + +# vim: set ts=4 sw=4 expandtab: diff --git a/xci/installer/kubespray/deploy.sh b/xci/installer/kubespray/deploy.sh index 7695894b..364ee2b6 100755 --- a/xci/installer/kubespray/deploy.sh +++ b/xci/installer/kubespray/deploy.sh @@ -14,6 +14,13 @@ set -o pipefail K8_XCI_PLAYBOOKS="$(dirname $(realpath ${BASH_SOURCE[0]}))/playbooks" export ANSIBLE_ROLES_PATH=$HOME/.ansible/roles:/etc/ansible/roles:${XCI_PATH}/xci/playbooks/roles +# NOTE(hwoarang): This is a workaround for SUSE until upstream PR is accepted +# https://github.com/kubernetes-incubator/kubespray/pull/2380 +if [[ ${XCI_DISTRO} == opensuse ]]; then + export KUBESPRAY_GIT_URL=https://github.com/hwoarang/kubespray.git + export KUBESPRAY_VERSION=add-opensuse-support +fi + #------------------------------------------------------------------------------- # Configure localhost #------------------------------------------------------------------------------- @@ -112,3 +119,5 @@ USERNAME=$(echo $USER_CSV |awk -F ',' '{print $2}') PASSWORD=$(echo $USER_CSV |awk -F ',' '{print $1}') echo "Info: Dashboard username: ${USERNAME}" echo "Info: Dashboard password: ${PASSWORD}" + +# vim: set ts=4 sw=4 expandtab: diff --git a/xci/installer/osa/files/ansible-role-requirements.yml b/xci/installer/osa/files/ansible-role-requirements.yml index 5e25c02c..761609ef 100644 --- a/xci/installer/osa/files/ansible-role-requirements.yml +++ b/xci/installer/osa/files/ansible-role-requirements.yml @@ -7,36 +7,36 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## -# these versions are based on the osa commit eee0498dbe21fea565c06c686546c0734c4bb2e3 on 2018-03-02 -# http://git.openstack.org/cgit/openstack/openstack-ansible/commit/?id=eee0498dbe21fea565c06c686546c0734c4bb2e3 +# these versions are based on the osa commit dbf6a9c54a8a3aa59eb998daef296022eeadfa0f on 2018-03-21 +# http://git.openstack.org/cgit/openstack/openstack-ansible/commit/?id=dbf6a9c54a8a3aa59eb998daef296022eeadfa0f - name: ansible-hardening scm: git src: https://github.com/openstack/ansible-hardening - version: 0635fb840aafc914f2ffdfedc4548dc1abb37c7a + version: 3f870c24f9bcd88ec1f1d7815c30cf2abfac39e5 - name: apt_package_pinning scm: git src: https://github.com/openstack/openstack-ansible-apt_package_pinning - version: af87185d6d9a2ed066db85a9e6e2bec4d047089b + version: b488ec5ee3092ba5b6765b5888c9ad2e44922ec5 - name: pip_install scm: git src: https://github.com/openstack/openstack-ansible-pip_install - version: faf690dffb820104c9ad707fe11ca646b7b78098 + version: 99181a635478d082f5b8f2bf47d15509907fafb7 - name: galera_client scm: git src: https://github.com/openstack/openstack-ansible-galera_client - version: ccafe5e816694907869c6591b5121fc59074934c + version: 4bc75a7b141fa0ff0ff1f35d26c09163df482b34 - name: galera_server scm: git src: https://github.com/openstack/openstack-ansible-galera_server - version: dfb3d59dfb87eedb84a3e7b0bafb3764dd8a2cfa + version: 9b2c2e8098f0f02e206c0498fa466a6798f7c89d - name: ceph_client scm: git src: https://github.com/openstack/openstack-ansible-ceph_client - version: ab68c5e925e086c91b1ad4064cb406cc736bdb23 + version: 50ea8b644c0713d007f6f172cd7bbc850f44a55a - name: haproxy_server scm: git src: https://github.com/openstack/openstack-ansible-haproxy_server - version: 212e9bd262ee8fb9c635597516d56879ac817c7c + version: 0c0c9453e8760fcbb0a126e6c97de83f004ae06b - name: keepalived scm: git src: https://github.com/evrardjp/ansible-keepalived @@ -44,135 +44,135 @@ - name: lxc_container_create scm: git src: https://github.com/openstack/openstack-ansible-lxc_container_create - version: 87353ebc316286b1f883124c45860a021e518889 + version: 3d1e70d1be8d10a54da35ad97c3e750384f8a73b - name: lxc_hosts scm: git src: https://github.com/openstack/openstack-ansible-lxc_hosts - version: 0c6d6c89acda8db63d93e6514359a03e782089aa + version: 0abc1e2352f928e6c42bd952c1434dd0060cdaa2 - name: memcached_server scm: git src: https://github.com/openstack/openstack-ansible-memcached_server - version: 0e526d63e68c9318dbe249ffcb355672c401268a + version: 67ff6cd34d8158dde56a7a59b8ccbdd079effde5 - name: openstack_hosts scm: git src: https://github.com/openstack/openstack-ansible-openstack_hosts - version: 3e64936b228593d3dd59bf3b3203023b4c6e554c + version: 372be6bfc1169131c6607c4f0f5758563dc1265f - name: os_keystone scm: git src: https://github.com/openstack/openstack-ansible-os_keystone - version: 17f702aa093579e61b482c7496e2a1f056819483 + version: 48019740f86570f8bcb14068a0e253b05ffb4336 - name: openstack_openrc scm: git src: https://github.com/openstack/openstack-ansible-openstack_openrc - version: 735e066ba19caebb9299aaab163f5082d2b04bd4 + version: e86c73ef9af547b30a4aab0d39aca96359bf5ce4 - name: os_aodh scm: git src: https://github.com/openstack/openstack-ansible-os_aodh - version: 492ff856886ab096329dee337728e7c88482e9f9 + version: 75c8a1f07c0b0f8e8baa68198be789efd453183e - name: os_barbican scm: git src: https://github.com/openstack/openstack-ansible-os_barbican - version: bb2b7264292e7a957c66b95ac412a94c0d8e407d + version: bd8b72cb68c2629f3d1c032f315eb9c25931920e - name: os_ceilometer scm: git src: https://github.com/openstack/openstack-ansible-os_ceilometer - version: 0b88342fa352f2bc048104f66c9476f465d1d23d + version: c9b2115cf7c38a5861a8126d45eddef9ea03d1ad - name: os_cinder scm: git src: https://github.com/openstack/openstack-ansible-os_cinder - version: 782c27cf60aa57cc2168ca51b6a8a7f2b43acfc6 + version: c96e5e21273adbaa48ebb8f957226c6ec0ad3b8c - name: os_designate scm: git src: https://github.com/openstack/openstack-ansible-os_designate - version: e9c1d198a4dcb645f7c1f3cff22e98dab180315a + version: b1a08cc7e897e5b600415a69280a64f8f61dd66c - name: os_glance scm: git src: https://github.com/openstack/openstack-ansible-os_glance - version: 6c5c8d3d915f506a60b89251bd5caaba3b383ef0 + version: 9f2aa6478dadab3a4ec0cee6d23ffc86fa76a99b - name: os_gnocchi scm: git src: https://github.com/openstack/openstack-ansible-os_gnocchi - version: 4891d9bdfb4569f3097373f2fb2e677795663a52 + version: 5beb9ca451812959f09c9f9235eee529c42b3805 - name: os_heat scm: git src: https://github.com/openstack/openstack-ansible-os_heat - version: dda5325225213c095c7c5697f30df8c41bcd9d4e + version: 7eff32af7fae96096694d582589389c66d10a8a3 - name: os_horizon scm: git src: https://github.com/openstack/openstack-ansible-os_horizon - version: ec13e3b9e0c46616812c9278ddd606fdd3082682 + version: ea9a27931e6d7f22df23ea02e1c0938ba576fada - name: os_ironic scm: git src: https://github.com/openstack/openstack-ansible-os_ironic - version: 5b7f9f342f2346aa38f69204936d0d428800afed + version: 8c33498070489e2ff645cc1286df535e2b16726b - name: os_magnum scm: git src: https://github.com/openstack/openstack-ansible-os_magnum - version: 1d55c75816b7eed495806e1793cbe130804af8fc + version: 06087d8d193f4985ed8c33e996b02fa717628c27 - name: os_molteniron scm: git src: https://github.com/openstack/openstack-ansible-os_molteniron - version: 07c6cdc462a56e6c76e5071414d35da3878aa14f + version: 5102381790218c390438011f64e763016d335c61 - name: os_neutron scm: git src: https://github.com/openstack/openstack-ansible-os_neutron - version: 454d1f5c115a11023a33f60b0cdf8f687cfa3596 + version: 4bbb681632f2d577585905982d81fa019332f993 - name: os_nova scm: git src: https://github.com/openstack/openstack-ansible-os_nova - version: d0154df0818cb1b97537e1d65409818959a021d4 + version: 8c6a1b572e334bf185bf23759b90089a88a88b4b - name: os_octavia scm: git src: https://github.com/openstack/openstack-ansible-os_octavia - version: 23ad1f1828c5ab1737cbaf48cd4b4a83f67a45d4 + version: c4cdbc5f36c43591cf729a5ce0f2a1e605c30be0 - name: os_rally scm: git src: https://github.com/openstack/openstack-ansible-os_rally - version: 6c4e344def546adf76545d741a6ef24e5cbf7daa + version: 083bbb8c1290506797d49c51ee91a344a481d25c - name: os_sahara scm: git src: https://github.com/openstack/openstack-ansible-os_sahara - version: 06c328e1872cdce959bfa1e5c6cedf3c4cde65a6 + version: 9b5111884ebd64ec8088bbdfb3b9a58cdabf1edb - name: os_swift scm: git src: https://github.com/openstack/openstack-ansible-os_swift - version: 37eb776041ad324a01bc673da0eb7894566f419d + version: 5e88210fdd42d40960a14767fc662b3bd8a73c8a - name: os_tacker scm: git src: https://github.com/openstack/openstack-ansible-os_tacker - version: 68305ee8e03885967c95520614e50ba84176f5c1 + version: d4acca1ce9ec3ce0c599a3424fa3c92ee318d270 - name: os_tempest scm: git src: https://github.com/openstack/openstack-ansible-os_tempest - version: 48d9b6d46965462aa01ef353ca06ffdbc5b55c33 + version: f34582d887e8e26e99710b29ac35306938ca857c - name: os_trove scm: git src: https://github.com/openstack/openstack-ansible-os_trove - version: a63122f8fdffdf19719788911999fdb0e3b13fa5 + version: 6cd21b625d9f3da5c537e98064f67001173c9174 - name: plugins scm: git src: https://github.com/openstack/openstack-ansible-plugins - version: a9ee4932cb30522549db4866148ef066e2e2ab7d + version: 2472c81eb3b065a7ed7dc4fd6bc4fef3f171089c - name: rabbitmq_server scm: git src: https://github.com/openstack/openstack-ansible-rabbitmq_server - version: 52f3b38b630b54eb45e81a8f0b5348f72ffa967d + version: cffd1ebd45e20331ee505568cd34c277d3225138 - name: repo_build scm: git src: https://github.com/openstack/openstack-ansible-repo_build - version: 1948d899a5c76143cf24c1a8ae162906a8e1faf1 + version: df5483086d92d1148d1e763247e086ff44388aaf - name: repo_server scm: git src: https://github.com/openstack/openstack-ansible-repo_server - version: 0a3b993bf18f82fdf6199769302d971d917a8595 + version: 5979a638eade8523f113714f9fd5c0fb59353277 - name: rsyslog_client scm: git src: https://github.com/openstack/openstack-ansible-rsyslog_client - version: 6576a296328c7c2eeeec360978133913d81fb647 + version: ed8e178c38a28cab87b8d9bd4396caccf8c0e790 - name: rsyslog_server scm: git src: https://github.com/openstack/openstack-ansible-rsyslog_server - version: 3e1db84f1a9be6473bfbb8f80495f747b406e8ef + version: d401a62d2f8ff7c8e6924b6fae0086e47ab37fa6 - name: sshd scm: git src: https://github.com/willshersystems/ansible-sshd @@ -200,7 +200,7 @@ - name: opendaylight scm: git src: https://github.com/opendaylight/integration-packaging-ansible-opendaylight - version: 4aabce0605ef0f51eef4d6564cc7d779630706c5 + version: 72face5c6bfcef4e548d2af5066eff884b4cfac7 - name: haproxy_endpoints scm: git src: https://github.com/logan2211/ansible-haproxy-endpoints diff --git a/xci/installer/osa/files/ha/user_variables.yml b/xci/installer/osa/files/ha/user_variables.yml index ea349456..c6f1b065 100644 --- a/xci/installer/osa/files/ha/user_variables.yml +++ b/xci/installer/osa/files/ha/user_variables.yml @@ -21,6 +21,9 @@ # # Debug and Verbose options. debug: false +# package_state: present should give us a better chance to finish +package_state: present + # Allow root logins security_sshd_permit_root_login: yes diff --git a/xci/installer/osa/files/mini/user_variables.yml b/xci/installer/osa/files/mini/user_variables.yml index c812f1df..9fb2001e 100644 --- a/xci/installer/osa/files/mini/user_variables.yml +++ b/xci/installer/osa/files/mini/user_variables.yml @@ -21,6 +21,9 @@ # # Debug and Verbose options. debug: false +# package_state: present should give us a better chance to finish +package_state: present + # Allow root logins security_sshd_permit_root_login: yes diff --git a/xci/installer/osa/files/noha/user_variables.yml b/xci/installer/osa/files/noha/user_variables.yml index 91ceba2d..95450937 100644 --- a/xci/installer/osa/files/noha/user_variables.yml +++ b/xci/installer/osa/files/noha/user_variables.yml @@ -21,6 +21,9 @@ # # Debug and Verbose options. debug: false +# package_state: present should give us a better chance to finish +package_state: present + # Allow root logins security_sshd_permit_root_login: yes diff --git a/xci/installer/osa/files/openstack_services.yml b/xci/installer/osa/files/openstack_services.yml index 65ff43f8..95abec5c 100644 --- a/xci/installer/osa/files/openstack_services.yml +++ b/xci/installer/osa/files/openstack_services.yml @@ -31,210 +31,210 @@ ## Global Requirements requirements_git_repo: https://github.com/openstack/requirements -requirements_git_install_branch: 46890f5b5654c14c54a3c1990cb51a8e01b35791 # HEAD of "stable/queens" as of 13.02.2018 +requirements_git_install_branch: 207ac2e166f0874b7ff891535bdb78ecf36cabc6 # HEAD of "stable/queens" as of 01.03.2018 ## Aodh service aodh_git_repo: https://github.com/openstack/aodh -aodh_git_install_branch: a1e60be0b8018fea95f2c0020545d0e6cd63fdbf # HEAD of "master" as of 10.02.2018 because no stable/queens branch yet +aodh_git_install_branch: f549faea0ea19dad5bb3f1871b7d66ae5d9d80f2 # HEAD of "stable/queens" as of 01.03.2018 aodh_git_project_group: aodh_all ## Barbican service barbican_git_repo: https://github.com/openstack/barbican -barbican_git_install_branch: 5b525f6b0a7cf5342a9ffa3ca3618028d6d53649 # HEAD of "stable/queens" as of 13.02.2018 +barbican_git_install_branch: 5b525f6b0a7cf5342a9ffa3ca3618028d6d53649 # HEAD of "stable/queens" as of 01.03.2018 barbican_git_project_group: barbican_all ## Ceilometer service ceilometer_git_repo: https://github.com/openstack/ceilometer -ceilometer_git_install_branch: 71a13e1b831e782e7ca25aa0fcd9ebf92a830302 # HEAD of "stable/queens" as of 10.02.2018 +ceilometer_git_install_branch: 24caac82528be7678165bf12fb5b997852727ecd # HEAD of "stable/queens" as of 01.03.2018 ceilometer_git_project_group: ceilometer_all ## Cinder service cinder_git_repo: https://github.com/openstack/cinder -cinder_git_install_branch: d02b6894f50f07ebd6f4e424f2438e58c234630d # HEAD of "stable/queens" as of 10.02.2018 +cinder_git_install_branch: b61a02de56c1b9cc6d5003b5304ce66ee930f37b # HEAD of "stable/queens" as of 01.03.2018 cinder_git_project_group: cinder_all ## Designate service designate_git_repo: https://github.com/openstack/designate -designate_git_install_branch: 5772ec049be2ae7570d98b4815be16947a045ff9 # HEAD of "stable/queens" as of 10.02.2018 +designate_git_install_branch: 6ca9446bdcf04ba80787348892937cf19eefbf5a # HEAD of "stable/queens" as of 01.03.2018 designate_git_project_group: designate_all ## Horizon Designate dashboard plugin designate_dashboard_git_repo: https://github.com/openstack/designate-dashboard -designate_dashboard_git_install_branch: df336662cbda7befe177b780c95a61c72df6973d # HEAD of "stable/queens" as of 10.02.2018 +designate_dashboard_git_install_branch: 5570a2dd51ccd3750012bfde9991f0689a02323b # HEAD of "stable/queens" as of 01.03.2018 designate_dashboard_git_project_group: horizon_all ## Dragonflow service dragonflow_git_repo: https://github.com/openstack/dragonflow -dragonflow_git_install_branch: 8285aff0bc1c2c1c28e2f16a341ab769b93c40d6 # HEAD of "master" as of 10.02.2018 because no stable/queens branch yet +dragonflow_git_install_branch: a2f50a8e8222ae1de04e44a6fd6f7e00d5864fc0 # HEAD of "master" as of 01.03.2018 dragonflow_git_project_group: neutron_all ## Glance service glance_git_repo: https://github.com/openstack/glance -glance_git_install_branch: cbd6c08c35b6469765ae9519513c46b2a563a586 # HEAD of "stable/queens" as of 10.02.2018 +glance_git_install_branch: 968f4ae9ce244d9372cb3e8f45acea9d557f317d # HEAD of "stable/queens" as of 01.03.2018 glance_git_project_group: glance_all ## Heat service heat_git_repo: https://github.com/openstack/heat -heat_git_install_branch: 98636290c5a4ed9c7d608a1944124b5d92678107 # HEAD of "stable/queens" as of 10.02.2018 +heat_git_install_branch: 43f122be13736f15fbc38cb6e6ce29545f784c86 # HEAD of "stable/queens" as of 01.03.2018 heat_git_project_group: heat_all ## Horizon service horizon_git_repo: https://github.com/openstack/horizon -horizon_git_install_branch: d3b403a96cd32e5c2c14261c75daf35275dda66f # HEAD of "stable/queens" as of 10.02.2018 +horizon_git_install_branch: d017fde2a0fdc48e4687f0f5ae0362ba6c5ad66a # HEAD of "stable/queens" as of 01.03.2018 horizon_git_project_group: horizon_all ## Horizon Ironic dashboard plugin ironic_dashboard_git_repo: https://github.com/openstack/ironic-ui -ironic_dashboard_git_install_branch: 7614aa2504df1e6370b6d36fba57d27315287179 # HEAD of "stable/queens" as of 10.02.2018 +ironic_dashboard_git_install_branch: 1c4cbd2b90270f65d04b91ddc5f86efa35bbc622 # HEAD of "stable/queens" as of 01.03.2018 ironic_dashboard_git_project_group: horizon_all ## Horizon Magnum dashboard plugin magnum_dashboard_git_repo: https://github.com/openstack/magnum-ui -magnum_dashboard_git_install_branch: c7692de7c046cab3a5669520818fbe61f17811c8 # HEAD of "master" as of 10.02.2018 because no stable/queens branch yet +magnum_dashboard_git_install_branch: 051408e5b86615f74e5fa4cd2e4284b6d1e6a3f2 # HEAD of "stable/queens" as of 01.03.2018 magnum_dashboard_git_project_group: horizon_all ## Horizon LBaaS dashboard plugin neutron_lbaas_dashboard_git_repo: https://github.com/openstack/neutron-lbaas-dashboard -neutron_lbaas_dashboard_git_install_branch: a42434a21bf95566472dc6c8ce078ca84432423d # HEAD of "stable/queens" as of 10.02.2018 +neutron_lbaas_dashboard_git_install_branch: a42434a21bf95566472dc6c8ce078ca84432423d # HEAD of "stable/queens" as of 01.03.2018 neutron_lbaas_dashboard_git_project_group: horizon_all ## Horizon FWaaS dashboard plugin neutron_fwaas_dashboard_git_repo: https://github.com//openstack/neutron-fwaas-dashboard -neutron_fwaas_dashboard_git_install_branch: 193940f465f9b5f1798f22239cc629d3ff3beece # HEAD of "stable/queens" as of 10.02.2018 +neutron_fwaas_dashboard_git_install_branch: a710e7c4f48afe0261ef25efc44088346124de1c # HEAD of "stable/queens" as of 01.03.2018 neutron_fwaas_dashboard_git_project_group: horizon_all ## Horizon Sahara dashboard plugin sahara_dashboard_git_repo: https://github.com/openstack/sahara-dashboard -sahara_dashboard_git_install_branch: 03ef0ca66f72e3ccc6a7f01b26d6f43590701db9 # HEAD of "stable/queens" as of 10.02.2018 +sahara_dashboard_git_install_branch: 707059ff4e372ae66b21b82050a9e16295176782 # HEAD of "stable/queens" as of 01.03.2018 sahara_dashboard_git_project_group: horizon_all ## Keystone service keystone_git_repo: https://github.com/openstack/keystone -keystone_git_install_branch: 30afb87247b6f6b7afbe431139e3471a2739aa1a # HEAD of "stable/queens" as of 10.02.2018 +keystone_git_install_branch: c06d74fcf4cf5338db6572265c609036f6817466 # HEAD of "stable/queens" as of 01.03.2018 keystone_git_project_group: keystone_all ## Neutron service neutron_git_repo: https://github.com/openstack/neutron -neutron_git_install_branch: e6b4fe995d903844c5d4c3dcd98bb424814eeb04 # HEAD of "stable/queens" as of 10.02.2018 +neutron_git_install_branch: abb60c6175af435964028ce7c97bb4803aeab004 # HEAD of "stable/queens" as of 01.03.2018 neutron_git_project_group: neutron_all neutron_lbaas_git_repo: https://github.com/openstack/neutron-lbaas -neutron_lbaas_git_install_branch: f6b8b5b0ad2c19ddf6a7c102c706cbfdb0b2bf05 # HEAD of "stable/queens" as of 10.02.2018 +neutron_lbaas_git_install_branch: f6b8b5b0ad2c19ddf6a7c102c706cbfdb0b2bf05 # HEAD of "stable/queens" as of 01.03.2018 neutron_lbaas_git_project_group: neutron_all neutron_vpnaas_git_repo: https://github.com/openstack/neutron-vpnaas -neutron_vpnaas_git_install_branch: 2e01dfec9fda930cf8c5ce4abca23b354859274a # HEAD of "stable/queens" as of 10.02.2018 +neutron_vpnaas_git_install_branch: 8b01dcabb456d2d0bdf905b23f0bdb3ff2530f4d # HEAD of "stable/queens" as of 01.03.2018 neutron_vpnaas_git_project_group: neutron_all neutron_fwaas_git_repo: https://github.com/openstack/neutron-fwaas -neutron_fwaas_git_install_branch: 74c90445f8e25d0ae4fb45a48bfb5d5e670c82d8 # HEAD of "stable/queens" as of 10.02.2018 +neutron_fwaas_git_install_branch: 43f56b794b19bb0f362e1d0a1449ee24bb16156e # HEAD of "stable/queens" as of 01.03.2018 neutron_fwaas_git_project_group: neutron_all neutron_dynamic_routing_git_repo: https://github.com/openstack/neutron-dynamic-routing -neutron_dynamic_routing_git_install_branch: 4115b4972dc2e8e9ead82d9b7e63a516e404d28f # HEAD of "stable/queens" as of 10.02.2018 +neutron_dynamic_routing_git_install_branch: 386b5e4c33ab765eb7a72e9a9d4ffc1524d7d0c8 # HEAD of "stable/queens" as of 01.03.2018 neutron_dynamic_routing_git_project_group: neutron_all networking_calico_git_repo: https://github.com/openstack/networking-calico -networking_calico_git_install_branch: cc3628125775f2f1b3c57c95db3d6b50278dc92b # HEAD of "stable/queens" as of 10.02.2018 because no stable/queens branch yet +networking_calico_git_install_branch: 10626324b597585cc781197133d4b12f890b8081 # HEAD of "master" as of 01.03.2018 networking_calico_git_project_group: neutron_all networking_odl_git_repo: https://github.com/openstack/networking-odl -networking_odl_git_install_branch: ff80c7decc196cae5d7940aabbf14e5c37a94335 # HEAD of "stable/queens" as of 10.02.2018 +networking_odl_git_install_branch: 8733cf68cbc827a4dd458e3328b5fd2c23a07bcf # HEAD of "stable/queens" as of 01.03.2018 networking_odl_git_project_group: neutron_all networking_bgpvpn_git_repo: https://github.com/openstack/networking-bgpvpn -networking_bgpvpn_git_install_branch: 38781f232fa457c4032d6697ca9239dc538bc5c9 # HEAD of "stable/queens" as of 10.02.2018 +networking_bgpvpn_git_install_branch: a15c091d8a616c1fd1d3741f32c5d135b5db594f # HEAD of "stable/queens" as of 01.03.2018 networking_bgpvpn_git_project_group: neutron_all networking_sfc_git_repo: https://github.com/openstack/networking-sfc -networking_sfc_git_install_branch: 86f958ec212efdaa0508f71ebc389cc1b060ea34 # HEAD of "stable/queens" as of 10.02.2018 +networking_sfc_git_install_branch: cbb68837a38428766ed4d22c5adfe3b2bc6c5f99 # HEAD of "stable/queens" as of 01.03.2018 networking_sfc_git_project_group: neutron_all ## Nova service nova_git_repo: https://github.com/openstack/nova -nova_git_install_branch: 01b756f960ed19ab801994d08d749dd94d729a22 # HEAD of "stable/queens" as of 10.02.2018 +nova_git_install_branch: 5039511840bd64151f3111d9c8d7d8a01344193b # HEAD of "stable/queens" as of 01.03.2018 nova_git_project_group: nova_all ## PowerVM Virt Driver nova_powervm_git_repo: https://github.com/openstack/nova-powervm -nova_powervm_git_install_branch: a4e0721c6b307ab0046c3314aaa2b691ff8053df # HEAD of "stable/queens" as of 10.02.2018 +nova_powervm_git_install_branch: 2999bff2d0e651cc091757d0501f82af2691daf6 # HEAD of "stable/queens" as of 01.03.2018 nova_powervm_git_project_group: nova_all ## LXD Virt Driver nova_lxd_git_repo: https://github.com/openstack/nova-lxd -nova_lxd_git_install_branch: 16d06d149ed979745aa0ccd2b6db23122d17b57f # HEAD of "master" as of 10.02.2018 becayse no stable/queens branch yet +nova_lxd_git_install_branch: 01b6a8e07558678505e3fa2b6f9ea2d10f821642 # HEAD of "stable/queens" as of 01.03.2018 nova_lxd_git_project_group: nova_all ## Sahara service sahara_git_repo: https://github.com/openstack/sahara -sahara_git_install_branch: 4e2cf14ef9fb7c5c0009a2a6e53a28ac1748d9cb # HEAD of "stable/queens" as of 10.02.2018 +sahara_git_install_branch: abcc07a70f2da288548aa96abb16c8380e46dcf9 # HEAD of "stable/queens" as of 01.03.2018 sahara_git_project_group: sahara_all ## Swift service swift_git_repo: https://github.com/openstack/swift -swift_git_install_branch: 700a6756da70026fbffe3977bd40fc73404b5e25 # HEAD of "stable/queens" as of 10.02.2018 +swift_git_install_branch: bd4b3c5dc9256fc0d6cca8f925705740c2395efd # HEAD of "stable/queens" as of 01.03.2018 swift_git_project_group: swift_all ## Swift3 middleware swift_swift3_git_repo: https://github.com/openstack/swift3 -swift_swift3_git_install_branch: 1c117c96dda8113c3398c16e68b61efef397de74 # HEAD of "stable/queens" as of 10.02.2018 +swift_swift3_git_install_branch: 1c117c96dda8113c3398c16e68b61efef397de74 # HEAD of "master" as of 01.03.2018 swift_swift3_git_project_group: swift_all ## Ironic service ironic_git_repo: https://github.com/openstack/ironic -ironic_git_install_branch: 6ab2908f829f39f6fb438a7bae9b671abfa97588 # HEAD of "stable/queens" as of 10.02.2018 +ironic_git_install_branch: 4c3a611ac3803a17dd584eb319f0bb40d6ee5ba3 # HEAD of "stable/queens" as of 01.03.2018 ironic_git_project_group: ironic_all ## Magnum service magnum_git_repo: https://github.com/openstack/magnum -magnum_git_install_branch: 8e879f67dd21202f90504a86d617470fbe605338 # HEAD of "stable/queens" as of 10.02.2018 +magnum_git_install_branch: 0b3133280fd7dbde65c8581b7be03cd1e3686bc4 # HEAD of "stable/queens" as of 01.03.2018 magnum_git_project_group: magnum_all ## Trove service trove_git_repo: https://github.com/openstack/trove -trove_git_install_branch: 9e5186b95bba51d911a0de9e6d6bd412c478aef4 # HEAD of "stable/queens" as of 10.02.2018 +trove_git_install_branch: 43d2b96f86a5365d69c885738ea1c3642f4e5aa1 # HEAD of "stable/queens" as of 01.03.2018 trove_git_project_group: trove_all ## Horizon Trove dashboard plugin trove_dashboard_git_repo: https://github.com/openstack/trove-dashboard -trove_dashboard_git_install_branch: bd33e730f52889a6979e7d751e6732ce06806774 # HEAD of "stable/queens" as of 10.02.2018 +trove_dashboard_git_install_branch: f7cf9d5bbe8b04fc9ea95e79b9bec21842d324f9 # HEAD of "stable/queens" as of 01.03.2018 trove_dashboard_git_project_group: horizon_all ## Octavia service octavia_git_repo: https://github.com/openstack/octavia -octavia_git_install_branch: 45be6ff7cb06134c2b5a90af7d246316cd0495f8 # HEAD of "stable/queens" as of 10.02.2018 +octavia_git_install_branch: 9f379aef7c0665d4183ac549ed7a0dbc0e5d3aca # HEAD of "stable/queens" as of 01.03.2018 octavia_git_project_group: octavia_all ## Molteniron service molteniron_git_repo: https://github.com/openstack/molteniron -molteniron_git_install_branch: 094276cda77d814d07ad885e7d63de8d1243750a # HEAD of "master" as of 10.02.2018 because no stable/queens branch yet +molteniron_git_install_branch: 094276cda77d814d07ad885e7d63de8d1243750a # HEAD of "master" as of 01.03.2018 molteniron_git_project_group: molteniron_all ## Tacker service tacker_git_repo: https://github.com/openstack/tacker -tacker_git_install_branch: 6932f5642598d53d93f94514eaed55cc93ea19d7 # HEAD of "stable/queens" as of 10.02.2018 +tacker_git_install_branch: 6932f5642598d53d93f94514eaed55cc93ea19d7 # HEAD of "stable/queens" as of 01.03.2018 tacker_git_project_group: tacker_all diff --git a/xci/installer/osa/playbooks/configure-opnfvhost.yml b/xci/installer/osa/playbooks/configure-opnfvhost.yml index 3a904aed..2485f477 100644 --- a/xci/installer/osa/playbooks/configure-opnfvhost.yml +++ b/xci/installer/osa/playbooks/configure-opnfvhost.yml @@ -110,7 +110,7 @@ shell: "/bin/cp -rf {{ remote_xci_path }}/xci/installer/osa/files/openstack_services.yml {{openstack_osa_path}}/playbooks/defaults/repo_packages/openstack_services.yml" when: - openstack_osa_version != "master" - - include: bootstrap-scenarios.yml + - include: "{{ xci_path }}/xci/playbooks/bootstrap-scenarios.yml" - name: bootstrap ansible on opnfv host command: "/bin/bash ./scripts/bootstrap-ansible.sh" args: @@ -124,6 +124,27 @@ - pyyaml - python-neutronclient - python-openstackclient + - name: Install ARA callback plugin in OSA virtualenv + pip: + name: ara + state: present + extra_args: '-c https://raw.githubusercontent.com/openstack/requirements/{{ requirements_git_install_branch }}/upper-constraints.txt' + executable: '/opt/ansible-runtime/bin/pip' + - name: Determine ARA callback location + shell: "/opt/ansible-runtime/bin/python -c 'import os,ara; print(os.path.dirname(ara.__file__))'" + args: + executable: /bin/bash + register: _ara_install_dir + - name: Create local Ansible plugins directory + file: + path: "{{ ansible_env.HOME }}/.ansible/plugins/callback/ara" + state: directory + - name: Configure ARA callback + file: + path: "{{ ansible_env.HOME }}/.ansible/plugins/callback/ara/callbacks" + src: "{{ _ara_install_dir.stdout }}/plugins/callbacks" + force: yes + state: link - name: generate password token command: "python pw-token-gen.py --file {{openstack_osa_etc_path}}/user_secrets.yml" args: diff --git a/xci/opnfv-scenario-requirements.yml b/xci/opnfv-scenario-requirements.yml index 29b5c775..a8361535 100644 --- a/xci/opnfv-scenario-requirements.yml +++ b/xci/opnfv-scenario-requirements.yml @@ -72,6 +72,7 @@ distros: - ubuntu - centos + - opensuse - scenario: os-odl-bgpvpn scm: git diff --git a/xci/installer/osa/playbooks/bootstrap-scenarios.yml b/xci/playbooks/bootstrap-scenarios.yml index 6546d5ce..6546d5ce 100644 --- a/xci/installer/osa/playbooks/bootstrap-scenarios.yml +++ b/xci/playbooks/bootstrap-scenarios.yml diff --git a/xci/scenarios/os-odl-nofeature/role/os-odl-nofeature/tasks/main.yml b/xci/scenarios/os-odl-nofeature/role/os-odl-nofeature/tasks/main.yml index cd016f5f..7e872787 100644 --- a/xci/scenarios/os-odl-nofeature/role/os-odl-nofeature/tasks/main.yml +++ b/xci/scenarios/os-odl-nofeature/role/os-odl-nofeature/tasks/main.yml @@ -9,8 +9,8 @@ ############################################################################## - name: copy user_variables_os-odl-nofeature.yml - copy: - src: "user_variables_os-odl-nofeature.yml" + template: + src: "user_variables_os-odl-nofeature.yml.j2" dest: "{{openstack_osa_etc_path}}/user_variables_os-odl-nofeature.yml" - name: copy user_variables_os-odl-nofeature-ha.yml diff --git a/xci/scenarios/os-odl-nofeature/role/os-odl-nofeature/files/user_variables_os-odl-nofeature.yml b/xci/scenarios/os-odl-nofeature/role/os-odl-nofeature/templates/user_variables_os-odl-nofeature.yml.j2 index 403d372c..5a5ec553 100644 --- a/xci/scenarios/os-odl-nofeature/role/os-odl-nofeature/files/user_variables_os-odl-nofeature.yml +++ b/xci/scenarios/os-odl-nofeature/role/os-odl-nofeature/templates/user_variables_os-odl-nofeature.yml.j2 @@ -18,6 +18,7 @@ # ## the defaults for each role to find additional override options. # ## +{% raw %} # Ensure the openvswitch kernel module is loaded openstack_host_specific_kernel_modules: - name: "openvswitch" @@ -36,4 +37,9 @@ neutron_opendaylight_conf_ini_overrides: neutron_ml2_drivers_type: "flat,vlan,vxlan" neutron_plugin_base: - - odl-router_v2
\ No newline at end of file + - odl-router_v2 +{% endraw %} + +{% if ODL_VERSION is defined %} +odl_repo_url: "{{ repo_url[ ansible_pkg_mgr ] }}" +{% endif %} diff --git a/xci/scenarios/os-odl-nofeature/role/os-odl-nofeature/vars/main.yml b/xci/scenarios/os-odl-nofeature/role/os-odl-nofeature/vars/main.yml new file mode 100644 index 00000000..5f672b37 --- /dev/null +++ b/xci/scenarios/os-odl-nofeature/role/os-odl-nofeature/vars/main.yml @@ -0,0 +1,10 @@ +--- +odl_version: + master: 9 + oxygen: 8 + nitrogen: 7 + +repo_url: + zypper: "{% if ODL_VERSION is defined %}https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-{{ odl_version[ODL_VERSION] }}-opensuse-devel.repo{% endif %}" + yum: "{% if ODL_VERSION is defined %}https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-{{ odl_version[ODL_VERSION] }}-devel.repo{% endif %}" + apt: "{% if ODL_VERSION is defined %}https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-{{ odl_version[ODL_VERSION] }}-ubuntu-devel.repo{% endif %}" diff --git a/xci/scripts/vm/start-new-vm.sh b/xci/scripts/vm/start-new-vm.sh index 6e5c8194..f266d64f 100755 --- a/xci/scripts/vm/start-new-vm.sh +++ b/xci/scripts/vm/start-new-vm.sh @@ -179,6 +179,8 @@ else update_clean_vm_files fi +declare -r XCI_DEPLOYMENT_IMAGE="deployment_image.qcow2" + # Doesn't matter if we just built an image or got one from artifacts. In both # cases there should be a copy in the cache so copy it over. sudo rm -f ${BASE_PATH}/${OS}.qcow2 @@ -186,8 +188,8 @@ sudo rm -f ${BASE_PATH}/${OS}.qcow2 sudo chmod 777 -R $XCI_CACHE_DIR/clean_vm/images/ sudo chown $uid:$gid -R $XCI_CACHE_DIR/clean_vm/images/ cp ${XCI_CACHE_DIR}/clean_vm/images/${OS}.qcow2* ${BASE_PATH}/ -cp ${XCI_CACHE_DIR}/clean_vm/images/${OS}.qcow2.sha256.txt ${BASE_PATH}/deployment_image.qcow2.sha256.txt -cp ${XCI_CACHE_DIR}/clean_vm/images/${OS}.qcow2 ${BASE_PATH}/deployment_image.qcow2 +cp ${XCI_CACHE_DIR}/clean_vm/images/${OS}.qcow2.sha256.txt ${BASE_PATH}/${XCI_DEPLOYMENT_IMAGE}.sha256.txt +cp ${XCI_CACHE_DIR}/clean_vm/images/${OS}.qcow2 ${BASE_PATH}/${XCI_DEPLOYMENT_IMAGE} cd ${BASE_PATH} declare -r OS_IMAGE_FILE=${OS}.qcow2 @@ -332,11 +334,13 @@ EOF # Need to copy releng-xci to the vm so we can execute stuff do_copy() { - rsync -a \ - --exclude "${VM_NAME}*" \ - --exclude "${OS}*" \ - --exclude "build.log" \ - -e "$vm_ssh" ${BASE_PATH}/ ${VM_NAME}:~/releng-xci/ + echo "Copying releng-xci host folder to guest vm..." + rsync -a \ + --exclude "${VM_NAME}*" \ + --include "${XCI_DEPLOYMENT_IMAGE}*" \ + --exclude "*qcow2*" \ + --exclude "build.log" \ + -e "$vm_ssh" ${BASE_PATH}/ ${VM_NAME}:~/releng-xci/ } do_copy diff --git a/xci/xci-deploy.sh b/xci/xci-deploy.sh index 04e52fec..fa9f3351 100755 --- a/xci/xci-deploy.sh +++ b/xci/xci-deploy.sh @@ -25,10 +25,15 @@ submit_bug_report() { echo "xci installer: $INSTALLER_TYPE" echo "xci scenario: $DEPLOY_SCENARIO" echo "Environment variables:" - env | grep --color=never '\(OPNFV\|XCI\|INSTALLER_TYPE\|OPENSTACK\|SCENARIO\)' + env | grep --color=never '\(OPNFV\|XCI\|INSTALLER_TYPE\|OPENSTACK\|SCENARIO\|ANSIBLE\)' echo "-------------------------------------------------------------------------" } +exit_trap() { + submit_bug_report + collect_xci_logs +} + #------------------------------------------------------------------------------- # This script should not be run as root #------------------------------------------------------------------------------- @@ -64,6 +69,9 @@ source "$XCI_PATH/xci/config/${XCI_FLAVOR}-vars" source "$XCI_PATH/xci/installer/${INSTALLER_TYPE}/env" &>/dev/null || true # source xci configuration source $XCI_PATH/xci/config/env-vars +# source helpers library +source ${XCI_PATH}/xci/files/install-lib.sh + # Make sure we pass XCI_PATH everywhere export XCI_ANSIBLE_PARAMS+=" -e xci_path=${XCI_PATH}" # Make sure everybody knows where our global roles are @@ -83,7 +91,7 @@ done unset user_local_dev_vars local_user_var # register our handler -trap submit_bug_report ERR +trap exit_trap ERR # We are using sudo so we need to make sure that env_reset is not present sudo sed -i "s/^Defaults.*env_reset/#&/" /etc/sudoers @@ -118,7 +126,7 @@ echo "-------------------------------------------------------------------------" #------------------------------------------------------------------------------- echo "Info: Installing Ansible from pip" echo "-------------------------------------------------------------------------" -bash files/install-ansible.sh +install_ansible echo "-------------------------------------------------------------------------" # Clone OPNFV scenario repositories @@ -148,10 +156,15 @@ echo "Info: Deploying '${INSTALLER_TYPE}' installer" echo "-----------------------------------------------------------------------" source ${XCI_PATH}/xci/installer/${INSTALLER_TYPE}/deploy.sh +# Reset trap +trap ERR + # Deployment time xci_deploy_time=$SECONDS echo "-------------------------------------------------------------------------------------------------------------" echo "Info: xci_deploy.sh deployment took $(($xci_deploy_time / 60)) minutes and $(($xci_deploy_time % 60)) seconds" echo "-------------------------------------------------------------------------------------------------------------" +collect_xci_logs + # vim: set ts=4 sw=4 expandtab: |