NetApp Docker Volume Plugin 17.04 Updates and Changes

April 7th saw the release of the newest version of the NetApp Docker Volume Plugin (nDVP). There are many bug fixes and enhancements in this release, with the most visible probably being the naming scheme. You’ll notice that we have adopted a scheme similar to what Docker themselves are using. Even though we often abbreviate the release name into two parts, there are technically three:

The current planned release model is to have quarterly stable releases, with more frequent releases as needed to fix bugs or introduce features into beta status. This model makes things more predictable for us, and hopefully easier for you, our users, to understand which is the current version and what’s available.

Debug / Troubleshooting Enhancements to nDVP

This release had a lot of focus on usability, with a significant number of improvements to logging and error reporting as well as removing confusion around debug logging. Previously, debug logging could be specified on the command line, e.g. netappdvp --config=/etc/netappdvp/ontap-nas.json --debug or in the configuration file. As of this version, the only way to start the plugin with debug enabled is to use the command option:

  • With Docker <= 1.12:
  • With Docker >= 17.03 / 1.13 using the managed plugin:

If you’re having issues with nDVP, we strongly believe that the improved logging will greatly assist with quickly and efficiently resolving the issue. And, we’re always here to help using Slack or GitHub if needed!

Managing nDVP Configuration

In addition to making it easier to figure out what’s happening with nDVP, we also enabled all volume options to be specified in the configuration file. This makes it possible for the administrator to specify defaults, further abstracting the Docker user from storage complexity.

  • Default volume size is now configurable. Previously the default size was not modifiable and was always 1G, now it can be customized in the configuration file. This applies to all storage drivers with nDVP. If no value is specified, then 1G is still the default default.
  • ONTAP volume options can be specified in the configuration file as well. This is done by providing values in the “default” section of the configuration file:

    This makes it much easier to use non-default options without having to remember to specify them with every volume create operation.
  • Finally, another ONTAP specific option, snapshotDir, has been changed so that the default is now “false”. This means that the .snapshot folder will not be visible by default for NFS volumes.

Standardizing How Volume Size is Specified

The last of the major usability improvements is in how the size of volumes is specified. Previously ONTAP and E-Series used the same nomenclature where bytes, megabytes, gigabytes, etc., for example “10G” or “10GB” would result in a volume which was 10 million bytes in size (base 10, not base 2) or about 9.3 usable GB. However, SolidFire did not have any unit identifier, with all volumes being created in the specified number of Gibibytes (base 2, not base 10). This was, obviously, inconsistent and confusing. This version now standardizes the units with the following rules:

  • Units can be specified using base 10 values with the following suffixes: mb, gb, tb.
  • Units can be specified using base 2 values with the following suffixes: m, mi, mib, g, gi, gib, t, ti, tib.
  • Unit specifiers are case insensitive.
  • If no unit is specified the default is “G”, meaning base 2 Gibibytes.

The result is that volume sizes are now consistent and predictable. If you simply specify “10”, “10g”, “10Gi”, or “10GiB” you will get a volume which is has 10 GiB of usable space. If you specify “10gb”, you will receive a volume which is approximately 9.3 GiB of usable space.

That’s not all!

We have talked about only the most visible changes and fixes to nDVP here, those which will directly impact your day-to-day interaction. However, be sure to read the release notes to see all of the updates because the team has been hard at work!

The full documentation for nDVP is available from Read The Docs, and if you have any questions or problems please reach out to us using Slack or GitHub Issues!

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