Skip to content

Add consumer smoke job and deployment key validation - #53

Merged
openshift-merge-bot[bot] merged 1 commit into
openstack-k8s-operators:mainfrom
rebtoor:feature/consumer-smoke-job
Aug 25, 2026
Merged

Add consumer smoke job and deployment key validation#53
openshift-merge-bot[bot] merged 1 commit into
openstack-k8s-operators:mainfrom
rebtoor:feature/consumer-smoke-job

Conversation

@rebtoor

@rebtoor rebtoor commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add a consumer smoke Zuul job that validates the content provider contract on a fresh consumer node: registry access, image pull, image inspection, and deployment key resolution
  • Add a unit test validating deployment keys in image-mappings.yaml against OpenStackVersion.spec.customContainerImages fields (covers both ContainerTemplate and ContainerDefaults structs)

Consumer smoke job

The s2i-openstack-container-consumer-smoke job depends on the content provider, pulls all published images, inspects them, and validates that every deployment key resolves to a pulled image. It is service-agnostic and works with any set of images the content provider publishes.

Deployment key validation test

test_deployment_keys.py parses the central image-mappings.yaml and checks every declared deployment key against the canonical OpenStackVersion CRD fields. When a local openstack-operator checkout is available, it parses the Go source live; otherwise it falls back to a frozen field set and flags staleness. Additional checks verify uniqueness, Containerfile existence, and mapping completeness.

Validation

  • python3 -m unittest tests.test_deployment_keys -v -- all checks passed
  • Playbook references match the content provider return contract

@centosinfra-prod-github-app

Copy link
Copy Markdown

Merge Failed.

This change or one of its cross-repo dependencies was unable to be automatically merged with the current state of its repository. Please rebase the change and upload a new patchset.
Warning:
Error merging github.com/openstack-k8s-operators/s2i-openstack-containers for 14,7c28bbb0fb5588b6b3f29fed624f2cd17ee0aa50

@rebtoor
rebtoor force-pushed the feature/consumer-smoke-job branch from 5d1e94e to e3021d0 Compare August 12, 2026 07:51
@centosinfra-prod-github-app

Copy link
Copy Markdown

Merge Failed.

This change or one of its cross-repo dependencies was unable to be automatically merged with the current state of its repository. Please rebase the change and upload a new patchset.
Warning:
Error merging github.com/openstack-k8s-operators/s2i-openstack-containers for 14,7c28bbb0fb5588b6b3f29fed624f2cd17ee0aa50

@rebtoor
rebtoor force-pushed the feature/consumer-smoke-job branch from e3021d0 to fc62e10 Compare August 12, 2026 07:53
@centosinfra-prod-github-app

Copy link
Copy Markdown

Merge Failed.

This change or one of its cross-repo dependencies was unable to be automatically merged with the current state of its repository. Please rebase the change and upload a new patchset.
Warning:
Error merging github.com/openstack-k8s-operators/s2i-openstack-containers for 14,7c28bbb0fb5588b6b3f29fed624f2cd17ee0aa50

@rebtoor
rebtoor force-pushed the feature/consumer-smoke-job branch from fc62e10 to 6485046 Compare August 12, 2026 08:39
@centosinfra-prod-github-app

Copy link
Copy Markdown

Merge Failed.

This change or one of its cross-repo dependencies was unable to be automatically merged with the current state of its repository. Please rebase the change and upload a new patchset.
Warning:
Error merging github.com/openstack-k8s-operators/s2i-openstack-containers for 14,7c28bbb0fb5588b6b3f29fed624f2cd17ee0aa50

@rebtoor rebtoor changed the title Add non-voting consumer smoke job for content provider Add consumer smoke job and deployment key validation Aug 12, 2026
Comment on lines +15 to +30
- name: Require content provider metadata
ansible.builtin.assert:
that:
- s2i_ci_content is defined
- s2i_ci_content is mapping
- s2i_ci_content.registry is string
- s2i_ci_content.registry | length > 0
- s2i_ci_content.images is sequence
- s2i_ci_content.images | length > 0
- s2i_ci_content.selected_images is sequence
- s2i_ci_content.custom_container_images is mapping
- content_provider_os_custom_container_images is defined
- content_provider_os_custom_container_images is mapping
fail_msg: >-
Content provider metadata is missing or malformed.
Verify the content-provider job completed and paused successfully.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1
my current molecule test dont actully build the images
so this is adding some real test coverage.

https://github.com/openstack-k8s-operators/s2i-openstack-containers/pull/14/changes#diff-faa4894927d951222de1f48124fcb1fefdb1a87c18d3504a830522a7f6d4c005

