Add CentOS Stream 9 preview support
CentOS is publishing some preview composes of CentOS Stream 9. In RDO, we are working to get ready for it ASAP. This patch is proposing some hacks needed for current status of CentOS9 so that i can use this patch for it: - Force rsync to be executed without xinetd (xinetd is not in CS9) - Added the creation of initiatorname.iscsi - Fix URI.escape issue in puppetlabs-stdlib Change-Id: I64edd1876ccc32f98ab2330024d9ab513f42a158
This commit is contained in:
parent
6479d15382
commit
940bbfc450
21
.zuul.yaml
21
.zuul.yaml
|
@ -60,6 +60,16 @@
|
|||
label: centos-8-stream
|
||||
run: playbooks/packstack-integration-tempest.yaml
|
||||
|
||||
- job:
|
||||
name: packstack-centos9
|
||||
parent: packstack-base
|
||||
vars:
|
||||
selinux_enforcing: "false"
|
||||
delorean: "https://trunk.rdoproject.org/centos9-master/current/delorean.repo"
|
||||
delorean_deps: "https://trunk.rdoproject.org/centos9-master/delorean-deps.repo"
|
||||
pre-run: playbooks/packstack-centos9-pre.yaml
|
||||
run: playbooks/packstack-integration-tempest.yaml
|
||||
|
||||
- job:
|
||||
name: packstack-multinode-centos8s
|
||||
parent: packstack-base
|
||||
|
@ -76,6 +86,17 @@
|
|||
label: centos-8-stream
|
||||
run: playbooks/packstack-multinode.yaml
|
||||
|
||||
- job:
|
||||
name: packstack-multinode-centos9
|
||||
parent: packstack-base
|
||||
vars:
|
||||
selinux_enforcing: "false"
|
||||
delorean: "https://trunk.rdoproject.org/centos9/current/delorean.repo"
|
||||
delorean_deps: "https://trunk.rdoproject.org/centos9/delorean-deps.repo"
|
||||
pre-run: playbooks/packstack-centos9-pre.yaml
|
||||
post-run: playbooks/packstack-post-compute.yaml
|
||||
run: playbooks/packstack-multinode.yaml
|
||||
|
||||
- job:
|
||||
name: packstack-centos8s-integration-scenario001
|
||||
parent: packstack-centos8s
|
||||
|
|
|
@ -0,0 +1,170 @@
|
|||
moduledir '/usr/share/openstack-puppet/modules'
|
||||
|
||||
## OpenStack modules
|
||||
|
||||
mod 'aodh',
|
||||
:git => 'https://github.com/openstack/puppet-aodh',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'ceilometer',
|
||||
:git => 'https://github.com/openstack/puppet-ceilometer',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'cinder',
|
||||
:git => 'https://github.com/openstack/puppet-cinder',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'glance',
|
||||
:git => 'https://github.com/openstack/puppet-glance',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'gnocchi',
|
||||
:git => 'https://github.com/openstack/puppet-gnocchi',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'heat',
|
||||
:git => 'https://github.com/openstack/puppet-heat',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'magnum',
|
||||
:git => 'https://github.com/openstack/puppet-magnum',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'horizon',
|
||||
:git => 'https://github.com/openstack/puppet-horizon',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'ironic',
|
||||
:git => 'https://github.com/openstack/puppet-ironic',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'keystone',
|
||||
:git => 'https://github.com/openstack/puppet-keystone',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'manila',
|
||||
:git => 'https://github.com/openstack/puppet-manila',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'neutron',
|
||||
:git => 'https://github.com/openstack/puppet-neutron',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'nova',
|
||||
:git => 'https://github.com/openstack/puppet-nova',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'openstack_extras',
|
||||
:git => 'https://github.com/openstack/puppet-openstack_extras',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'openstacklib',
|
||||
:git => 'https://github.com/openstack/puppet-openstacklib',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'oslo',
|
||||
:git => 'https://github.com/openstack/puppet-oslo',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'ovn',
|
||||
:git => 'https://github.com/openstack/puppet-ovn',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'placement',
|
||||
:git => 'https://github.com/openstack/puppet-placement',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'sahara',
|
||||
:git => 'https://github.com/openstack/puppet-sahara',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'swift',
|
||||
:git => 'https://github.com/openstack/puppet-swift',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'tempest',
|
||||
:git => 'https://github.com/openstack/puppet-tempest',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'trove',
|
||||
:git => 'https://github.com/openstack/puppet-trove',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'vswitch',
|
||||
:git => 'https://github.com/openstack/puppet-vswitch',
|
||||
:ref => 'master'
|
||||
|
||||
## Non-OpenStack modules
|
||||
|
||||
mod 'apache',
|
||||
:git => 'https://github.com/puppetlabs/puppetlabs-apache',
|
||||
:ref => 'main'
|
||||
|
||||
mod 'certmonger',
|
||||
:git => 'https://github.com/rcritten/puppet-certmonger',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'concat',
|
||||
:git => 'https://github.com/puppetlabs/puppetlabs-concat',
|
||||
:ref => 'main'
|
||||
|
||||
mod 'firewall',
|
||||
:git => 'https://github.com/puppetlabs/puppetlabs-firewall',
|
||||
:ref => 'main'
|
||||
|
||||
mod 'inifile',
|
||||
:git => 'https://github.com/puppetlabs/puppetlabs-inifile',
|
||||
:ref => 'main'
|
||||
|
||||
mod 'memcached',
|
||||
:git => 'https://github.com/saz/puppet-memcached',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'mysql',
|
||||
:git => 'https://github.com/puppetlabs/puppetlabs-mysql',
|
||||
:ref => 'main'
|
||||
|
||||
mod 'nssdb',
|
||||
:git => 'https://github.com/rcritten/puppet-nssdb',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'rabbitmq',
|
||||
:git => 'https://github.com/voxpupuli/puppet-rabbitmq',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'redis',
|
||||
:git => 'https://github.com/arioch/puppet-redis',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'remote',
|
||||
:git => 'https://github.com/paramite/puppet-remote',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'rsync',
|
||||
:git => 'https://github.com/puppetlabs/puppetlabs-rsync',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'ssh',
|
||||
:git => 'https://github.com/saz/puppet-ssh',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'stdlib',
|
||||
:git => 'https://github.com/puppetlabs/puppetlabs-stdlib',
|
||||
:ref => 'main'
|
||||
|
||||
mod 'sysctl',
|
||||
:git => 'https://github.com/duritong/puppet-sysctl',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'systemd',
|
||||
:git => 'https://github.com/camptocamp/puppet-systemd',
|
||||
:ref => '8f68b0dcf3bbbafc60c025879a28004fc9815aab'
|
||||
|
||||
mod 'vcsrepo',
|
||||
:git => 'https://github.com/puppetlabs/puppetlabs-vcsrepo',
|
||||
:ref => 'main'
|
||||
|
||||
mod 'xinetd',
|
||||
:git => 'https://github.com/puppetlabs/puppetlabs-xinetd',
|
||||
:ref => 'master'
|
||||
|
|
@ -0,0 +1,170 @@
|
|||
moduledir '/usr/share/openstack-puppet/modules'
|
||||
|
||||
## OpenStack modules
|
||||
|
||||
mod 'aodh',
|
||||
:git => 'https://github.com/openstack/puppet-aodh',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'ceilometer',
|
||||
:git => 'https://github.com/openstack/puppet-ceilometer',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'cinder',
|
||||
:git => 'https://github.com/openstack/puppet-cinder',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'glance',
|
||||
:git => 'https://github.com/openstack/puppet-glance',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'gnocchi',
|
||||
:git => 'https://github.com/openstack/puppet-gnocchi',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'heat',
|
||||
:git => 'https://github.com/openstack/puppet-heat',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'magnum',
|
||||
:git => 'https://github.com/openstack/puppet-magnum',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'horizon',
|
||||
:git => 'https://github.com/openstack/puppet-horizon',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'ironic',
|
||||
:git => 'https://github.com/openstack/puppet-ironic',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'keystone',
|
||||
:git => 'https://github.com/openstack/puppet-keystone',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'manila',
|
||||
:git => 'https://github.com/openstack/puppet-manila',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'neutron',
|
||||
:git => 'https://github.com/openstack/puppet-neutron',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'nova',
|
||||
:git => 'https://github.com/openstack/puppet-nova',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'openstack_extras',
|
||||
:git => 'https://github.com/openstack/puppet-openstack_extras',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'openstacklib',
|
||||
:git => 'https://github.com/openstack/puppet-openstacklib',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'oslo',
|
||||
:git => 'https://github.com/openstack/puppet-oslo',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'ovn',
|
||||
:git => 'https://github.com/openstack/puppet-ovn',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'placement',
|
||||
:git => 'https://github.com/openstack/puppet-placement',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'sahara',
|
||||
:git => 'https://github.com/openstack/puppet-sahara',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'swift',
|
||||
:git => 'https://github.com/jcapiitao/puppet-swift',
|
||||
:ref => 'xinetd_as_arg'
|
||||
|
||||
mod 'tempest',
|
||||
:git => 'https://github.com/openstack/puppet-tempest',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'trove',
|
||||
:git => 'https://github.com/openstack/puppet-trove',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'vswitch',
|
||||
:git => 'https://github.com/openstack/puppet-vswitch',
|
||||
:ref => 'master'
|
||||
|
||||
## Non-OpenStack modules
|
||||
|
||||
mod 'apache',
|
||||
:git => 'https://github.com/puppetlabs/puppetlabs-apache',
|
||||
:ref => 'main'
|
||||
|
||||
mod 'certmonger',
|
||||
:git => 'https://github.com/rcritten/puppet-certmonger',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'concat',
|
||||
:git => 'https://github.com/puppetlabs/puppetlabs-concat',
|
||||
:ref => 'main'
|
||||
|
||||
mod 'firewall',
|
||||
:git => 'https://github.com/puppetlabs/puppetlabs-firewall',
|
||||
:ref => 'main'
|
||||
|
||||
mod 'inifile',
|
||||
:git => 'https://github.com/puppetlabs/puppetlabs-inifile',
|
||||
:ref => 'main'
|
||||
|
||||
mod 'memcached',
|
||||
:git => 'https://github.com/saz/puppet-memcached',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'mysql',
|
||||
:git => 'https://github.com/puppetlabs/puppetlabs-mysql',
|
||||
:ref => 'main'
|
||||
|
||||
mod 'nssdb',
|
||||
:git => 'https://github.com/rcritten/puppet-nssdb',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'rabbitmq',
|
||||
:git => 'https://github.com/voxpupuli/puppet-rabbitmq',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'redis',
|
||||
:git => 'https://github.com/arioch/puppet-redis',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'remote',
|
||||
:git => 'https://github.com/paramite/puppet-remote',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'rsync',
|
||||
:git => 'https://github.com/puppetlabs/puppetlabs-rsync',
|
||||
:ref => 'main'
|
||||
|
||||
mod 'ssh',
|
||||
:git => 'https://github.com/saz/puppet-ssh',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'stdlib',
|
||||
:git => 'https://github.com/puppetlabs/puppetlabs-stdlib',
|
||||
:ref => 'main'
|
||||
|
||||
mod 'sysctl',
|
||||
:git => 'https://github.com/duritong/puppet-sysctl',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'systemd',
|
||||
:git => 'https://github.com/camptocamp/puppet-systemd',
|
||||
:ref => '8f68b0dcf3bbbafc60c025879a28004fc9815aab'
|
||||
|
||||
mod 'vcsrepo',
|
||||
:git => 'https://github.com/puppetlabs/puppetlabs-vcsrepo',
|
||||
:ref => 'main'
|
||||
|
||||
mod 'xinetd',
|
||||
:git => 'https://github.com/puppetlabs/puppetlabs-xinetd',
|
||||
:ref => 'master'
|
||||
|
|
@ -7,9 +7,17 @@ class packstack::swift::ringbuilder ()
|
|||
require => Class['swift'],
|
||||
}
|
||||
|
||||
if ($::operatingsystem == 'CentOS') and (versioncmp($::operatingsystemmajrelease, '9') == 0) {
|
||||
# sets up an rsync db that can be used to sync the ring DB
|
||||
class { 'swift::ringserver':
|
||||
local_net_ip => hiera('CONFIG_STORAGE_HOST_URL'),
|
||||
rsync_use_xinetd => false,
|
||||
}
|
||||
} else {
|
||||
# sets up an rsync db that can be used to sync the ring DB
|
||||
class { 'swift::ringserver':
|
||||
local_net_ip => hiera('CONFIG_STORAGE_HOST_URL'),
|
||||
}
|
||||
}
|
||||
|
||||
if str2bool($::selinux) {
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
- hosts: all
|
||||
name: packstack-centos9-pre
|
||||
tasks:
|
||||
- name: Ensure legacy workspace directory
|
||||
file:
|
||||
path: '{{ ansible_user_dir }}/workspace'
|
||||
state: directory
|
||||
|
||||
- shell:
|
||||
cmd: |
|
||||
cp -pr {{ ansible_user_dir }}/src/opendev.org/x/packstack {{ ansible_user_dir }}/workspace
|
||||
|
||||
- shell:
|
||||
cmd: |
|
||||
set -e
|
||||
set -x
|
||||
rm -rf /etc/yum.repos.d/delorean*
|
||||
# Remove epel repos
|
||||
rm -rf /etc/yum.repos.d/epel*
|
||||
dnf clean all
|
||||
sudo sed -i '/^exclude.*/d' /etc/dnf/dnf.conf
|
||||
dnf -y install libxml2-devel libxslt-devel ruby-devel zlib-devel
|
||||
dnf -y install gcc gettext diffstat doxygen patch patchutils subversion systemtap git python3-setuptools wget redhat-lsb-core python3-libselinux virt-what yum
|
||||
executable: /bin/bash
|
||||
chdir: '{{ ansible_user_dir }}/workspace'
|
||||
become: true
|
||||
environment: '{{ zuul }}'
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
- shell:
|
||||
cmd: |
|
||||
source /home/zuul/src/opendev.org/x/packstack/tools/copy-logs.sh
|
||||
source {{ ansible_user_dir }}/src/opendev.org/x/packstack/tools/copy-logs.sh
|
||||
recover_default_logs
|
||||
mv /tmp/logs/* /tmp/compute
|
||||
mv /tmp/compute /tmp/logs
|
||||
|
|
14
run_tests.sh
14
run_tests.sh
|
@ -83,7 +83,7 @@ EOF
|
|||
#
|
||||
# - ``GEM_BIN_DIR`` must be set to Gem bin directory
|
||||
install_all() {
|
||||
$SUDO ${GEM_BIN_DIR}r10k puppetfile install -v --puppetfile Puppetfile
|
||||
$SUDO ${GEM_BIN_DIR}r10k puppetfile install -v --puppetfile Puppetfile-${VERSION_ID}
|
||||
}
|
||||
|
||||
# Install Puppet OpenStack modules and dependencies by using
|
||||
|
@ -96,7 +96,7 @@ install_all() {
|
|||
install_modules() {
|
||||
# If zuul-cloner is there, have it install modules using zuul refs
|
||||
if [ -e /usr/zuul-env/bin/zuul-cloner ] ; then
|
||||
csplit Puppetfile /'Non-OpenStack modules'/ \
|
||||
csplit Puppetfile-${VERSION_ID} /'Non-OpenStack modules'/ \
|
||||
--prefix Puppetfile \
|
||||
--suffix '%d'
|
||||
install_external
|
||||
|
@ -163,7 +163,7 @@ $SUDO $PKG_MGR -y install puppet \
|
|||
openstack-selinux \
|
||||
policycoreutils \
|
||||
rubygems \
|
||||
wget \
|
||||
curl \
|
||||
gettext \
|
||||
diffstat \
|
||||
doxygen \
|
||||
|
@ -210,14 +210,14 @@ if [ -f ~/cache/files/cirros-$CIRROS_VERSION-$CIRROS_ARCH-uec.tar.gz ]; then
|
|||
tar -xzvf ~/cache/files/cirros-$CIRROS_VERSION-$CIRROS_ARCH-uec.tar.gz -C /tmp/cirros/
|
||||
else
|
||||
echo "No pre-cached uec archive found, downloading..."
|
||||
wget --tries=10 https://download.cirros-cloud.net/$CIRROS_VERSION/cirros-$CIRROS_VERSION-$CIRROS_ARCH-uec.tar.gz -P /tmp/cirros/
|
||||
curl -Lo /tmp/cirros/cirros-$CIRROS_VERSION-$CIRROS_ARCH-uec.tar.gz --retry 10 https://download.cirros-cloud.net/$CIRROS_VERSION/cirros-$CIRROS_VERSION-$CIRROS_ARCH-uec.tar.gz
|
||||
tar -xzvf /tmp/cirros/cirros-$CIRROS_VERSION-$CIRROS_ARCH-uec.tar.gz -C /tmp/cirros/
|
||||
fi
|
||||
if [ -f ~/cache/files/cirros-$CIRROS_VERSION-$CIRROS_ARCH-disk.img ]; then
|
||||
cp -p ~/cache/files/cirros-$CIRROS_VERSION-$CIRROS_ARCH-disk.img /tmp/cirros/
|
||||
else
|
||||
echo "No pre-cached disk image found, downloading..."
|
||||
wget --tries=10 https://download.cirros-cloud.net/$CIRROS_VERSION/cirros-$CIRROS_VERSION-$CIRROS_ARCH-disk.img -P /tmp/cirros/
|
||||
curl -Lo /tmp/cirros/cirros-$CIRROS_VERSION-$CIRROS_ARCH-disk.img --retry 10 https://download.cirros-cloud.net/$CIRROS_VERSION/cirros-$CIRROS_VERSION-$CIRROS_ARCH-disk.img
|
||||
fi
|
||||
echo "Using pre-cached images:"
|
||||
find /tmp/cirros -type f -printf "%m %n %u %g %s %t" -exec md5sum \{\} \;
|
||||
|
@ -275,8 +275,12 @@ if [ "${INSTALL_FROM_SOURCE}" = true ]; then
|
|||
fi
|
||||
export PUPPETFILE_DIR=/usr/share/openstack-puppet/modules
|
||||
export GEM_HOME=/tmp/packstackgems
|
||||
if ([ "$OS_NAME" = "RedHat" ] || [ "$OS_NAME" = "CentOS" ]) && [ $OS_VERSION -gt 8 ]; then
|
||||
$SUDO gem install r10k
|
||||
else
|
||||
$SUDO gem install gettext -v 3.2.9 --no-ri --no-rdoc
|
||||
$SUDO gem install r10k -v 2.6.4 --no-ri --no-rdoc
|
||||
fi
|
||||
# make sure there is no puppet module pre-installed
|
||||
$SUDO rm -rf "${PUPPETFILE_DIR:?}/"*
|
||||
install_modules
|
||||
|
|
Loading…
Reference in New Issue