test: migrate workload-derives-deployment from infra (WIP)#160
Draft
ecv wants to merge 1 commit into
Draft
Conversation
Migrate the Workload-derives-WorkloadDeployment contract test out of datum-cloud/infra into the owning repo, per datum-cloud/infra#3006. That issue consolidates infra's live-env Chainsaw suite into one "construct" group and evacuates single-service compute.datumapis.com contract tests to compute, run against the local kind harness pre-merge. This test applies a Workload and asserts the control plane accepts it, then waits for the derived WorkloadDeployment (<name>-central) to reach Progressing=true and asserts it — control-plane derivation only, no wait for VMs to become Available. Key changes: - Add test/e2e/workload-derives-deployment/ with the chainsaw test and the location.yaml / network.yaml / workload.yaml fixtures copied from infra. - Drop the datumctl auth update-kubeconfig setup step and the project control-plane cluster block; target a local kind cluster via spec.cluster, mirroring datum-cloud/network-services-operator. - Remove spec.skip: true. Depends on the chainsaw harness introduced in the workload-api-acceptance migration PR (Makefile kind + chainsaw tooling and the test-chainsaw target).
Author
|
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.
What
Migrates the
workload-derives-deploymentChainsaw test out ofdatum-cloud/infrainto this repo (the owner of thecompute.datumapis.comWorkload / WorkloadDeployment contract).
test/e2e/workload-derives-deployment/(chainsaw test +location.yaml,network.yaml,workload.yamlfixtures copied from infra).Workload, asserts the control plane accepts it, waits for thederived
WorkloadDeployment(e2e-derived-workload-central) to reachProgressing=true, and asserts it — control-plane derivation only, no wait forVMs to become
Available.Why
datum-cloud/infra#3006consolidates infra's live-env Chainsaw suite into one"construct" group and evacuates single-service API-contract tests to their owning
repos, to be run against the local kind harness pre-merge. This test validates a
compute.datumapis.comcontract owned by this repo.Related:
datum-cloud/infra#3006,datum-cloud/infra#3005.Adaptations from the infra original
datumctl auth update-kubeconfigsetup step and theclusters:/cluster: projectblocks referencing./test-kubeconfig.spec.cluster: compute-e2e, mirroring NSO.spec.skip: true.Introduces Chainsaw to compute — decision to confirm
Compute has no Chainsaw harness today (only the kubebuilder Go e2e stub).
This PR relies on the proposed Chainsaw harness added in #159. The compute team
should decide between:
Known-uncertain
networking.datumapis.com(Location,Network); a compute-only kind envwill not serve them unless NSO CRDs are installed in the e2e bring-up.
validating webhook lists
LocationBindingand validatescityCodes: [ORD]against
LocationBinding.Spec.Topology["topology.datum.net/city-code"], so amatching
LocationBinding(not just theLocationin the fixture) is requiredor
ValidateCreatefailsInvalid. ReachingWorkloadDeployment Progressing=truefurther depends on the controller's networking behavior:with
NetworkingEnabled=falsethe Network scheduling gate is cleared andProgressingcan be reached without networking; with it enabled, a resolvableLocation/Network is needed. The correct harness config (install NSO CRDs +
LocationBindingfixture, vs. run compute withNetworkingEnabled=false) is acompute-team decision. This is the same class of failure that had the original
test
skip: true(infra #2733).spec.clustername assumedcompute-e2e(see test: migrate workload-api-acceptance from infra (WIP) #159;KIND_CLUSTERvar).the local harness.