Skip to content

(gh-21) Openvox gha acceptance for the 7.x branch#49

Merged
jpartlow merged 11 commits intoOpenVoxProject:7.xfrom
jpartlow:openvox-gha-acceptance-7.x
Jul 31, 2025
Merged

(gh-21) Openvox gha acceptance for the 7.x branch#49
jpartlow merged 11 commits intoOpenVoxProject:7.xfrom
jpartlow:openvox-gha-acceptance-7.x

Conversation

@jpartlow
Copy link
Copy Markdown
Contributor

Cherry-picks changes from #40 for the 7.x branch so that openvoxdb 7 packages can be tested from the new acceptance.yml workflow in the main branch.

Does not add a .github/workflows/acceptance.yml specifically to the 7.x branch.

jpartlow added 11 commits July 31, 2025 12:57
…f puppet

I haven't yet tracked down exactly what the puppet gem dependencies are
within this project, but this just switches to using openvox instead so
that we aren't depending/testing on the older, dead puppetlabs branch.

By default, puppet_ref is 'main' and bundler will pull in openvox@main
as a gem.
Resolved fiddly problems with ssh connections related to
.ssh/environment setup/permissions in the provision step.

Fixes a couple of broken cases in the helper.rb due to the update to
Beaker 6.
…defaults_on()

This completes the .ssh/environment setup for beaker. Normally beaker-puppet
would do this as part of its installation steps, but it's not capable of
installing openvox packages, so we will install the packages ahead of time
before Beaker gets involved.

The configure_type_defaults_on() step is important because
Beaker's use of ssh as root relies on the .ssh/environment file
supplying PATH to the puppet binaries.
hardcoded pre-suite and test paths. This gives us flexibility to include
the options and also specify exactly which bits of the pre-suite and
tests to execute.
…e testing

Adds an option to skip package installation, defaulted to true.
For testing openvox, the existing beaker-puppet tooling does not know
how to retrieve openvox packages. Package installation is being handled
outside of beaker during vm generation using the bolt project
kvm_automation_tooling.

This flag skips over the install steps that were meant to install
perforce packges, but still runs install_puppet_conf to configure the
host puppet.conf's with key details like the primary server.
The openvox packages are installed before beaker runs, but we still need
to use the puppetdb module to get them into a correctly configured
state for testing.

This added test runs just the configuration steps, modified to account
for the openvoxdb package names.
The .beaker/ dir is generated by each beaker init run.
There are a few spots in the suite where an attempt is made to 'service
foo action' something directly, usually because we're testing status
code or attempting to reload. EL9 and others no longer have service, so
I've added a little service() helper to lib/helper.rb to pick systemctl
or fallback to service or squawk.

Where it appeared that puppet-resource would suffice, I switched to
using that.

However a little deeper in the rabbit hole lurks beaker-puppet which
provides the with_puppet_running_on() method used throughout the suite,
which calls a bounce_service method also in
BeakerPuppet::Helpers::PuppetHelpers. And that method *also* attempts to
use the sysv service executable...

Right now I'm overriding this locally in helpers.rb to sidestep the
issue, but we may want to bite the bullet, fork beaker-puppet and either
depend on the forked repo directly or generate a different gem.

Have not yet bitten the bullet. This is the same workaround I have in:
OpenVoxProject/openvox-server@4758fec54d6a
OpenVoxProject/openvox@2f85330b84d236f
...
…xdb migrations

By default, Debian 11/12 just have C.UTF-8, but the openvoxdb Postgresql
migrations expect the en_US.UTF-8 locale to be present. Installing the
locales-all package is a simple way of ensuring this.

Same as OpenVoxProject/openvox-server@38c37a4603
…pendencies

beaker-abs should only be relevant inside perforce.
Someone could conceivably have setup their own vmpooler, and want to run
the acceptance suite using it I suppose, but we could always add it back
if we had to.
Likewise an explicit faraday dependency is probably no longer needed, as
that was added for an old puppet dependency in a8ac8bf.
@jpartlow jpartlow changed the base branch from main to 7.x July 31, 2025 21:20
@jpartlow
Copy link
Copy Markdown
Contributor Author

@jpartlow jpartlow merged commit 2d98e57 into OpenVoxProject:7.x Jul 31, 2025
@jpartlow jpartlow deleted the openvox-gha-acceptance-7.x branch July 31, 2025 21:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants