diff --git a/openstack/baremetal_introspection/v1/_proxy.py b/openstack/baremetal_introspection/v1/_proxy.py index 7ad0b0796..05b00964f 100644 --- a/openstack/baremetal_introspection/v1/_proxy.py +++ b/openstack/baremetal_introspection/v1/_proxy.py @@ -11,6 +11,7 @@ # under the License. from openstack import _log +from openstack.baremetal.v1 import node as _node from openstack.baremetal_introspection.v1 import introspection as _introspect from openstack import exceptions from openstack import proxy @@ -63,7 +64,8 @@ class Proxy(proxy.Proxy): :returns: :class:`~.introspection.Introspection` instance. """ - return self._create(_introspect.Introspection, id=node) + node = self._get_resource(_node.Node, node) + return self._create(_introspect.Introspection, id=node.id) def get_introspection(self, introspection): """Get a specific introspection. diff --git a/openstack/tests/unit/baremetal_introspection/v1/test_proxy.py b/openstack/tests/unit/baremetal_introspection/v1/test_proxy.py index 77f9c2ea5..272afad22 100644 --- a/openstack/tests/unit/baremetal_introspection/v1/test_proxy.py +++ b/openstack/tests/unit/baremetal_introspection/v1/test_proxy.py @@ -14,6 +14,7 @@ import mock from keystoneauth1 import adapter +from openstack.baremetal.v1 import node as _node from openstack.baremetal_introspection.v1 import _proxy from openstack.baremetal_introspection.v1 import introspection from openstack import exceptions @@ -33,6 +34,12 @@ class TestBaremetalIntrospectionProxy(test_proxy_base.TestProxyBase): method_kwargs={'node': 'abcd'}, expected_kwargs={'id': 'abcd'}) + def test_create_introspection_with_node(self): + self.verify_create(self.proxy.start_introspection, + introspection.Introspection, + method_kwargs={'node': _node.Node(id='abcd')}, + expected_kwargs={'id': 'abcd'}) + def test_get_introspection(self): self.verify_get(self.proxy.get_introspection, introspection.Introspection) diff --git a/releasenotes/notes/introspection-node-6a3b7d55839ef82c.yaml b/releasenotes/notes/introspection-node-6a3b7d55839ef82c.yaml new file mode 100644 index 000000000..4638e8959 --- /dev/null +++ b/releasenotes/notes/introspection-node-6a3b7d55839ef82c.yaml @@ -0,0 +1,4 @@ +--- +fixes: + - | + Fixes using a full `Node` object as an argument to `start_introspection`.