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

external dns: release 1.1 #34949

Merged

Conversation

alebedev87
Copy link
Contributor

@alebedev87 alebedev87 commented Dec 20, 2022

The CI configuration for the release branch 1.1 of ExternalDNS and ExternalDNS Operator.
The mirroring for 1.1 release is made to quay.io/external-dns-operator/external-dns:1.1 (not latest).

@openshift-ci-robot
Copy link
Contributor

@alebedev87: the following rehearsable tests have been affected by this change:

Test name Repo Type Reason
pull-ci-openshift-external-dns-operator-release-1.1-ci-index-external-dns-operator-bundle openshift/external-dns-operator presubmit Presubmit changed
pull-ci-openshift-external-dns-operator-release-1.1-e2e-aws-operator openshift/external-dns-operator presubmit Presubmit changed
pull-ci-openshift-external-dns-operator-release-1.1-e2e-azure-operator openshift/external-dns-operator presubmit Presubmit changed
pull-ci-openshift-external-dns-operator-release-1.1-e2e-gcp-operator openshift/external-dns-operator presubmit Presubmit changed
pull-ci-openshift-external-dns-operator-release-1.1-e2e-infoblox-operator openshift/external-dns-operator presubmit Presubmit changed
pull-ci-openshift-external-dns-operator-release-1.1-images openshift/external-dns-operator presubmit Presubmit changed
pull-ci-openshift-external-dns-operator-release-1.1-unit openshift/external-dns-operator presubmit Presubmit changed
pull-ci-openshift-external-dns-operator-release-1.1-verify openshift/external-dns-operator presubmit Presubmit changed
pull-ci-openshift-external-dns-release-1.1-images openshift/external-dns presubmit Presubmit changed
pull-ci-openshift-external-dns-release-1.1-unit openshift/external-dns presubmit Presubmit changed

Prior to this PR being merged, you will need to either run and acknowledge or opt to skip these rehearsals.

Interacting with pj-rehearse

Comment: /pj-rehearse to run up to 10 rehearsals
Comment: /pj-rehearse skip to opt-out of rehearsals
Comment: /pj-rehearse {test-name}, with each test separated by a space, to run one or more specific rehearsals
Comment: /pj-rehearse more to run up to 20 rehearsals
Comment: /pj-rehearse max to run up to 35 rehearsals
Comment: /pj-rehearse auto-ack to run up to 10 rehearsals, and add the rehearsals-ack label on success
Comment: /pj-rehearse abort to abort all active rehearsals
Comment: /pj-rehearse refresh to get an updated list of affected jobs (useful if you have new pushes to the branch)

Once you are satisfied with the results of the rehearsals, comment: /pj-rehearse ack to unblock merge. When the rehearsals-ack label is present on your PR, merge will no longer be blocked by rehearsals.
If you would like the rehearsals-ack label removed, comment: /pj-rehearse reject to re-block merging.

@openshift-ci openshift-ci bot requested review from frobware and jmguzik December 20, 2022 16:29
@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Dec 20, 2022
@alebedev87
Copy link
Contributor Author

/pj-rehearse

@alebedev87
Copy link
Contributor Author

/pj-rehearse

@alebedev87
Copy link
Contributor Author

/pj-rehearse

@alebedev87
Copy link
Contributor Author

/pj-rehearse ack

@openshift-ci-robot openshift-ci-robot added the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label Dec 21, 2022
@alebedev87
Copy link
Contributor Author

alebedev87 commented Dec 22, 2022

Promotion section: tag_by_commit is removed as not needed. No impact on the rehearsed images.

@candita
Copy link
Contributor

candita commented Jan 4, 2023

/assign @rfredette
/assign

@candita
Copy link
Contributor

candita commented Jan 4, 2023

@alebedev87 @Miciah since these files contain references to Openshift versions https://github.com/openshift/release/pull/34949/files#diff-c2cb2f4140a4cf2ff73fc4527659ce4d0d45bb9f3887e8041e2a9b06ffc1cf21R10, I wonder if we need to label files with the openshift image number, as we do for most of our CI config/jobs, like https://github.com/openshift/release/tree/master/ci-operator/config/openshift/cluster-ingress-operator, and even for things like https://github.com/openshift/release/tree/master/ci-operator/config/openshift/azure-disk-csi-driver-operator, which may be handled more like external-dns and not tied to specific Openshift versions. These files are generated automatically for each release so it's not a effort disadvantage.
I did notice that for maistra that we label with the maistra version: https://github.com/openshift/release/tree/master/ci-operator/config/maistra/api, however, they don't contain references to Openshift releases.

@alebedev87
Copy link
Contributor Author

alebedev87 commented Jan 4, 2023

@candita : I believe we should do the same as maistra - keep only the external dns operator versioned configs. We don't use the OCP versioned branches for extrernal dns operator.
Btw ALBO doesn't have OCP branches: https://github.com/openshift/release/tree/master/ci-operator/config/openshift/aws-load-balancer-operator.

@candita
Copy link
Contributor

candita commented Jan 4, 2023

@candita : I believe we should do the same as maistra - keep only the external dns operator versioned configs. We don't use the OCP versioned branches for extrernal dns operator. Btw ALBO doesn't have OCP branches: https://github.com/openshift/release/tree/master/ci-operator/config/openshift/aws-load-balancer-operator.

@alebedev87 I noticed that about ALBO, but you were the author of that one as well :). So, I guess I will be asking some more about why Openshift versions are mentioned in the yaml for external dns if we don't use the versioned branches.

@@ -0,0 +1,152 @@
base_images:
base:
name: "4.12"
Copy link
Contributor

Choose a reason for hiding this comment

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

ince external-dns isn't tied to an OpenShift release, it is confusing to use or reference OpenShift or OpenShift versions. Can you use a different name, namespace, tag, builder etc? I expect to not see "4.12", "ocp", or "openshift" anywhere in here.

Copy link
Contributor Author

@alebedev87 alebedev87 Jan 5, 2023

Choose a reason for hiding this comment

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

I don't see a big problem in using the OCP image here. It'll be used as the base (Docker FROM) image for the operator to run the tests. I think of it as a sort of minimal Kube version in combination with RHEL which covers the most of the future customers of this operator.

Copy link
Contributor

@candita candita Jan 11, 2023

Choose a reason for hiding this comment

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

That sounds reasonable. Could you please get someone from the release team to validate that you have what is needed here, in order to generate updates for releases after 4.12? If there are OpenShift CI updates after 4.12, this config should be using them, and the things I suggested so far that I know about, you have not agreed would work. So probably we need an expert on the generation of release CI files.

Copy link
Contributor Author

@alebedev87 alebedev87 Jan 13, 2023

Choose a reason for hiding this comment

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

Found ubi-minimal imagestream. Should be enough for the external dns repositories.

workflow: optional-operators-ci-azure
- as: e2e-infoblox-operator
steps:
cluster_profile: azure4
Copy link
Contributor

Choose a reason for hiding this comment

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

infoblox uses the same cluster_profile as azure?

Copy link
Contributor Author

@alebedev87 alebedev87 Jan 5, 2023

Choose a reason for hiding this comment

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

Yes. It doesn't really matter which cloud provider the Infoblox test case will be run at. Since we don't request the credentials from the CloudCredentialsOperator of the cluster like for AWS, GCP and Azure. So, the choice of the cluster profile is a pure convenience for Infoblox case - we chose Azure recently due to a lot of issues on GCP and AWS CI accounts.

Copy link
Contributor

Choose a reason for hiding this comment

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

I noticed the failure of e2e-azure-ovn-infoblox-operator test. Just wondering if something needs to change here.

Copy link
Contributor Author

@alebedev87 alebedev87 Jan 13, 2023

Choose a reason for hiding this comment

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

No, the temporary Infoblox licenses expired, they last 3 months. We still use the temporary licenses for the Infoblox product from AWS marketplace as we didn't manage to get any from Infoblox (company). We'll have to re-iterate with DPTP on this.
Reset the instance, reran the rehearsal.

workflow: optional-operators-ci-azure
zz_generated_metadata:
branch: release-1.1
org: openshift
Copy link
Contributor

Choose a reason for hiding this comment

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

org should not be openshift.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I don't think we have a choice here. Since we use the Openshift CI for external-dns-operator (like a lot of other addon operators do). This is a metadata generated by make ci-operator-config, without it the PR wouldn't pass the validation.

Copy link
Member

Choose a reason for hiding this comment

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

