Add acceptance test for agent run without /etc/hosts - #574
Conversation
Assisted-By: GitHub Copilot Signed-off-by: Kenyon Ralph <kralph@qti.qualcomm.com>
|
Not sure Also I need to see if I can reproduce the problem with a serverless agent run. |
|
Thanks for the test! A bit of background for acceptance tests. We have lots of them, and combined they take... time. Because of the great work from the awesome @jpartlow , we can dynamically spawn virtual machines with different operating systems in github runners. For X86 and ARM. This enables us to validate most of the operating systems we build packages for. But it also means that acceptance test suite takes even more resources. openvoxdb and openvox-server have their own test suites. openvox agent even has two. one just for the agent package, and a second one that also installs the server. (Granted, we can do more cleanup here and even unify the two acceptance tests directories and differentiate between standalone tests vs tests-that-need-a-server with tags, but who has the time) How to run the tests?A great question! Many options! For the stuff in /packaging/, the openvox repo itself has a workflow that can be manually triggered: https://github.com/OpenVoxProject/openvox/actions/workflows/acceptance.yml. It's very flexible. It tests built packages, so you can provide version numbers. It also supports "pre-release packages". Those are packages that were build by our workflows and uploaded to S3, but not published into our official repos. Everybody with write permissions on the openvox repo start start such a build at https://github.com/OpenVoxProject/openvox/actions/workflows/build.yml (for openvoxdb/server/ezbake, CI builds the packages for each push in a PR, but on-demand as well if desired). the acceptance workflow has more inputs. you can provide a branch name and a fork of the openvox repo to pull the tests from. This enables us to run existing packages against changed tests! I started this on your behalf here: https://github.com/OpenVoxProject/openvox/actions/runs/30713340909 . And indeed your test is executed, but it fails because no server is available. How to run the other tests / all tests?Checkout https://github.com/OpenVoxProject/acceptance-pipelines/actions/workflows/openvox_acceptance_pipeline.yml ! This allows us to run openvox standalone tests, openvox agent<>server tests, openvoxdb tests, openvox-server tests. X86? ARM64? Openvox 8? 9? prerelease packages? Yes. For openvox 8 X86 this currently utilizes 92 jobs. We have a limit of 500 concurrent jobs for voxpupuli+OpenVoxProject GitHub orgs combined. This is the reason why we don't run acceptance tests for each PR/automatically. Tl;DrPlease move your test from |
Short description
I found that PE puppet agent fails when run on a machine that lacks
/etc/hosts. Trying to see if OpenVox has the same problem.Checklist
I have:
Signed-off-byannotation to each of my commitsGenerated-byorAssisted-byannotations to each of my commits created with the help of an AI agent