Beispiel #1
0
    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'))
Beispiel #2
0
    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'))
Beispiel #3
0
    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)
Beispiel #4
0
    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)