Support of Ubuntu 16.04 LTS Xenial deployments
Add support for Xenial deployments. * Disable SSL on Ubuntu Xenial deployments. * Pin puppetlabs-mysql to a recent commit (until they produce a new tag). * Disable Ceph on Ubuntu Xenial deployments, neither Hammer or Jewel currently work out of the box with puppet-ceph on Xenial. * Disable Horizon on Ubuntu Xenial deployments: not working yet. * Do not deploy UCA on Xenial, since we currently deploy Mitaka. * On Xenial, deploy Puppet using distro packaging, not puppetlabs.com. * Cleanup /etc/default/puppet on Xenial / Puppet4 runs (workaround) until we figure what is installing this file on Xenial nodepool image. All issues are documented here: See https://etherpad.openstack.org/p/puppet-openstack-xenial Change-Id: Ifc8c7e241add830c88b84c1f01770e5e15df1653
This commit is contained in:
8 changed files with 71 additions and 21 deletions
@@ -160,7 +160,8 @@ mod 'mongodb',
mod 'mysql',
:git => 'https://github.com/puppetlabs/puppetlabs-mysql',
:ref => '3.7.0'
# until we got a release on puppetlabs-mysql
:ref => '5695cef4a66364d34ede90a08fe07e4b277ff8ba'
mod 'postgresql',
:git => 'https://github.com/puppetlabs/puppetlabs-postgresql',
@@ -15,7 +15,7 @@
#
# Deploy Puppet OpenStack modules, deploy OpenStack and test the setup.
# Software requirements:
# * Ubuntu 14.04 LTS or CentOS7 fresh install
# * Ubuntu 14.04 LTS or Ubuntu 16.04 LTS or CentOS7 fresh install
# * 'git' installed
#
# Hardware requirements:
@@ -7,7 +7,7 @@ puppetlabs/puppetlabs-concat
puppetlabs/puppetlabs-firewall
puppetlabs/puppetlabs-inifile
puppetlabs/puppetlabs-mongodb
puppetlabs/puppetlabs-mysql
puppetlabs/puppetlabs-mysql,5695cef4a66364d34ede90a08fe07e4b277ff8ba
puppetlabs/puppetlabs-postgresql
puppetlabs/puppetlabs-rabbitmq
puppetlabs/puppetlabs-rsync
@@ -29,9 +29,24 @@ case $::osfamily {
}
}
#ListofworkaroundsforUbuntuXenial:
#-disableceph
#-disableSSL
if($::operatingsystem=='Ubuntu')and(versioncmp($::operatingsystemmajrelease,'16')>=0){
$ssl_enabled = false
$glance_backend = 'file'
$cinder_backend = 'iscsi'
$libvirt_rbd = false
}else{
$ssl_enabled = true
$glance_backend = 'rbd'
$cinder_backend = 'rbd'
$libvirt_rbd = true
}
include::openstack_integration
class{ '::openstack_integration::config':
ssl => true,
ssl => $ssl_enabled,
ipv6 => $ipv6,
}
include::openstack_integration::cacert
@@ -39,21 +54,23 @@ include ::openstack_integration::rabbitmq
include::openstack_integration::mysql
include::openstack_integration::keystone
class{ '::openstack_integration::glance':
backend => 'rbd',
backend => $glance_backend,
}
include::openstack_integration::neutron
class{ '::openstack_integration::nova':
libvirt_rbd => true,
libvirt_rbd => $libvirt_rbd,
}
class{ '::openstack_integration::cinder':
backend => 'rbd',
backend => $cinder_backend,
}
if$ceilometer_enabled{
include ::openstack_integration::ceilometer
include ::openstack_integration::aodh
include ::openstack_integration::gnocchi
}
include::openstack_integration::ceph
if$libvirt_rbd{
include ::openstack_integration::ceph
}
include::openstack_integration::provision
class{ '::openstack_integration::tempest':
@@ -29,9 +29,16 @@ case $::osfamily {
}
}
#DisableSSL(workaroundforXenial)
if($::operatingsystem=='Ubuntu')and(versioncmp($::operatingsystemmajrelease,'16')>=0){
$ssl_enabled = false
}else{
$ssl_enabled = true
}
include::openstack_integration
class{ '::openstack_integration::config':
ssl => true,
ssl => $ssl_enabled,
ipv6 => $ipv6,
}
include::openstack_integration::cacert
@@ -30,10 +30,21 @@ case $::osfamily {
}
}
#ListofworkaroundsforUbuntuXenial:
#-disableHorizon
#-disableSSL
if($::operatingsystem=='Ubuntu')and(versioncmp($::operatingsystemmajrelease,'16')>=0){
$ssl_enabled = false
$horizon_enabled = false
}else{
$ssl_enabled = true
$horizon_enabled = true
}
include::openstack_integration
class{ '::openstack_integration::config':
ipv6 => $ipv6,
ssl => true,
ssl => $ssl_enabled,
}
include::openstack_integration::cacert
include::openstack_integration::rabbitmq
@@ -47,7 +58,9 @@ class { '::openstack_integration::neutron':
}
include::openstack_integration::nova
include::openstack_integration::trove
include::openstack_integration::horizon
if$horizon_enabled{
include ::openstack_integration::horizon
}
include::openstack_integration::heat
#enablewhenwefigurewhymistraltempesttestsaresounstable
#include::openstack_integration::mistral
@@ -58,6 +71,6 @@ class { '::openstack_integration::tempest':
trove => true,
sahara => true,
mistral => $mistral_enabled,
horizon => true,
horizon => $horizon_enabled,
heat => true,
}
@@ -3,9 +3,12 @@ class openstack_integration::repos {
case $::osfamily {
'Debian': {
include ::apt
class { '::openstack_extras::repo::debian::ubuntu':
release => 'mitaka',
package_require => true,
# Mitaka is already packaged in 16.04, so we don't need UCA.
if ($::operatingsystem == 'Ubuntu') and ! (versioncmp($::operatingsystemmajrelease, '16') >= 0) {
class { '::openstack_extras::repo::debian::ubuntu':
release => 'mitaka',
package_require => true,
}
}
#CephisbothpackagedonUCA&ceph.com
#Officialpackagesareonceph.comsowewanttomakesure
21
run_tests.sh
21
run_tests.sh
@@ -19,6 +19,7 @@ export MANAGE_PUPPET_MODULES=${MANAGE_PUPPET_MODULES:-true}
export MANAGE_REPOS=${MANAGE_REPOS:-true}
export PUPPET_ARGS=${PUPPET_ARGS:-}
export SCRIPT_DIR=$(cd `dirname 0ドル` && pwd -P)
export DISTRO=$(lsb_release -c -s)
if [ $PUPPET_VERSION == 4 ]; then
export PATH=${PATH}:/opt/puppetlabs/bin
@@ -62,13 +63,21 @@ fi
if uses_debs; then
print_header 'Setup (Debian based)'
if dpkg -l $PUPPET_RELEASE_FILE >/dev/null 2>&1; then
$SUDO apt-get purge -y $PUPPET_RELEASE_FILE
# Puppetlabs packaging:
# - trusty: puppet3 and puppet4
# - xenial: puppet4 only
if [[ ${DISTRO} == "trusty" ]] || [[ ${DISTRO} == "xenial" && ${PUPPET_VERSION} == 4 ]]; then
if dpkg -l $PUPPET_RELEASE_FILE >/dev/null 2>&1; then
$SUDO apt-get purge -y $PUPPET_RELEASE_FILE
fi
$SUDO rm -f /tmp/puppet.deb
wget http://apt.puppetlabs.com/${PUPPET_RELEASE_FILE}-${DISTRO}.deb -O /tmp/puppet.deb
$SUDO dpkg -i /tmp/puppet.deb
# TODO(emilien): figure what installed /etc/default/puppet on the xenial nodepool image
# We have no problem on Trusty but on Xenial we need to remove /etc/default/puppet before
# trying to deploy puppet-agent from puppetlabs.com.
$SUDO rm -rf /etc/default/puppet
fi
$SUDO rm -f /tmp/puppet.deb
wget http://apt.puppetlabs.com/${PUPPET_RELEASE_FILE}-trusty.deb -O /tmp/puppet.deb
$SUDO dpkg -i /tmp/puppet.deb
$SUDO apt-get update
$SUDO apt-get install -y dstat ${PUPPET_PKG}
elif is_fedora; then
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.