def test_amend(fake_scheduler, env_type):
    fmt = sc.name2type('cow')
    job_id = make_uuid()
    with make_env(env_type, fmt, sd_version=4, qcow2_compat='0.10') as env:
        env_vol = env.chain[0]
        generation = env_vol.getMetaParam(sc.GENERATION)
        assert env_vol.getQemuImageInfo()['compat'] == '0.10'
        vol = dict(endpoint_type='div',
                   sd_id=env_vol.sdUUID,
                   img_id=env_vol.imgUUID,
                   vol_id=env_vol.volUUID,
                   generation=generation)
        qcow2_attr = dict(compat='1.1')
        job = amend_volume.Job(job_id, 0, vol, qcow2_attr)
        job.run()
        assert jobs.STATUS.DONE == job.status
        assert env_vol.getQemuImageInfo()['compat'] == '1.1'
        assert env_vol.getMetaParam(sc.GENERATION) == generation + 1
def test_sd_version_no_support_compat(fake_scheduler, env_type):
    fmt = sc.name2type('cow')
    job_id = make_uuid()
    with make_env(env_type, fmt, sd_version=3) as env:
        env_vol = env.chain[0]
        generation = env_vol.getMetaParam(sc.GENERATION)
        vol = dict(endpoint_type='div',
                   sd_id=env_vol.sdUUID,
                   img_id=env_vol.imgUUID,
                   vol_id=env_vol.volUUID,
                   generation=generation)
        qcow2_attr = dict(compat='1.1')
        job = amend_volume.Job(job_id, 0, vol, qcow2_attr)
        job.run()
        assert job.status == jobs.STATUS.FAILED
        assert type(job.error) == se.GeneralException
        assert env_vol.getLegality() == sc.LEGAL_VOL
        assert env_vol.getMetaParam(sc.GENERATION) == generation
Esempio n. 3
0
 def test_sd_version_no_support_compat(self, env_type):
     fmt = sc.name2type('cow')
     job_id = make_uuid()
     with self.make_env(env_type, fmt, sd_version=3) as env:
         env_vol = env.chain[0]
         generation = env_vol.getMetaParam(sc.GENERATION)
         vol = dict(endpoint_type='div',
                    sd_id=env_vol.sdUUID,
                    img_id=env_vol.imgUUID,
                    vol_id=env_vol.volUUID,
                    generation=generation)
         qcow2_attr = dict(compat='1.1')
         job = amend_volume.Job(job_id, 0, vol, qcow2_attr)
         job.run()
         self.assertEqual(jobs.STATUS.FAILED, job.status)
         self.assertEqual(type(job.error), se.GeneralException)
         self.assertEqual(sc.LEGAL_VOL, env_vol.getLegality())
         self.assertEqual(generation, env_vol.getMetaParam(sc.GENERATION))
Esempio n. 4
0
 def test_amend(self, env_type):
     fmt = sc.name2type('cow')
     job_id = make_uuid()
     with self.make_env(env_type, fmt, sd_version=4,
                        qcow2_compat='0.10') as env:
         env_vol = env.chain[0]
         generation = env_vol.getMetaParam(sc.GENERATION)
         self.assertEqual('0.10', env_vol.getQemuImageInfo()['compat'])
         vol = dict(endpoint_type='div',
                    sd_id=env_vol.sdUUID,
                    img_id=env_vol.imgUUID,
                    vol_id=env_vol.volUUID,
                    generation=generation)
         qcow2_attr = dict(compat='1.1')
         job = amend_volume.Job(job_id, 0, vol, qcow2_attr)
         job.run()
         self.assertEqual(jobs.STATUS.DONE, job.status)
         self.assertEqual('1.1', env_vol.getQemuImageInfo()['compat'])
         self.assertEqual(generation + 1,
                          env_vol.getMetaParam(sc.GENERATION))