Skip to content

Add generic container-image-content-provider job#345

Draft
vyzigold wants to merge 7 commits into
masterfrom
jwysogla-telemetry-forks
Draft

Add generic container-image-content-provider job#345
vyzigold wants to merge 7 commits into
masterfrom
jwysogla-telemetry-forks

Conversation

@vyzigold
Copy link
Copy Markdown
Contributor

@vyzigold vyzigold commented Apr 15, 2026

Add an abstract Zuul job and playbook that builds a container image from the current change and serves it from a local registry. This provides a reusable content-provider pattern for repos like sg-core, prometheus-podman-exporter, and mysqld_exporter that need container image builds as part of the telemetry verification pipeline.

Depends-On: openstack-k8s-operators/ci-framework#3856
Depends-On: openstack-k8s-operators/ci-framework#3938
Generated-By: Claude-Code claude-opus-4-6

@vyzigold vyzigold marked this pull request as draft April 15, 2026 09:27
Add an abstract Zuul job and playbook that builds a container image
from the current change and serves it from a local registry. This
provides a reusable content-provider pattern for repos like sg-core,
prometheus-podman-exporter, and mysqld_exporter that need container
image builds as part of the telemetry verification pipeline.

Generated-By: Claude-Code claude-opus-4-6
Comment thread ci/playbooks/container-image-content-provider.yml Outdated

- name: Set full image reference
ansible.builtin.set_fact:
_container_image_url: "{{ cifmw_rp_registry_ip }}:5001/{{ container_build_image_name }}:{{ _container_image_tag }}"
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Does this only support single container image?

Is there a usecase where we'd need to build multiple containers? e.g. with multiple depends-on?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Yes, it supported only a single image, which was my original goal. But I think it's a good idea to just build all 3 of the images. Although I don't think we'll need to build more than 1 anytime soon, it'll be a bit more future-proof.

The 3rd commit rewrote the job to build all 3 images.

@elfiesmelfie
Copy link
Copy Markdown
Collaborator

  • I would like to see a concrete child job running before this merges

Address review feedback: use chdir as a direct parameter of the
command module instead of nesting under args.

Generated-By: Claude-Code claude-opus-4-6
vyzigold added a commit to vyzigold/sg-core-k8s-operators that referenced this pull request Apr 15, 2026
Copy the abstract job definition from feature-verification-tests into
sg-core so that Zuul can resolve the parent job before the fvt PR
merges. Remove this once infrawatch/feature-verification-tests#345
lands.

Generated-By: Claude-Code claude-opus-4-6
vyzigold added a commit to vyzigold/sg-core-k8s-operators that referenced this pull request Apr 15, 2026
Copy the abstract job definition from feature-verification-tests into
sg-core so that Zuul can resolve the parent job before the fvt PR
merges. Remove this once infrawatch/feature-verification-tests#345
lands.

Generated-By: Claude-Code claude-opus-4-6
vyzigold added a commit to vyzigold/sg-core-k8s-operators that referenced this pull request Apr 15, 2026
Copy the abstract job definition from feature-verification-tests into
sg-core so that Zuul can resolve the parent job before the fvt PR
merges. Remove this once infrawatch/feature-verification-tests#345
lands.

Generated-By: Claude-Code claude-opus-4-6
vyzigold added a commit to vyzigold/sg-core-k8s-operators that referenced this pull request Apr 15, 2026
Copy the abstract job definition from feature-verification-tests into
sg-core so that Zuul can resolve the parent job before the fvt PR
merges. Remove this once infrawatch/feature-verification-tests#345
lands.

Generated-By: Claude-Code claude-opus-4-6
vyzigold added a commit to vyzigold/sg-core-k8s-operators that referenced this pull request Apr 16, 2026
Copy the job definition and playbooks from feature-verification-tests
into sg-core so that Zuul can resolve the job before the fvt PR
merges. Remove this once infrawatch/feature-verification-tests#345
lands.

Generated-By: Claude-Code claude-opus-4-6
@vyzigold
Copy link
Copy Markdown
Contributor Author

  • I would like to see a concrete child job running before this merges

This is a bit of an issue, which is why I wanted to merge this PR and update the job as we start to use it. I'm pretty sure you need the job to exist outside of a PR branch, before you can define child jobs. But for now I solved it with just temporarily duplicating the whole job into my sg-core PR (openstack-k8s-operators/sg-core#33) . I'll try to keep this PR and the sg-core one in sync and once we see the content provider working there, we'll have a pretty good proof that this PR works.

