diff options
author | Zuul <zuul@review.opendev.org> | 2020-04-16 21:40:57 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2020-04-16 21:40:57 +0000 |
commit | 966d21fa7587d3518f836030c7bafe0d7b398e65 (patch) | |
tree | a08d391bc8041023e0e67b2bea807d31aa785e74 | |
parent | b68b27064a74419dbfdf7a9ba3ef80d0d4a0de8a (diff) | |
parent | 90032a7e01684e8c7de9546818c8b912f1038b27 (diff) | |
download | nova-966d21fa7587d3518f836030c7bafe0d7b398e65.tar.gz |
Merge "libvirt: Remove VIR_DOMAIN_BLOCK_REBASE_RELATIVE flag check"
-rw-r--r-- | nova/tests/unit/virt/libvirt/fakelibvirt.py | 3 | ||||
-rw-r--r-- | nova/tests/unit/virt/libvirt/test_driver.py | 14 | ||||
-rw-r--r-- | nova/virt/libvirt/driver.py | 16 |
3 files changed, 7 insertions, 26 deletions
diff --git a/nova/tests/unit/virt/libvirt/fakelibvirt.py b/nova/tests/unit/virt/libvirt/fakelibvirt.py index bc676eac5b..940cbef788 100644 --- a/nova/tests/unit/virt/libvirt/fakelibvirt.py +++ b/nova/tests/unit/virt/libvirt/fakelibvirt.py @@ -61,6 +61,7 @@ VIR_DOMAIN_XML_MIGRATABLE = 8 VIR_DOMAIN_BLOCK_REBASE_SHALLOW = 1 VIR_DOMAIN_BLOCK_REBASE_REUSE_EXT = 2 VIR_DOMAIN_BLOCK_REBASE_COPY = 8 +VIR_DOMAIN_BLOCK_REBASE_RELATIVE = 16 VIR_DOMAIN_BLOCK_REBASE_COPY_DEV = 32 # virDomainBlockResize @@ -160,8 +161,6 @@ VIR_DOMAIN_SNAPSHOT_CREATE_QUIESCE = 64 # blockCommit flags VIR_DOMAIN_BLOCK_COMMIT_RELATIVE = 4 -# blockRebase flags -VIR_DOMAIN_BLOCK_REBASE_RELATIVE = 8 VIR_CONNECT_LIST_DOMAINS_ACTIVE = 1 diff --git a/nova/tests/unit/virt/libvirt/test_driver.py b/nova/tests/unit/virt/libvirt/test_driver.py index 540fcd6a30..e6b4eef692 100644 --- a/nova/tests/unit/virt/libvirt/test_driver.py +++ b/nova/tests/unit/virt/libvirt/test_driver.py @@ -25335,8 +25335,6 @@ class LibvirtVolumeSnapshotTestCase(test.NoDBTestCase): mock_xml, mock_rebase, mock_commit): """Deleting newest snapshot -- blockRebase.""" - # libvirt lib doesn't have VIR_DOMAIN_BLOCK_REBASE_RELATIVE flag - fakelibvirt.__dict__.pop('VIR_DOMAIN_BLOCK_REBASE_RELATIVE') self.stub_out('nova.virt.libvirt.driver.libvirt', fakelibvirt) instance = objects.Instance(**self.inst) @@ -25355,9 +25353,10 @@ class LibvirtVolumeSnapshotTestCase(test.NoDBTestCase): self.assertEqual(2, mock_is_job_complete.call_count) mock_xml.assert_called_once_with(flags=0) mock_get.assert_called_once_with(instance) - mock_rebase.assert_called_once_with('vda', 'snap.img', 0, flags=0) + mock_rebase.assert_called_once_with( + 'vda', 'snap.img', 0, + flags=fakelibvirt.VIR_DOMAIN_BLOCK_REBASE_RELATIVE) mock_commit.assert_not_called() - fakelibvirt.__dict__.update({'VIR_DOMAIN_BLOCK_REBASE_RELATIVE': 8}) @mock.patch('time.sleep', new=mock.Mock()) @mock.patch.object(FakeVirtDomain, 'blockCommit') @@ -25661,8 +25660,6 @@ class LibvirtVolumeSnapshotTestCase(test.NoDBTestCase): def XMLDesc(self, flags): return self.dom_netdisk_xml - # libvirt lib doesn't have VIR_DOMAIN_BLOCK_REBASE_RELATIVE - fakelibvirt.__dict__.pop('VIR_DOMAIN_BLOCK_REBASE_RELATIVE') self.stub_out('nova.virt.libvirt.driver.libvirt', fakelibvirt) instance = objects.Instance(**self.inst) @@ -25687,11 +25684,10 @@ class LibvirtVolumeSnapshotTestCase(test.NoDBTestCase): self.assertEqual(2, mock_is_job_complete.call_count) mock_xml.assert_called_once_with(flags=0) mock_get.assert_called_once_with(instance) - mock_rebase.assert_called_once_with('vdb', 'vdb[1]', 0, flags=0) + mock_rebase.assert_called_once_with('vdb', 'vdb[1]', 0, + flags=fakelibvirt.VIR_DOMAIN_BLOCK_REBASE_RELATIVE) mock_commit.assert_not_called() - fakelibvirt.__dict__.update({'VIR_DOMAIN_BLOCK_REBASE_RELATIVE': 8}) - @mock.patch('time.sleep', new=mock.Mock()) @mock.patch.object(host.Host, '_get_domain') @mock.patch('nova.virt.libvirt.guest.BlockDevice.is_job_complete') diff --git a/nova/virt/libvirt/driver.py b/nova/virt/libvirt/driver.py index 49ca4ec56e..dd6f7c55c9 100644 --- a/nova/virt/libvirt/driver.py +++ b/nova/virt/libvirt/driver.py @@ -2997,21 +2997,7 @@ class LibvirtDriver(driver.ComputeDriver): rebase_base = _get_snap_dev(rebase_base, active_disk_object.backing_store) - # NOTE(deepakcs): libvirt added support for _RELATIVE in v1.2.7, - # and when available this flag _must_ be used to ensure backing - # paths are maintained relative by qemu. - # - # If _RELATIVE flag not found, continue with old behaviour - # (relative backing path seems to work for this case) - try: - libvirt.VIR_DOMAIN_BLOCK_REBASE_RELATIVE - relative = rebase_base is not None - except AttributeError: - LOG.warning( - "Relative blockrebase support was not detected. " - "Continuing with old behaviour.") - relative = False - + relative = rebase_base is not None LOG.debug( 'disk: %(disk)s, base: %(base)s, ' 'bw: %(bw)s, relative: %(relative)s', |