Search Knowledge Base by Keyword
Upgrade CIO Volume Plugin
This guide shows the steps to upgrade the CIO docker volume plugin. Run the command sequence below on all nodes in the cluster.
List the plugin
# docker plugin ls ID NAME DESCRIPTION ENABLED 663a4acd7b35 cio:latest Storidge's ContainerIO plugin for Docker true
If the volume plugin shows as enabled, disable the plugin first to proceed.
Disable the plugin
# docker plugin disable cio
If you get the error “plugin cio:latest is in use”, use the
# docker plugin disable cio -f
-f flag could be disruptive to applications. See the section below for a non-disruptive upgrade.
Upgrade the plugin
# docker plugin upgrade cio
# docker plugin upgrade cio Upgrading plugin cio:latest from storidge/cio:latest to storidge/cio:latest Plugin "docker.io/storidge/cio:latest" is requesting the following privileges: - network: [host] - mount: [/dev] - allow-all-devices: [true] - capabilities: [CAP_SYS_ADMIN] Do you grant the above permissions? [y/N] y latest: Pulling from storidge/cio fa1b662ea6b3: Download complete Digest: sha256:d8666480fc9ae8beba283dd60b8b3b387b4afeef727e5a82b8ad573b4b808b87 Status: Downloaded newer image for storidge/cio:latest Upgraded plugin cio:latest to docker.io/storidge/cio:latest
Enable the plugin
# docker plugin enable cio
Non-disruptive plugin upgrade
Note that using the
--force flag could be disruptive to the containerized application on an operating cluster, e.g. the Docker propagated mount point could be removed. An alternative way to update the plugin is to first set the cio nodes to drain state, update the plugin and then set the cio nodes back to active state to continue operation, i.e.:
docker node update --availability drain <cio node name>to set each node to drain state
- Use the disable, upgrade and enable plugin commands above to update the volume plugin
docker node update --availability active <cio node name>to set each node back to active state