Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Meta content provider job to test opendev and github changes #1892

Merged
merged 1 commit into from
Jun 28, 2024

Conversation

raukadah
Copy link
Contributor

@raukadah raukadah commented Jun 18, 2024

Meta content provider does following things:

  • It combines 3 content provider (operator, tcib and edpm image build) into one content provider to test all changes together.
  • If the changes coming from opendev, tcib and os-net-config, then it will build the DLRN packages and create gating repo.
  • If there is a gating and non os-net-config changes, then it will do the tcib build.
  • If there is a edpm-image-build change, then it will perform the image build.
  • All the built content will be pushed on single registry with different namespace.
  • The content provider will expose the same zuul return vars to dependent job to pick proper built content.
  • It also returns content_provider_os_registry_url var to dependent job and improve edpm_prepare role to set proper vars.
  • Generate gating repo only when there are changes to built by DLRN.

Note: It make changes to edpm_prepare to check edpm_image_build_output key length. If no edpm image is built by meta content provider then edpm_image_build_output will return an empty dict.

Testing scenario:

As a pull request owner and reviewers, I checked that:

  • Appropriate testing is done and actually running

Copy link
Contributor

openshift-ci bot commented Jun 18, 2024

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@raukadah raukadah force-pushed the meta_content_provider branch from dc5c241 to 38ca095 Compare June 18, 2024 08:22
@raukadah raukadah force-pushed the meta_content_provider branch from 38ca095 to 43ffd5a Compare June 18, 2024 09:09
@raukadah raukadah force-pushed the meta_content_provider branch from 43ffd5a to a297950 Compare June 18, 2024 10:06
Copy link

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://review.rdoproject.org/zuul/buildset/bec90fd19fef4571a1303bfa3d360c72

✔️ openstack-k8s-operators-content-provider SUCCESS in 1h 57m 54s
podified-multinode-edpm-deployment-crc POST_FAILURE in 1h 22m 23s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 11m 39s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 8m 55s
cifmw-pod-pre-commit FAILURE in 7m 42s
✔️ cifmw-pod-zuul-files SUCCESS in 4m 42s

Copy link

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://review.rdoproject.org/zuul/buildset/69dd2963d4674105962eebb8825d296f

✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 17m 00s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 17m 24s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 15m 58s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 8m 44s
cifmw-pod-pre-commit FAILURE in 7m 24s
✔️ cifmw-pod-zuul-files SUCCESS in 5m 00s

@raukadah raukadah force-pushed the meta_content_provider branch from f2db6f5 to 00ba4cb Compare June 19, 2024 06:16
Copy link

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://review.rdoproject.org/zuul/buildset/4dc2042b7d45445b9b71423d074a7154

✔️ openstack-k8s-operators-content-provider SUCCESS in 1h 47m 15s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 21m 21s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 31m 51s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 7m 48s
✔️ cifmw-pod-pre-commit SUCCESS in 7m 27s
✔️ cifmw-pod-zuul-files SUCCESS in 5m 30s
ci-framework-openstack-meta-content-provider FAILURE in 50m 43s

@raukadah raukadah force-pushed the meta_content_provider branch from 00ba4cb to 6ed5a2b Compare June 19, 2024 09:05
Copy link

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://review.rdoproject.org/zuul/buildset/09dfe40b25774c42b0b90b191da187ce

✔️ openstack-k8s-operators-content-provider SUCCESS in 1h 52m 40s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 18m 01s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 15m 01s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 9m 15s
✔️ cifmw-pod-pre-commit SUCCESS in 7m 32s
✔️ cifmw-pod-zuul-files SUCCESS in 4m 54s
ci-framework-openstack-meta-content-provider FAILURE in 49m 25s

@raukadah raukadah force-pushed the meta_content_provider branch 2 times, most recently from 08d6468 to a3ac750 Compare June 20, 2024 03:24
Copy link

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://review.rdoproject.org/zuul/buildset/e7445e72b5674ccba28c882d8f1367d8

✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 45m 19s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 17m 17s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 27m 25s
✔️ cifmw-data-plane-adoption-osp-17-to-extracted-crc SUCCESS in 2h 30m 11s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 10m 05s
cifmw-pod-pre-commit FAILURE in 8m 28s
✔️ cifmw-pod-zuul-files SUCCESS in 5m 10s
✔️ ci-framework-openstack-meta-content-provider SUCCESS in 47m 41s
✔️ cifmw-molecule-edpm_prepare SUCCESS in 4m 58s

raukadah added a commit to raukadah/tcib that referenced this pull request Jun 24, 2024
openstack-k8s-operators/ci-framework#1892 adds
Meta content provider job to test opendev and github changes together.

