IBM / cloud-pak-deployer

Configuration-based installation of OpenShift and Cloud Pak for Data/Integration/Watson AIOps on various private and public cloud infrastructure providers. Deployment attempts to achieve the end-state defined in the configuration. If something fails along the way, you only need to restart the process to continue the deployment.
https://ibm.github.io/cloud-pak-deployer/
Apache License 2.0
140 stars 69 forks source link

Installing deployer on OpenShift console fails to create status and config PVCs #792

Open techietav opened 2 months ago

techietav commented 2 months ago

Describe the bug Installing deployer into an existing OpenShift via the console it fails to create both of the required PVCs for config and status. https://ibm.github.io/cloud-pak-deployer/10-use-deployer/3-run/existing-openshift-console/ It seems not to pick up the correct storage classes and there is no way to specify them.

To Reproduce VPC Gen 2 IBM ROKS cluster 4.16 now provides native file and block storage classes and negates the need to also deploy 3 nodes for ODF. The available storage classes are ibmc-vpc-block-10iops-tier, ibmc-vpc-file-500-iops (also other iops available) The install script gets stuck creating the PVCs for config and status as it cannot find the correct storage classes.

Workaround I manually created the required PVCs using this yaml.

apiVersion: v1 kind: PersistentVolumeClaim metadata: name: cloud-pak-deployer-config namespace: cloud-pak-deployer spec: accessModes:

fketelaars commented 2 months ago

Changes to make:

fketelaars commented 1 month ago

Did some further research and found the following:

oc logs conn-home-pre-install-job-qtjpn
+ umask 002
+ '[' -d /conn-home ']'
+ '[' -d /conn-home-content ']'
+ cp -rpu /conn-home-content/_global_ /conn-home/
cp: cannot create directory '/conn-home/_global_': Permission denied

Also tried an alternative by creating an NFS server underpinned by VPC storage: https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-create&interface=ui

When mounting the volume using the NFS provsiioner, the binding of the PVC fails:

  Warning  ProvisioningFailed    4m31s (x5 over 8m16s)   k8s-sigs.io/nfs-subdir-external-provisioner_nfs-client-provisioner-d48dcc48d-xs2l2_2499dbf0-4d44-464e-a4ba-6568de21888c  failed to provision volume with StorageClass "managed-nfs-storage": unable to create directory to provision new pv: mkdir /persistentvolumes/nfs-provisioner-sc-test-pvc-pvc-be9e6693-5142-4915-8d4a-8c4a6b84b6fe: permission denied

Now trying with a single-zone cluster.

fketelaars commented 1 month ago

Single-zone cluster also failed. Once I've created file storage and a mount point, I can mount the file share from a node in the same zone. However, when trying to use the nfs-provisioner to create and NFS share, I'm getting the following on the test PVC:

Name:          sc-test-pvc
Namespace:     nfs-provisioner
StorageClass:  managed-nfs-storage
Status:        Pending
Volume:
Labels:        <none>
Annotations:   volume.beta.kubernetes.io/storage-provisioner: k8s-sigs.io/nfs-subdir-external-provisioner
               volume.kubernetes.io/storage-provisioner: k8s-sigs.io/nfs-subdir-external-provisioner
Finalizers:    [kubernetes.io/pvc-protection]
Capacity:
Access Modes:
VolumeMode:    Filesystem
Used By:       <none>
Events:
  Type     Reason                Age                 From                                                                                                                      Message
  ----     ------                ----                ----                                                                                                                      -------
  Normal   Provisioning          79s (x3 over 2m4s)  k8s-sigs.io/nfs-subdir-external-provisioner_nfs-client-provisioner-78ff848d74-x94dr_67f2ae44-27d1-4aaa-be04-7276cc1c4fac  External provisioner is provisioning volume for claim "nfs-provisioner/sc-test-pvc"
  Warning  ProvisioningFailed    79s (x3 over 2m4s)  k8s-sigs.io/nfs-subdir-external-provisioner_nfs-client-provisioner-78ff848d74-x94dr_67f2ae44-27d1-4aaa-be04-7276cc1c4fac  failed to provision volume with StorageClass "managed-nfs-storage": unable to create directory to provision new pv: mkdir /persistentvolumes/nfs-provisioner-sc-test-pvc-pvc-049b4664-a453-42e4-8c3d-bb7785f728a4: permission denied
  Normal   ExternalProvisioning  72s (x5 over 2m4s)  persistentvolume-controller                                                                                               Waiting for a volume to be created either by the external provisioner 'k8s-sigs.io/nfs-subdir-external-provisioner' or manually by the system administrator. If volume creation is delayed, please verify that the provisioner is running and correctly registered.