Uploaded image for project: 'Virtual Function Controller'
  1. Virtual Function Controller
  2. VFC-1505

Need for "ReadWriteMany" access on storage when deploying on Kubernetes?

XMLWordPrintable

      Hello,

      today when deploying VFC with OOM, the PersistentVolumeClaim needs the "ReadWriteMany" (or "RWX") capability:

       

      $ kubectl get pvc -n onap | grep vfc
      onap-vfc-vfc-catalog                                                             Bound     onap-vfc-vfc-catalog                            2Gi        RWX                                                        3h34m
      onap-vfc-vfc-mariadb                                                             Pending                                                                                                                         3h34m
      onap-vfc-vfc-mariadb-data-onap-vfc-vfc-mariadb-0                                 Bound     onap-vfc-vfc-mariadb-data1                      2Gi        RWX            onap-vfc-vfc-mariadb-data                   3h34m
      onap-vfc-vfc-mariadb-data-onap-vfc-vfc-mariadb-1                                 Bound     onap-vfc-vfc-mariadb-data0                      2Gi        RWX            onap-vfc-vfc-mariadb-data                   3h27m
      onap-vfc-vfc-mariadb-data-onap-vfc-vfc-mariadb-2                                 Bound     onap-vfc-vfc-mariadb-data2                      2Gi        RWX            onap-vfc-vfc-mariadb-data                   3h27m

       

       

      According to Kubernetes Documentation (https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes), ReadWriteMany stands for "the volume can be mounted as read-write by many nodes".

      That means that a particular PVC needs to be read and written from many pods. That also means that your code takes that into account and do the work to avoid write at the same place at the same time.

      An issue on RWX mode is that most "official" storage driver from Kubernetes doesn't support it (13 over the 19 drivers doesn't support it, espacially OpenStack, Amazon and Google storage classes).

      It's then very hard in a lot of case to use VFC.

       

      If the needs is that the volume can be mounted as read by many nodes and write by one node (which seems to be the case), RWO (ReadWriteOnce) should be sufficient and is supported by all drivers.

       

      in the effort to deploy ONAP for gating on public cloud (one the priority of El Alto), using storage classes (and if possible RWO access) is very important.

       

      Can you verify that RWO is sufficient and if yes, I can submit a Gerrit review to move your access needs to RWO.

            sdesbure sdesbure
            sdesbure sdesbure
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: