Skip to content

OCPBUGS-22364: Bump openshift/API to mark MCO cert observability fields optional in CRD#4003

Closed
jkyros wants to merge 5 commits into
openshift:masterfrom
jkyros:make-cert-fields-optional-for-415
Closed

OCPBUGS-22364: Bump openshift/API to mark MCO cert observability fields optional in CRD#4003
jkyros wants to merge 5 commits into
openshift:masterfrom
jkyros:make-cert-fields-optional-for-415

Conversation

@jkyros
Copy link
Copy Markdown
Member

@jkyros jkyros commented Oct 26, 2023

This bumps the MCO API to bring in the cert obvservability field changes from openshift/api#1637

( It looks like controllerConfig picked up some network-related CRD changes in the platform spec also)

All I did:

  • $ go get -u github.com/openshift/api
  • $ make go-deps
  • $ hack/crds-sync.sh

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Oct 26, 2023
@openshift-ci-robot
Copy link
Copy Markdown
Contributor

@jkyros: This pull request references Jira Issue OCPBUGS-22364, which is valid.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.15.0) matches configured target version for branch (4.15.0)
  • bug is in the state POST, which is one of the valid states (NEW, ASSIGNED, POST)

Requesting review from QA contact:
/cc @sergiordlr

The bug has been updated to refer to the pull request using the external bug tracker.

Details

In response to this:

Ignore this for now, just want QE to be able to test.

- What I did

- How to verify it

- Description for the changelog

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.

@openshift-ci-robot openshift-ci-robot added the jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. label Oct 26, 2023
@openshift-ci openshift-ci Bot requested a review from sergiordlr October 26, 2023 14:18
@openshift-ci openshift-ci Bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Oct 26, 2023
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Oct 26, 2023

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

@jkyros
Copy link
Copy Markdown
Member Author

jkyros commented Oct 26, 2023

/test all

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Oct 26, 2023

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: jkyros

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-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Oct 26, 2023
@jkyros jkyros force-pushed the make-cert-fields-optional-for-415 branch from 304df47 to c6f9a43 Compare November 21, 2023 21:26
@openshift-ci-robot
Copy link
Copy Markdown
Contributor

@jkyros: This pull request references Jira Issue OCPBUGS-22364, which is valid.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.15.0) matches configured target version for branch (4.15.0)
  • bug is in the state POST, which is one of the valid states (NEW, ASSIGNED, POST)

Requesting review from QA contact:
/cc @rioliu-rh

Details

In response to this:

This bumps the MCO API to bring in the cert obvservability field changes from openshift/api#1637

( It looks like controllerConfig picked up some network-related CRD changes in the platform spec also)

All I did:

  • $ go get -u github.com/openshift/api
  • $ make go-deps
  • $ hack/crds-sync.sh

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.

@openshift-ci openshift-ci Bot requested a review from rioliu-rh November 21, 2023 21:31
@jkyros jkyros changed the title [WIP] OCPBUGS-22364: Bump openshift/API to mark MCO cert observability fields optional in CRD OCPBUGS-22364: Bump openshift/API to mark MCO cert observability fields optional in CRD Nov 21, 2023
@jkyros jkyros marked this pull request as ready for review November 21, 2023 21:31
@openshift-ci openshift-ci Bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Nov 21, 2023
We need to bump the API to bring in the changes that make the cert
observability fields optional for now (so we can avoid the race
condition where the existing MCO controllers that think the fields are
optional can come into contact with a new CRD that thinks they are not).

This also drags in the following MCO API changes:
- some baremetal platform networking fields
- the ContainerRuntimeConfig change of LogLevel and OverlaySize to
  pointers
verify has apparently started to care about %w being used in klog
statements that don't support it, so I changed the two offending
statements to use %v instead.
@jkyros jkyros force-pushed the make-cert-fields-optional-for-415 branch from c6f9a43 to ee54e6c Compare November 21, 2023 22:12
@jkyros
Copy link
Copy Markdown
Member Author

jkyros commented Nov 21, 2023

Had to account for verify being pickier about %w usage and the ContainerRuntimeConfig API changes from openshift/api#1656 which this also drags in.

The LogSizeMax and OverlaySize fields in ContainerRuntimeConfig were
changed to pointers in the API, and that change came with our API bump,
so we need to accommodate that here in the controller test.

Everything else is fine because everything else is using the .Value()
and .String() methods when consuming those fields.
@jkyros jkyros force-pushed the make-cert-fields-optional-for-415 branch from ee54e6c to 9c33da2 Compare November 21, 2023 22:40
@jkyros
Copy link
Copy Markdown
Member Author

jkyros commented Nov 21, 2023

yuck, unit passed locally, is that a flake?
/test unit

@QiWang19
Copy link
Copy Markdown
Member

The ci/prow/unit failure pkg/controller/container-runtime-config resource.Quantity can be fixed by the commit a8cd848
right now I am not sure about the failures of the pkg/controller/kubelet-config

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Nov 22, 2023

@jkyros: all tests passed!

Full PR test history. Your PR dashboard.

Details

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.

@jkyros
Copy link
Copy Markdown
Member Author

jkyros commented Nov 22, 2023

Oh, heyyyy @QiWang19 it looks like you are doing the same thing I am doing....and you have more tests. Excellent timing 😄

Yeah, I had hacked in some quick nil checks + fixes to accommodate the ControllerRuntime changes, but your commit is definitely more detailed and probably better.

The flake I was referencing was weirdly seemingly not related to any of this. I got a weird unit run that failed with :

1121 22:45:59.020479   22201 render_controller.go:564] No BaseOSContainerImage set
    render_controller_test.go:151: Action update machineconfigpools has wrong object
        Diff:
           &v1.MachineConfigPool{
          	TypeMeta:   {APIVersion: "machineconfiguration.openshift.io/v1"},
          	ObjectMeta: {Name: "test-cluster-master", UID: "wc9zt", Labels: {"machineconfiguration.openshift.io/mco-built-in": "", "pools.operator.machineconfiguration.openshift.io/test-cluster-master": ""}},
          	Spec: v1.MachineConfigPoolSpec{
          		... // 2 identical fields
          		Paused:         false,
          		MaxUnavailable: nil,
          		Configuration: v1.MachineConfigPoolStatusConfiguration{
          			ObjectReference: {Name: "rendered-test-cluster-master-a39f193e46d2048532b91e0ddc0faceb"},
          			Source: []v1.ObjectReference{
          				{
          					Kind:       "MachineConfig",
          					Namespace:  "",
        - 					Name:       "00-test-cluster-master",
        + 					Name:       "05-extra-master",
          					UID:        "",
          					APIVersion: "machineconfiguration.openshift.io/v1",
          					... // 2 identical fields
          				},
          				{
          					Kind:       "MachineConfig",
          					Namespace:  "",
        - 					Name:       "05-extra-master",
        + 					Name:       "00-test-cluster-master",
          					UID:        "",
          					APIVersion: "machineconfiguration.openshift.io/v1",
          					... // 2 identical fields
          				},
          			},
          		},
          	},
          	Status: {Configuration: {ObjectReference: {Name: "rendered-test-cluster-master-a39f193e46d2048532b91e0ddc0faceb"}}, Conditions: {{Type: "RenderDegraded", Status: "False", LastTransitionTime: {Time: s"1970-01-01 00:00:00 +0000 UTC"}}}},
          }

Which felt very non-deterministic. And it never happened again, and seemed unrelated to everything.

@QiWang19
Copy link
Copy Markdown
Member

@jkyros Do you plan to merge this as part of 4.15? if so #4044 can wait after this one

@jkyros
Copy link
Copy Markdown
Member Author

jkyros commented Nov 28, 2023

@QiWang19 Yes, I do intend to merge this as part of 4.15, I'll try to get this finished up tomorrow or Wed.

@jkyros
Copy link
Copy Markdown
Member Author

jkyros commented Nov 28, 2023

Actually...it looks like Charlie is going to bump API as part of #4012 so that might obviate this. I'll close this if #4012 merges

@jkyros
Copy link
Copy Markdown
Member Author

jkyros commented Nov 29, 2023

#4012 merged which bumps the API and contains these changes, closing this.

@jkyros jkyros closed this Nov 29, 2023
@openshift-ci-robot
Copy link
Copy Markdown
Contributor

@jkyros: This pull request references Jira Issue OCPBUGS-22364. The bug has been updated to no longer refer to the pull request using the external bug tracker.

Details

In response to this:

This bumps the MCO API to bring in the cert obvservability field changes from openshift/api#1637

( It looks like controllerConfig picked up some network-related CRD changes in the platform spec also)

All I did:

  • $ go get -u github.com/openshift/api
  • $ make go-deps
  • $ hack/crds-sync.sh

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.

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. jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants