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
4f28c22b97
commit
75b41ba3d7
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/current/delorean.repo"
|
||||
delorean_deps: "https://trunk.rdoproject.org/centos9/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 => 'master'
|
||||
|
||||
mod 'ssh',
|
||||
:git => 'https://github.com/saz/puppet-ssh',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'stdlib',
|
||||
:git => 'https://github.com/jcapiitao/puppetlabs-stdlib',
|
||||
:ref => 'fix_uriescape'
|
||||
|
||||
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'],
|
||||
}
|
||||
|
||||
# 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 ($::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
|
||||
|
|
18
run_tests.sh
18
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
|
||||
$SUDO gem install gettext -v 3.2.9 --no-ri --no-rdoc
|
||||
$SUDO gem install r10k -v 2.6.4 --no-ri --no-rdoc
|
||||
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