vyzigold added a commit to vyzigold/sg-core-k8s-operators that referenced this pull request Apr 16, 2026
Copy the job definition and playbooks from feature-verification-tests
into sg-core so that Zuul can resolve the job before the fvt PR
merges. Remove this once infrawatch/feature-verification-tests#345
lands.

Generated-By: Claude-Code claude-opus-4-6
vyzigold added a commit to vyzigold/sg-core-k8s-operators that referenced this pull request Apr 16, 2026
Copy the job definition and playbooks from feature-verification-tests
into sg-core so that Zuul can resolve the job before the fvt PR
merges. Remove this once infrawatch/feature-verification-tests#345
lands.

Generated-By: Claude-Code claude-opus-4-6
vyzigold added a commit to vyzigold/sg-core-k8s-operators that referenced this pull request Apr 16, 2026
Copy the job definition and playbooks from feature-verification-tests
into sg-core so that Zuul can resolve the job before the fvt PR
merges. Remove this once infrawatch/feature-verification-tests#345
lands.

Generated-By: Claude-Code claude-opus-4-6
@vyzigold vyzigold marked this pull request as draft April 16, 2026 20:27
Rework the content-provider job to build all three telemetry fork
images (sg-core, prometheus-podman-exporter, mysqld-exporter) in a
single job using a container_images list. The playbook loops over
each entry to build, push, and return all image URLs.

Generated-By: Claude-Code claude-opus-4-6
Set cifmw_update_containers to true in functional-tests-osp18 so the
update_containers role applies per-image overrides (sg-core,
mysqld-exporter) returned by the content-provider via zuul_return.

Generated-By: Claude-Code claude-opus-4-6
@vyzigold vyzigold force-pushed the jwysogla-telemetry-forks branch from 4acad4e to 47a3500 Compare April 16, 2026 21:37
The default centos-stream-9 nodeset can land on clouds with only
private IPs, making the registry unreachable from functional test
OCP clusters. Use centos-stream-9-vexxhost to ensure a public IP.

Generated-By: Claude-Code claude-opus-4-6
vyzigold added a commit to vyzigold/sg-core-k8s-operators that referenced this pull request Apr 17, 2026
Copy the job definition and playbooks from feature-verification-tests
into sg-core so that Zuul can resolve the job before the fvt PR
merges. Remove this once infrawatch/feature-verification-tests#345
lands.

Generated-By: Claude-Code claude-opus-4-6
Include cifmw_crc_additional_insecure_registries and
cifmw_crc_additional_allowed_registries in zuul_return so downstream
functional test jobs automatically configure OCP to trust the
content-provider's HTTP registry.

Generated-By: Claude-Code claude-opus-4-6
vyzigold added a commit to vyzigold/sg-core-k8s-operators that referenced this pull request Apr 17, 2026
Copy the job definition and playbooks from feature-verification-tests
into sg-core so that Zuul can resolve the job before the fvt PR
merges. Remove this once infrawatch/feature-verification-tests#345
lands.

Generated-By: Claude-Code claude-opus-4-6
vyzigold added a commit to vyzigold/sg-core-k8s-operators that referenced this pull request May 18, 2026
Copy the job definition and playbooks from feature-verification-tests
into sg-core so that Zuul can resolve the job before the fvt PR
merges. Remove this once infrawatch/feature-verification-tests#345
lands.

Generated-By: Claude-Code claude-opus-4-6
@vyzigold
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 infrawatch/feature-verification-tests on branch master. The
problem was:

The nodeset "centos-stream-9-vexxhost" was not found.

The problem appears in the "telemetry-container-image-content-provider" job stanza:

job:
name: telemetry-container-image-content-provider
parent: cifmw-base-minimal
nodeset: centos-stream-9-vexxhost
description: |
Build sg-core, prometheus-podman-exporter and mysqld-exporter
container images from the current change and serve them from
a local registry for dependent jobs.
required-projects:
...

in "infrawatch/feature-verification-tests/.zuul.yaml@master", line 24

vyzigold added a commit to vyzigold/sg-core-k8s-operators that referenced this pull request May 18, 2026
Copy the job definition and playbooks from feature-verification-tests
into sg-core so that Zuul can resolve the job before the fvt PR
merges. Remove this once infrawatch/feature-verification-tests#345
lands.

Generated-By: Claude-Code claude-opus-4-6
vyzigold added a commit to vyzigold/sg-core-k8s-operators that referenced this pull request May 18, 2026
Copy the job definition and playbooks from feature-verification-tests
into sg-core so that Zuul can resolve the job before the fvt PR
merges. Remove this once infrawatch/feature-verification-tests#345
lands.

Generated-By: Claude-Code claude-opus-4-6
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants