Align the stars to bring our CI back

1) Add 2GB swap by default
Add some swap when running CI jobs, so we can reduce the number of
failures in CI related to missing memory.
By default 2GB, can be disabled or increased/decreased with parameters.

2) Promote RDO repository to have Oslo DB from master
python-oslo-db 4.13.x releases are known to break Gnocchi.
https://review.openstack.org/367221 will fix it, but it is not yet
in any release, so RDO unpinned oslo.db until that happens.

3) Disable Ironic testing on Ubuntu. Packages are broken in recent
   Newton upgrade. They are working on it.

4) Enable br_netfilter kernel module on Ubuntu.
See https://bugs.launchpad.net/cloud-archive/+bug/1621651
Even if it's not critical, it's a nice-to-have because it removed the
ERROR that we had in neutron logs. We'll see how the bug report evolve
and maybe remove this workaround.

5) Export lsmod in logs, easier for us to debug later.

6) Disable linuxbridge on scenario003 for Ubuntu
Also see https://bugs.launchpad.net/cloud-archive/+bug/1621651

7) Pin Puppetlabs release package.
Context: https://tickets.puppetlabs.com/browse/CPR-378

Change-Id: I732ef375a681f03af751ebb6ebd5b12df55a0ecc
This commit is contained in:
Emilien Macchi 2016-09-08 13:43:30 -04:00
parent 6a971cfeab
commit 834ab8a5fb
6 changed files with 35 additions and 7 deletions

View File

@ -177,6 +177,7 @@ fi
# system status & informations
df -h > $LOG_DIR/df.txt
free -m > $LOG_DIR/free.txt
lsmod > $LOG_DIR/lsmod.txt
cat /proc/cpuinfo > $LOG_DIR/cpuinfo.txt
ps -eo user,pid,ppid,lwp,%cpu,%mem,size,rss,cmd > $LOG_DIR/ps.txt

View File

@ -34,10 +34,13 @@ case $::osfamily {
}
# Disable SSL (workaround for Xenial)
# Also disable Ironic. Newton latest packages in Ubuntu are broken.
if ($::operatingsystem == 'Ubuntu') and (versioncmp($::operatingsystemmajrelease, '16') >= 0) {
$ssl_enabled = false
$ssl_enabled = false
$ironic_enabled = false
} else {
$ssl_enabled = true
$ssl_enabled = true
$ironic_enabled = true
}
include ::openstack_integration
@ -55,7 +58,9 @@ class { '::openstack_integration::glance':
}
include ::openstack_integration::neutron
include ::openstack_integration::swift
include ::openstack_integration::ironic
if $ironic_enabled {
include ::openstack_integration::ironic
}
include ::openstack_integration::zaqar
include ::openstack_integration::mongodb
include ::openstack_integration::provision
@ -75,7 +80,7 @@ if $barbican_enabled {
class { '::openstack_integration::tempest':
cinder => true,
swift => true,
ironic => true,
ironic => $ironic_enabled,
zaqar => $zaqar_enabled,
attach_encrypted_volume => $barbican_enabled,
}

View File

@ -36,10 +36,13 @@ case $::osfamily {
if ($::operatingsystem == 'Ubuntu') and (versioncmp($::operatingsystemmajrelease, '16') >= 0) {
$ssl_enabled = false
$trove_enabled = false
# https://bugs.launchpad.net/cloud-archive/+bug/1621651
$neutron_driver = 'openvswitch'
} else {
$ssl_enabled = true
# https://bugs.launchpad.net/trove/+bug/1597857
$trove_enabled = true
$neutron_driver = 'linuxbridge'
}
include ::openstack_integration
@ -56,7 +59,7 @@ class { '::openstack_integration::keystone':
}
include ::openstack_integration::glance
class { '::openstack_integration::neutron':
driver => 'linuxbridge',
driver => $neutron_driver,
}
include ::openstack_integration::nova
if $trove_enabled {

View File

@ -168,7 +168,14 @@ install_puppet() {
fi
$SUDO rm -f /tmp/puppet.rpm
wget http://yum.puppetlabs.com/${PUPPET_RELEASE_FILE}-el-7.noarch.rpm -O /tmp/puppet.rpm
# https://tickets.puppetlabs.com/browse/CPR-378
if [ $PUPPET_RELEASE_FILE == "puppetlabs-release" ]; then
RELEASE_URL='http://yum.puppetlabs.com/el/7Server/products/x86_64/puppetlabs-release-7-12.noarch.rpm'
else
RELEASE_URL='https://yum.puppetlabs.com/el/7Server/PC1/x86_64/puppetlabs-release-pc1-1.0.0-2.el7.noarch.rpm'
fi
wget $RELEASE_URL -O /tmp/puppet.rpm
$SUDO rpm -ivh /tmp/puppet.rpm
$SUDO yum install -y ${PUPPET_PKG}
fi

View File

@ -31,7 +31,7 @@ class openstack_integration::repos {
manage_epel => false,
repo_hash => {
'newton-current' => {
'baseurl' => 'https://trunk.rdoproject.org/centos7-master/10/e9/10e94f9a07b339754056ae2461355cb2a0661d15_518ae121/',
'baseurl' => 'https://trunk.rdoproject.org/centos7-master/13/22/13223e459babddd74792699b20b52843a0ff9576_466d3f91/',
'descr' => 'Newton current',
'gpgcheck' => 'no',
'priority' => 1,

View File

@ -17,6 +17,8 @@ export PUPPET_MAJ_VERSION=${PUPPET_MAJ_VERSION:-3}
export SCENARIO=${SCENARIO:-scenario001}
export MANAGE_PUPPET_MODULES=${MANAGE_PUPPET_MODULES:-true}
export MANAGE_REPOS=${MANAGE_REPOS:-true}
export ADD_SWAP=${ADD_SWAP:-true}
export SWAP_SIZE_GB=${SWAP_SIZE_GB:-2}
export SCRIPT_DIR=$(cd `dirname $0` && pwd -P)
export HIERA_CONFIG=${HIERA_CONFIG:-${SCRIPT_DIR}/hiera/hiera.yaml}
export MANAGE_HIERA=${MANAGE_HIERA:-true}
@ -64,6 +66,14 @@ if [ $(id -u) != 0 ]; then
export SUDO='sudo -E'
fi
if [ "${ADD_SWAP}" = true ]; then
print_header "Create $SWAP_SIZE_GB GB swapfile"
$SUDO dd if=/dev/zero of=/swapfile count=${SWAP_SIZE_GB}k bs=1M
$SUDO chmod 0600 /swapfile
$SUDO mkswap /swapfile
$SUDO swapon /swapfile
fi
print_header 'Clone Tempest and plugins'
# TODO(pabelanger): Move this into tools/install_tempest.sh and add logic so we
# can clone tempest outside of the gate. Also, tempest should be sandboxed into
@ -96,6 +106,8 @@ fi
if uses_debs; then
$SUDO apt-get install -y dstat
# https://bugs.launchpad.net/cloud-archive/+bug/1621651
$SUDO modprobe br_netfilter
elif is_fedora; then
$SUDO yum install -y dstat setools setroubleshoot audit
$SUDO service auditd start