Bug 1661372 - Storage class is not created after deploying efs-provisoner-operator and customer resource EFS provisioner
Summary: Storage class is not created after deploying efs-provisoner-operator and cust...
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Storage
Version: 4.1.0
Hardware: Unspecified
OS: Unspecified
low
medium
Target Milestone: ---
: 4.2.0
Assignee: Christian Huffman
QA Contact: Chao Yang
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-12-21 03:36 UTC by Chao Yang
Modified: 2019-07-25 18:00 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-07-25 18:00:10 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Chao Yang 2018-12-21 03:36:22 UTC
Description of problem:
After deploying efs-provisioner operator and customer resource , default storageclass is not create.

Version-Release number of selected component (if applicable):
./openshift-install v0.7.0

kubernetes v1.11.0+793dcb0

How reproducible:
Always

Steps to Reproduce:
1.Deploy efs-provisoner-operator
NAME                                        READY     STATUS    RESTARTS   AGE
efs-provisioner-operator-7f6b85c68c-n89bd   1/1       Running   0          2h

 oc get pods efs-provisioner-operator-7f6b85c68c-n89bd -o yaml | grep image
    image: quay.io/wongma7/efs-provisioner-operator
    imagePullPolicy: IfNotPresent
  imagePullSecrets:
    image: quay.io/wongma7/efs-provisioner-operator:latest
    imageID: quay.io/wongma7/efs-provisioner-operator@sha256:b0306b0332363355ec73bbef05f9695867406c22efae8ab2b386178aa0a8ee14
Deploy crd
oc get crd efsprovisioners.efs.storage.openshift.io -o yaml
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  creationTimestamp: 2018-12-20T06:04:21Z
  generation: 1
  name: efsprovisioners.efs.storage.openshift.io
  resourceVersion: "86477"
  selfLink: /apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions/efsprovisioners.efs.storage.openshift.io
  uid: 180ffc34-041d-11e9-8edd-0ef935c979ce
spec:
  additionalPrinterColumns:
  - JSONPath: .metadata.creationTimestamp
    description: |-
      CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.

      Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
    name: Age
    type: date
  group: efs.storage.openshift.io
  names:
    kind: EFSProvisioner
    listKind: EFSProvisionerList
    plural: efsprovisioners
    singular: efsprovisioner
  scope: Namespaced
  subresources:
    status: {}
  validation:
    openAPIV3Schema:
      properties:
        spec:
          properties:
            basePath:
              type: string
            fsid:
              type: string
            gidAllocate:
              type: boolean
            gidMax:
              type: integer
            gidMin:
              type: integer
            imagePullSpec:
              type: string
            managementState:
              enum:
              - Managed
              - Unmanaged
              - Removed
              type: string
            reclaimPolicy:
              enum:
              - Delete
              - Retain
              type: string
            region:
              type: string
            replicas:
              minimum: 1
              type: integer
            storageClassName:
              type: string
            supplementalGroup:
              type: integer
            version:
              type: string
          required:
          - storageClassName
          - fsid
          - region
  version: v1alpha1
  versions:
  - name: v1alpha1
    served: true
    storage: true
status:
  acceptedNames:
    kind: EFSProvisioner
    listKind: EFSProvisionerList
    plural: efsprovisioners
    singular: efsprovisioner
  conditions:
  - lastTransitionTime: 2018-12-20T06:04:21Z
    message: no conflicts found
    reason: NoConflicts
    status: "True"
    type: NamesAccepted
  - lastTransitionTime: null
    message: the initial names have been accepted
    reason: InitialNamesAccepted
    status: "True"
    type: Established
  storedVersions:
  - v1alpha1

3.Create cr
oc get EFSProvisioner -o yaml
apiVersion: v1
items:
- apiVersion: efs.storage.openshift.io/v1alpha1
  kind: EFSProvisioner
  metadata:
    annotations:
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"efs.storage.openshift.io/v1alpha1","kind":"EFSProvisioner","metadata":{"annotations":{},"name":"example-efsprovisioner","namespace":"openshift-efs-provisioner-operator"},"spec":{"fsid":"fs-5605ddb7","imagePullSpec":"quay.io/external_storage/efs-provisioner","region":"us-east-1","storageClassName":"aws-efs"}}
    creationTimestamp: 2018-12-20T07:47:40Z
    generation: 2
    name: example-efsprovisioner
    namespace: openshift-efs-provisioner-operator
    resourceVersion: "175677"
    selfLink: /apis/efs.storage.openshift.io/v1alpha1/namespaces/openshift-efs-provisioner-operator/efsprovisioners/example-efsprovisioner
    uid: 870bea9a-042b-11e9-8edd-0ef935c979ce
  spec:
    fsid: fs-5605ddb7
    imagePullSpec: quay.io/external_storage/efs-provisioner
    region: us-east-1c
    storageClassName: aws-efs
kind: List
metadata:
  resourceVersion: ""
  selfLink: ""

Actual results:
Default storageclass is not created, could not create efs voloume.

Expected results:
Default storageclass should be created.

Master Log:

Node Log (of failed PODs):

PV Dump:

PVC Dump:

StorageClass Dump (if StorageClass used by PV/PVC):

Additional info:
oc logs efs-provisioner-operator-7f6b85c68c-n89bd
2018/12/20 06:05:13 Go Version: go1.11.1
2018/12/20 06:05:13 Go OS/Arch: linux/amd64
2018/12/20 06:05:13 operator-sdk Version: v0.1.0+git
2018/12/20 06:05:13 Registering Components.
2018/12/20 06:05:13 Starting the Cmd.
2018/12/20 06:07:35 Reconciling EFSProvisioner openshift-efs-provisioner-operator/example-efsprovisioner
2018/12/20 06:07:36 Reconciling EFSProvisioner openshift-efs-provisioner-operator/example-efsprovisioner

Comment 1 Matthew Wong 2018-12-21 15:20:56 UTC
Is the bug that no StorageClass is created at all, or the StorageClass is not default?

Working on adding more verbose logging to debug.

Comment 2 Chao Yang 2018-12-25 02:17:25 UTC
No Storageclass is created at all.

Comment 3 Chao Yang 2019-01-10 05:37:27 UTC
This bug is blocked openshift4.0 GA, so add the keyword TestBlocker

Comment 4 Matthew Wong 2019-01-10 18:28:42 UTC
I managed to reproduce this once but didn't have enough info to figure it out. After that, I could not reproduce it. I've added more logging to my latest build (still working on getting an official build), please try once more.

Note also we have decided not to ship our *-provisioner-operators with 4.0, so this (and manila/cephfs) need not block beta. Will detail in an email as Jan has for csi.

Comment 8 Hemant Kumar 2019-07-12 15:25:14 UTC
We are not shipping EFS provisioner operator in 4.x.  But the provisioner still should be installable in Openshift-4.x by following manual instructions and should work.

Comment 9 Christian Huffman 2019-07-25 18:00:10 UTC
I've tested installing the EFS provisioner manually, and successfully provisioned volumes that could read and write data. I'm not able to reproduce this issue as of 4.2 through manual installation, as one of the steps is creating the storage class.

I'm closing this issue out, as it is no longer relevant or reproducible.


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