Bug 1954972 - TechPreviewNoUpgrade featureset can be undone
Summary: TechPreviewNoUpgrade featureset can be undone
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: kube-apiserver
Version: 4.8
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
: 4.8.0
Assignee: Stefan Schimanski
QA Contact: Ke Wang
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-04-29 07:49 UTC by Qin Ping
Modified: 2021-07-27 23:05 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-07-27 23:04:50 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github openshift kubernetes pull 719 0 None open Bug 1954972: openshift-kube-apiserver/admission: fix featuregates resource name 2021-04-29 10:05:07 UTC
Red Hat Product Errata RHSA-2021:2438 0 None None None 2021-07-27 23:05:04 UTC

Description Qin Ping 2021-04-29 07:49:58 UTC
Description of problem:
Per the doc: https://docs.openshift.com/container-platform/4.7/nodes/clusters/nodes-cluster-enabling-features.html, TechPreviewNoUpgrade should cannot be undone, but in our test, we found it can be undone.

Version-Release number of selected component (if applicable):
4.8.0 nightly build

How reproducible:
Always.

Steps to Reproduce:
1. Setup an OCPcluster on AWS
2. Ran the cmd to enable some featuregates: oc patch  featuregate cluster -p '{"spec": {"featureSet": "TechPreviewNoUpgrade"}}' --type merge
3. Checked the kube-controller-manager, kube-apiserver, kube-scheduler COs and kubelet restarted with the exepected feature gates.
4. Ran the "oc edit featuregate cluster" cmd, then set the spec={}
5. Check the kube-controller-manager, kube-apiserver, kube-scheduler COs resarted without the feature gates defined in the `TechPreviewNoUpgrade` featureset, but kubelet didn't restart and change the feature gates config.
 
Actual results:
For storage CSI Migration feature, it needs the configuration is changed in the control plane COs and kubelet at the same time to enable or disable this feature.
But when we update the spec={}, for the kubelet didn't change the config, so the storage CSI Migration did a partially disable.

Expected results:
Not support `TechPreviewNoUpgrade` featureset undo.

Additional info:

Comment 1 Qin Ping 2021-04-29 09:56:51 UTC
Hi Stefan,

Could you explain more why it's not a bug?

We have 2 features might about this. One is CSI Migration, when the featureset is enabled and the featuregate.spec is set to {}, then the CSI Migration feature is not in the correct status. Another is Azure Disk CSI Driver, when the featureset is enabled and the featuregate.spec is set to {}, CSO(Cluster Storage Operator) will no unavailable. For the second one we tracked with bug: https://bugzilla.redhat.com/show_bug.cgi?id=1952826

Comment 2 Stefan Schimanski 2021-04-29 10:04:27 UTC
@Qin: you were absolute right. It's a bug and the fix was simple.

Comment 3 Qin Ping 2021-04-29 12:30:28 UTC
Stefan, thanks for checking again.

Comment 5 Ke Wang 2021-05-06 08:02:49 UTC
$ oc get clusterversion
NAME      VERSION                             AVAILABLE   PROGRESSING   SINCE   STATUS
version   4.8.0-0.nightly-2021-04-30-201824   True        False         5h28m   Cluster version is 4.8.0-0.nightly-2021-04-30-201824

Ran the cmd to enable some featuregates: oc patch  featuregate cluster -p '{"spec": {"featureSet": "TechPreviewNoUpgrade"}}' --type merge

After the kube-controller-manager, kube-apiserver, kube-scheduler COs and kubelet restarted with the exepected feature gates, tried to undone this operation, ran the "oc edit featuregate cluster" cmd, then set the spec={}, 

$ oc edit featuregate cluster
error: featuregates.config.openshift.io "cluster" is invalid
A copy of your changes has been stored to "/tmp/oc-edit-l4me0.yaml"
error: Edit cancelled, no valid changes were saved.

$ oc patch  featuregate cluster -p '{"spec": {}}' --type merge
featuregate.config.openshift.io/cluster patched

$ oc get featuregate cluster -o yaml | grep -A1  ^spec
spec:
  featureSet: TechPreviewNoUpgrade

No changes after applied the patch, the `TechPreviewNoUpgrade` featureset cannot be undone and checked the kube-controller-manager, kube-apiserver, kube-scheduler COs and kubelet didn't restart, so move the bug VERIFIED.

Comment 8 errata-xmlrpc 2021-07-27 23:04:50 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Moderate: OpenShift Container Platform 4.8.2 bug fix and security update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2021:2438


Note You need to log in before you can comment on or make changes to this bug.