Temporarily use tempest master for all builds and fix configs

A fix [1] was introduced in openstack-ansible to use tempest from
the master branch in the AIO, but respecting the installation
from PyPI everywhere else. This allowed users to chose
the appropriate behaviour for their use cases.

This patch [1] also made sure we didn't have anything else to do
when the patch would land on stable branches, as this would
automatically get disabled.

However, as of today, there is still no new version of tempest,
and our stable/rocky branch has been cut. Therefore the fix that
was in place is useless and another approach needs to be
taken.

We will move to use tempest master for master and stable/rocky
branch until the fix that caused this series of patch to
happen is released [2] for tempest on PyPI.

A temporary workaround was also added to ensure ceph can still
be built, by freezing the ceph-ansible role sha.

The checksum fill option, was useful a long time ago, but at this point
its just some lovely technical debt that we carry around like an old
dirty security blanket. This change sets us free from the sins of our
past.

We seem to have a lot of jobs that timeout but seem to be very
close to completing, so let's bump the timeout by 20 minutes.

To make up for it, we drop most of our non-voting jobs because
they are taking up resources and always failing.  This should
decrease the amount of resources we're consuming.

Also, instances are failing to launch when jobs hit any nodepool
VMs inside OVH.

[1]: abe0b22c76
[2]: 7d2b636a30 (diff-5c9acbc10dc9d27b47985cd74ab100f6)

Change-Id: I42e0cefb28184964a50f66b18d8eba6d2a04eca7
Closes-Bug: 1786095
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
This commit is contained in:
Jean-Philippe Evrard 2018-08-10 16:02:18 +02:00 committed by Mohammed Naser
parent e7321a6bff
commit 80dfbe783d
8 changed files with 47 additions and 43 deletions

View File

@ -185,7 +185,7 @@
- name: ceph-ansible
scm: git
src: https://github.com/ceph/ceph-ansible
version: master
version: db29b5b84dbc6f4a940f2da6c5f1e68547a91f4a
- name: opendaylight
scm: git
src: https://github.com/opendaylight/integration-packaging-ansible-opendaylight

View File

@ -0,0 +1,21 @@
---
# Copyright 2018, Jean-Philippe Evrard <jean-philippe@evrard.me>
#
# 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.
# TODO(evrardjp): Remove this file from stable branches to allow the latest tempest
# release to be used instead, when a PyPI published version of tempest contains
# https://github.com/openstack/tempest/commit/7d2b636a30057ed8db8cfd4fe2248f509b3570f1#diff-5c9acbc10dc9d27b47985cd74ab100f6
tempest_git_repo: https://git.openstack.org/openstack/tempest
tempest_git_install_branch: master
tempest_git_project_group: utility_all

View File

@ -204,9 +204,6 @@ bridge_vlan_state_change_scripts: |
pre-up ip link set eth12 up
post-down ip link del br-vlan-veth || true
bridge_iptables_rules: |
# To ensure ssh checksum is correct
up /sbin/iptables -A POSTROUTING -t mangle -p tcp -o {{ bootstrap_host_public_interface }} -j CHECKSUM --checksum-fill
down /sbin/iptables -D POSTROUTING -t mangle -p tcp -o {{ bootstrap_host_public_interface }} -j CHECKSUM --checksum-fill
# To provide internet connectivity to instances
up /sbin/iptables -t nat -A POSTROUTING -o {{ bootstrap_host_public_interface }} -j MASQUERADE
down /sbin/iptables -t nat -D POSTROUTING -o {{ bootstrap_host_public_interface }} -j MASQUERADE

View File

@ -66,6 +66,10 @@
when:
- nodepool_dir.stat.exists
block:
# OVH nodepool nodes have an issue which causes nested virt
# instances to crash with a hardware error, then a dump.
# We therefore detect whether we're running on OVH and
# force it to use qemu instead.
- name: Discover the OpenStack-Infra mirrors
shell: |
source /etc/ci/mirror_info.sh
@ -76,6 +80,9 @@
echo "centos_epel_mirror: '${NODEPOOL_EPEL_MIRROR}'" >> ${NODEPOOL_OVERRIDES}
echo "galera_percona_xtrabackup_repo_host: '${NODEPOOL_PERCONA_PROXY}'" >> ${NODEPOOL_OVERRIDES}
echo "openstack_hosts_rdo_mirror_url: '${NODEPOOL_RDO_PROXY}'" >> ${NODEPOOL_OVERRIDES}
if [[ ${NODEPOOL_PYPI_MIRROR} == *.ovh.* ]]; then
echo "nova_virt_type: 'qemu'" >> ${NODEPOOL_OVERRIDES}
fi
echo "repo_build_pip_default_index: '${NODEPOOL_PYPI_MIRROR}'" >> ${NODEPOOL_OVERRIDES}
args:
executable: /bin/bash

View File

