commit 450213f1f0e41eaf423d33a2482ba36e59aa627e Author: Balazs Gibizer Date: Fri Sep 18 17:48:10 2020 +0200 Clean up the DynamicVendorData constructor There are a bunch of unused parameters in DynamicVendorData constructor and a comment that they cannot be removed due to JsonFileVendorData. But JsonFileVendorData does not depends on those paramters and both the base class and JsonFileVendorData uses *args **kwargs. So it is safe to remove the unused params. The context field of DynamicVendorData is also removed as it is unused. This makes the request_context parameter of the InstanceMeta constructor also unused so that is removed. Change-Id: Ie27fd6a5513e53903b9acd5d63038b3b484acbde diff --git a/nova/api/metadata/base.py b/nova/api/metadata/base.py index 164d0ff..379d3b6 100644 --- a/nova/api/metadata/base.py +++ b/nova/api/metadata/base.py @@ -112,8 +112,7 @@ class InstanceMetadata(object): """Instance metadata.""" def __init__(self, instance, address=None, content=None, extra_md=None, - network_info=None, network_metadata=None, - request_context=None): + network_info=None, network_metadata=None): """Creation of this object should basically cover all time consuming collection. Methods after that should not cause time delays due to network operations or lengthy cpu operations. @@ -207,12 +206,9 @@ class InstanceMetadata(object): # contain the admin password for the instance, and we shouldn't # pass that to external services. self.vendordata_providers = { - 'StaticJSON': vendordata_json.JsonFileVendorData( - instance=instance, address=address, - extra_md=extra_md, network_info=network_info), + 'StaticJSON': vendordata_json.JsonFileVendorData(), 'DynamicJSON': vendordata_dynamic.DynamicVendorData( - instance=instance, address=address, - network_info=network_info, context=request_context) + instance=instance) } def _route_configuration(self): diff --git a/nova/api/metadata/vendordata_dynamic.py b/nova/api/metadata/vendordata_dynamic.py index cc18cbb..3de9bb3 100644 --- a/nova/api/metadata/vendordata_dynamic.py +++ b/nova/api/metadata/vendordata_dynamic.py @@ -59,12 +59,7 @@ def _load_ks_session(conf): class DynamicVendorData(vendordata.VendorDataDriver): - def __init__(self, context=None, instance=None, address=None, - network_info=None): - # NOTE(mikal): address and network_info are unused, but can't be - # removed / renamed as this interface is shared with the static - # JSON plugin. - self.context = context + def __init__(self, instance): self.instance = instance # We only create the session if we make a request. self.session = None diff --git a/nova/tests/unit/virt/hyperv/test_vmops.py b/nova/tests/unit/virt/hyperv/test_vmops.py index 6bd139d..5a5beca 100644 --- a/nova/tests/unit/virt/hyperv/test_vmops.py +++ b/nova/tests/unit/virt/hyperv/test_vmops.py @@ -986,8 +986,7 @@ class VMOpsTestCase(test_base.HyperVBaseTestCase): mock_InstanceMetadata.assert_called_once_with( mock_instance, content=[mock.sentinel.FILE], extra_md={'admin_pass': mock.sentinel.PASSWORD}, - network_info=mock.sentinel.NET_INFO, - request_context=self.context) + network_info=mock.sentinel.NET_INFO) mock_get_configdrive_path.assert_has_calls( expected_get_configdrive_path_calls) mock_ConfigDriveBuilder.assert_called_with( diff --git a/nova/tests/unit/virt/ironic/test_driver.py b/nova/tests/unit/virt/ironic/test_driver.py index 9b8a6a0..d2f584d 100644 --- a/nova/tests/unit/virt/ironic/test_driver.py +++ b/nova/tests/unit/virt/ironic/test_driver.py @@ -3170,8 +3170,7 @@ class IronicDriverGenerateConfigDriveTestCase(test.NoDBTestCase): mock_instance_meta.assert_called_once_with( self.instance, content=None, extra_md={}, network_info=self.network_info, - network_metadata=network_metadata_mock.return_value, - request_context=None) + network_metadata=network_metadata_mock.return_value) def test_generate_configdrive_fail(self, mock_cd_builder, mock_instance_meta): @@ -3191,8 +3190,7 @@ class IronicDriverGenerateConfigDriveTestCase(test.NoDBTestCase): mock_instance_meta.assert_called_once_with( self.instance, content=None, extra_md={}, network_info=self.network_info, - network_metadata=network_metadata_mock.return_value, - request_context=None) + network_metadata=network_metadata_mock.return_value) @mock.patch.object(FAKE_CLIENT.node, 'list_ports') @mock.patch.object(FAKE_CLIENT.portgroup, 'list') diff --git a/nova/tests/unit/virt/libvirt/test_driver.py b/nova/tests/unit/virt/libvirt/test_driver.py index eb3ceaf..cd0ee39 100644 --- a/nova/tests/unit/virt/libvirt/test_driver.py +++ b/nova/tests/unit/virt/libvirt/test_driver.py @@ -15172,7 +15172,6 @@ class LibvirtConnTestCase(test.NoDBTestCase, CONF.instances_path, instance.uuid, 'disk.config') mock_make_drive.assert_called_once_with(expected_config_drive_path) mock_instance_metadata.assert_called_once_with(instance, - request_context=self.context, network_info=mock.sentinel.network_info, content=mock.sentinel.files, extra_md={'admin_pass': mock.sentinel.admin_pass}) diff --git a/nova/tests/unit/virt/zvm/test_utils.py b/nova/tests/unit/virt/zvm/test_utils.py index 640269f..6089375 100644 --- a/nova/tests/unit/virt/zvm/test_utils.py +++ b/nova/tests/unit/virt/zvm/test_utils.py @@ -124,8 +124,7 @@ class TestZVMUtils(test.NoDBTestCase): mock_instance_metadata.assert_called_once_with('instance', content='injected_files', extra_md=extra_md, - network_info='network_info', - request_context='context') + network_info='network_info') make_drive.assert_called_once_with('/instance_path/cfgdrive.iso') def test_create_config_drive_invalid_format(self): diff --git a/nova/virt/hyperv/vmops.py b/nova/virt/hyperv/vmops.py index 6b30a39..38e8ac6 100644 --- a/nova/virt/hyperv/vmops.py +++ b/nova/virt/hyperv/vmops.py @@ -656,7 +656,7 @@ class VMOps(object): inst_md = instance_metadata.InstanceMetadata( instance, content=injected_files, extra_md=extra_md, - network_info=network_info, request_context=context) + network_info=network_info) configdrive_path_iso = self._pathutils.get_configdrive_path( instance.name, constants.DVD_FORMAT, rescue=rescue) diff --git a/nova/virt/ironic/driver.py b/nova/virt/ironic/driver.py index aa00ef6..0960058 100644 --- a/nova/virt/ironic/driver.py +++ b/nova/virt/ironic/driver.py @@ -1124,8 +1124,7 @@ class IronicDriver(virt_driver.ComputeDriver): i_meta = instance_metadata.InstanceMetadata(instance, content=files, extra_md=extra_md, network_info=network_info, - network_metadata=self._get_network_metadata(node, network_info), - request_context=context) + network_metadata=self._get_network_metadata(node, network_info)) with tempfile.NamedTemporaryFile() as uncompressed: with configdrive.ConfigDriveBuilder(instance_md=i_meta) as cdb: diff --git a/nova/virt/libvirt/driver.py b/nova/virt/libvirt/driver.py index 303ba0c..f82f009 100644 --- a/nova/virt/libvirt/driver.py +++ b/nova/virt/libvirt/driver.py @@ -4245,8 +4245,7 @@ class LibvirtDriver(driver.ComputeDriver): inst_md = instance_metadata.InstanceMetadata( instance, content=injection_info.files, extra_md=extra_md, - network_info=injection_info.network_info, - request_context=context) + network_info=injection_info.network_info) cdb = configdrive.ConfigDriveBuilder(instance_md=inst_md) with cdb: diff --git a/nova/virt/vmwareapi/vmops.py b/nova/virt/vmwareapi/vmops.py index f030c1a..993a4ce 100644 --- a/nova/virt/vmwareapi/vmops.py +++ b/nova/virt/vmwareapi/vmops.py @@ -859,8 +859,7 @@ class VMwareVMOps(object): inst_md = instance_metadata.InstanceMetadata(instance, content=injected_files, extra_md=extra_md, - network_info=network_info, - request_context=context) + network_info=network_info) try: with configdrive.ConfigDriveBuilder(instance_md=inst_md) as cdb: with utils.tempdir() as tmp_path: diff --git a/nova/virt/zvm/utils.py b/nova/virt/zvm/utils.py index b5e8d18..bc949e1 100644 --- a/nova/virt/zvm/utils.py +++ b/nova/virt/zvm/utils.py @@ -90,8 +90,7 @@ def _create_config_drive(context, instance_path, instance, inst_md = instance_metadata.InstanceMetadata(instance, content=injected_files, extra_md=extra_md, - network_info=network_info, - request_context=context) + network_info=network_info) configdrive_iso = os.path.join(instance_path, 'cfgdrive.iso') LOG.debug('Creating config drive at %s', configdrive_iso,