currently they fake the metadata and include the task fiels and assert the sideffect i that if you have a malformed output that the taks fials.

this smoke test job will catch if we dont build the image and let us know without havign to dig through an edpm style jobs logs just to find that we used the wrong images.

in this repo at least we could optimise the jobs a littel by only runnign the edpm tempet job if this one also passes but that might be over optimizing.

Comment thread zuul.d/consumer-smoke.yaml Outdated
@rebtoor
rebtoor force-pushed the feature/consumer-smoke-job branch from 6485046 to c9aa18d Compare August 13, 2026 16:01
@centosinfra-prod-github-app

Copy link
Copy Markdown

Merge Failed.

This change or one of its cross-repo dependencies was unable to be automatically merged with the current state of its repository. Please rebase the change and upload a new patchset.
Warning:
Error merging github.com/openstack-k8s-operators/s2i-openstack-containers for 14,69daadad5a003d51a7fbcb93bfcf6de7e849b6cb

@centosinfra-prod-github-app

Copy link
Copy Markdown

Merge Failed.

This change or one of its cross-repo dependencies was unable to be automatically merged with the current state of its repository. Please rebase the change and upload a new patchset.
Warning:
Error merging github.com/openstack-k8s-operators/s2i-openstack-containers for 14,69daadad5a003d51a7fbcb93bfcf6de7e849b6cb

@rebtoor

rebtoor commented Aug 13, 2026

Copy link
Copy Markdown
Contributor Author

recheck

@centosinfra-prod-github-app

Copy link
Copy Markdown

Zuul encountered a syntax error while parsing its
configuration in the repo openstack-k8s-operators/s2i-openstack-containers on branch main. The
problem was:

Job s2i-openstack-container-content-provider not defined

The problem appears in the "openstack-k8s-operators/s2i-openstack-containers" project stanza:

project:
name: openstack-k8s-operators/s2i-openstack-containers
github-check:
jobs:
- noop
- s2i-openstack-container-consumer-smoke:
voting: false
dependencies:
- s2i-openstack-container-content-provider

in "openstack-k8s-operators/s2i-openstack-containers/zuul.d/projects.yaml@main", line 2

@rebtoor

rebtoor commented Aug 13, 2026

Copy link
Copy Markdown
Contributor Author

recheck

@centosinfra-prod-github-app

Copy link
Copy Markdown

Zuul encountered a syntax error while parsing its
configuration in the repo openstack-k8s-operators/s2i-openstack-containers on branch main. The
problem was:

Job s2i-openstack-container-content-provider not defined

The problem appears in the "openstack-k8s-operators/s2i-openstack-containers" project stanza:

project:
name: openstack-k8s-operators/s2i-openstack-containers
github-check:
jobs:
- noop
- s2i-openstack-container-consumer-smoke:
voting: false
dependencies:
- s2i-openstack-container-content-provider

in "openstack-k8s-operators/s2i-openstack-containers/zuul.d/projects.yaml@main", line 2

@rebtoor
rebtoor force-pushed the feature/consumer-smoke-job branch 2 times, most recently from 856cdab to 086a2e0 Compare August 13, 2026 16:16
@centosinfra-prod-github-app

Copy link
Copy Markdown

Zuul encountered a syntax error while parsing its
configuration in the repo openstack-k8s-operators/s2i-openstack-containers on branch main. The
problem was:

Job s2i-openstack-container-content-provider not defined

The problem appears in the "openstack-k8s-operators/s2i-openstack-containers" project stanza:

project:
name: openstack-k8s-operators/s2i-openstack-containers
github-check:
jobs:
- noop
- s2i-openstack-container-consumer-smoke:
voting: false
dependencies:
- s2i-openstack-container-content-provider

in "openstack-k8s-operators/s2i-openstack-containers/zuul.d/projects.yaml@main", line 2

@rebtoor
rebtoor force-pushed the feature/consumer-smoke-job branch 4 times, most recently from 394922b to 1dfaf2d Compare August 18, 2026 12:07
@centosinfra-prod-github-app

Copy link
Copy Markdown

Merge Failed.

This change or one of its cross-repo dependencies was unable to be automatically merged with the current state of its repository. Please rebase the change and upload a new patchset.
Warning:
Error merging github.com/openstack-k8s-operators/s2i-openstack-containers for 53,1dfaf2d9f34da2d1b69ca4804790de82131f955c

@rebtoor
rebtoor force-pushed the feature/consumer-smoke-job branch from 1dfaf2d to a9f9f9f Compare August 18, 2026 12:19
@centosinfra-prod-github-app

Copy link
Copy Markdown

