One Container Integration to Rule Them All

Trident 18.01 was recently released, and it marks a significant milestone in NetApp’s integration with the containers ecosystem: the merging of the NetApp Docker Volume Plugin (nDVP) with Trident!

To better understand why we merged the two projects, check out the announcement blog post. In this one we’re going to focus on what this means for those of you that have these integrations deployed already.

If you have been using Trident for Kubernetes, other than the new features and fixes you’ve come to expect in a new release, you will not notice anything different at all. Trident operates the same way that it did before.

Even better, aside from the relevant fixes in the release and name changes, those of you that have been using nDVP will not notice anything functionally different either! Under the covers, the nDVP has been painstakingly refactored into the Trident architecture, but in such a way that it is functionally equivalent to the nDVP when it is running against Docker.

How did we do that? The engineering team had an early design goal: every single one of the hundreds of automated tests that validate the nDVP had to pass when run against Trident, without any changes to the tests. They met that goal.

Now that we have merged the two projects, the nDVP project on GitHub will no longer be updated. The 17.10 release of nDVP is the final one. From this point forward, if you’re using a Docker-based orchestrator, you will use Trident for Docker. A Kubernetes-based orchestrator? Trident for Kubernetes. For more details, check out the latest Trident documentation.

To help with making this transition as easy as possible, we’ve tried to address some of the most common questions below. If you have any additional questions which are not addressed here, please connect with us using the comments or via Slack.

What new features or capabilities do I gain with this version?

As always, the full list of changes can be found in the release notes, but the Docker-specific enhancements include:

  • Added hostname support to the dataLIF option in the config file for ontap-nas and ontap-nas-economy drivers
  • Added minimum volume size checks to all plugins
  • Improved iSCSI rescan performance for ONTAP SAN and E-series plugins

How do I upgrade?

It’s simple. Just update the plugin using the standard process, but specify its new name: trident-plugin. For example:

That’s it. The process is very straightforward and fundamentally hasn’t changed from previous versions. If you’d like the full details, please see the documentation.

When do I need to upgrade?

We’d like for you to move to the new Trident plugin as soon as possible. But, we understand that operationally that might not be possible. Standalone nDVP has been deprecated as of the Trident 18.01 release, but will continue to be supported until the 18.04 release. This gives you plenty of time to make the upgrade at your pace.

Do I have to change how I manage the Docker plugin?

No. Trident for Docker is functionally equivalent to the nDVP in every way. The plugin is instantiated on each host with a configuration file, and additional instances can be created as needed for consuming different storage or different configurations.

Are Docker Swarm or Docker Enterprise Edition affected by this change?

You simply need to upgrade to the Trident for Docker plugin, just like you would if you were only using a Docker engine. The functionality remains the same.

Will the upgrade interrupt access to volumes that are in use?

No. Docker and the plugin both rediscover any existing volumes and manage them seamlessly. Additionally, any volumes which are currently being used by a container on a host are unaffected by the upgrade process.

However, as you would expect, while the plugin is disabled/unavailable, no volume operations can take place. This includes create, destroy, mount, and unmount operations. Once the plugin restarts, volume management will resume as normal.

Do I need to change any configuration on my hosts?

No. Trident for Docker works with any host configuration that worked with the nDVP.

There’s no reason to wait! Upgrade today!

Hopefully we have addressed any concerns and questions you have about this change. Merging the two integrations ultimately makes things easier: regardless of how you run your containers, Trident is the way to bring persistence to them. Having a single integration means that we can focus that much more on improving and adding features to enable your applications to consume the storage they need, when they need it, where they need it.

If you have any problems or issues, please remember that Trident is fully supported. Getting help is as simple as a phone call away. You can also find help by reaching out using the comments below, on our Slack team, or using the GitHub issues page.

Andrew Sullivan on GithubAndrew Sullivan on Twitter
Andrew Sullivan
Technical Marketing Engineer at NetApp
Andrew has worked in the information technology industry for over 10 years, with a rich history of database development, DevOps experience, and virtualization. He is currently focused on storage and virtualization automation, and driving simplicity into everyday workflows.

Leave a Reply