def _get_images_to_remove(self): """Find the images to remove""" owned_images = utils.get_project_images( self.compute_driver, self.project, True ) if self.image_name: return utils.find_images_by_name( owned_images, self.image_name, self.log ) elif self.image_name_fragment: return utils.find_images_by_name_fragment( owned_images, self.image_name_fragment, self.log ) elif self.image_name_match: try: return utils.find_images_by_name_regex_match( owned_images, self.image_name_match, self.log ) except Exception: msg = 'Unable to complie regular expression "%s"' msg = msg % self.image_name_match raise GCERemoveImgException(msg) else: msg = 'No remove image condition set. Should not reach ' msg += 'this point.' raise GCERemoveImgException(msg)
def test_find_images_by_name_fragment_find_multiple(): images = _get_test_images() found_images = gceutils.find_images_by_name_fragment( images, 'opensuse', logger) # The image data we read also contains dleted images and the test helper # does not filter assert 21 == len(found_images) for image in found_images: assert 'opensuse' in image.get('name')
def get_images(self): """Get images from sdk""" owned_images = utils.get_project_images(self.compute_driver, self.project, True) if self.image_name: return utils.find_images_by_name(owned_images, self.image_name, self.log) elif self.image_name_fragment: return utils.find_images_by_name_fragment(owned_images, self.image_name_fragment, self.log) elif self.image_name_match: try: return utils.find_images_by_name_regex_match( owned_images, self.image_name_match, self.log) except Exception: msg = 'Unable to complie regular expression "%s"' msg = msg % self.image_name_match raise GCEListImgException(msg) else: return (owned_images)
def test_find_images_by_name_fragment_find_none(): images = _get_test_images() found_images = gceutils.find_images_by_name_fragment(images, 'foo', logger) assert 0 == len(found_images)
def test_find_images_by_name_fragment_find_one(): images = _get_test_images() found_images = gceutils.find_images_by_name_fragment(images, 'hpc', logger) assert 1 == len(found_images) assert found_images[0].get('name') == 'sles15sp2hpc-test-v20210131'