@ -213,7 +213,6 @@
RemainAfterExit: yes
service_type: oneshot
execstarts:
- "-/sbin/iptables -A POSTROUTING -t mangle -p tcp --dport 22 -j CHECKSUM --checksum-fill"
- "-/sbin/iptables -t nat -A POSTROUTING -o {{ bootstrap_host_public_interface }} -j MASQUERADE"
- "-/sbin/ethtool -K bond0 gso off sg off tso off tx off"
- "-/sbin/ethtool -K bond1 gso off sg off tso off tx off"
@ -233,7 +232,6 @@
- "-/bin/ip link set br-lbaas-veth up"
- "-/sbin/ethtool -K eth14 gso off sg off tso off tx off"
execstops:
- "/sbin/iptables -D POSTROUTING -t mangle -p tcp --dport 22 -j CHECKSUM --checksum-fill"
- "/sbin/iptables -t nat -D POSTROUTING -o {{ bootstrap_host_public_interface }} -j MASQUERADE"
enabled: yes
state: started

View File

@ -29,9 +29,6 @@ galera_innodb_log_buffer_size: 4M
galera_wsrep_provider_options:
- { option: "gcache.size", value: "4M" }
## Neutron settings
neutron_metadata_checksum_fix: True
### Set workers for all services to optimise memory usage
## Repo
@ -197,27 +194,3 @@ repo_build_pip_extra_indexes:
openstack_user_kernel_options:
- key: 'kernel.printk'
value: '4 1 7 4'
{% raw %}
# We now have access to the branchname in testing variables.
findgitreview:
files:
- ".gitreview"
paths:
- "{{ playbook_dir }}"
- "{{ playbook_dir }}/../"
- "{{ playbook_dir }}/../../"
gitreviewfile: "{{ lookup('first_found', findgitreview) }}"
currentbranch: "{{ lookup('ini', 'defaultbranch section=gerrit file=' ~ gitreviewfile) | default('master',True) }}"
# This is used to override the group vars for the AIO.
# Goals:
# 1) Do not build tempest in repo build (No change)
# 2) Use developer mode to install tempest from git on master
# 3) Do not use developer mode on other branches to install tempest from pip packages on stable branches.
# These two lines can be removed when tempest 18.0.1 or above is released, including
# https://github.com/openstack/tempest/commit/7d2b636a30057ed8db8cfd4fe2248f509b3570f1#diff-5c9acbc10dc9d27b47985cd74ab100f6
tempest_developer_mode: "{{ currentbranch == 'master' }}"
tempest_developer_constraints:
- "git+https://git.openstack.org/openstack/tempest@master#egg=tempest"
{% endraw %}

View File

@ -22,7 +22,7 @@
aio deploy.
run: zuul.d/playbooks/run.yml
post-run: zuul.d/playbooks/post.yml
timeout: 7200
timeout: 8400
irrelevant-files:
- ^\.git.*
- ^.*\.(example|md|rst)$

View File

@ -17,12 +17,16 @@
jobs:
- openstack-ansible-linters
- openstack-ansible-varstest-aio_lxc-ubuntu-xenial
- openstack-ansible-deploy-aio_basekit-centos-7
# NOTE(mnaser): CentOS support is currently not working, enable once
# metal job is passing and voting.
# - openstack-ansible-deploy-aio_basekit-centos-7
- openstack-ansible-deploy-aio_basekit-opensuse-423
# NOTE(hwoarang) xenial does not currently work. It needs investigation
- openstack-ansible-deploy-aio_distro_basekit-ubuntu-xenial:
voting: false
- openstack-ansible-deploy-aio_distro_basekit-centos-7
# - openstack-ansible-deploy-aio_distro_basekit-ubuntu-xenial:
# voting: false
# NOTE(mnaser): CentOS support is currently not working, enable once
# metal job is passing and voting.
# - openstack-ansible-deploy-aio_distro_basekit-centos-7
- openstack-ansible-deploy-aio_distro_basekit-opensuse-423
# NOTE(mhayden): Temporarily replacing suse and centos
# with aio_basekit scenario.
@ -32,17 +36,21 @@
- openstack-ansible-deploy-aio_metal-ubuntu-xenial
- openstack-ansible-deploy-aio_metal-opensuse-423
- openstack-ansible-deploy-aio_metal-centos-7
- openstack-ansible-deploy-aio_nspawn-centos-7
- openstack-ansible-deploy-aio_nspawn-opensuse-423
- openstack-ansible-deploy-aio_nspawn-ubuntu-xenial
# NOTE(mnaser): nspawn jobs have been failing for a long time
# - openstack-ansible-deploy-aio_nspawn-centos-7
# - openstack-ansible-deploy-aio_nspawn-opensuse-423
# - openstack-ansible-deploy-aio_nspawn-ubuntu-xenial
# NOTE(mhayden): Temporarily replacing suse and centos
# with aio_basekit scenario.
#- openstack-ansible-deploy-ceph-centos-7
#- openstack-ansible-deploy-ceph-opensuse-423
- openstack-ansible-deploy-ceph-ubuntu-xenial
- openstack-ansible-deploy-aio_distro_lxc-centos-7
# NOTE(mnaser): CentOS support is currently not working, enable once
# metal job is passing and voting.
# - openstack-ansible-deploy-aio_distro_lxc-centos-7
- openstack-ansible-deploy-aio_distro_lxc-opensuse-423
- openstack-ansible-deploy-aio_distro_lxc-ubuntu-xenial
# NOTE(hwoarang) xenial does not currently work. It needs investigation
# - openstack-ansible-deploy-aio_distro_lxc-ubuntu-xenial
experimental:
jobs:
- openstack-ansible-deploy-octavia-ubuntu-xenial