Repository navigation
Conversation
Member
Author
|
Carries the same one-line commit as #44 dropping the unused |
tas50
force-pushed
the
ci/kitchen-integration-smoke
branch
from
August 30, 2026 01:56
616c711 to
132b510
Compare
Nothing in CI ran this plugin through Test Kitchen. The unit tests instantiate Kitchen::Driver::Vro directly, so a whole class of breakage was invisible: Test Kitchen failing to discover the plugin by the name people write in their kitchen.yml, a gemspec that stopped shipping a file, a bad require, required_config or default_config coming unwired, or a driver API change in a new test-kitchen release. There is no way to run a real create/converge in CI -- this driver runs workflows on a vRealize Orchestrator appliance, and there is no such thing as a disposable one. Everything up to that point can run, though, and that is where the breakage above shows up. Adds a kitchen.yml with one platform per documented configuration shape (defaults only, workflows addressed by id, workflow input parameters, a longer request_timeout, a self-signed certificate) and `rake integration`, which builds every instance that file describes and asserts: - Test Kitchen resolves `name: vro` to Kitchen::Driver::Vro as a v2 plugin reporting the gem's own version - each default matches what the README documents - workflow ids, workflow parameters, and per-platform overrides survive the trip through kitchen.yml - a configuration missing a required option is rejected, with an error naming the option - `kitchen list` and `kitchen diagnose --all` succeed against the driver The same kitchen.yml points at a real appliance when VRO_BASE_URL, VRO_USERNAME, VRO_PASSWORD, VRO_CREATE_WORKFLOW, and VRO_DESTROY_WORKFLOW are set, so it doubles as the starting point for manual testing. CI runs it on Ruby 3.1 and 3.4 after the lint and unit job. Signed-off-by: Tim Smith <tim@mondoo.com>
webmock has never been required or used by anything in spec/ -- the specs stub the vcoworkflows client rather than the HTTP layer underneath it, so nothing ever reaches a socket for webmock to intercept. Removing it also clears the one thing standing between this repo and a green lint run: cookstyle 9.0.0 flags the extra spacing in that Gemfile line under Layout/ExtraSpacing, which cookstyle 8 did not, so `main` went red on its own the moment cookstyle 9 shipped. Signed-off-by: Tim Smith <tim@mondoo.com>
tas50
force-pushed
the
ci/kitchen-integration-smoke
branch
from
August 30, 2026 01:56
132b510 to
022e70a
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Nothing in CI ran this plugin through Test Kitchen. The unit tests instantiate
Kitchen::Driver::Vrodirectly, which leaves a whole class of breakage invisible:kitchen.ymlrequirerequired_configordefault_configcoming unwiredThere is no way to run a real create/converge here. This driver runs workflows on a vRealize Orchestrator appliance, and there is no such thing as a disposable one — no container image, no free tier, nothing a fork's PR could reach. Everything up to that point does run without an appliance, and that is exactly where the breakage above shows up.
What
A
kitchen.ymlin the repo root with one platform per documented configuration shape:defaultsworkflow-idscreate_workflow_id/destroy_workflow_idworkflow-parametersslow-workflowsrequest_timeoutoverrideself-signed-certvro_disable_ssl_verifyAnd
bundle exec rake integration, which builds every instance that file describes the same way thekitchencommand does, then asserts:name: vrotoKitchen::Driver::Vroas a v2 plugin reporting the gem's own versiondefault_config :request_timeoutwithout touching the README, this failskitchen.ymltest/fixtures/kitchen.missing-required-config.yml)kitchen listandkitchen diagnose --allsucceed against the driverThe same
kitchen.ymlpoints at a real appliance whenVRO_BASE_URL,VRO_USERNAME,VRO_PASSWORD,VRO_CREATE_WORKFLOW, andVRO_DESTROY_WORKFLOWare set, so it doubles as the starting point for manual testing rather than being CI-only scaffolding.CONTRIBUTING.mddocuments both uses.CI runs it on Ruby 3.1 and 3.4 after the existing lint-and-unit job.
Verification
Confirmed it actually catches a regression — flipping
default_config :request_timeoutto 600 fails the run withrequest_timeout defaults to 300, as documented: resolved to 600and exits 1.