This pr replaces tcib content provider with meta content provider
allowing users to test the content from different sources.

Signed-off-by: Chandan Kumar <[email protected]>
raukadah added a commit to raukadah/tcib that referenced this pull request Jun 24, 2024
openstack-k8s-operators/ci-framework#1892 adds
Meta content provider job to test opendev and github changes together.

This pr replaces tcib content provider with meta content provider
allowing users to test the content from different sources.

Signed-off-by: Chandan Kumar <[email protected]>
@raukadah raukadah force-pushed the meta_content_provider branch from 876e8c4 to 06da6db Compare June 24, 2024 12:12
@raukadah raukadah force-pushed the meta_content_provider branch from 06da6db to 7c52346 Compare June 25, 2024 00:07
raukadah added a commit to raukadah/tcib that referenced this pull request Jun 25, 2024
openstack-k8s-operators/ci-framework#1892 adds
Meta content provider job to test opendev and github changes together.

This pr replaces tcib content provider with meta content provider
allowing users to test the content from different sources.

Signed-off-by: Chandan Kumar <[email protected]>
Copy link
Contributor

@marios marios left a comment

Choose a reason for hiding this comment

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

didn't spot anything major to complain about ;)
leaving approval for reviews call

name: openstack-meta-content-provider
parent: openstack-k8s-operators-content-provider
description: |
A zuul job to build contents(rpms, openstack services containers,
Copy link
Contributor

Choose a reason for hiding this comment

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

to build content (

] | ansible.builtin.path_join
}}

- name: "Run ci/playbooks/meta_content_provider/meta_content_provider.yml"
Copy link
Contributor

Choose a reason for hiding this comment

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

remove quotes from task title for consistency?

@raukadah raukadah force-pushed the meta_content_provider branch from 7c52346 to 67d3edf Compare June 26, 2024 07:01
raukadah added a commit to raukadah/tcib that referenced this pull request Jun 26, 2024
openstack-k8s-operators/ci-framework#1892 adds
Meta content provider job to test opendev and github changes together.

This pr replaces tcib content provider with meta content provider
allowing users to test the content from different sources.

Signed-off-by: Chandan Kumar <[email protected]>
Copy link
Collaborator

@lewisdenny lewisdenny left a comment

Choose a reason for hiding this comment

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

Thank you Chandan, this will be a great feature to add to CI!

ansible.builtin.debug:
msg: >-
Running Content provider registry on
{{ cifmw_rp_registry_ip | default('nowhere') }}
Copy link
Collaborator

Choose a reason for hiding this comment

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

Could you please explain why we wouldn't fail when cifmw_rp_registry_ip is undefined?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

openstack-k8s-operators-content-provider is the parent of openstack-meta-content-provider. We run [Discover an IPv4 for provider job](Discover an IPv4 for provider job) in pre-run step to always set the value of cifmw_rp_registry_ip var . So this var is always going to set. It will be never undefined.

From a user point of view, this task does not provide any value. Let me drop that.

src: "{{ cifmw_artifacts_basedir }}/artifacts/ansible-vars.yml"
register: _inner_ansible

- name: Return Zuul Data
Copy link
Collaborator

Choose a reason for hiding this comment

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

@cjeanner Is this a debug we want to keep?

zuul.d/content_provider.yaml Show resolved Hide resolved
Meta content provider does following things:
- It combines 3 content provider (operator, tcib and edpm image build)
  into one content provider to test all changes together.
- If the changes coming from opendev, tcib and os-net-config, then it
  will build the DLRN packages and create gating repo.
- If there is a gating and non os-net-config changes, then it will do
  the tcib build.
- If there is a edpm-image-build change, then it will perform the image
  build.
- All the built content will be pushed on single registry with different
  namespace.
- The content provider will expose the same zuul return vars to
  dependent job to pick proper built content.
- It also returns content_provider_os_registry_url var to dependent job
  and improve edpm_prepare role to set proper vars.
- Generate gating repo only when there are repos.

Note: It make changes to edpm_prepare to check edpm_image_build_output
key length. If no edpm image is built by meta content provider then
edpm_image_build_output will return an empty dict.

Signed-off-by: Chandan Kumar <[email protected]>
Copy link
Collaborator

@lewisdenny lewisdenny left a comment

Choose a reason for hiding this comment

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

/approve

LGTM, quite a large change so let's keep an eye out once this merges.

Copy link
Contributor

openshift-ci bot commented Jun 28, 2024

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: lewisdenny

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

The pull request process is described here

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 28db3e6 into main Jun 28, 2024
5 checks passed
@openshift-merge-bot openshift-merge-bot bot deleted the meta_content_provider branch June 28, 2024 06:20
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.

3 participants