yes, this is correct here (it's the openshift in github.com/openshift/external-dns-operator/tree/release-1.1)

name: "4.12"
namespace: ocp
tag: base
ocp_builder_rhel-8-golang-1.18-openshift-4.12:
Copy link
Contributor

Choose a reason for hiding this comment

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

golang-1.19 is used for the external-dns-operator, and 1.18 for this? It would be better to use the same golang version or a comment on the difference.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes, it would be better. We have less control over the controller code as it's rebased from the upstream. For this release the upstream wasn't updated to 1.19 yet.

- agent: kubernetes
always_run: true
branches:
- ^release-1\.1$
Copy link
Contributor

@candita candita Jan 4, 2023

Choose a reason for hiding this comment

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

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Why should it happen off the master branch for release-1.1 branch?
Btw this file was generated by make jobs off the config I added, so I guess it's the normal setup for a new branch.

Copy link
Contributor

Choose a reason for hiding this comment

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

I think the release-. code is generated using the *-master-presubmits.yaml, or maybe openshift-external-dns-operator-main.yaml in this case.

Copy link
Contributor

Choose a reason for hiding this comment

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

Copy link
Contributor Author

@alebedev87 alebedev87 Jan 13, 2023

Choose a reason for hiding this comment

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

Sorry, I'm not getting the point. To me the presubmits which target the branch release-1.1 should happen off release-1.1 branch. The release before the previous release (1.0 is missing the CI config btw) was doing the same. The cluster-ingress-operator's 4.11 release branch presubmit uses release-4.11 branches too.

Copy link
Contributor

Choose a reason for hiding this comment

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

Was this file generated or created manually?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Generated, by make jobs from the config I put in this PR. I believe it's just the naming convention of the config file which contains the branch name.

Copy link
Member

Choose a reason for hiding this comment

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

This looks all good, but there should be another config testing the main branch (there's no master in https://github.com/openshift/external-dns-operator/)

make test
container:
from: src
- as: e2e-aws-operator
Copy link
Contributor

Choose a reason for hiding this comment

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

Is external-dns supported on ovn?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

You mean the network plugin? OVN is now the default network plugin of OpenShift (couldn't find from which version though). So, I suppose the answer is yes. Also because I cannot remember anything specific to a particular network plugin we used in the operator or controller.

Copy link
Contributor

@candita candita Jan 11, 2023

Choose a reason for hiding this comment

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

You should add the "ovn" to the test name where needed to make sure this runs the OVN tests without flakes. See #31430 - it's a change needed in multiple places.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.

@alebedev87 alebedev87 force-pushed the ext-dns-release-1-1 branch from 252eb1e to 53b6757 Compare January 5, 2023 11:01
@alebedev87
Copy link
Contributor Author

alebedev87 commented Jan 5, 2023

@candita : thanks for the review!

I noticed that about ALBO, but you were the author of that one as well :)

As a matter of fact it was Arjun but anyway, I agree with your point about the OCP files in the external-dns configs. I will follow up on this one to exclude the external dns repositories from the OCP job (there seems to be an automation around the branching for OCP dependent repositories).

Also, I cleaned up the configs to remove all unnecessary OCP references (builder images, kube-rbac-proxy). However some references are still fine (OCP base image) or needed (Dockerfile.openshift for external-dns repository).

@alebedev87
Copy link
Contributor Author

/pj-rehearse

@alebedev87
Copy link
Contributor Author

/unlabel rehearsals-ack

@alebedev87
Copy link
Contributor Author

/pj-rehearse

@alebedev87
Copy link
Contributor Author

/remove-label rehearsals-ack

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jan 13, 2023

@alebedev87: The label(s) /remove-label rehearsals-ack cannot be applied. These labels are supported: platform/aws, platform/azure, platform/baremetal, platform/google, platform/libvirt, platform/openstack, ga, tide/merge-method-merge, tide/merge-method-rebase, tide/merge-method-squash, px-approved, docs-approved, qe-approved, downstream-change-needed, approved, backport-risk-assessed, bugzilla/valid-bug, cherry-pick-approved, jira/valid-bug, staff-eng-approved. Is this label configured under labels -> additional_labels or labels -> restricted_labels in plugin.yaml?

In response to this:

/remove-label rehearsals-ack

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@alebedev87
Copy link
Contributor Author

/pj-rehearse reject

@openshift-ci-robot openshift-ci-robot removed the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label Jan 13, 2023
@alebedev87
Copy link
Contributor Author

/pj-rehearse

1 similar comment
@alebedev87
Copy link
Contributor Author

/pj-rehearse

@alebedev87
Copy link
Contributor Author

/pj-rehearse ack

@openshift-ci-robot openshift-ci-robot added the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label Jan 16, 2023
@candita
Copy link
Contributor

candita commented Jan 20, 2023

@alebedev87 overall, since this product is like maistra, I don't know why you need to specify OCP 4.12 in some of the configuration fields. I suggest getting a review from someone on the CI team, just to make sure you're not setting a precedent here that will be hard to change later. So, I mark with lgtm and a hold, which can be removed after the review from the CI team. If you feel that a review from the CI team isn't necessary, feel free to remove the hold yourself.

/lgtm
/hold

@openshift-ci openshift-ci bot added do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. lgtm Indicates that a PR is ready to be merged. labels Jan 20, 2023
@candita
Copy link
Contributor

candita commented Jan 20, 2023

@alebedev87 Also, I took a look at the current state of these directories, and I think if in this PR you remove the openshift-external-dns-operator-release-4.*.yaml and `openshift-external-dns-release-4.*.yaml files, and made sure the generator didn't re-generate these, that would boost my confidence in this.

@candita
Copy link
Contributor

candita commented Jan 20, 2023

/cc @LorbusChris - would you be able to take a look?

@candita
Copy link
Contributor

candita commented Jan 20, 2023

Finally, just wanted to know if there was ever a release 1.0? Or a reason why the version moved from 0.1 to 1.1?

@alebedev87
Copy link
Contributor Author

Finally, just wanted to know if there was ever a release 1.0? Or a reason why the version moved from 0.1 to 1.1?

Yes, there was. The CI for it was not implemented, I mentioned this in another thread before. I'll do a separate PR for the release 1.0.

@alebedev87
Copy link
Contributor Author

Also, I took a look at the current state of these directories, and I think if in this PR you remove the openshift-external-dns-operator-release-4..yaml and `openshift-external-dns-release-4..yaml files, and made sure the generator didn't re-generate these, that would boost my confidence in this.

As I briefly mentioned before, I will follow up on this and will push a separate PR to remove all OCP related branch configs.

Copy link
Member

@LorbusChris LorbusChris left a comment

Choose a reason for hiding this comment

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

/lgtm

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jan 23, 2023

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: alebedev87, candita, LorbusChris

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

@candita
Copy link
Contributor

candita commented Jan 23, 2023

/hold cancel

@openshift-ci openshift-ci bot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Jan 23, 2023
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jan 23, 2023

@alebedev87: all tests passed!

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@openshift-merge-robot openshift-merge-robot merged commit ed532dc into openshift:master Jan 23, 2023
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jan 23, 2023

@alebedev87: Updated the following 3 configmaps:

  • ci-operator-1.x-configs configmap in namespace ci at cluster app.ci using the following files:
    • key openshift-external-dns-operator-release-1.1.yaml using file ci-operator/config/openshift/external-dns-operator/openshift-external-dns-operator-release-1.1.yaml
    • key openshift-external-dns-release-1.1.yaml using file ci-operator/config/openshift/external-dns/openshift-external-dns-release-1.1.yaml
  • job-config-1.x configmap in namespace ci at cluster app.ci using the following files:
    • key openshift-external-dns-operator-release-1.1-presubmits.yaml using file ci-operator/jobs/openshift/external-dns-operator/openshift-external-dns-operator-release-1.1-presubmits.yaml
    • key openshift-external-dns-release-1.1-postsubmits.yaml using file ci-operator/jobs/openshift/external-dns/openshift-external-dns-release-1.1-postsubmits.yaml
    • key openshift-external-dns-release-1.1-presubmits.yaml using file ci-operator/jobs/openshift/external-dns/openshift-external-dns-release-1.1-presubmits.yaml
  • image-mirror-mappings configmap in namespace ci at cluster app.ci using the following files:
    • key mapping_external_dns_operator_1_1 using file core-services/image-mirroring/external-dns-operator/mapping_external_dns_operator_1_1

In response to this:

The CI configuration for the release branch 1.1 of ExternalDNS and ExternalDNS Operator.
The mirroring for 1.1 release is made to quay.io/external-dns-operator/external-dns:1.1 (not latest).

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

gpuckett-redhat pushed a commit to gpuckett-redhat/release that referenced this pull request Jan 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. rehearsals-ack Signifies that rehearsal jobs have been acknowledged
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants