Uploaded image for project: 'Network Controller'
  1. Network Controller
  2. SDNC-875

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

XMLWordPrintable

      Hello,

      today when deploying SDN-C with OOM,  PersistentVolumeClaim for CDS needs the "ReadWriteMany" (or "RWX") capability:

       

      $ kubectl get pvc -n onap | grep sdnc
      onap-sdnc-cds-blueprints                                                         Bound     onap-sdnc-cds-blueprints-processor-blueprints   2Gi        RWX                                                        3h41m
      onap-sdnc-cds-db                                                                 Pending                                                                                                                         3h41m
      onap-sdnc-cds-db-data-onap-sdnc-cds-db-0                                         Bound     onap-sdnc-cds-db-data0                          2Gi        RWX            onap-sdnc-cds-db-data                       3h41m
      onap-sdnc-nengdb                                                                 Pending                                                                                                                         3h41m
      onap-sdnc-nengdb-data-onap-sdnc-nengdb-0                                         Bound     onap-sdnc-nengdb-data0                          2Gi        RWX            onap-sdnc-nengdb-data                       3h41m
      onap-sdnc-sdnc-mdsal-onap-sdnc-sdnc-0                                            Bound     onap-sdnc-sdnc-mdsal0                           1Gi        RWO            onap-sdnc-sdnc-mdsal                        3h41m
      onap-sdnc-sdnc-pvc-certs                                                         Bound     onap-sdnc-sdnc-pv-certs                         50Mi       RWO                                                        3h41m

       

       

      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 CDS.

       

      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.

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

              Created:
              Updated:
              Resolved: