diff --git a/nodepool/driver/fake/provider.py b/nodepool/driver/fake/provider.py index 51d17befd..dcfd9a2ac 100644 --- a/nodepool/driver/fake/provider.py +++ b/nodepool/driver/fake/provider.py @@ -230,7 +230,7 @@ class FakeOpenStackCloud(object): self._image_list, instance_type=Dummy.IMAGE, done_status='READY', **kwargs) - def get_image(self, name_or_id): + def get_image(self, name_or_id, filters=None): return self._get(name_or_id, self._image_list) def list_images(self): diff --git a/nodepool/driver/openstack/provider.py b/nodepool/driver/openstack/provider.py index e515e60a5..0a3056152 100755 --- a/nodepool/driver/openstack/provider.py +++ b/nodepool/driver/openstack/provider.py @@ -264,7 +264,7 @@ class OpenStackProvider(Provider): if name in self._images: return self._images[name] - image = self._client.get_image(name) + image = self._client.get_image(name, filters={'status': 'active'}) self._images[name] = image return image @@ -396,7 +396,7 @@ class OpenStackProvider(Provider): image_name, server, **meta) def getImage(self, image_id): - return self._client.get_image(image_id) + return self._client.get_image(image_id, filters={'status': 'active'}) def labelReady(self, label): if not label.cloud_image: diff --git a/nodepool/releasenotes/notes/filter-active-images-openstack-f69bf47323b6b91a.yaml b/nodepool/releasenotes/notes/filter-active-images-openstack-f69bf47323b6b91a.yaml new file mode 100644 index 000000000..5ee71fa48 --- /dev/null +++ b/nodepool/releasenotes/notes/filter-active-images-openstack-f69bf47323b6b91a.yaml @@ -0,0 +1,5 @@ +--- +fixes: + - | + Fixed a bug where Nodepool did not filter for active images when + using the OpenStack provider.