Skip to content

Conversation

@wking
Copy link
Member

@wking wking commented Feb 20, 2023

Like 123fa58 (#1111), but for the channel subcommand. 123fa58 described the general risk of using POST/Update when the local oc client may not be aware of some new spec properties. For the channel subcommand specifically, it was added in 4.9:

$ git ls-tree -r origin/release-4.8 -- pkg/cli/admin/upgrade
100644 blob 578fa80a8162d0cdfc6cb277e7b09c3bbad81444    pkg/cli/admin/upgrade/OWNERS
100644 blob e2418c1a0b931f4d444154a6b180855431bba72d    pkg/cli/admin/upgrade/upgrade.go
100644 blob 581af58611b0b4c11d5a6a2fbb9e14796e869ce4    pkg/cli/admin/upgrade/upgrade_test.go
$ git ls-tree -r origin/release-4.9 -- pkg/cli/admin/upgrade
100644 blob 578fa80a8162d0cdfc6cb277e7b09c3bbad81444    pkg/cli/admin/upgrade/OWNERS
100644 blob b427176401a5ec5973468dc569442fed04701744    pkg/cli/admin/upgrade/channel/channel.go
100644 blob 2bbf9da0afe7cfca1cc5d7317e6b99dc374e5328    pkg/cli/admin/upgrade/upgrade.go
100644 blob 581af58611b0b4c11d5a6a2fbb9e14796e869ce4    pkg/cli/admin/upgrade/upgrade_test.go

And between 4.9 and the present, ClusterVersion spec grew the capabilities property:

$ git diff origin/release-4.9..origin/master -- vendor/github.com/openshift/api/config/v1/types_cluster_version.go | grep -v // | grep -A10 Spec
@@ -45,8 +45,17 @@ type ClusterVersionSpec struct {
@@ -68,6 +77,12 @@ type ClusterVersionSpec struct {
        Channel string `json:"channel,omitempty"`

+       Capabilities *ClusterVersionCapabilitiesSpec `json:"capabilities,omitempty"`
+
@@ -113,6 +128,9 @@ type ClusterVersionStatus struct {
...

That property landed in 4.11:

$ git --no-pager grep -c ClusterVersionCapabilitiesSpec origin/release-4.10 vendor/github.com/openshift/api/config/v1/types_cluster_version.go
...no hits...
$ git --no-pager grep -c ClusterVersionCapabilitiesSpec origin/release-4.11 vendor/github.com/openshift/api/config/v1/types_cluster_version.go
origin/release-4.11:vendor/github.com/openshift/api/config/v1/types_cluster_version.go:3

So I suspect 4.9 and 4.10 oc calls to oc adm upgrade channel ... for 4.11+ clusters would clear spec.capabilities. Not all that many clusters try to restrict capabilities, but folks will need to bump their channel for at least every other minor (if their using EUS channels), and while we recommend folks use an oc from the 4.y they're heading towards, we don't have anything in place to enforce that.

@openshift-ci-robot openshift-ci-robot added jira/severity-moderate Referenced Jira bug's severity is moderate for the branch this PR is targeting. 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. bugzilla/valid-bug Indicates that a referenced Bugzilla bug is valid for the branch this PR is targeting. labels Feb 20, 2023
@openshift-ci-robot
Copy link

@wking: This pull request references Jira Issue OCPBUGS-7780, 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.13.0) matches configured target version for branch (4.13.0)
  • bug is in the state New, which is one of the valid states (NEW, ASSIGNED, POST)

Requesting review from QA contact:
/cc @zhouying7780

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

Details

In response to this:

Like 123fa58 (#1111), but for the channel subcommand. 123fa58 described the general risk of using POST/Update when the local oc client may not be aware of some new spec properties. For the channel subcommand specifically, it was added in 4.9:

$ git ls-tree -r origin/release-4.8 -- pkg/cli/admin/upgrade
100644 blob 578fa80a8162d0cdfc6cb277e7b09c3bbad81444    pkg/cli/admin/upgrade/OWNERS
100644 blob e2418c1a0b931f4d444154a6b180855431bba72d    pkg/cli/admin/upgrade/upgrade.go
100644 blob 581af58611b0b4c11d5a6a2fbb9e14796e869ce4    pkg/cli/admin/upgrade/upgrade_test.go
$ git ls-tree -r origin/release-4.9 -- pkg/cli/admin/upgrade
100644 blob 578fa80a8162d0cdfc6cb277e7b09c3bbad81444    pkg/cli/admin/upgrade/OWNERS
100644 blob b427176401a5ec5973468dc569442fed04701744    pkg/cli/admin/upgrade/channel/channel.go
100644 blob 2bbf9da0afe7cfca1cc5d7317e6b99dc374e5328    pkg/cli/admin/upgrade/upgrade.go
100644 blob 581af58611b0b4c11d5a6a2fbb9e14796e869ce4    pkg/cli/admin/upgrade/upgrade_test.go

And between 4.9 and the present, ClusterVersion spec grew the capabilities property:

$ git diff origin/release-4.9..origin/master -- vendor/github.com/openshift/api/config/v1/types_cluster_version.go | grep -v // | grep -A10 Spec
@@ -45,8 +45,17 @@ type ClusterVersionSpec struct {
@@ -68,6 +77,12 @@ type ClusterVersionSpec struct {
       Channel string `json:"channel,omitempty"`

+       Capabilities *ClusterVersionCapabilitiesSpec `json:"capabilities,omitempty"`
+
@@ -113,6 +128,9 @@ type ClusterVersionStatus struct {
...

That property landed in 4.11:

$ git --no-pager grep -c ClusterVersionCapabilitiesSpec origin/release-4.10 vendor/github.com/openshift/api/config/v1/types_cluster_version.go
...no hits...
$ git --no-pager grep -c ClusterVersionCapabilitiesSpec origin/release-4.11 vendor/github.com/openshift/api/config/v1/types_cluster_version.go
origin/release-4.11:vendor/github.com/openshift/api/config/v1/types_cluster_version.go:3

So I suspect 4.9 and 4.10 oc calls to oc adm upgrade channel ... for 4.11+ clusters would clear spec.capabilities. Not all that many clusters try to restrict capabilities, but folks will need to bump their channel for at least every other minor (if their using EUS channels), and while we recommend folks use an oc from the 4.y they're heading towards, we don't have anything in place to enforce that.

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 added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Feb 20, 2023
@wking wking force-pushed the patch-channel branch 3 times, most recently from 32792c3 to bbb6f7b Compare February 20, 2023 23:28
…ates

Like 123fa58 (pkg/cli/admin/upgrade: Use PATCH instead of POST for
spec updates, 2022-04-14, openshift#1111), but for the 'channel' subcommand.
123fa58 described the general risk of using POST/Update when the
local 'oc' client may not be aware of some new spec properties.  For
the 'channel' subcommand specifically, it was added in 4.9:

  $ git ls-tree -r origin/release-4.8 -- pkg/cli/admin/upgrade
  100644 blob 578fa80    pkg/cli/admin/upgrade/OWNERS
  100644 blob e2418c1    pkg/cli/admin/upgrade/upgrade.go
  100644 blob 581af58    pkg/cli/admin/upgrade/upgrade_test.go
  $ git ls-tree -r origin/release-4.9 -- pkg/cli/admin/upgrade
  100644 blob 578fa80    pkg/cli/admin/upgrade/OWNERS
  100644 blob b427176    pkg/cli/admin/upgrade/channel/channel.go
  100644 blob 2bbf9da    pkg/cli/admin/upgrade/upgrade.go
  100644 blob 581af58    pkg/cli/admin/upgrade/upgrade_test.go

And between 4.9 and the present, ClusterVersion spec grew the
'capabilities' property:

  $ git diff origin/release-4.9..origin/master -- vendor/github.com/openshift/api/config/v1/types_cluster_version.go | grep -v // | grep -A10 Spec
  @@ -45,8 +45,17 @@ type ClusterVersionSpec struct {
  @@ -68,6 +77,12 @@ type ClusterVersionSpec struct {
          Channel string `json:"channel,omitempty"`

  +       Capabilities *ClusterVersionCapabilitiesSpec `json:"capabilities,omitempty"`
  +
  @@ -113,6 +128,9 @@ type ClusterVersionStatus struct {
  ...

That property landed in 4.11:

  $ git --no-pager grep -c ClusterVersionCapabilitiesSpec origin/release-4.10 vendor/github.com/openshift/api/config/v1/types_cluster_version.go
  ...no hits...
  $ git --no-pager grep -c ClusterVersionCapabilitiesSpec origin/release-4.11 vendor/github.com/openshift/api/config/v1/types_cluster_version.go
  origin/release-4.11:vendor/github.com/openshift/api/config/v1/types_cluster_version.go:3

So I suspect 4.9 and 4.10 oc calls to 'oc adm upgrade channel ...' for
4.11+ clusters would clear spec.capabilities.  Not all that many
clusters try to restrict capabilities, but folks will need to bump
their channel for at least every other minor (if their using EUS
channels), and while we recommend folks use an oc from the 4.y they're
heading towards, we don't have anything in place to enforce that.
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Feb 21, 2023

@wking: 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.

Copy link
Member

@LalatenduMohanty LalatenduMohanty 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 openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Feb 23, 2023
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Feb 23, 2023

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: LalatenduMohanty, wking

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-merge-robot openshift-merge-robot merged commit a04d9dc into openshift:master Feb 23, 2023
@openshift-ci-robot
Copy link

@wking: All pull requests linked via external trackers have merged:

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

Details

In response to this:

Like 123fa58 (#1111), but for the channel subcommand. 123fa58 described the general risk of using POST/Update when the local oc client may not be aware of some new spec properties. For the channel subcommand specifically, it was added in 4.9:

$ git ls-tree -r origin/release-4.8 -- pkg/cli/admin/upgrade
100644 blob 578fa80a8162d0cdfc6cb277e7b09c3bbad81444    pkg/cli/admin/upgrade/OWNERS
100644 blob e2418c1a0b931f4d444154a6b180855431bba72d    pkg/cli/admin/upgrade/upgrade.go
100644 blob 581af58611b0b4c11d5a6a2fbb9e14796e869ce4    pkg/cli/admin/upgrade/upgrade_test.go
$ git ls-tree -r origin/release-4.9 -- pkg/cli/admin/upgrade
100644 blob 578fa80a8162d0cdfc6cb277e7b09c3bbad81444    pkg/cli/admin/upgrade/OWNERS
100644 blob b427176401a5ec5973468dc569442fed04701744    pkg/cli/admin/upgrade/channel/channel.go
100644 blob 2bbf9da0afe7cfca1cc5d7317e6b99dc374e5328    pkg/cli/admin/upgrade/upgrade.go
100644 blob 581af58611b0b4c11d5a6a2fbb9e14796e869ce4    pkg/cli/admin/upgrade/upgrade_test.go

And between 4.9 and the present, ClusterVersion spec grew the capabilities property:

$ git diff origin/release-4.9..origin/master -- vendor/github.com/openshift/api/config/v1/types_cluster_version.go | grep -v // | grep -A10 Spec
@@ -45,8 +45,17 @@ type ClusterVersionSpec struct {
@@ -68,6 +77,12 @@ type ClusterVersionSpec struct {
       Channel string `json:"channel,omitempty"`

+       Capabilities *ClusterVersionCapabilitiesSpec `json:"capabilities,omitempty"`
+
@@ -113,6 +128,9 @@ type ClusterVersionStatus struct {
...

That property landed in 4.11:

$ git --no-pager grep -c ClusterVersionCapabilitiesSpec origin/release-4.10 vendor/github.com/openshift/api/config/v1/types_cluster_version.go
...no hits...
$ git --no-pager grep -c ClusterVersionCapabilitiesSpec origin/release-4.11 vendor/github.com/openshift/api/config/v1/types_cluster_version.go
origin/release-4.11:vendor/github.com/openshift/api/config/v1/types_cluster_version.go:3

So I suspect 4.9 and 4.10 oc calls to oc adm upgrade channel ... for 4.11+ clusters would clear spec.capabilities. Not all that many clusters try to restrict capabilities, but folks will need to bump their channel for at least every other minor (if their using EUS channels), and while we recommend folks use an oc from the 4.y they're heading towards, we don't have anything in place to enforce that.

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.

@wking wking deleted the patch-channel branch February 24, 2023 18:26
@wking
Copy link
Member Author

wking commented Feb 24, 2023

/cherrypick release-4.12

@openshift-cherrypick-robot

@wking: new pull request created: #1354

Details

In response to this:

/cherrypick release-4.12

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. jira/severity-moderate Referenced Jira bug's severity is moderate for the branch this PR is targeting. 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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants