diff --git a/.gitreview b/.gitreview index 975ab6db..381540c3 100644 --- a/.gitreview +++ b/.gitreview @@ -2,3 +2,4 @@ host=review.opendev.org port=29418 project=openstack/puppet-openstack-integration.git +defaultbranch=stable/2024.1 diff --git a/Puppetfile b/Puppetfile index d0fd54c2..dbdee58e 100644 --- a/Puppetfile +++ b/Puppetfile @@ -3,15 +3,15 @@ ## OpenStack modules mod 'aodh', :git => 'https://opendev.org/openstack/puppet-aodh', - :ref => 'master' + :ref => 'stable/2024.1' mod 'barbican', :git => 'https://opendev.org/openstack/puppet-barbican', - :ref => 'master' + :ref => 'stable/2024.1' mod 'ceilometer', :git => 'https://opendev.org/openstack/puppet-ceilometer', - :ref => 'master' + :ref => 'stable/2024.1' mod 'ceph', :git => 'https://opendev.org/openstack/puppet-ceph', @@ -19,111 +19,111 @@ mod 'ceph', mod 'cinder', :git => 'https://opendev.org/openstack/puppet-cinder', - :ref => 'master' + :ref => 'stable/2024.1' mod 'cloudkitty', :git => 'https://opendev.org/openstack/puppet-cloudkitty', - :ref => 'master' + :ref => 'stable/2024.1' mod 'designate', :git => 'https://opendev.org/openstack/puppet-designate', - :ref => 'master' + :ref => 'stable/2024.1' mod 'glance', :git => 'https://opendev.org/openstack/puppet-glance', - :ref => 'master' + :ref => 'stable/2024.1' mod 'gnocchi', :git => 'https://opendev.org/openstack/puppet-gnocchi', - :ref => 'master' + :ref => 'stable/2024.1' mod 'heat', :git => 'https://opendev.org/openstack/puppet-heat', - :ref => 'master' + :ref => 'stable/2024.1' mod 'horizon', :git => 'https://opendev.org/openstack/puppet-horizon', - :ref => 'master' + :ref => 'stable/2024.1' mod 'ironic', :git => 'https://opendev.org/openstack/puppet-ironic', - :ref => 'master' + :ref => 'stable/2024.1' mod 'keystone', :git => 'https://opendev.org/openstack/puppet-keystone', - :ref => 'master' + :ref => 'stable/2024.1' mod 'magnum', :git => 'https://opendev.org/openstack/puppet-magnum', - :ref => 'master' + :ref => 'stable/2024.1' mod 'manila', :git => 'https://opendev.org/openstack/puppet-manila', - :ref => 'master' + :ref => 'stable/2024.1' mod 'mistral', :git => 'https://opendev.org/openstack/puppet-mistral', - :ref => 'master' + :ref => 'stable/2024.1' mod 'neutron', :git => 'https://opendev.org/openstack/puppet-neutron', - :ref => 'master' + :ref => 'stable/2024.1' mod 'nova', :git => 'https://opendev.org/openstack/puppet-nova', - :ref => 'master' + :ref => 'stable/2024.1' mod 'octavia', :git => 'https://opendev.org/openstack/puppet-octavia', - :ref => 'master' + :ref => 'stable/2024.1' mod 'openstack_extras', :git => 'https://opendev.org/openstack/puppet-openstack_extras', - :ref => 'master' + :ref => 'stable/2024.1' mod 'openstacklib', :git => 'https://opendev.org/openstack/puppet-openstacklib', - :ref => 'master' + :ref => 'stable/2024.1' mod 'oslo', :git => 'https://opendev.org/openstack/puppet-oslo', - :ref => 'master' + :ref => 'stable/2024.1' mod 'ovn', :git => 'https://opendev.org/openstack/puppet-ovn', - :ref => 'master' + :ref => 'stable/2024.1' mod 'placement', :git => 'https://opendev.org/openstack/puppet-placement', - :ref => 'master' + :ref => 'stable/2024.1' mod 'swift', :git => 'https://opendev.org/openstack/puppet-swift', - :ref => 'master' + :ref => 'stable/2024.1' mod 'tempest', :git => 'https://opendev.org/openstack/puppet-tempest', - :ref => 'master' + :ref => 'stable/2024.1' mod 'trove', :git => 'https://opendev.org/openstack/puppet-trove', - :ref => 'master' + :ref => 'stable/2024.1' mod 'vswitch', :git => 'https://opendev.org/openstack/puppet-vswitch', - :ref => 'master' + :ref => 'stable/2024.1' mod 'vitrage', :git => 'https://opendev.org/openstack/puppet-vitrage', - :ref => 'master' + :ref => 'stable/2024.1' mod 'watcher', :git => 'https://opendev.org/openstack/puppet-watcher', - :ref => 'master' + :ref => 'stable/2024.1' mod 'zaqar', :git => 'https://opendev.org/openstack/puppet-zaqar', - :ref => 'master' + :ref => 'stable/2024.1' ## External modules mod 'kmod', @@ -184,7 +184,7 @@ mod 'memcached', mod 'dns', :git => 'https://github.com/theforeman/puppet-dns', - :ref => '10.3.0' + :ref => '12.1.0' mod 'archive', :git => 'https://github.com/voxpupuli/puppet-archive', @@ -200,7 +200,8 @@ mod 'ssh_keygen', mod 'redis', :git => 'https://github.com/voxpupuli/puppet-redis', - :ref => 'v10.0.0' + # NOTE(tkajinam): Temporal bump to fix broken idempotency + :ref => '27a95724b0a9597bbd9a314a96ff47da7eaaac18' mod 'systemd', :git => 'https://github.com/voxpupuli/puppet-systemd', diff --git a/README.md b/README.md index 85fd463b..c57d3494 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ Infrastructure environment. Description ----------- -OpenStack Infrastructure is deploying four jobs per supported Operating System +OpenStack Infrastructure is deploying 5 jobs per supported Operating System (Ubuntu and CentOS): scenario001, scenario002, scenario003, scenario004, and scenario005. @@ -37,7 +37,7 @@ The manifest files under the fixtures directory is used to compose the required services for each senario. The manifest files under the manifests directory is used to set up basic set of a single component (like nova, cinder and so on). -OpenStack services are balanced between four scenarios because OpenStack +OpenStack services are balanced between 5 scenarios because OpenStack Infastructure Jenkins slaves can not afford the load of running everything on the same node. One manifest (scenario-aio) is used for people who want to [run a simple All-In-One diff --git a/configure_facts.sh b/configure_facts.sh index 745915fa..da55a6d1 100644 --- a/configure_facts.sh +++ b/configure_facts.sh @@ -18,7 +18,7 @@ export OS_NAME_VERS=${ID}${VERSION_ID} # Write out facts to the facter folder when we generate them. export WRITE_FACTS=${WRITE_FACTS:-true} -export OPENSTACK_VERSION=${OPENSTACK_VERSION:-master} +export OPENSTACK_VERSION=${OPENSTACK_VERSION:-caracal} export DLRN_TAG=${DLRN_TAG:-puppet-passed-ci} export DLRN_ROOT=${DLRN_ROOT:-${OS_NAME_VERS}-${OPENSTACK_VERSION}} export DLRN_BASE=${DLRN_BASE:-${DLRN_ROOT}/${DLRN_TAG}} diff --git a/copy_logs.sh b/copy_logs.sh index c302a4b1..070ca862 100755 --- a/copy_logs.sh +++ b/copy_logs.sh @@ -101,6 +101,14 @@ if which journalctl &> /dev/null; then sudo journalctl --no-pager > $LOG_DIR/syslog.txt fi +# rsyslog +if [ -d /etc/rsyslog.d ]; then + sudo cp -r /etc/rsyslog.d $LOG_DIR/etc/ +fi +if [ -f /etc/rsyslog.conf ]; then + sudo cp /etc/rsyslog.conf $LOG_DIR/etc/ +fi + # network interfaces if [ -d /etc/sysconfig/network-scripts ]; then sudo cp -r /etc/sysconfig/network-scripts $LOG_DIR/etc/sysconfig/ diff --git a/fixtures/scenario-aio.pp b/fixtures/scenario-aio.pp index 8ee8973e..783a524d 100644 --- a/fixtures/scenario-aio.pp +++ b/fixtures/scenario-aio.pp @@ -23,12 +23,14 @@ include openstack_integration::glance include openstack_integration::neutron include openstack_integration::placement -include openstack_integration::nova +class { 'openstack_integration::nova': + cinder_enabled => true, +} include openstack_integration::cinder include openstack_integration::horizon include openstack_integration::provision class { 'openstack_integration::tempest': - horizon => true, cinder => true, + horizon => true, } diff --git a/fixtures/scenario003.pp b/fixtures/scenario003.pp index df726a10..4eb52aa5 100644 --- a/fixtures/scenario003.pp +++ b/fixtures/scenario003.pp @@ -23,9 +23,13 @@ case $facts['os']['family'] { 'Debian': { $ipv6 = false + # NOTE(tkajinam): UCA Caracal does not provide trove packages + # https://bugs.launchpad.net/ubuntu/+source/openstack-trove/+bug/2064838 + $trove_enabled = false } 'RedHat': { $ipv6 = true + $trove_enabled = true } default: { fail("Unsupported osfamily (${facts['os']['family']})") @@ -56,7 +60,9 @@ class { 'openstack_integration::nova': cinder_enabled => true, } -include openstack_integration::trove +if $trove_enabled { + include openstack_integration::trove +} class { 'openstack_integration::horizon': heat_enabled => true } @@ -72,7 +78,7 @@ class { 'openstack_integration::tempest': designate => true, - trove => true, + trove => $trove_enabled, mistral => true, horizon => true, # NOTE(tkajinam): The scenario job we enable requires cinder, which is not diff --git a/fixtures/scenario004.pp b/fixtures/scenario004.pp index bd9b3931..eccbadf9 100644 --- a/fixtures/scenario004.pp +++ b/fixtures/scenario004.pp @@ -20,24 +20,27 @@ $ssl = true } -if $facts['os']['name'] == 'Ubuntu' { - $ipv6 = false - # TODO(tobias-urdin): No service plugin 'BGPVPN' - $bgpvpn_enabled = false - # TODO(tobias-urdin): Plugin 'networking_l2gw.services.l2gateway.plugin.L2GatewayPlugin' not found. - $l2gw_enabled = false - # FIXME(ykarel) Disable bgp_dragent until Ubuntu python3 stein(with stein packages) jobs are ready - $bgp_dragent_enabled = false - # TODO(tkajinam): Enable these along with the other plugins - $vpnaas_enabled = false - $taas_enabled = false -} else { - $ipv6 = true - $bgpvpn_enabled = true - $l2gw_enabled = true - $bgp_dragent_enabled = true - $vpnaas_enabled = true - $taas_enabled = true +case $facts['os']['family'] { + 'Debian': { + $ipv6 = false + # TODO(tkajinam): Need additional work to load the plugins + $bgpvpn_enabled = false + $l2gw_enabled = false + $bgp_dragent_enabled = false + $vpnaas_enabled = false + $taas_enabled = false + } + 'RedHat': { + $ipv6 = true + $bgpvpn_enabled = true + $l2gw_enabled = true + $bgp_dragent_enabled = true + $vpnaas_enabled = true + $taas_enabled = true + } + default: { + fail("Unsupported osfamily (${facts['os']['family']})") + } } include openstack_integration diff --git a/manifests/ceilometer.pp b/manifests/ceilometer.pp index a2dbea53..ca9616cf 100644 --- a/manifests/ceilometer.pp +++ b/manifests/ceilometer.pp @@ -64,9 +64,6 @@ Class['ceilometer::keystone::auth'] -> Exec['ceilometer-upgrade'] Class['gnocchi::keystone::auth'] -> Exec['ceilometer-upgrade'] - $sample_pipeline_publishers = ['gnocchi://'] - $event_pipeline_publishers = ['gnocchi://'] - class { 'ceilometer::coordination': backend_url => $::openstack_integration::config::tooz_url, } @@ -74,9 +71,9 @@ class { 'ceilometer::agent::notification': workers => 2, manage_pipeline => true, - pipeline_publishers => $sample_pipeline_publishers, + pipeline_publishers => ['gnocchi://'], manage_event_pipeline => true, - event_pipeline_publishers => $event_pipeline_publishers, + event_pipeline_publishers => ['gnocchi://'], } class { 'ceilometer::agent::polling': manage_polling => true, @@ -92,7 +89,17 @@ class { 'ceilometer::db::sync': extra_params => '--skip-gnocchi-resource-types', } - class { 'ceilometer::agent::notification': } + class { 'ceilometer::agent::notification': + workers => 2, + manage_pipeline => true, + pipeline_publishers => [], + manage_event_pipeline => true, + event_pipeline_publishers => [], + } + class { 'ceilometer::agent::polling': + manage_polling => true, + compute_namespace => false, + } } class { 'ceilometer::agent::service_credentials': diff --git a/manifests/cinder.pp b/manifests/cinder.pp index db1423a4..57c57679 100644 --- a/manifests/cinder.pp +++ b/manifests/cinder.pp @@ -160,7 +160,7 @@ manage_volume_type => true, } # make sure ceph pool exists before running Cinder Volume - Exec['create-cinder'] -> Service['cinder-volume'] + Ceph::Pool['cinder'] -> Service['cinder-volume'] } default: { fail("Unsupported backend (${backend})") @@ -179,7 +179,7 @@ backup_ceph_user => 'openstack', } # make sure ceph pool exists before running Cinder Backup - Exec['create-backups'] -> Service['cinder-backup'] + Ceph::Pool['backups'] -> Service['cinder-backup'] } default: {} } diff --git a/manifests/glance.pp b/manifests/glance.pp index 8eddeaff..39bf8f8e 100644 --- a/manifests/glance.pp +++ b/manifests/glance.pp @@ -69,7 +69,7 @@ rbd_store_pool => 'glance', } # make sure ceph pool exists before running Glance API - Exec['create-glance'] -> Service['glance-api'] + Ceph::Pool['glance'] -> Service['glance-api'] $default_backend = 'rbd1' } 'swift': { diff --git a/manifests/gnocchi.pp b/manifests/gnocchi.pp index 91a5e9a7..a8c91fa9 100644 --- a/manifests/gnocchi.pp +++ b/manifests/gnocchi.pp @@ -108,7 +108,7 @@ manage_rados => true, } # make sure ceph pool exists before running gnocchi (dbsync & services) - Exec['create-gnocchi'] -> Exec['gnocchi-db-sync'] + Ceph::Pool['gnocchi'] -> Anchor['gnocchi::dbsync::begin'] } 'swift': { class { 'gnocchi::storage::swift': diff --git a/manifests/neutron.pp b/manifests/neutron.pp index 29d62692..523b75d9 100644 --- a/manifests/neutron.pp +++ b/manifests/neutron.pp @@ -308,9 +308,10 @@ } class { 'neutron::plugins::ml2': type_drivers => [$overlay_network_type, 'vlan', 'flat'], - tenant_network_types => [$overlay_network_type, 'vlan', 'flat'], + tenant_network_types => [$overlay_network_type], extension_drivers => 'port_security,qos', mechanism_drivers => $drivers_real, + network_vlan_ranges => 'external:1000:2999', max_header_size => $max_header_size, overlay_ip_version => $::openstack_integration::config::ip_version, } diff --git a/manifests/nova.pp b/manifests/nova.pp index fd5de046..6d2b0be5 100644 --- a/manifests/nova.pp +++ b/manifests/nova.pp @@ -261,7 +261,7 @@ manage_ceph_client => false, } # make sure ceph pool exists before running nova-compute - Exec['create-nova'] -> Service['nova-compute'] + Ceph::Pool['nova'] -> Service['nova-compute'] } else { include openstacklib::iscsid Service['iscsid'] -> Service['nova-compute'] diff --git a/manifests/params.pp b/manifests/params.pp index ab5af476..4f8c1d7c 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -4,7 +4,7 @@ 'RedHat': { $ca_bundle_cert_path = '/etc/ssl/certs/ca-bundle.crt' $cert_path = '/etc/pki/ca-trust/source/anchors/puppet_openstack.pem' - $update_ca_certs_cmd = '/usr/bin/update-ca-trust force-enable && /usr/bin/update-ca-trust extract' + $update_ca_certs_cmd = '/usr/bin/update-ca-trust extract' $mysql_charset = 'utf8' $mysql_collate = 'utf8_general_ci' $mysql_conf_dir = '/etc/my.cnf.d' diff --git a/manifests/redis.pp b/manifests/redis.pp index aac853b5..1580b979 100644 --- a/manifests/redis.pp +++ b/manifests/redis.pp @@ -46,8 +46,14 @@ if $::openstack_integration::config::ssl { openstack_integration::ssl_key { 'redis': - require => Package[$::redis::package_name], - notify => Service[$::redis::service_name], + require => [ + Package[$::redis::package_name], + Package[$::redis::sentinel::package_name], + ], + notify => [ + Service[$::redis::service_name], + Service[$::redis::sentinel::service_name], + ] } } } diff --git a/manifests/repos.pp b/manifests/repos.pp index 8efacbc5..d976c2ed 100644 --- a/manifests/repos.pp +++ b/manifests/repos.pp @@ -2,21 +2,13 @@ $ceph_version_real = pick($facts['ceph_version'], 'reef') - if $facts['os']['name'] == 'Ubuntu' and versioncmp($facts['os']['release']['major'], '22') >= 0 { - # NOTE(tkajinam): Upstream ceph repository does not provide packages for - # Ubuntu Jammy, so we use packages from UCA. - $enable_ceph_repository = false - } else { - $enable_ceph_repository = true - } - case $facts['os']['family'] { 'Debian': { case $facts['os']['name'] { 'Ubuntu': { include apt class { 'openstack_extras::repo::debian::ubuntu': - release => 'bobcat', + release => 'caracal', package_require => true, uca_location => pick($facts['uca_mirror_host'], 'http://ubuntu-cloud.archive.canonical.com/ubuntu'), } @@ -24,7 +16,7 @@ 'Debian': { include apt class { 'openstack_extras::repo::debian::debian': - release => 'bobcat', + release => 'caracal', package_require => true, } } @@ -34,20 +26,18 @@ } $ceph_mirror = pick($facts['ceph_mirror_host'], "http://download.ceph.com/debian-${ceph_version_real}/") - if $enable_ceph_repository { - # Ceph is both packaged on UCA and official download.ceph.com packages - # which we mirror. We want to use the official packages or our mirror. - if $ceph_mirror !~ '^http://download.ceph.com/.*' { - $ceph_version_cap = capitalize($ceph_version_real) - apt::pin { 'ceph': - priority => 1001, - originator => "Ceph ${ceph_version_cap}", - } - } else { - apt::pin { 'ceph': - priority => 1001, - origin => 'download.ceph.com', - } + # Ceph is both packaged on UCA and official download.ceph.com packages + # which we mirror. We want to use the official packages or our mirror. + if $ceph_mirror !~ '^http://download.ceph.com/.*' { + $ceph_version_cap = capitalize($ceph_version_real) + apt::pin { 'ceph': + priority => 1001, + originator => "Ceph ${ceph_version_cap}", + } + } else { + apt::pin { 'ceph': + priority => 1001, + origin => 'download.ceph.com', } } @@ -61,11 +51,11 @@ ) $delorean_repo = pick( $facts['delorean_repo_path'], - "https://trunk.rdoproject.org/centos${facts['os']['release']['major']}-master/puppet-passed-ci/delorean.repo" + "https://trunk.rdoproject.org/centos${facts['os']['release']['major']}-caracal/puppet-passed-ci/delorean.repo" ) $delorean_deps_repo = pick( $facts['delorean_deps_repo_path'], - "https://trunk.rdoproject.org/centos${facts['os']['release']['major']}-master/delorean-deps.repo" + "https://trunk.rdoproject.org/centos${facts['os']['release']['major']}-caracal/delorean-deps.repo" ) class { 'openstack_extras::repo::redhat::redhat': @@ -101,12 +91,10 @@ } } - if $enable_ceph_repository { - class { 'ceph::repo': - enable_sig => $enable_sig, - enable_epel => $enable_epel, - ceph_mirror => $ceph_mirror, - } + class { 'ceph::repo': + enable_sig => $enable_sig, + enable_epel => $enable_epel, + ceph_mirror => $ceph_mirror, } # NOTE(tobias-urdin): Needed where augeas is used, like puppet-ovn. diff --git a/manifests/ssl_key.pp b/manifests/ssl_key.pp index 31cad59e..3a529646 100644 --- a/manifests/ssl_key.pp +++ b/manifests/ssl_key.pp @@ -26,14 +26,14 @@ if $key_path == undef { file { "/etc/${name}/ssl": ensure => directory, - owner => $name, - mode => '0775', + owner => $key_owner, + mode => '0750', selinux_ignore_defaults => true, } file { "/etc/${name}/ssl/private": ensure => directory, - owner => $name, - mode => '0755', + owner => $key_owner, + mode => '0750', require => File["/etc/${name}/ssl"], selinux_ignore_defaults => true, before => File[$_key_path] @@ -45,6 +45,6 @@ owner => $key_owner, source => "puppet:///modules/openstack_integration/ipv${openstack_integration::config::ip_version}.key", selinux_ignore_defaults => true, - mode => '0600', + mode => '0640', } } diff --git a/manifests/swift.pp b/manifests/swift.pp index dde07c4c..a38889e4 100644 --- a/manifests/swift.pp +++ b/manifests/swift.pp @@ -14,7 +14,7 @@ before => Anchor['swift::service::begin'], } - if ($facts['os']['name'] == 'Debian') { + if ($facts['os']['family'] == 'Debian') { # Ubuntu/Debian requires particular permissions for rsyslog to work $log_dir_owner = $facts['os']['name'] ? { 'Debian' => 'swift', diff --git a/manifests/tempest.pp b/manifests/tempest.pp index 59b653a6..f8488f94 100644 --- a/manifests/tempest.pp +++ b/manifests/tempest.pp @@ -345,7 +345,6 @@ img_disk_format => $image_format, compute_build_interval => 10, ca_certificates_file => $::openstack_integration::params::ca_bundle_cert_path, - manage_tests_packages => true, attach_encrypted_volume => $attach_encrypted_volume, tempest_workspace => '/tmp/openstack/tempest', run_ssh => true, diff --git a/manifests/vitrage.pp b/manifests/vitrage.pp index faa79f44..82535b8c 100644 --- a/manifests/vitrage.pp +++ b/manifests/vitrage.pp @@ -42,7 +42,6 @@ } class { 'vitrage': - # TODO(ansmith): separate transports when bug/1711716 closed default_transport_url => os_transport_url({ 'transport' => $::openstack_integration::config::messaging_notify_proto, 'host' => $::openstack_integration::config::host, @@ -63,21 +62,6 @@ notification_driver => 'messagingv2', } - # Make sure tempest can read the configuration files - # default installation has a 640 premission - -> file { '/etc/vitrage': - ensure => directory, - recurse => true, - mode => '0644', - } - - # Make sure tempest can write to the log directory - # default installation has a 755 premission - -> file { '/var/log/vitrage': - ensure => directory, - mode => '0766', - } - class { 'vitrage::keystone::auth': public_url => "${::openstack_integration::config::base_url}:8999", internal_url => "${::openstack_integration::config::base_url}:8999", diff --git a/playbooks/prepare-node-common.yaml b/playbooks/prepare-node-common.yaml index 4c26af2b..289d7ea6 100644 --- a/playbooks/prepare-node-common.yaml +++ b/playbooks/prepare-node-common.yaml @@ -42,7 +42,9 @@ - libxslt-devel - ruby-devel - zlib-devel - - rubygem-rexml + - langpacks-en + - glibc-langpack-en + - libffi-devel when: - ansible_os_family == 'RedHat' @@ -72,6 +74,7 @@ - libxslt-dev - ruby-dev - zlib1g-dev + - libffi-dev - python3-pip - name: Install Ruby dependencies (Debian) @@ -87,4 +90,5 @@ - libxslt1-dev - ruby-dev - zlib1g-dev + - libffi-dev - python3-pip diff --git a/playbooks/run-litmus-tests.yaml b/playbooks/run-litmus-tests.yaml index 5ae81809..c54cde03 100644 --- a/playbooks/run-litmus-tests.yaml +++ b/playbooks/run-litmus-tests.yaml @@ -20,7 +20,6 @@ export GEM_BIN_DIR=$GEM_HOME/bin ruby <> ${SCRIPT_DIR}/hiera/common.yaml + echo "tempest::manage_tests_packages: true" >> ${SCRIPT_DIR}/hiera/common.yaml + echo "tempest::magnum::manage_tests_packages: true" >> ${SCRIPT_DIR}/hiera/common.yaml +else + echo "tempest::manage_tests_packages: false" >> ${SCRIPT_DIR}/hiera/common.yaml + echo "tempest::magnum::manage_tests_packages: false" >> ${SCRIPT_DIR}/hiera/common.yaml fi # Run puppet and assert something changes. @@ -269,11 +274,6 @@ print_header 'Prepare Tempest' $SUDO touch /tmp/openstack/tempest/test-include-list.txt /tmp/openstack/tempest/test-exclude-list.txt $SUDO chown -R "$(id -u):$(id -g)" /tmp/openstack/tempest/ -if uses_debs; then - pkglist="tempest python3-stestr python3-os-testr python3-tempest" - $SUDO apt-get install -y $pkglist -fi - set +e # Select what to test: # Smoke suite @@ -367,13 +367,18 @@ if [ "${TEMPEST_FROM_SOURCE,,}" = true ]; then fi pushd /tmp/openstack/neutron-tempest-plugin /tmp/openstack/tempest/run_tempest/bin/pip3 install -c https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt -U -r requirements.txt - /tmp/openstack/tempest/run_tempest/bin/pip3 setup.py install + /tmp/openstack/tempest/run_tempest/bin/python3 setup.py install popd + run_tempest/bin/pip3 install os-testr run_tempest/bin/stestr init export tempest_binary="run_tempest/bin/tempest" + export stestr="run_tempest/bin/stestr" + export subunit2html="run_tempest/bin/subunit2html" else export tempest_binary="/usr/bin/tempest" + export stestr="/usr/bin/stestr" + export subunit2html="/usr/bin/subunit2html" fi # List tempest version @@ -393,16 +398,10 @@ $tempest_binary run --include-list=/tmp/openstack/tempest/test-include-list.txt RESULT=$? set -e -if [ -d .testrepository ]; then - testr last --subunit > /tmp/openstack/tempest/testrepository.subunit -elif [ -d .stestr ]; then - if type "stestr-3" 2>/dev/null; then - stestr-3 last --subunit > /tmp/openstack/tempest/testrepository.subunit - else - stestr last --subunit > /tmp/openstack/tempest/testrepository.subunit - fi +if [ -d .stestr ]; then + $stestr last --subunit > /tmp/openstack/tempest/testrepository.subunit fi -subunit2html /tmp/openstack/tempest/testrepository.subunit /tmp/openstack/tempest/testr_results.html +$subunit2html /tmp/openstack/tempest/testrepository.subunit /tmp/openstack/tempest/testr_results.html print_header 'SELinux Alerts (Tempest)' #catch_selinux_alerts diff --git a/zuul.d/integration.yaml b/zuul.d/integration.yaml index 17792631..08a31546 100644 --- a/zuul.d/integration.yaml +++ b/zuul.d/integration.yaml @@ -110,3 +110,87 @@ nodes: - name: centos-9-stream label: centos-9-stream + +### puppet 8 jobs ### + +- job: + name: puppet-openstack-integration-8 + parent: puppet-openstack-integration-run-base + abstract: true + vars: + puppet: 8 + +- job: + name: puppet-openstack-integration-8-scenario001 + parent: puppet-openstack-integration-8 + abstract: true + vars: + scenario: scenario001 + +- job: + name: puppet-openstack-integration-8-scenario001-tempest-centos-9-stream + parent: puppet-openstack-integration-8-scenario001 + nodeset: + nodes: + - name: centos-9-stream + label: centos-9-stream + +- job: + name: puppet-openstack-integration-8-scenario002 + parent: puppet-openstack-integration-8 + abstract: true + vars: + scenario: scenario002 + +- job: + name: puppet-openstack-integration-8-scenario002-tempest-centos-9-stream + parent: puppet-openstack-integration-8-scenario002 + nodeset: + nodes: + - name: centos-9-stream + label: centos-9-stream + +- job: + name: puppet-openstack-integration-8-scenario003 + parent: puppet-openstack-integration-8 + abstract: true + vars: + scenario: scenario003 + +- job: + name: puppet-openstack-integration-8-scenario003-tempest-centos-9-stream + parent: puppet-openstack-integration-8-scenario003 + nodeset: + nodes: + - name: centos-9-stream + label: centos-9-stream + +- job: + name: puppet-openstack-integration-8-scenario004 + parent: puppet-openstack-integration-8 + abstract: true + vars: + scenario: scenario004 + +- job: + name: puppet-openstack-integration-8-scenario004-tempest-centos-9-stream + parent: puppet-openstack-integration-8-scenario004 + nodeset: + nodes: + - name: centos-9-stream + label: centos-9-stream + +- job: + name: puppet-openstack-integration-8-scenario005 + parent: puppet-openstack-integration-8 + abstract: true + vars: + scenario: scenario005 + +- job: + name: puppet-openstack-integration-8-scenario005-tempest-centos-9-stream + parent: puppet-openstack-integration-8-scenario005 + nodeset: + nodes: + - name: centos-9-stream + label: centos-9-stream diff --git a/zuul.d/layout.yaml b/zuul.d/layout.yaml index 2624b2ad..22d9efc8 100644 --- a/zuul.d/layout.yaml +++ b/zuul.d/layout.yaml @@ -30,10 +30,13 @@ - puppet-openstack-libraries-puppet-syntax-8-centos-9-stream - puppet-openstack-libraries-puppet-unit-7.29-centos-9-stream - puppet-openstack-libraries-puppet-unit-7.29-ubuntu-jammy - - puppet-openstack-libraries-puppet-unit-8.5-centos-9-stream + - puppet-openstack-libraries-litmus-7.29-centos-9-stream + - puppet-openstack-libraries-litmus-7.29-ubuntu-jammy + - puppet-openstack-libraries-puppet-unit-8.10-centos-9-stream - puppet-openstack-libraries-puppet-unit-latest-ubuntu-jammy - puppet-openstack-libraries-litmus-7.29-centos-9-stream - puppet-openstack-libraries-litmus-7.29-ubuntu-jammy + - puppet-openstack-libraries-litmus-8.10-centos-9-stream - puppet-openstack-libraries-litmus-latest-ubuntu-jammy gate: jobs: @@ -58,6 +61,11 @@ - puppet-openstack-integration-7-scenario003-tempest-centos-9-stream - puppet-openstack-integration-7-scenario004-tempest-centos-9-stream - puppet-openstack-integration-7-scenario005-tempest-centos-9-stream + - puppet-openstack-integration-8-scenario001-tempest-centos-9-stream + - puppet-openstack-integration-8-scenario002-tempest-centos-9-stream + - puppet-openstack-integration-8-scenario003-tempest-centos-9-stream + - puppet-openstack-integration-8-scenario004-tempest-centos-9-stream + - puppet-openstack-integration-8-scenario005-tempest-centos-9-stream gate: jobs: - puppet-openstack-integration-7-scenario001-tempest-centos-9-stream @@ -72,6 +80,7 @@ jobs: - puppet-openstack-integration-7-scenario001-tempest-ubuntu-jammy - puppet-openstack-integration-7-scenario001-tempest-centos-9-stream + - puppet-openstack-integration-8-scenario001-tempest-centos-9-stream gate: jobs: - puppet-openstack-integration-7-scenario001-tempest-centos-9-stream @@ -82,6 +91,7 @@ jobs: - puppet-openstack-integration-7-scenario002-tempest-ubuntu-jammy - puppet-openstack-integration-7-scenario002-tempest-centos-9-stream + - puppet-openstack-integration-8-scenario002-tempest-centos-9-stream gate: jobs: - puppet-openstack-integration-7-scenario002-tempest-centos-9-stream @@ -92,6 +102,7 @@ jobs: - puppet-openstack-integration-7-scenario003-tempest-ubuntu-jammy - puppet-openstack-integration-7-scenario003-tempest-centos-9-stream + - puppet-openstack-integration-8-scenario003-tempest-centos-9-stream gate: jobs: - puppet-openstack-integration-7-scenario003-tempest-centos-9-stream @@ -102,6 +113,7 @@ jobs: - puppet-openstack-integration-7-scenario004-tempest-ubuntu-jammy - puppet-openstack-integration-7-scenario004-tempest-centos-9-stream + - puppet-openstack-integration-8-scenario004-tempest-centos-9-stream gate: jobs: - puppet-openstack-integration-7-scenario004-tempest-centos-9-stream @@ -112,6 +124,7 @@ jobs: - puppet-openstack-integration-7-scenario005-tempest-ubuntu-jammy - puppet-openstack-integration-7-scenario005-tempest-centos-9-stream + - puppet-openstack-integration-8-scenario005-tempest-centos-9-stream gate: jobs: - puppet-openstack-integration-7-scenario005-tempest-centos-9-stream diff --git a/zuul.d/libraries.yaml b/zuul.d/libraries.yaml index 26b757fd..71e581d4 100644 --- a/zuul.d/libraries.yaml +++ b/zuul.d/libraries.yaml @@ -16,12 +16,11 @@ puppet_gem_version: 7.29 - job: - name: puppet-openstack-libraries-puppet-unit-8.5-centos-9-stream + name: puppet-openstack-libraries-puppet-unit-8.10-centos-9-stream parent: puppet-openstack-libraries-puppet-unit-base nodeset: centos-9-stream - voting: false vars: - puppet_gem_version: 8.5 + puppet_gem_version: 8.10 dnf_modules: ruby: 3.1 diff --git a/zuul.d/litmus.yaml b/zuul.d/litmus.yaml index 46ff7161..fe79b94c 100644 --- a/zuul.d/litmus.yaml +++ b/zuul.d/litmus.yaml @@ -56,6 +56,16 @@ vars: puppet_gem_version: 7.29 +- job: + name: puppet-openstack-litmus-8.10-centos-9-stream + parent: puppet-openstack-litmus-module-base + nodeset: centos-9-stream + voting: false + vars: + puppet_gem_version: 8.10 + dnf_modules: + ruby: 3.1 + - job: name: puppet-openstack-litmus-latest-ubuntu-jammy parent: puppet-openstack-litmus-module-base @@ -74,11 +84,21 @@ - job: name: puppet-openstack-libraries-litmus-7.29-ubuntu-jammy parent: puppet-openstack-litmus-libraries-base - voting: false nodeset: ubuntu-jammy + voting: false vars: puppet_gem_version: 7.29 +- job: + name: puppet-openstack-libraries-litmus-8.10-centos-9-stream + parent: puppet-openstack-litmus-libraries-base + nodeset: centos-9-stream + voting: false + vars: + puppet_gem_version: 8.10 + dnf_modules: + ruby: 3.1 + - job: name: puppet-openstack-libraries-litmus-latest-ubuntu-jammy parent: puppet-openstack-litmus-libraries-base @@ -93,6 +113,7 @@ jobs: - puppet-openstack-litmus-7.29-centos-9-stream - puppet-openstack-litmus-7.29-ubuntu-jammy + - puppet-openstack-litmus-8.10-centos-9-stream - puppet-openstack-litmus-latest-ubuntu-jammy gate: jobs: diff --git a/zuul.d/unit.yaml b/zuul.d/unit.yaml index 3e8ce853..6d531b91 100644 --- a/zuul.d/unit.yaml +++ b/zuul.d/unit.yaml @@ -16,12 +16,11 @@ puppet_gem_version: 7.29 - job: - name: puppet-openstack-unit-8.5-centos-9-stream + name: puppet-openstack-unit-8.10-centos-9-stream parent: puppet-openstack-unit-base nodeset: centos-9-stream - voting: false vars: - puppet_gem_version: 8.5 + puppet_gem_version: 8.10 dnf_modules: ruby: 3.1 @@ -39,9 +38,10 @@ jobs: - puppet-openstack-unit-7.29-centos-9-stream - puppet-openstack-unit-7.29-ubuntu-jammy - - puppet-openstack-unit-8.5-centos-9-stream + - puppet-openstack-unit-8.10-centos-9-stream - puppet-openstack-unit-latest-ubuntu-jammy gate: jobs: - puppet-openstack-unit-7.29-centos-9-stream - puppet-openstack-unit-7.29-ubuntu-jammy + - puppet-openstack-unit-8.10-centos-9-stream