diff options
author | Jakub Jelinek <vilouskubajj@gmail.com> | 2022-11-08 18:25:54 +0000 |
---|---|---|
committer | Jakub Jelinek <vilouskubajj@gmail.com> | 2022-11-22 18:37:49 +0000 |
commit | 4073d198390914b3582e7692e3032d0d644b9479 (patch) | |
tree | fac2169d0d1c8d527ce71f3db2ce2582bff9a9fd /ironic/drivers/modules | |
parent | 59b0dc459907a0c13562c70037ee32d25742ca73 (diff) | |
download | ironic-4073d198390914b3582e7692e3032d0d644b9479.tar.gz |
Get inventory from Inspector
Get inventory data and store it in the local database.
Story: 2010275
Task: 46204
Change-Id: Id2e1462362e97d0152f3948e978a05ec16ca8e4d
Diffstat (limited to 'ironic/drivers/modules')
-rw-r--r-- | ironic/drivers/modules/inspector.py | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/ironic/drivers/modules/inspector.py b/ironic/drivers/modules/inspector.py index 833934793..45f3a87f5 100644 --- a/ironic/drivers/modules/inspector.py +++ b/ironic/drivers/modules/inspector.py @@ -36,6 +36,7 @@ from ironic.conf import CONF from ironic.drivers import base from ironic.drivers.modules import deploy_utils from ironic.drivers.modules import inspect_utils +from ironic.objects import node_inventory LOG = logging.getLogger(__name__) @@ -339,7 +340,8 @@ def _check_status(task): task.node.uuid) try: - status = _get_client(task.context).get_introspection(node.uuid) + inspector_client = _get_client(task.context) + status = inspector_client.get_introspection(node.uuid) except Exception: # NOTE(dtantsur): get_status should not normally raise # let's assume it's a transient failure and retry later @@ -363,6 +365,14 @@ def _check_status(task): _inspection_error_handler(task, error) elif status.is_finished: _clean_up(task) + introspection_data = inspector_client.get_introspection_data( + node.uuid, processed=True) + inventory_data = introspection_data.pop("inventory") + plugin_data = introspection_data + node_inventory.NodeInventory( + node_id=node.id, + inventory_data=inventory_data, + plugin_data=plugin_data).create() def _clean_up(task): |