def test_is_valid_info_file(self): hashed = 'e97222e91fc4241f49a7f520d1dcf446751129b3' self.flags(instances_path='/tmp/no/such/dir/name/please') self.flags(image_info_filename_pattern=('$instances_path/_base/' '%(image)s.info')) base_filename = os.path.join(FLAGS.instances_path, '_base', hashed) self.assertFalse(virtutils.is_valid_info_file('banana')) self.assertFalse(virtutils.is_valid_info_file( os.path.join(FLAGS.instances_path, '_base', '00000001'))) self.assertFalse(virtutils.is_valid_info_file(base_filename)) self.assertFalse(virtutils.is_valid_info_file(base_filename + '.sha1')) self.assertTrue(virtutils.is_valid_info_file(base_filename + '.info'))
def test_is_valid_info_file(self): hashed = 'e97222e91fc4241f49a7f520d1dcf446751129b3' self.flags(instances_path='/tmp/no/such/dir/name/please') self.flags(image_info_filename_pattern=('$instances_path/_base/' '%(image)s.info')) base_filename = os.path.join(CONF.instances_path, '_base', hashed) self.assertFalse(virtutils.is_valid_info_file('banana')) self.assertFalse(virtutils.is_valid_info_file( os.path.join(CONF.instances_path, '_base', '00000001'))) self.assertFalse(virtutils.is_valid_info_file(base_filename)) self.assertFalse(virtutils.is_valid_info_file(base_filename + '.sha1')) self.assertTrue(virtutils.is_valid_info_file(base_filename + '.info'))
def _list_base_images(self, base_dir): """Return a list of the images present in _base. Determine what images we have on disk. There will be other files in this directory (for example kernels) so we only grab the ones which are the right length to be disk images. Note that this does not return a value. It instead populates a class variable with a list of images that we need to try and explain. """ digest_size = hashlib.sha1().digestsize * 2 for ent in os.listdir(base_dir): if len(ent) == digest_size: self._store_image(base_dir, ent, original=True) elif (len(ent) > digest_size + 2 and ent[digest_size] == '_' and not virtutils.is_valid_info_file( os.path.join(base_dir, ent))): self._store_image(base_dir, ent, original=False)
def _list_base_images(self, base_dir): """Return a list of the images present in _base. Determine what images we have on disk. There will be other files in this directory (for example kernels) so we only grab the ones which are the right length to be disk images. Note that this does not return a value. It instead populates a class variable with a list of images that we need to try and explain. """ digest_size = hashlib.sha1().digestsize * 2 for ent in os.listdir(base_dir): if len(ent) == digest_size: self._store_image(base_dir, ent, original=True) elif (len(ent) > digest_size + 2 and ent[digest_size] == '_' and not virtutils.is_valid_info_file(os.path.join(base_dir, ent))): self._store_image(base_dir, ent, original=False)