Skip to content

OCPBUGS-13895: [WRKLDS-730] route-controller-manager deployment updates#288

Merged
openshift-merge-robot merged 4 commits intoopenshift:masterfrom
atiratree:rcm-updates
May 22, 2023
Merged

OCPBUGS-13895: [WRKLDS-730] route-controller-manager deployment updates#288
openshift-merge-robot merged 4 commits intoopenshift:masterfrom
atiratree:rcm-updates

Conversation

@atiratree
Copy link
Member

The following changes are required for openshift/route-controller-manager#22 refactoring.

  • add POD_NAME to route-controller-manager deployment
  • introduce route-controller-defaultconfig and customize lease name openshift-route-controllers to override the default one supplied by library-go
  • add RBAC for infrastructures which is used by library-go for configuring leader election

requiredConfigMap, _, err := resourcemerge.MergeConfigMap(configMap, "config.yaml", nil, defaultConfig, operatorConfig.Spec.ObservedConfig.Raw, operatorConfig.Spec.UnsupportedConfigOverrides.Raw)
ocmDefaultConfig := v311_00_assets.MustAsset("v3.11.0/config/defaultconfig.yaml")
rcmDefaultConfig := v311_00_assets.MustAsset("v3.11.0/config/route-controller-defaultconfig.yaml")
requiredConfigMap, _, err := resourcemerge.MergeConfigMap(configMap, "config.yaml", nil, ocmDefaultConfig, rcmDefaultConfig, operatorConfig.Spec.ObservedConfig.Raw, operatorConfig.Spec.UnsupportedConfigOverrides.Raw)
Copy link
Member

@ingvagabund ingvagabund May 11, 2023

Choose a reason for hiding this comment

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

How is the resulting OpenShiftControllerManagerConfig config gonna look like? If I read the code correctly you combine content of both defaultconfig.yaml and route-controller-defaultconfig.yaml into a single OpenShiftControllerManagerConfig object which is a union of both. Resp. if both have the same keys the latter overrides the former. What's the purpose of the new route-controller-defaultconfig.yaml if both are hardcoded in the assets? You basically want to share the default configuration between both RCM and OCM. Plus, to easily override the default with route-controller-defaultconfig.yaml without changing anything in the code?

Copy link
Member Author

Choose a reason for hiding this comment

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

The reason is to have default for RCM that override the behaviour of OCM. But the RCM config should not influence OCM. Practically OCM is empty now, but if somebody introduces some configuration, it might be imporant for RCM as well. This very theoretic though, If you prefer I could split these two and have just dedicated configs for each component.

The main reason is to supply lease name to RCM since we introduced it before and we need to override the default one in library-go.

Other option is to invest in the lease migration, but that would be quite painful.

Copy link
Member

Choose a reason for hiding this comment

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

Practically OCM is empty now, but if somebody introduces some configuration, it might be imporant for RCM as well. This very theoretic though, If you prefer I could split these two and have just dedicated configs for each component.

There are two sides to this:

  • anything introduced to the default config will get propagated to the RCM one. However, in case one intends to introduce a configuration for OCM and forgets about RCM, the RCM might unintentionally start to behave differently.
  • separate configs are protected against unintentional RCM configuration. However, if one means to configure both OCM and RCM and forgets about the separation, the RCM will not start to behave differently.

The second option should be easier to detect by QE. E.g. if a new configuration is introduced and RCM does not behave as expected, one might dig deeper and learn there's actually a separate RCM config. So preferably we should separate the configs and put a comment into the default one about the self-standing RCM config.

Copy link
Member Author

Choose a reason for hiding this comment

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

I agree, it is better to split it and define new behaviour twice instead of a silent overtaking of values that might be surprising.

I think it is better to express the difference via the filename than a comment so I renamed the defaultconfig to openshift-controller-manager-defaultconfig so both OCM and RCM config are on the same level.

@ingvagabund
Copy link
Member

ingvagabund commented May 11, 2023

@atiratree if my interpretation of the code changes is correct, feel free to unhold

/hold
/approve
/lgtm

@openshift-ci openshift-ci bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label May 11, 2023
@openshift-ci openshift-ci bot added lgtm Indicates that a PR is ready to be merged. approved Indicates a PR has been approved by an approver from all required OWNERS files. labels May 11, 2023
atiratree added 2 commits May 15, 2023 13:00
- customize lease name openshift-route-controllers to override the
  default one supplied by library-go
- add RBAC for infrastructures which is used by library-go for
  configuring leader election
- to better describe the separations of and difference between the
  OCM and RCM configs
@openshift-ci openshift-ci bot removed the lgtm Indicates that a PR is ready to be merged. label May 15, 2023
@@ -0,0 +1,4 @@
apiVersion: openshiftcontrolplane.config.openshift.io/v1
Copy link
Member

