Merge "Update upgrade role for Queens from P"

This commit is contained in:
Zuul 2017-10-21 15:58:54 +00:00 committed by Gerrit Code Review
commit 8500291e2a
9 changed files with 158 additions and 47 deletions

View File

@ -69,7 +69,9 @@ target_name = 'openstack-ansible-' + role_name
title = 'OpenStack-Ansible Documentation: ' + role_name + 'role'
# The link to the browsable source code (for the left hand menu)
oslosphinx_cgit_link = 'https://git.openstack.org/cgit/openstack/' + target_name
oslosphinx_cgit_link = (
'https://git.openstack.org/cgit/openstack/{}'.format(target_name)
)
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the

View File

@ -65,7 +65,9 @@ target_name = 'openstack-ansible-' + role_name
title = 'OpenStack-Ansible Release Notes: ' + role_name + 'role'
# The link to the browsable source code (for the left hand menu)
oslosphinx_cgit_link = 'https://git.openstack.org/cgit/openstack/' + target_name
oslosphinx_cgit_link = (
'https://git.openstack.org/cgit/openstack/{}'.format(target_name)
)
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the

View File

@ -49,24 +49,12 @@ install_pkg_deps() {
eval sudo $pkg_mgr_cmd $pkg_deps
}
git_clone_repo() {
if [[ ! -d tests/common ]]; then
# The tests repo doesn't need a clone, we can just
# symlink it.
if [[ "$(basename ${WORKING_DIR})" == "openstack-ansible-tests" ]]; then
ln -s ${WORKING_DIR} ${WORKING_DIR}/tests/common
else
git clone \
https://git.openstack.org/openstack/openstack-ansible-tests \
tests/common
fi
fi
}
# Install the host distro package dependencies
install_pkg_deps
git_clone_repo
# Clone the tests repo for access to the common test script
source tests/tests-repo-clone.sh
# start executing the main test script
# Execute the common test script
source tests/common/run_tests_common.sh

View File

@ -65,7 +65,7 @@
- name: os_previous_nova
src: https://git.openstack.org/openstack/openstack-ansible-os_nova
scm: git
version: stable/ocata
version: stable/pike
- name: opendaylight
scm: git
src: https://git.opendaylight.org/gerrit/p/integration/packaging/ansible-opendaylight.git

View File

@ -1,5 +1,5 @@
---
# Copyright 2016, Rackspace US, Inc.
# Copyright 2015, Rackspace US, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@ -13,50 +13,92 @@
# See the License for the specific language governing permissions and
# limitations under the License.
- include: common/setting-nodepool-variables.yml
- include: common/previous/setting-nodepool-variables.yml
- name: Playbook for deploying nova
- name: Prepare for nova services
hosts: nova_all
user: root
become: true
gather_facts: true
pre_tasks:
# NOTE: These are typically installed in the repo server where we build the
# nova wheel
- name: Install packages required to build nova python package (Ubuntu)
any_errors_fatal: true
vars:
required_packages:
apt:
name: "{{ item }}"
with_items:
- libxml2-dev
- libxslt-dev
- libffi-dev
- pkg-config
- libvirt-dev
when:
- inventory_hostname in groups['nova_all']
- ansible_pkg_mgr == 'apt'
- name: Install packages required to build nova python package (RPM)
package:
name: "{{ item }}"
with_items:
dnf:
- libxml2-devel
- libxslt-devel
- libffi-devel
- "{{ (ansible_pkg_mgr in ['yum', 'dnf']) | ternary('pkgconfig', 'pkg-config') }}"
- pkgconfig
- libvirt-devel
when:
- inventory_hostname in groups['nova_all']
- ansible_pkg_mgr in ['yum', 'dnf', 'zypper']
- include: common/ensure-rabbitmq.yml
yum:
- libxml2-devel
- libxslt-devel
- libffi-devel
- pkgconfig
- libvirt-devel
zypper:
- libxml2-devel
- libxslt-devel
- libffi-devel
- pkg-config
- libvirt-devel
vars_files:
- common/previous/test-vars.yml
tasks:
# NOTE: These are typically installed in the repo server where we build the
# nova wheel
- name: Install packages required to build nova python package
package:
name: "{{ required_packages[ansible_pkg_mgr] }}"
state: present
- include: common/previous/ensure-rabbitmq.yml
vhost_name: "{{ nova_rabbitmq_vhost }}"
user_name: "{{ nova_rabbitmq_userid }}"
user_password: "{{ nova_rabbitmq_password }}"
- include: common/create-grant-db.yml
- include: common/previous/create-grant-db.yml
db_name: "{{ nova_galera_database }}"
db_password: "{{ nova_container_mysql_password }}"
- include: common/create-grant-db.yml
- include: common/previous/create-grant-db.yml
db_name: "{{ nova_api_galera_database }}"
db_password: "{{ nova_container_mysql_password }}"
db_password: "{{ nova_api_container_mysql_password }}"
- include: common/previous/create-grant-db.yml
db_name: "{{ nova_placement_galera_database }}"
db_password: "{{ nova_placement_container_mysql_password }}"
- include: common/previous/create-grant-db.yml
db_name: "{{ nova_cell0_database }}"
db_password: "{{ nova_api_container_mysql_password }}"
db_user: "{{ nova_api_galera_user }}"
db_append_privs: "yes"
- name: Deploy nova control plane
hosts: "nova_all:!nova_compute"
user: root
become: true
gather_facts: true
any_errors_fatal: true
roles:
- role: "os_previous_nova"
vars_files:
- common/previous/test-vars.yml
- name: Deploy nova compute
hosts: "nova_compute"
user: root
become: true
gather_facts: true
any_errors_fatal: true
roles:
- role: "os_previous_nova"
vars_files:
- common/previous/test-vars.yml

View File

@ -28,5 +28,8 @@
# Install Neutron
- include: common/test-install-neutron.yml
# Ensure the repo is setup for previous version
- include: common/previous/test-repo-setup.yml
# Install previous Nova
- include: test-install-previous-nova.yml

View File

@ -33,6 +33,7 @@ set -e
export TESTING_HOME=${TESTING_HOME:-$HOME}
export WORKING_DIR=${WORKING_DIR:-$(pwd)}
export CLONE_UPGRADE_TESTS=${CLONE_UPGRADE_TESTS:-no}
export ZUUL_TESTS_CLONE_LOCATION="/home/zuul/src/git.openstack.org/openstack/openstack-ansible-tests"
## Functions -----------------------------------------------------------------
@ -52,7 +53,11 @@ EOF
# If zuul-cloner is present, use it so that we
# also include any dependent patches from the
# tests repo noted in the commit message.
if [[ -x /usr/zuul-env/bin/zuul-cloner ]]; then
# We only want to use zuul-cloner if we detect
# zuul v2 running, so we check for the presence
# of the ZUUL_REF environment variable.
# ref: http://git.openstack.org/cgit/openstack-infra/zuul/tree/zuul/ansible/filter/zuul_filters.py?h=feature/zuulv3#n17
if [[ -x /usr/zuul-env/bin/zuul-cloner ]] && [[ "${ZUUL_REF:-none}" != "none" ]]; then
# Prepare the clonemap for zuul-cloner to use
create_tests_clonemap
@ -74,9 +79,22 @@ if [[ -x /usr/zuul-env/bin/zuul-cloner ]]; then
elif [[ ! -d tests/common ]]; then
# The tests repo doesn't need a clone, we can just
# symlink it.
if [[ "$(basename ${WORKING_DIR})" == "openstack-ansible-tests" ]]; then
# symlink it. As zuul v3 clones into a folder called
# 'workspace' we have to use one of its environment
# variables to determine the project name.
if [[ "${ZUUL_SHORT_PROJECT_NAME:-none}" == "openstack-ansible-tests" ]] ||\
[[ "$(basename ${WORKING_DIR})" == "openstack-ansible-tests" ]]; then
ln -s ${WORKING_DIR} ${WORKING_DIR}/tests/common
# In zuul v3 any dependent repository is placed into
# /home/zuul/src/git.openstack.org, so we check to see
# if there is a tests checkout there already. If so, we
# symlink that and use it.
elif [[ -d "${ZUUL_TESTS_CLONE_LOCATION}" ]]; then
ln -s "${ZUUL_TESTS_CLONE_LOCATION}" ${WORKING_DIR}/tests/common
# Otherwise we're clearly not in zuul or using a previously setup
# repo in some way, so just clone it from upstream.
else
git clone \
https://git.openstack.org/openstack/openstack-ansible-tests \
@ -92,7 +110,7 @@ fi
# tests repo are not supported.
if [[ "${CLONE_UPGRADE_TESTS}" == "yes" ]]; then
if [[ ! -d "${WORKING_DIR}/tests/common/previous" ]]; then
git clone -b stable/ocata \
git clone -b stable/pike \
https://git.openstack.org/openstack/openstack-ansible-tests \
${WORKING_DIR}/tests/common/previous
fi

22
zuul.d/jobs.yaml Normal file
View File

@ -0,0 +1,22 @@
---
# Copyright 2017, Rackspace US, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
- job:
name: openstack-ansible-lxd-ubuntu-xenial
parent: openstack-ansible-functional-ubuntu-xenial
voting: false
vars:
tox_env: func_lxd

34
zuul.d/project.yaml Normal file
View File

@ -0,0 +1,34 @@
---
# Copyright 2017, Rackspace US, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
- project:
name: openstack/openstack-ansible-os_nova
check:
jobs:
- openstack-ansible-linters
- openstack-ansible-functional-centos-7
- openstack-ansible-functional-opensuse-423
- openstack-ansible-functional-ubuntu-xenial
- openstack-ansible-upgrade-ubuntu-xenial
- openstack-ansible-lxd-ubuntu-xenial
gate:
queue: openstack-ansible
jobs:
- openstack-ansible-linters
- openstack-ansible-functional-centos-7
- openstack-ansible-functional-opensuse-423
- openstack-ansible-functional-ubuntu-xenial
- openstack-ansible-upgrade-ubuntu-xenial
- openstack-ansible-lxd-ubuntu-xenial