Add Ubuntu 18.04 Bionic to CI

We now have support to Mimic and can select that version
and this patch fixes Puppet 5 for Bionic we can add it to CI.

When this is fixed the only thing left is to add beaker acceptance
testing for Bionic.

Bionic only has Puppet 5 and can currently only use Ceph Mimic.

Change-Id: I6f94e214a70f92278f1f3806471ef2f622a938c3
This commit is contained in:
Tobias Urdin 2018-05-06 14:18:52 +02:00
parent ae1584fde7
commit a696192bf2
6 changed files with 92 additions and 80 deletions

View File

@ -94,12 +94,6 @@
scenario: scenario001
ceph: luminous
- job:
name: puppet-openstack-integration-4-scenario001-tempest-ubuntu-xenial-luminous
parent: puppet-openstack-integration-4-scenario001
branches: ^stable/(newton|ocata|pike|queens).*$
nodeset: ubuntu-xenial
- job:
name: puppet-openstack-integration-4-scenario001-tempest-centos-7-luminous
parent: puppet-openstack-integration-4-scenario001
@ -119,12 +113,6 @@
vars:
scenario: scenario002
- job:
name: puppet-openstack-integration-4-scenario002-tempest-ubuntu-xenial
parent: puppet-openstack-integration-4-scenario002
branches: ^stable/(newton|ocata|pike|queens).*$
nodeset: ubuntu-xenial
- job:
name: puppet-openstack-integration-4-scenario002-tempest-centos-7
parent: puppet-openstack-integration-4-scenario002
@ -144,12 +132,6 @@
vars:
scenario: scenario003
- job:
name: puppet-openstack-integration-4-scenario003-tempest-ubuntu-xenial
parent: puppet-openstack-integration-4-scenario003
branches: ^stable/(newton|ocata|pike|queens).*$
nodeset: ubuntu-xenial
- job:
name: puppet-openstack-integration-4-scenario003-tempest-centos-7
parent: puppet-openstack-integration-4-scenario003
@ -170,12 +152,6 @@
scenario: scenario004
ceph: mimic
- job:
name: puppet-openstack-integration-4-scenario004-tempest-ubuntu-xenial-mimic
parent: puppet-openstack-integration-4-scenario004
branches: ^(stable/(ocata|pike|queens)).*$
nodeset: ubuntu-xenial
- job:
name: puppet-openstack-integration-4-scenario004-tempest-centos-7-mimic
parent: puppet-openstack-integration-4-scenario004
@ -207,9 +183,11 @@
ceph: luminous
- job:
name: puppet-openstack-integration-5-scenario001-tempest-ubuntu-xenial-luminous
name: puppet-openstack-integration-5-scenario001-tempest-ubuntu-bionic-mimic
parent: puppet-openstack-integration-5-scenario001
nodeset: ubuntu-xenial
nodeset: ubuntu-bionic
vars:
ceph: mimic
- job:
name: puppet-openstack-integration-5-scenario001-tempest-centos-7-luminous
@ -229,9 +207,13 @@
scenario: scenario002
- job:
name: puppet-openstack-integration-5-scenario002-tempest-ubuntu-xenial
name: puppet-openstack-integration-5-scenario002-tempest-ubuntu-bionic
parent: puppet-openstack-integration-5-scenario002
nodeset: ubuntu-xenial
nodeset: ubuntu-bionic
# NOTE(tobasco): Should normally not really pass mimic ceph var here but since
# luminous is not packaged for Bionic repos.pp will fail otherwise.
vars:
ceph: mimic
- job:
name: puppet-openstack-integration-5-scenario002-tempest-centos-7
@ -251,9 +233,13 @@
scenario: scenario003
- job:
name: puppet-openstack-integration-5-scenario003-tempest-ubuntu-xenial
name: puppet-openstack-integration-5-scenario003-tempest-ubuntu-bionic
parent: puppet-openstack-integration-5-scenario003
nodeset: ubuntu-xenial
nodeset: ubuntu-bionic
# NOTE(tobasco): Should normally not really pass mimic ceph var here but since
# luminous is not packaged for Bionic repos.pp will fail otherwise.
vars:
ceph: mimic
- job:
name: puppet-openstack-integration-5-scenario003-tempest-centos-7
@ -275,9 +261,13 @@
ceph: mimic
- job:
name: puppet-openstack-integration-5-scenario004-tempest-ubuntu-xenial-mimic
name: puppet-openstack-integration-5-scenario004-tempest-ubuntu-bionic-mimic
parent: puppet-openstack-integration-5-scenario004
nodeset: ubuntu-xenial
nodeset: ubuntu-bionic
# NOTE(tobasco): Should normally not really pass mimic ceph var here but since
# luminous is not packaged for Bionic repos.pp will fail otherwise.
vars:
ceph: mimic
- job:
name: puppet-openstack-integration-5-scenario004-tempest-centos-7-mimic
@ -303,14 +293,10 @@
- puppet-openstack-integration-5-scenario002-tempest-centos-7
- puppet-openstack-integration-5-scenario003-tempest-centos-7
- puppet-openstack-integration-5-scenario004-tempest-centos-7-mimic
- puppet-openstack-integration-4-scenario001-tempest-ubuntu-xenial-luminous
- puppet-openstack-integration-4-scenario002-tempest-ubuntu-xenial
- puppet-openstack-integration-4-scenario003-tempest-ubuntu-xenial
- puppet-openstack-integration-4-scenario004-tempest-ubuntu-xenial-mimic
- puppet-openstack-integration-5-scenario001-tempest-ubuntu-xenial-luminous
- puppet-openstack-integration-5-scenario002-tempest-ubuntu-xenial
- puppet-openstack-integration-5-scenario003-tempest-ubuntu-xenial
- puppet-openstack-integration-5-scenario004-tempest-ubuntu-xenial-mimic
- puppet-openstack-integration-5-scenario001-tempest-ubuntu-bionic-mimic
- puppet-openstack-integration-5-scenario002-tempest-ubuntu-bionic
- puppet-openstack-integration-5-scenario003-tempest-ubuntu-bionic
- puppet-openstack-integration-5-scenario004-tempest-ubuntu-bionic-mimic
- puppet-openstack-integration-4-scenario001-tempest-debian-stable-luminous:
voting: false
- puppet-openstack-integration-4-scenario002-tempest-debian-stable:
@ -329,14 +315,10 @@
- puppet-openstack-integration-5-scenario002-tempest-centos-7
- puppet-openstack-integration-5-scenario003-tempest-centos-7
- puppet-openstack-integration-5-scenario004-tempest-centos-7-mimic
- puppet-openstack-integration-4-scenario001-tempest-ubuntu-xenial-luminous
- puppet-openstack-integration-4-scenario002-tempest-ubuntu-xenial
- puppet-openstack-integration-4-scenario003-tempest-ubuntu-xenial
- puppet-openstack-integration-4-scenario004-tempest-ubuntu-xenial-mimic
- puppet-openstack-integration-5-scenario001-tempest-ubuntu-xenial-luminous
- puppet-openstack-integration-5-scenario002-tempest-ubuntu-xenial
- puppet-openstack-integration-5-scenario003-tempest-ubuntu-xenial
- puppet-openstack-integration-5-scenario004-tempest-ubuntu-xenial-mimic
- puppet-openstack-integration-5-scenario001-tempest-ubuntu-bionic-mimic
- puppet-openstack-integration-5-scenario002-tempest-ubuntu-bionic
- puppet-openstack-integration-5-scenario003-tempest-ubuntu-bionic
- puppet-openstack-integration-5-scenario004-tempest-ubuntu-bionic-mimic
experimental:
jobs:
- puppet-openstack-integration-5-scenario001-tempest-debian-stable-luminous
@ -348,16 +330,14 @@
name: puppet-openstack-integration-jobs-scenario001
check:
jobs:
- puppet-openstack-integration-4-scenario001-tempest-ubuntu-xenial-luminous
- puppet-openstack-integration-5-scenario001-tempest-ubuntu-xenial-luminous
- puppet-openstack-integration-5-scenario001-tempest-ubuntu-bionic-mimic
- puppet-openstack-integration-4-scenario001-tempest-centos-7-luminous
- puppet-openstack-integration-5-scenario001-tempest-centos-7-luminous
- puppet-openstack-integration-4-scenario001-tempest-debian-stable-luminous:
voting: false
gate:
jobs:
- puppet-openstack-integration-4-scenario001-tempest-ubuntu-xenial-luminous
- puppet-openstack-integration-5-scenario001-tempest-ubuntu-xenial-luminous
- puppet-openstack-integration-5-scenario001-tempest-ubuntu-bionic-mimic
- puppet-openstack-integration-4-scenario001-tempest-centos-7-luminous
- puppet-openstack-integration-5-scenario001-tempest-centos-7-luminous
experimental:
@ -368,16 +348,14 @@
name: puppet-openstack-integration-jobs-scenario002
check:
jobs:
- puppet-openstack-integration-4-scenario002-tempest-ubuntu-xenial
- puppet-openstack-integration-5-scenario002-tempest-ubuntu-xenial
- puppet-openstack-integration-5-scenario002-tempest-ubuntu-bionic
- puppet-openstack-integration-4-scenario002-tempest-centos-7
- puppet-openstack-integration-5-scenario002-tempest-centos-7
- puppet-openstack-integration-4-scenario002-tempest-debian-stable:
voting: false
gate:
jobs:
- puppet-openstack-integration-4-scenario002-tempest-ubuntu-xenial
- puppet-openstack-integration-5-scenario002-tempest-ubuntu-xenial
- puppet-openstack-integration-5-scenario002-tempest-ubuntu-bionic
- puppet-openstack-integration-4-scenario002-tempest-centos-7
- puppet-openstack-integration-5-scenario002-tempest-centos-7
experimental:
@ -388,16 +366,14 @@
name: puppet-openstack-integration-jobs-scenario003
check:
jobs:
- puppet-openstack-integration-4-scenario003-tempest-ubuntu-xenial
- puppet-openstack-integration-5-scenario003-tempest-ubuntu-xenial
- puppet-openstack-integration-5-scenario003-tempest-ubuntu-bionic
- puppet-openstack-integration-4-scenario003-tempest-centos-7
- puppet-openstack-integration-5-scenario003-tempest-centos-7
- puppet-openstack-integration-4-scenario003-tempest-debian-stable:
voting: false
gate:
jobs:
- puppet-openstack-integration-4-scenario003-tempest-ubuntu-xenial
- puppet-openstack-integration-5-scenario003-tempest-ubuntu-xenial
- puppet-openstack-integration-5-scenario003-tempest-ubuntu-bionic
- puppet-openstack-integration-4-scenario003-tempest-centos-7
- puppet-openstack-integration-5-scenario003-tempest-centos-7
experimental:
@ -408,16 +384,14 @@
name: puppet-openstack-integration-jobs-scenario004
check:
jobs:
- puppet-openstack-integration-4-scenario004-tempest-ubuntu-xenial-mimic
- puppet-openstack-integration-5-scenario004-tempest-ubuntu-xenial-mimic
- puppet-openstack-integration-5-scenario004-tempest-ubuntu-bionic-mimic
- puppet-openstack-integration-4-scenario004-tempest-centos-7-mimic
- puppet-openstack-integration-5-scenario004-tempest-centos-7-mimic
- puppet-openstack-integration-4-scenario004-tempest-debian-stable-luminous:
voting: false
gate:
jobs:
- puppet-openstack-integration-4-scenario004-tempest-ubuntu-xenial-mimic
- puppet-openstack-integration-5-scenario004-tempest-ubuntu-xenial-mimic
- puppet-openstack-integration-5-scenario004-tempest-ubuntu-bionic-mimic
- puppet-openstack-integration-4-scenario004-tempest-centos-7-mimic
- puppet-openstack-integration-5-scenario004-tempest-centos-7-mimic
experimental:
@ -570,22 +544,22 @@
nodepool_type: centos7
- job:
name: puppet-openstack-beaker-xenial
name: puppet-openstack-beaker-bionic
parent: puppet-openstack-beaker-run-base
nodeset: ubuntu-xenial
nodeset: ubuntu-bionic
vars:
nodepool_type: xenial
nodepool_type: bionic
- project-template:
name: puppet-openstack-beaker-jobs
check:
jobs:
- puppet-openstack-beaker-centos-7
- puppet-openstack-beaker-xenial
- puppet-openstack-beaker-bionic
gate:
jobs:
- puppet-openstack-beaker-centos-7
- puppet-openstack-beaker-xenial
- puppet-openstack-beaker-bionic
- job:
name: puppet-openstack-libraries-puppet-beaker-rspec-centos-7