Choose a reason for hiding this comment

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

route-controller-defaultconfig.yaml -> route-controller-manager-defaultconfig.yaml

Copy link
Member Author

Choose a reason for hiding this comment

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

I have changed all route-controller-manager files to have a consistent prefix

@atiratree
Copy link
Member Author

cluster bootstrap is failing
/retest

@openshift-ci
Copy link
Contributor

openshift-ci bot commented May 15, 2023

@atiratree: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/openshift-e2e-aws-builds-techpreview 1396e95 link false /test openshift-e2e-aws-builds-techpreview

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.

@ingvagabund
Copy link
Member

/lgtm
/hold cancel
/retest-required

@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 May 17, 2023
@ingvagabund
Copy link
Member

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label May 17, 2023
@openshift-ci
Copy link
Contributor

openshift-ci bot commented May 17, 2023

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: atiratree, ingvagabund

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

@atiratree
Copy link
Member Author

/label docs-approved
/label px-approved
/label qe-approved

@openshift-ci openshift-ci bot added docs-approved Signifies that Docs has signed off on this PR px-approved Signifies that Product Support has signed off on this PR qe-approved Signifies that QE has signed off on this PR labels May 17, 2023
@atiratree atiratree changed the title [WRKLDS-730] route-controller-manager deployment updates [OCPBUGS-13895] [WRKLDS-730] route-controller-manager deployment updates May 22, 2023
@atiratree
Copy link
Member Author

/jira refresh

@openshift-ci-robot
Copy link
Contributor

@atiratree: No Jira issue is referenced in the title of this pull request.
To reference a jira issue, add 'XYZ-NNN:' to the title of this pull request and request another refresh with /jira refresh.

Details

In response to this:

/jira refresh

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.

@atiratree atiratree changed the title [OCPBUGS-13895] [WRKLDS-730] route-controller-manager deployment updates [OCPBUGS-13895]: [WRKLDS-730] route-controller-manager deployment updates May 22, 2023
@atiratree
Copy link
Member Author

/jira refresh

@openshift-ci-robot
Copy link
Contributor

@atiratree: No Jira issue is referenced in the title of this pull request.
To reference a jira issue, add 'XYZ-NNN:' to the title of this pull request and request another refresh with /jira refresh.

Details

In response to this:

/jira refresh

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.

@atiratree atiratree changed the title [OCPBUGS-13895]: [WRKLDS-730] route-controller-manager deployment updates OCPBUGS-13895: [WRKLDS-730] route-controller-manager deployment updates May 22, 2023
@openshift-ci-robot openshift-ci-robot added jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. labels May 22, 2023
@openshift-ci-robot
Copy link
Contributor

@atiratree: This pull request references Jira Issue OCPBUGS-13895, which is valid. The bug has been moved to the POST state.

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

Requesting review from QA contact:
/cc @jitendar-singh

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

Details

In response to this:

The following changes are required for openshift/route-controller-manager#22 refactoring.

  • add POD_NAME to route-controller-manager deployment
  • introduce route-controller-defaultconfig and customize lease name openshift-route-controllers to override the default one supplied by library-go
  • add RBAC for infrastructures which is used by library-go for configuring leader election

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 bugzilla/valid-bug Indicates that a referenced Bugzilla bug is valid for the branch this PR is targeting. label May 22, 2023
@openshift-ci openshift-ci bot requested a review from jitendar-singh May 22, 2023 13:41
@atiratree
Copy link
Member Author

/jira refresh

@openshift-ci-robot
Copy link
Contributor

@atiratree: This pull request references Jira Issue OCPBUGS-13895, which is valid.

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

Requesting review from QA contact:
/cc @jitendar-singh

Details

In response to this:

/jira refresh

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-merge-robot openshift-merge-robot merged commit 05d6f18 into openshift:master May 22, 2023
@openshift-ci-robot
Copy link
Contributor

@atiratree: Jira Issue OCPBUGS-13895: All pull requests linked via external trackers have merged:

Jira Issue OCPBUGS-13895 has been moved to the MODIFIED state.

Details

In response to this:

The following changes are required for openshift/route-controller-manager#22 refactoring.

  • add POD_NAME to route-controller-manager deployment
  • introduce route-controller-defaultconfig and customize lease name openshift-route-controllers to override the default one supplied by library-go
  • add RBAC for infrastructures which is used by library-go for configuring leader election

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. bugzilla/valid-bug Indicates that a referenced Bugzilla bug is valid for the branch this PR is targeting. docs-approved Signifies that Docs has signed off on this PR 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. lgtm Indicates that a PR is ready to be merged. px-approved Signifies that Product Support has signed off on this PR qe-approved Signifies that QE has signed off on this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants