Skip to content

Commit

Permalink
Made Trident PVC events more user-friendly
Browse files Browse the repository at this point in the history
  • Loading branch information
kangarlou committed Oct 11, 2018
1 parent c8f55ed commit 41970c6
Show file tree
Hide file tree
Showing 16 changed files with 97 additions and 1,724 deletions.
8 changes: 7 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,18 @@
**Enhancements:**
- Added ability to set snapshotReserve in backend config files, volume creation options, and PVC annotations (Issue [#43](https://github.com/NetApp/trident/issues/43)).
- Added ability to limit the size of requested volumes.
- Added ability to limit the ONTAP Aggregate usage % (Issue [#64](https://github.com/NetApp/trident/issues/64)).
- Added ability to limit the ONTAP Aggregate usage percentage (Issue [#64](https://github.com/NetApp/trident/issues/64)).
- Added ability to limit the ONTAP Flexvol size for the ontap-nas-economy driver (Issue [#141](https://github.com/NetApp/trident/issues/141)).
- **Kubernetes:** Added support for expanding NFS Persistent Volumes (Issue [#21](https://github.com/NetApp/trident/issues/21)).
- **Kubernetes:** Modified Trident installer to do most of its work in a pod.
- **Kubernetes:** Updated etcd to v3.3.9 and client-go to v9.0.0.

**Deprecations**
- **Docker:** Trident's support for Docker EE 2.0's UCP access control will be removed in the
v19.01 release, replaced by the native Kubernetes access control support in
Docker EE 2.1 and beyond. The `--ucp-host` and `--ucp-bearer-token` parameters
will be deprecated and will not be needed in order to install or uninstall Trident.

## v18.07.0

**Fixes:**
Expand Down
2 changes: 1 addition & 1 deletion config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ const (
ContextCSI DriverContext = "csi"

// Minimum and maximum supported Kubernetes versions
KubernetesVersionMin = "v1.5.0"
KubernetesVersionMin = "v1.8.0"
KubernetesVersionMax = "v1.12.0"
KubernetesCSIVersionMin = "v1.10.0"

Expand Down
8 changes: 4 additions & 4 deletions core/orchestrator_core.go
Original file line number Diff line number Diff line change
Expand Up @@ -340,7 +340,7 @@ func (o *TridentOrchestrator) handleFailedTransaction(v *persistentstore.VolumeT
log.WithFields(log.Fields{
"volume": vol.Config.Name,
"volume_size": v.Config.Size,
}).Info("Orchestrator successfully resized the volume on the storage backend.")
}).Info("Orchestrator resized the volume on the storage backend.")
}
} else {
log.WithFields(log.Fields{
Expand Down Expand Up @@ -748,8 +748,8 @@ func (o *TridentOrchestrator) AddVolume(volumeConfig *storage.VolumeConfig) (
externalVol = nil
if len(errorMessages) == 0 {
err = fmt.Errorf("no suitable %s backend with \"%s\" storage class "+
"and %s of free space was found! Find available backends under %s",
protocol, volumeConfig.StorageClass, volumeConfig.Size, config.BackendURL)
"and %s of free space was found!",
protocol, volumeConfig.StorageClass, volumeConfig.Size)
} else {
err = fmt.Errorf("encountered error(s) in creating the volume: %s",
strings.Join(errorMessages, ", "))
Expand Down Expand Up @@ -1341,7 +1341,7 @@ func (o *TridentOrchestrator) ResizeVolume(volumeName, newSize string) (err erro
log.WithFields(log.Fields{
"volume": volumeName,
"volume_size": newSize,
}).Info("Orchestrator successfully resized the volume on the storage backend.")
}).Info("Orchestrator resized the volume on the storage backend.")
}
err = o.resizeVolumeCleanup(err, vol, volTxn)
}()
Expand Down
2 changes: 1 addition & 1 deletion docs/docker/deploying.rst
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ Deploying
.. code-block:: bash
docker plugin install netapp/trident-plugin:18.07 --alias netapp --grant-all-permissions
docker plugin install netapp/trident-plugin:18.10 --alias netapp --grant-all-permissions
#. Begin using Trident to consume storage from the configured system.
Expand Down
6 changes: 3 additions & 3 deletions docs/docker/install/host_config.rst
Original file line number Diff line number Diff line change
Expand Up @@ -127,8 +127,8 @@ Traditional Install Method (Docker <= 1.12)
.. code-block:: bash
# download and unpack the application
wget https://github.com/NetApp/trident/releases/download/v18.07.0/trident-installer-18.07.0.tar.gz
tar zxf trident-installer-18.07.0.tar.gz
wget https://github.com/NetApp/trident/releases/download/v18.10.0/trident-installer-18.10.0.tar.gz
tar zxf trident-installer-18.10.0.tar.gz
# move to a location in the bin path
sudo mv trident-installer/extras/bin/trident /usr/local/bin
Expand Down Expand Up @@ -266,7 +266,7 @@ Docker Managed Plugin Method (Docker >= 1.13 / 17.03)
.. code-block:: bash
docker plugin install --grant-all-permissions --alias netapp netapp/trident-plugin:18.07 config=myConfigFile.json
docker plugin install --grant-all-permissions --alias netapp netapp/trident-plugin:18.10 config=myConfigFile.json
#. Begin using Trident to consume storage from the configured system.
Expand Down
4 changes: 2 additions & 2 deletions docs/docker/install/multi_instance.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@ containerized plugin, or ``--volume-driver`` option when instantiating Trident o

.. code-block:: bash
docker plugin install --grant-all-permissions --alias silver netapp/trident-plugin:18.07 config=silver.json
docker plugin install --grant-all-permissions --alias silver netapp/trident-plugin:18.10 config=silver.json
#. Launch the second instance, specifying a different alias and configuration file

.. code-block:: bash
docker plugin install --grant-all-permissions --alias gold netapp/trident-plugin:18.07 config=gold.json
docker plugin install --grant-all-permissions --alias gold netapp/trident-plugin:18.10 config=gold.json
#. Create volumes specifying the alias as the driver name

Expand Down
2 changes: 1 addition & 1 deletion docs/docker/use/managing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ again. Under most circumstances, this is a matter of seconds.

.. code-block:: bash
docker plugin upgrade --skip-remote-check --grant-all-permissions netapp:latest netapp/trident-plugin:18.07
docker plugin upgrade --skip-remote-check --grant-all-permissions netapp:latest netapp/trident-plugin:18.10

.. note:: The 18.01 release of Trident replaces the nDVP. You should upgrade directly from the netapp/ndvp-plugin
image to the netapp/trident-plugin image.
Expand Down
8 changes: 4 additions & 4 deletions docs/kubernetes/deploying.rst
Original file line number Diff line number Diff line change
Expand Up @@ -71,12 +71,12 @@ you have the necessary privileges to.
Download the latest version of the `Trident installer bundle`_ from the
*Downloads* section and extract it.

For example, if the latest version is 18.07.0:
For example, if the latest version is 18.10.0:

.. code-block:: bash
wget https://github.com/NetApp/trident/releases/download/v18.07.0/trident-installer-18.07.0.tar.gz
tar -xf trident-installer-18.07.0.tar.gz
wget https://github.com/NetApp/trident/releases/download/v18.10.0/trident-installer-18.10.0.tar.gz
tar -xf trident-installer-18.10.0.tar.gz
cd trident-installer
.. _Trident installer bundle: https://github.com/NetApp/trident/releases/latest
Expand Down Expand Up @@ -185,7 +185,7 @@ It will look like this when the installer is complete:
+----------------+----------------+
| SERVER VERSION | CLIENT VERSION |
+----------------+----------------+
| 18.07.0 | 18.07.0 |
| 18.10.0 | 18.10.0 |
+----------------+----------------+
If that's what you see, you're done with this step, but **Trident is not
Expand Down
2 changes: 2 additions & 0 deletions docs/kubernetes/operations/tasks/backends/ontap.rst
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,8 @@ Example configuration
"svm": "svm_nfs",
"username": "vsadmin",
"password": "secret",
"limitAggregateUsage": "80%",
"limitVolumeSize": "50Gi",
"defaults": {
"spaceReserve": "volume",
"exportPolicy": "myk8scluster",
Expand Down
4 changes: 2 additions & 2 deletions docs/kubernetes/trident-csi.rst
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ Invoke the install command with the ``--csi`` switch:
INFO Waiting for Trident pod to start.
INFO Trident pod started. namespace=trident pod=trident-csi-0
INFO Waiting for Trident REST interface.
INFO Trident REST interface is up. version=18.07.0
INFO Trident REST interface is up. version=18.10.0
INFO Trident installation succeeded.
It will look like this when the installer is complete:
Expand All @@ -66,7 +66,7 @@ It will look like this when the installer is complete:
+----------------+----------------+
| SERVER VERSION | CLIENT VERSION |
+----------------+----------------+
| 18.07.0 | 18.07.0 |
| 18.10.0 | 18.10.0 |
+----------------+----------------+
Using CSI Trident
Expand Down
23 changes: 10 additions & 13 deletions docs/kubernetes/troubleshooting.rst
Original file line number Diff line number Diff line change
@@ -1,29 +1,26 @@
Troubleshooting
^^^^^^^^^^^^^^^

* Run ``tridentctl logs -l all -n trident`` and look for problems in the logs
for the ``trident-main`` and ``etcd`` containers. Alternatively, you can use
``kubectl logs`` to retrieve the logs for the ``trident-********-****`` pod.
* If there was a failure during install, run ``tridentctl logs -l all -n trident``
and look for problems in the logs for the ``trident-main`` and ``etcd`` containers.
Alternatively, you can use ``kubectl logs`` to retrieve the logs for the
``trident-********-****`` pod.
* If the Trident pod fails to come up properly (e.g., when Trident pod is stuck
in the ``ContainerCreating`` phase with fewer than 2 ready containers),
running ``kubectl -n trident describe deployment trident`` and
``kubectl -n trident describe pod trident-********-****`` can provide
additional insights. Obtaining kubelet logs
(e.g., via ``journalctl -xeu kubelet``) can also be helpful if there is a
problem in mounting the ``trident`` PVC (the ``etcd`` volume).
* If there's not enough information in the Trident and Trident launcher logs,
you can try enabling debug mode for Trident and Trident launcher by passing
the ``-d`` flag to the install parameter: ``./tridentctl install -d -n trident``.
* If there's not enough information in the Trident logs, you can try enabling
the debug mode for Trident by passing the ``-d`` flag to the install
parameter: ``./tridentctl install -d -n trident``.
* The :ref:`uninstall parameter <Uninstalling Trident>` can help with cleaning up
after a failed run. By default the script does not touch the etcd backing
store, making it safe to uninstall and install again even in a running
deployment.
* If a PVC is stuck in the ``Pending`` phase, running ``kubectl describe pvc``
can provide additional information on why Trident failed to provsion a PV for
this PVC.
* If service accounts are not available, the logs will report an error that
``/var/run/secrets/kubernetes.io/serviceaccount/token`` does not exist. In
this case, you will either need to enable service accounts or connect to the
API server by specifying the insecure address and port on the command line.
* After a successful install, if a PVC is stuck in the ``Pending`` phase,
running ``kubectl describe pvc`` can provide additional information on why
Trident failed to provsion a PV for this PVC.
* If you require further assistance, please create a support bundle via
``tridentctl logs -a -n trident`` and send it to :ref:`NetApp Support <Getting Help>`.
4 changes: 2 additions & 2 deletions docs/support/requirements.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ Trident supports multiple container engines and orchestrators, including:

* Docker 17.06 (CE or EE) or later (latest: 18.03, but see the warning above)
* Docker Enterprise Edition 17.06 or later (latest: 2.0)
* Kubernetes 1.6 or later (latest: 1.12)
* OpenShift 3.6 or later (latest: 3.10)
* Kubernetes 1.8 or later (latest: 1.12)
* OpenShift 3.8 or later (latest: 3.10)

In addition, Trident should work with any distribution of Docker or Kubernetes
that uses one of the supported versions as a base, such as Rancher or Tectonic.
Expand Down
Loading

0 comments on commit 41970c6

Please sign in to comment.