From 9df85885de0ace3a1a9082245c85791da6a27570 Mon Sep 17 00:00:00 2001 From: Hongbin Lu Date: Thu, 16 Aug 2018 02:10:14 +0000 Subject: [PATCH] Add check_multiattach to Local volume driver This method was added to Cinder volume driver [1]. This commit adds it to the base class and the Local volume driver. [1] https://review.openstack.org/#/c/589089/ Change-Id: Ic3b15f5ed02002810d5d0bb8f66ab0b35e0e8134 --- zun/container/docker/driver.py | 3 ++- zun/volume/driver.py | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/zun/container/docker/driver.py b/zun/container/docker/driver.py index 4a5e3e885..357c76e67 100644 --- a/zun/container/docker/driver.py +++ b/zun/container/docker/driver.py @@ -1019,7 +1019,8 @@ class DockerDriver(driver.ContainerDriver): return volume_driver.get_volume_status(context, volume_mapping) def check_multiattach(self, context, volume_mapping): - return self.volume_driver.check_multiattach(context, volume_mapping) + volume_driver = self._get_volume_driver(volume_mapping) + return volume_driver.check_multiattach(context, volume_mapping) def _get_or_create_docker_network(self, context, network_api, neutron_net_id): diff --git a/zun/volume/driver.py b/zun/volume/driver.py index 3b5e86cd6..81745e849 100644 --- a/zun/volume/driver.py +++ b/zun/volume/driver.py @@ -82,6 +82,9 @@ class VolumeDriver(object): def get_volume_status(self, *args, **kwargs): raise NotImplementedError() + def check_multiattach(self, context, volume): + raise NotImplementedError() + class Local(VolumeDriver): @@ -117,6 +120,10 @@ class Local(VolumeDriver): def get_volume_status(self, context, volume): return 'available' + @validate_volume_provider(supported_providers) + def check_multiattach(self, context, volume): + return False + class Cinder(VolumeDriver):