Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Share usage guide #675

Merged
merged 6 commits into from
Jul 18, 2019
Merged

Share usage guide #675

merged 6 commits into from
Jul 18, 2019

Conversation

imran-ansari
Copy link
Collaborator

  • Added share usage guide
  • Linked it to the entry point README.md

* Added share usage guide
* Linked it to the entry point README.md
@imran-ansari
Copy link
Collaborator Author

@prablr79 , @amitk1977 , @wdurairaj , @nilangekarss , shashi, @sandesh-desai , @virendra-sharma - Please review the changes

Also added links to individual command usage list
EOF
```

At this point, after creating the **SC** and **PVC** definitions, the volume hasn’t been created yet. The actual volume gets created on-the-fly during the pod deployment and volume mount phase.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IN DYNAMIC PROVISIONING Volume dets created after PVC creation. In case of shares, user needs to wait until inspect on the share shows the AVAILABLE status after this user can create a POD.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@imran-ansari IN DYNAMIC PROVISIONING Volume dets created after PVC creation. In case of shares, user needs to wait until inspect on the share shows the AVAILABLE status after this user can create a POD.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@imran-ansari IN DYNAMIC PROVISIONING Volume dets created after PVC creation.
This text has been borrowed from volume usage page - check this out That would also need correction.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@imran-ansari i Agree this should also get changed in volume examples

docs/share_usage.md Outdated Show resolved Hide resolved
capacity:
storage: 10Gi
accessModes:
- ReadWriteOnce
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Change this to ReadWriteMany

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Already done

name: pvc-first
spec:
accessModes:
- ReadWriteOnce
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Change this to ReadWriteMany

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Already done

@@ -1,6 +1,7 @@
## HPE 3PAR Volume Plugin for Docker

HPE Docker Volume Plugin is an open source project that provides persistent storage and features for your containerized applications using HPE 3PAR StoreServ Storage arrays.
It supports both block and file (NFS shares) based features.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@imran-ansari Can you please add issue #683 and #688 as a Limitations. And trouble shooting for 683.


```yaml
$ sudo kubectl create -f - << EOF
---
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually the correct POD definition after some analysis is this

kind: Pod
apiVersion: v1
metadata:
  name: podfiletestw4-uid-gid-nosecurity
spec:
  containers:
  - name: nginx
    securityContext:
      privileged: true
      capabilities:
        add: ["SYS_ADMIN"]
      allowPrivilegeEscalation: true
    image: nginx
    volumeMounts:
    - name: export
      mountPath: /export
  restartPolicy: Always
  volumes:
  - name: export
    persistentVolumeClaim:
      claimName: sc-file-pvc-uid-gid

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

need to merge POD def in the file

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR updated accordingly. @wdurairaj - please check. I've updated security-context both in static as well dynamic provisioning sections.

@prablr79
Copy link
Contributor

@imran-ansari i hope you have update the review comments, can i merge this ?

when used in file driver configuration, it is ignored.
3. When two backend sections are identically defined, even then each backend
is treated differently and results in having their individual default FPGs
when default share creation is done using both the backends.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@imran-ansari I think we should add below limitations as well. Or can pick the necessary limitations of these:

  1. While working in K8S environment it is recommended to use below steps:
    If working with dynamic provisioner-
    After creating SC and PVC it is recommended to inspect the share to check the status of the share creation.
    It is recommended to create a POD only after inspect of share shows status as AVAILABLE. If the user tries to create a POD
    before inspect of share staus becomes AVAILABLE, user will see error messages in logs indicating share is in CREATING state.
    POD describe may show warning messages indicating Mount has failed as share is still in creating state.

If working with Static provisioner-
After creation of PV and PVC actula share doesnt get created at 3PAR. When user creates POD, dory invokes create share and later
it invokes mount share commands. Hence user may experiece few minutes of delay for getting POD in running state.
User may also see multiple error messages indication "mount for share is failed as share is still in creating state".
This is because once the PVC status becomes BOUND dory tries to create pod continuously.

  1. There can be maximum of 256 shares which can be created using docker volume plugin. This is because,
    share is internally mapped to docker volume. There is a 3PAR limit on number of FPGs per node pair (16 FPGs).
    Each FPG can have max 16 stores. There is 1:1 mapping mentained for store and share.

  2. Even though 3PAR vfs can have max 4 IPs associated with it, docker user can have max 1 IP associated with VFS.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR updated accordingly. Please check.

@nilangekarss nilangekarss merged commit 141b489 into hpe-storage:master Jul 18, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants