23technologies / okeanos

Okeanos user documentation and bug reports
https://23technologies.github.io/okeanos/
5 stars 0 forks source link

storageClass not functional on regioCloud, cinder vol type wrong #7

Closed curx closed 1 year ago

curx commented 1 year ago

During investigation, we found the storage class on RegioCloud seems broken. The cinder volume type no longer exists or was replaced and the configuration is not synced to Kubernetes/Gardener.

Add. tech. notes:

# event for pvc
❯ k get ev --field-selector reason=ProvisioningFailed 
LAST SEEN   TYPE      REASON               OBJECT                              MESSAGE
3m50s       Warning   ProvisioningFailed   persistentvolumeclaim/data-test-0   failed to provision volume with StorageClass "default": rpc error: code = Internal desc = CreateVolume failed with error Resource not found: [POST https://cinder.services.a.regiocloud.tech/v3/02d3b07625e74d44978b76bca33299e7/volumes], error message: {"itemNotFound": {"code": 404, "message": "Volume type aab1334f-8e9c-47e4-8aec-8b44257f6d3b could not be found."}}

# get sc
❯ k get sc default -oyaml
allowVolumeExpansion: true
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  annotations:
    resources.gardener.cloud/delete-on-invalid-update: "true"
    resources.gardener.cloud/description: |-
      DO NOT EDIT - This resource is managed by gardener-resource-manager.
      Any modifications are discarded and the resource is returned to the original state.
    resources.gardener.cloud/origin: shoot--garden--mng-seed-a-0-bcf33526-8c7b-4d83-974a-13806d6799c7-garden-cluster-identity:shoot--b1systems--m6ykipu6wy/extension-controlplane-storageclasses
    storageclass.kubernetes.io/is-default-class: "true"
  creationTimestamp: "2023-09-07T10:10:03Z"      # <--! new
  labels:
    resources.gardener.cloud/managed-by: gardener
    shoot.gardener.cloud/no-cleanup: "true"
  name: default
  resourceVersion: "61957549"
  uid: e1595d94-9591-4361-9c3d-055c5a92697d
parameters:
  type: hdd                                                                   # <--!  doesn't exist on IaaS level for project
provisioner: cinder.csi.openstack.org
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer

# get cinder volume types
❯ openstack volume type list -f yaml
- ID: 4a88d7a5-6c0f-4de6-b9f8-8d1ba12ac0c6
  Is Public: true
  Name: __DEFAULT__                                             # <--! only __DEFAULT__ is available
curx commented 1 year ago

for the Migitation, create a kubernetes storageClass with the current OpenStack cinder volume type and use the fixed one.

---
# task: see 23technologies/okeanos/issues/7
#
allowVolumeExpansion: true
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  annotations:
    storageclass.kubernetes.io/is-default-class: "false"
  labels:
    shoot.gardener.cloud/no-cleanup: "true"
  name: fix-regiocloud
parameters:
  type: __DEFAULT__
provisioner: cinder.csi.openstack.org
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer
berendt commented 1 year ago

Please use this as workaround for the moment. We are adding a new NVMe SSD storage pool to REGIO.cloud at the moment and we already changed the storage types to the new names (hdd + ssd) on the Okeanos environment. At the moment the new storage types are not yet visible on your customer domain. I think the new pool will be ready for use next week.

curx commented 1 year ago

Any updates about the new pool?

curx commented 1 year ago

Seems the new storageClass setup is done, closed