Merge Failed.

This change or one of its cross-repo dependencies was unable to be automatically merged with the current state of its repository. Please rebase the change and upload a new patchset.
Warning:
Error merging github.com/openstack-k8s-operators/s2i-openstack-containers for 53,a9f9f9fd8919ec2d518a54f37d6219a5a975bce7

@rebtoor
rebtoor force-pushed the feature/consumer-smoke-job branch from a9f9f9f to 4cc3fa9 Compare August 18, 2026 13:21
@centosinfra-prod-github-app

Copy link
Copy Markdown

Merge Failed.

This change or one of its cross-repo dependencies was unable to be automatically merged with the current state of its repository. Please rebase the change and upload a new patchset.
Warning:
Error merging github.com/openstack-k8s-operators/s2i-openstack-containers for 91,91b4ff87aa4dfff4489f29242e02b36d8730978b

@centosinfra-prod-github-app

Copy link
Copy Markdown

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/97f9ebed604042f3a3df5636359ca794

✔️ s2i-openstack-containers-molecule SUCCESS in 2m 08s
✔️ s2i-openstack-container-content-provider SUCCESS in 32m 26s
s2i-openstack-container-consumer-smoke FAILURE in 1m 49s

@rebtoor

rebtoor commented Aug 19, 2026

Copy link
Copy Markdown
Contributor Author

recheck

@centosinfra-prod-github-app

Copy link
Copy Markdown

Merge Failed.

This change or one of its cross-repo dependencies was unable to be automatically merged with the current state of its repository. Please rebase the change and upload a new patchset.
Warning:
Error merging github.com/openstack-k8s-operators/s2i-openstack-containers for 53,fbf4c61c778d728ea0ec64ed35038885b4ca02be

@rebtoor
rebtoor force-pushed the feature/consumer-smoke-job branch from fbf4c61 to bfa39bb Compare August 19, 2026 13:39
@rebtoor
rebtoor force-pushed the feature/consumer-smoke-job branch from bfa39bb to f08144a Compare August 19, 2026 15:57
@centosinfra-prod-github-app

Copy link
Copy Markdown

Merge Failed.

This change or one of its cross-repo dependencies was unable to be automatically merged with the current state of its repository. Please rebase the change and upload a new patchset.
Warning:
Error merging github.com/openstack-k8s-operators/s2i-openstack-containers for 53,f08144a9f31fabf5792dafa1ab9a20aaabfe3dd1

@rebtoor

rebtoor commented Aug 19, 2026

Copy link
Copy Markdown
Contributor Author

recheck

@centosinfra-prod-github-app

Copy link
Copy Markdown

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/5be515352c284a7cae443c5797518ad2

✔️ s2i-openstack-containers-molecule SUCCESS in 2m 07s
✔️ s2i-openstack-container-content-provider SUCCESS in 29m 30s
s2i-openstack-container-consumer-smoke FAILURE in 1m 46s

@rebtoor
rebtoor force-pushed the feature/consumer-smoke-job branch from f08144a to 6452648 Compare August 19, 2026 21:56
@rebtoor
rebtoor force-pushed the feature/consumer-smoke-job branch from 6452648 to 1840f51 Compare August 24, 2026 13:39
@centosinfra-prod-github-app

Copy link
Copy Markdown

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/bf4671c254fb4a359adfc40b39f09700

✔️ s2i-openstack-containers-molecule SUCCESS in 2m 01s
s2i-openstack-container-content-provider FAILURE in 20m 48s
⚠️ s2i-openstack-container-consumer-smoke SKIPPED Skipped due to failed job s2i-openstack-container-content-provider

@rebtoor

rebtoor commented Aug 24, 2026

Copy link
Copy Markdown
Contributor Author

recheck

@arxcruz

arxcruz commented Aug 25, 2026

Copy link
Copy Markdown

/approve

Add a consumer smoke Zuul job that validates the content provider
contract on a fresh consumer node: registry access, image pull,
image inspection, and deployment key resolution.

Add a unit test validating deployment keys in image-mappings.yaml
against OpenStackVersion.spec.customContainerImages fields (covers
both ContainerTemplate and ContainerDefaults structs).

Co-authored-by: Cursor <cursoragent@cursor.com>
Signed-off-by: Roberto Alfieri <ralfieri@redhat.com>
@arxcruz

arxcruz commented Aug 25, 2026

Copy link
Copy Markdown

/approve
/lgtm

@openshift-ci

openshift-ci Bot commented Aug 25, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: arxcruz

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-merge-bot
openshift-merge-bot Bot merged commit f1286cf into openstack-k8s-operators:main Aug 25, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants