diff --git a/files/GPG-KEY-openvox.pub b/files/GPG-KEY-openvox.pub new file mode 100644 index 000000000..780c8a57e --- /dev/null +++ b/files/GPG-KEY-openvox.pub @@ -0,0 +1,30 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQENBGeGidcBCADjJzn2Mh7E7guNotcwRh1vvKQkQrw/TYY+xuKA2DGOvMrVYzyn +BQ5CzQ3n2A4fyvUWhRqbgy2hV8uYQNap2ddJ05BlzH1WotUaLfHcAUmCxRIOYw89 +nhi/5v+tZNjvAZo96E9fvYvWVnsYXVpYcG4xyGuQYdvEiBIrgxXM3M3XCgS3+Ns+ +Hlm2FGZSxIYI0IOsbu34J5KDV/sAmBSAG7Oyg+hXGBAABWW97IQcZw0l260ksDHS +ea7Z0HcWmNgH6CjG2eR+WkGHJ7nVDxIr06SUgRr1xL66BrwYfD7rtURZJQWYPur4 +D8G95js0Aisf2oUMHK0PRkq1hAUTBFXdE1P9ABEBAAG0IlZveCBQdXB1bGkgPG9w +ZW52b3hAdm94cHVwdWxpLm9yZz6JAVEEEwEIADsWIQQOJkKZhwAkGPlRPypfuZnC +1i/z2QUCZ4aJ1wIbAwULCQgHAgIiAgYVCgkICwIEFgIDAQIeBwIXgAAKCRBfuZnC +1i/z2dLbCADcttMJyLG3TFax4FAzhNMwqM/Md7eWvDcAlhiXCbvQCNEsK97zumzV +v2EnTRwH7HWJeq/+5YMMKZh7BGKQb5BqKygBamF7EyzR8I3AfDqoKXhvs9yIDnVv +BuGO1uzLZCP/jdN/KBGbcQvU5u2Uxr3nB9VxPcQnBtg4e3uYWPDPqm9sfiOzLn5D +UFLiE1MyFkQER6BZO86QxsL+jQDbOnSCIIKTMd017rUBxNDV9713KMNerjRhB1UT +K73UfsKCHfc45xg0t3dQz7td/3fp7GyJafvT65ww9bTRoHLVFG/q3jOQ4b5pNAuz +YyhoaxkEPFLXD/uYahTG6YnKBZQnEU+9uQENBGeGidcBCADL6aKBBbYcNV+tqcq0 +2wV6QluFwyfqCK6tRBMd9iMXa9JOLLncKf6ADMAfstSJ95IDzeJMQJrMAJ9Jq9/c +dGceEv7IHahyQ3LbDrz6S8cFyDXxJNlFvVu1+xbuDdVTlmBb69u34TpFenqsO6oO +TO7C9bK+pt3lZuiCmzgCgtsqHA38/M0BhtR/as4tTbnwR9FDj5xYH4WgKCIj4OqN +F2dmmdjmtHtnpNVGLCiFsfiCRxQGj4WzQnrXe60FXekV/MJBCnGGdttdyBkFFywb +cT6ceZCJJ9nbVborqkAZgipllwE4JG5rjNVsX1vraNtzvikfykANNRoSNf9ZC2ya +4O4dABEBAAGJATYEGAEIACAWIQQOJkKZhwAkGPlRPypfuZnC1i/z2QUCZ4aJ1wIb +DAAKCRBfuZnC1i/z2UZVCACCAvzs6VSVmQYeMilylNd3pAlY+LaVGrdCMbYZ4FBv +vMNhpTOzcV6y/9gcfP5NH5jSmbIQ6Lq82OBGgaag0gUvcY5AIFutuZAph9LPVfY8 +kEqBCa8TqRAiWMzqYElbUvWMnY4pLL3+vlQViXPFuLk8MViEJ5jphGG3j4WDTgwC +al8R3f/kzwRYoJc9CK9LbZreqKVWFLVbxunyq8R/7nWxH/9jCUr6GbY0X1bQfc5M +laqQNoSXiDwb+K2CU+szqmwcuyxliV3arAQ/2a509l90H1VyNzBNmC42JxqgFAAT +8Dj43+HR+npsfqx1w78xgCtYYi1TU+S+tKpvKybylNP9 +=vzYO +-----END PGP PUBLIC KEY BLOCK----- diff --git a/functions b/functions index 5a1014c35..ca497a5d0 100644 --- a/functions +++ b/functions @@ -177,15 +177,14 @@ print_header() { install_puppetlabs_repo() { print_header 'Install Puppetlabs repo' + source /etc/os-release if uses_debs; then - PUPPET_CODENAME=$(lsb_release -s -c) $SUDO mkdir -p /etc/apt/sources.list.d - echo "deb ${NODEPOOL_PUPPETLABS_MIRROR} ${PUPPET_CODENAME} puppet${PUPPET_MAJ_VERSION}" | $SUDO tee /etc/apt/sources.list.d/puppetlabs.list + echo "deb ${NODEPOOL_PUPPETLABS_MIRROR} ${VERSION_CODENAME} puppet${PUPPET_MAJ_VERSION}" | $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 elif is_fedora; then - source /etc/os-release $SUDO rpm --import ${NODEPOOL_PUPPETLABS_MIRROR}/RPM-GPG-KEY-puppet $SUDO rpm --import ${NODEPOOL_PUPPETLABS_MIRROR}/RPM-GPG-KEY-puppet-20250406 $SUDO bash -c "cat << EOF > /etc/yum.repos.d/puppetlabs.repo @@ -200,6 +199,28 @@ EOF" fi } +install_openvox_repo() { + print_header 'Install OpenVox repo' + source /etc/os-release + if uses_debs; then + $SUDO mkdir -p /etc/apt/sources.list.d + echo "deb https://apt.voxpupuli.org ${ID}${VERSION_ID} openvox${PUPPET_MAJ_VERSION}" | $SUDO tee /etc/apt/sources.list.d/openvox.list + $SUDO apt-key add files/GPG-KEY-openvox.pub + $SUDO apt-key add files/GPG-KEY-ceph + $SUDO apt-get update + elif is_fedora; then + $SUDO rpm --import https://yum.voxpupuli.org/GPG-KEY-openvox.pub + $SUDO bash -c "cat << EOF > /etc/yum.repos.d/openvox.repo +[openvox] +name=OpenVox El ${VERSION_ID} - x86_64 +baseurl=https://yum.voxpupuli.org/openvox${PUPPET_MAJ_VERSION}/el/${VERSION_ID}/x86_64/ +gpgkey=https://yum.voxpupuli.org/GPG-KEY-openvox.pub +enabled=1 +gpgcheck=1 +EOF" + fi +} + install_puppet() { print_header 'Install Puppet' if uses_debs; then diff --git a/playbooks/run-integration-tests.yaml b/playbooks/run-integration-tests.yaml index 4627e7531..2779dd517 100644 --- a/playbooks/run-integration-tests.yaml +++ b/playbooks/run-integration-tests.yaml @@ -4,6 +4,7 @@ cmd: | set -ex trap "./copy_logs.sh" EXIT + export USE_OPENVOX={{ use_openvox }} export CEPH_VERSION={{ ceph }} export PUPPET_MAJ_VERSION={{ puppet }} export SCENARIO={{ scenario }} diff --git a/run_tests.sh b/run_tests.sh index ac2591e5f..cb579e03c 100755 --- a/run_tests.sh +++ b/run_tests.sh @@ -22,13 +22,18 @@ export PUPPET_MAJ_VERSION=${PUPPET_MAJ_VERSION:-7} export SCENARIO=${SCENARIO:-scenario001} export MANAGE_PUPPET_MODULES=${MANAGE_PUPPET_MODULES:-true} export MANAGE_REPOS=${MANAGE_REPOS:-true} +export USE_OPENVOX=${USE_OPENVOX:-false} export USE_PUPPETLABS=${USE_PUPPETLABS:-true} export ADD_SWAP=${ADD_SWAP:-true} export SWAP_SIZE_GB=${SWAP_SIZE_GB:-8} export HIERA_CONFIG=${HIERA_CONFIG:-${SCRIPT_DIR}/hiera.yaml} export MANAGE_HIERA=${MANAGE_HIERA:-true} -if [ "${USE_PUPPETLABS,,}" = true ];then +if [ "${USE_OPENVOX,,}" = true ];then + export PATH=${PATH}:/opt/puppetlabs/bin:/opt/puppetlabs/puppet/bin + export PUPPET_BASE_PATH=/etc/puppetlabs/code + export PUPPET_PKG=${PUPPET_PKG:-openvox-agent} +elif [ "${USE_PUPPETLABS,,}" = true ]; then export PATH=${PATH}:/opt/puppetlabs/bin:/opt/puppetlabs/puppet/bin export PUPPET_BASE_PATH=/etc/puppetlabs/code export PUPPET_PKG=${PUPPET_PKG:-puppet-agent} @@ -154,8 +159,12 @@ ln -s $IMG_DIR/cirros-${CIRROS_VERSION}-x86_64-disk.img $IMG_DIR/cirros-${CIRROS qemu-img convert -f qcow2 -O raw $IMG_DIR/cirros-${CIRROS_VERSION}-x86_64-disk.img $IMG_DIR/cirros-${CIRROS_VERSION}-x86_64-disk-raw.img -if [ "${MANAGE_REPOS,,}" = true ] && [ "${USE_PUPPETLABS,,}" = true ]; then - install_puppetlabs_repo +if [ "${MANAGE_REPOS,,}" = true ]; then + if [ "${USE_OPENVOX,,}" = true ]; then + install_openvox_repo + elif [ "${USE_PUPPETLABS,,}" = true ]; then + install_puppetlabs_repo + fi fi install_puppet PUPPET_FULL_PATH=$(which puppet) diff --git a/zuul.d/base.yaml b/zuul.d/base.yaml index 8f946f132..792f1bff6 100644 --- a/zuul.d/base.yaml +++ b/zuul.d/base.yaml @@ -82,6 +82,7 @@ nodeset: ubuntu-noble vars: puppet: 8 + use_openvox: false - job: name: puppet-openstack-module-base diff --git a/zuul.d/integration.yaml b/zuul.d/integration.yaml index e7f82715f..2e6c1959c 100644 --- a/zuul.d/integration.yaml +++ b/zuul.d/integration.yaml @@ -110,3 +110,91 @@ parent: puppet-openstack-integration-8-scenario005 nodeset: ubuntu-noble voting: false + +- job: + name: openvox-openstack-integration-8 + parent: puppet-openstack-integration-run-base + abstract: true + vars: + puppet: 8 + use_openvox: true + +- job: + name: openvox-openstack-integration-8-scenario001 + parent: openvox-openstack-integration-8 + abstract: true + vars: + scenario: scenario001 + +- job: + name: openvox-openstack-integration-8-scenario001-tempest-centos-9-stream + parent: openvox-openstack-integration-8-scenario001 + voting: false + nodeset: + nodes: + - name: centos-9-stream + label: centos-9-stream + +- job: + name: openvox-openstack-integration-8-scenario002 + parent: openvox-openstack-integration-8 + abstract: true + vars: + scenario: scenario002 + +- job: + name: openvox-openstack-integration-8-scenario002-tempest-centos-9-stream + parent: openvox-openstack-integration-8-scenario002 + voting: false + nodeset: + nodes: + - name: centos-9-stream + label: centos-9-stream + +- job: + name: openvox-openstack-integration-8-scenario003 + parent: openvox-openstack-integration-8 + abstract: true + vars: + scenario: scenario003 + +- job: + name: openvox-openstack-integration-8-scenario003-tempest-centos-9-stream + parent: openvox-openstack-integration-8-scenario003 + voting: false + nodeset: + nodes: + - name: centos-9-stream + label: centos-9-stream + +- job: + name: openvox-openstack-integration-8-scenario004 + parent: openvox-openstack-integration-8 + abstract: true + vars: + scenario: scenario004 + +- job: + name: openvox-openstack-integration-8-scenario004-tempest-centos-9-stream + parent: openvox-openstack-integration-8-scenario004 + voting: false + nodeset: + nodes: + - name: centos-9-stream + label: centos-9-stream + +- job: + name: openvox-openstack-integration-8-scenario005 + parent: openvox-openstack-integration-8 + abstract: true + vars: + scenario: scenario005 + +- job: + name: openvox-openstack-integration-8-scenario005-tempest-centos-9-stream + parent: openvox-openstack-integration-8-scenario005 + voting: false + nodeset: + nodes: + - name: centos-9-stream + label: centos-9-stream diff --git a/zuul.d/layout.yaml b/zuul.d/layout.yaml index 0920b478c..cf36fae26 100644 --- a/zuul.d/layout.yaml +++ b/zuul.d/layout.yaml @@ -55,6 +55,11 @@ - 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 + - openvox-openstack-integration-8-scenario001-tempest-centos-9-stream + - openvox-openstack-integration-8-scenario002-tempest-centos-9-stream + - openvox-openstack-integration-8-scenario003-tempest-centos-9-stream + - openvox-openstack-integration-8-scenario004-tempest-centos-9-stream + - openvox-openstack-integration-8-scenario005-tempest-centos-9-stream gate: jobs: - puppet-openstack-integration-8-scenario001-tempest-centos-9-stream @@ -69,6 +74,7 @@ jobs: - puppet-openstack-integration-8-scenario001-tempest-ubuntu-noble - puppet-openstack-integration-8-scenario001-tempest-centos-9-stream + - openvox-openstack-integration-8-scenario001-tempest-centos-9-stream gate: jobs: - puppet-openstack-integration-8-scenario001-tempest-centos-9-stream @@ -79,6 +85,7 @@ jobs: - puppet-openstack-integration-8-scenario002-tempest-ubuntu-noble - puppet-openstack-integration-8-scenario002-tempest-centos-9-stream + - openvox-openstack-integration-8-scenario002-tempest-centos-9-stream gate: jobs: - puppet-openstack-integration-8-scenario002-tempest-centos-9-stream @@ -89,6 +96,7 @@ jobs: - puppet-openstack-integration-8-scenario003-tempest-ubuntu-noble - puppet-openstack-integration-8-scenario003-tempest-centos-9-stream + - openvox-openstack-integration-8-scenario003-tempest-centos-9-stream gate: jobs: - puppet-openstack-integration-8-scenario003-tempest-centos-9-stream @@ -99,6 +107,7 @@ jobs: - puppet-openstack-integration-8-scenario004-tempest-ubuntu-noble - puppet-openstack-integration-8-scenario004-tempest-centos-9-stream + - openvox-openstack-integration-8-scenario004-tempest-centos-9-stream gate: jobs: - puppet-openstack-integration-8-scenario004-tempest-centos-9-stream @@ -109,6 +118,7 @@ jobs: - puppet-openstack-integration-8-scenario005-tempest-ubuntu-noble - puppet-openstack-integration-8-scenario005-tempest-centos-9-stream + - openvox-openstack-integration-8-scenario005-tempest-centos-9-stream gate: jobs: - puppet-openstack-integration-8-scenario005-tempest-centos-9-stream