View File

@ -241,8 +241,3 @@ mod 'corosync',
mod 'ssh_keygen',
:git => 'https://github.com/voxpupuli/puppet-ssh_keygen',
:ref => 'v2.0.1'
mod 'redis',
:git => 'https://github.com/arioch/puppet-redis',
:ref => 'v3.3.0'

View File

@ -21,4 +21,3 @@ theforeman/puppet-dns
voxpupuli/puppet-archive
voxpupuli/puppet-corosync,v5.0.0
voxpupuli/puppet-ssh_keygen,v2.0.1
arioch/puppet-redis

View File

@ -145,7 +145,15 @@ install_puppet() {
elif [ $PUPPET_MAJ_VERSION == 5 ]; then
local PUPPET_APT_POOL="puppet5"
fi
echo "deb ${NODEPOOL_PUPPETLABS_MIRROR} `lsb_release -s -c` ${PUPPET_APT_POOL}" | $SUDO tee /etc/apt/sources.list.d/puppetlabs.list
PUPPET_CODENAME=$(lsb_release -s -c)
# TODO(tobasco): Remove this when Puppet 5 is released for Bionic i.e not nightly build.
if [ $PUPPET_CODENAME == "bionic" ]; then
# For some reason this directory does not exist in Bionic
$SUDO mkdir -p /etc/apt/sources.list.d
NODEPOOL_PUPPETLABS_MIRROR="https://nightlies.puppet.com/apt"
PUPPET_APT_POOL="puppet5-nightly"
fi
echo "deb ${NODEPOOL_PUPPETLABS_MIRROR} ${PUPPET_CODENAME} ${PUPPET_APT_POOL}" | $SUDO tee /etc/apt/sources.list.d/puppetlabs.list
$SUDO apt-key add files/GPG-KEY-puppetlabs
$SUDO apt-key add files/GPG-KEY-ceph
$SUDO apt-get update

View File

@ -1,6 +1,24 @@
class openstack_integration::redis {
include ::openstack_integration::config
# NOTE(tobasco): Manually manage redis until arioch/puppet-redis support
# redis 4.x since that is used by Ubuntu Bionic.
case $::osfamily {
'Debian': {
$redis_package_name = 'redis-server'
$redis_service_name = 'redis-server'
$redis_config = '/etc/redis/redis.conf'
}
'RedHat': {
$redis_package_name = 'redis'
$redis_service_name = 'redis'
$redis_config = '/etc/redis.conf'
}
default: {
fail("redis.pp manifest does not support family: ${::osfamily}")
}
}
# due to issues in OpenStack CI with the redis package, we need to disable
# the service enable flag. The service still starts but the management of
# the service with systemd errors.
@ -10,8 +28,26 @@ class openstack_integration::redis {
$service_enable = true
}
class { '::redis':
bind => $::openstack_integration::config::host,
service_enable => $service_enable
# NOTE(tobasco): Manually manage redis until arioch/puppet-redis support
# redis 4.x since that is used by Ubuntu Bionic.
package { 'redis':
ensure => 'present',
name => $redis_package_name,
}
file_line { 'redis_config':
ensure => 'present',
path => $redis_config,
line => "bind ${::openstack_integration::config::host}",
match => '^bind\ ',
require => Package['redis'],
notify => Service['redis'],
}
service { 'redis':
ensure => 'running',
name => $redis_service_name,
enable => $service_enable,
require => File_line['redis_config'],
}
}

View File

@ -12,7 +12,7 @@ class openstack_integration::repos {
'ubuntu': {
include ::apt
class { '::openstack_extras::repo::debian::ubuntu':
release => 'queens',
release => 'rocky',
package_require => true,
uca_location => pick($::uca_mirror_host, 'http://ubuntu-cloud.archive.canonical.com/ubuntu'),
}