Bug 2047911

Summary: e2e: Mock CSI tests fail on IBM ROKS clusters
Product: OpenShift Container Platform Reporter: Justin Pierce <jupierce>
Component: ibm-roks-toolkitAssignee: Cesar Wong <cewong>
Status: CLOSED ERRATA QA Contact: Cesar Wong <cewong>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: 4.11CC: cewong, cschaefe, jolamb, rvanderp, xtian
Target Milestone: ---   
Target Release: 4.11.0   
Hardware: Unspecified   
OS: Unspecified   
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1825034 Environment:
Last Closed: 2022-08-23 19:39:39 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 1825034    

Description Justin Pierce 2022-01-28 20:38:38 UTC
+++ This bug was initially created as a clone of Bug #1825034 +++

Description of problem:
Mock CSI tests fail on IBM ROKS clusters because of worker kubelet argument:
Without this flag, it is expected that the attach/detach controller will handle volume attachment for a node. But with the flag, it is expected that the node itself have permission to create volume attachments. This permission is not part of the normal system:worker role.

How reproducible:

Steps to Reproduce:
1. Run openshift e2e on IBM ROKS cluster

Actual results:
Mock CSI volume tests fail.

Expected results:
Mock CSI volume tests succeed.

Additional info:
Current workaround is to add a clusterrolebinding with the system:attachdetach-controller role to the system:nodes group.

--- Additional comment from Christopher J Schaefer on 2022-01-27 16:11:26 UTC ---

This CRB is currently causing failures when testing Openshift IPI deployments on IBM Cloud

Jan 26 19:03:35.981: INFO: ns/openshift-console route/console disruption/ingress-to-console connection/new started responding to GET requests over new connections
[BeforeEach] [Top Level]
[BeforeEach] [Top Level]
[BeforeEach] [Top Level]
[BeforeEach] [sig-instrumentation] Prometheus
STEP: Creating a kubernetes client
[AfterEach] [sig-instrumentation] Prometheus
[AfterEach] [sig-instrumentation] Prometheus
fail [github.com/openshift/origin/test/extended/util/ibmcloud/provider.go:54]: Unexpected error:
    <*errors.StatusError | 0xc00014eb40>: {
        ErrStatus: {
            TypeMeta: {Kind: "", APIVersion: ""},
            ListMeta: {
                SelfLink: "",
                ResourceVersion: "",
                Continue: "",
                RemainingItemCount: nil,
            Status: "Failure",
            Message: "clusterrolebindings.rbac.authorization.k8s.io \"e2e-node-attacher\" already exists",
            Reason: "AlreadyExists",
            Details: {
                Name: "e2e-node-attacher",
                Group: "rbac.authorization.k8s.io",
                Kind: "clusterrolebindings",
                UID: "",
                Causes: nil,
                RetryAfterSeconds: 0,
            Code: 409,
    clusterrolebindings.rbac.authorization.k8s.io "e2e-node-attacher" already exists

failed: (1.2s) 2022-01-26T19:03:36 "[sig-instrumentation] Prometheus when installed on the cluster shouldn't report any alerts in firing state apart from Watchdog and AlertmanagerReceiversNotConfigured [Early] [Skipped:Disconnected] [Suite:openshift/conformance/parallel]"

We should remove this CRB creation for IBM Cloud in favor of the IBM Cloud managed offering (ROKS) finding a proper solution that does not break unmanaged Openshift on IBM Cloud (such as IPI deployment).

Comment 4 errata-xmlrpc 2022-08-23 19:39:39 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 (Important: OpenShift Container Platform 4.11.0 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.