Bug 1397176 - Ironic Python Agent can't find disk root device with or without root_device hints when deploying with the Overcloud's Ironic
Summary: Ironic Python Agent can't find disk root device with or without root_device h...
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-ironic-python-agent
Version: 10.0 (Newton)
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ---
: ---
Assignee: Lucas Alvares Gomes
QA Contact: Raviv Bar-Tal
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-11-21 19:21 UTC by Ramon Acedo
Modified: 2016-11-22 16:07 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-11-22 16:07:01 UTC
Target Upstream Version:


Attachments (Terms of Use)

Description Ramon Acedo 2016-11-21 19:21:47 UTC
After trying multiple root_device hints in the Ironic deployed in the Overcloud, IPA doesn't find the root device.

If a root_device hint is not specified it won't install the image in the first disk either.

I'm testing this with pxe_ssh using a VM with the following configuration in Libvirt for the disk:

    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/var/lib/virtual-machines/overcloud-2-node4-disk1.qcow2'/>
      <target dev='sda' bus='scsi'/>
      <wwn>0000000000000001</wwn>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>

The same machine when enlisted in the Undercloud's Ironic works fine.

This is tested with rhosp-director-images-ipa-10.0-20161118.1.el7ost.noarch

I initially configured Ironic to have the metadata partition cleaned and it worked so I assume that somehow IPA finds the partition at that stage.

The deploy image actually is the same one I use in the Undercloud.

I would expect it to deploy on the first disk if no root_device is specified as it happens in the Undercloud but I will fail if not specified.

Introspection data (obtained from inspecting the node in the Undercloud first):

[stack@undercloud-4 ironic]$ openstack baremetal introspection data save 7740e442-96a6-496c-9bb2-7cac89b6a8e7|jq '.inventory.disks'
[
  {
    "size": 64424509440,
    "rotational": true,
    "vendor": "QEMU",
    "name": "/dev/sda",
    "wwn_vendor_extension": null,
    "wwn_with_extension": "0x0000000000000001",
    "model": "QEMU HARDDISK",
    "wwn": "0x0000000000000001",
    "serial": "0000000000000001"
  },
  {
    "size": 64424509440,
    "rotational": true,
    "vendor": "0x1af4",
    "name": "/dev/vda",
    "wwn_vendor_extension": null,
    "wwn_with_extension": null,
    "model": "",
    "wwn": null,
    "serial": null
  },
  {
    "size": 64424509440,
    "rotational": true,
    "vendor": "0x1af4",
    "name": "/dev/vdb",
    "wwn_vendor_extension": null,
    "wwn_with_extension": null,
    "model": "",
    "wwn": null,
    "serial": null
  },
  {
    "size": 64424509440,
    "rotational": true,
    "vendor": "0x1af4",
    "name": "/dev/vdc",
    "wwn_vendor_extension": null,
    "wwn_with_extension": null,
    "model": "",
    "wwn": null,
    "serial": null
  }
]

1. Using serial it seems to be ignored resulting in the same error raised when no root_devie is used:


$ openstack baremetal node show overcloud-2-node4
+------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Field                  | Value                                                                                                                                                                           |
+------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| clean_step             | {}                                                                                                                                                                              |
| console_enabled        | False                                                                                                                                                                           |
| created_at             | 2016-11-21T17:54:28+00:00                                                                                                                                                       |
| driver                 | pxe_ssh                                                                                                                                                                         |
| driver_info            | {u'ssh_username': u'stack', u'deploy_kernel': u'aa1be8ca-095b-4ada-a550-98fa8044537d', u'deploy_ramdisk': u'a2b240a1-25ad-4f0c-8dbd-17dce2d84d82', u'ssh_key_contents': u'----- |
|                        | BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEAxc0a2u18EgTy5y9JvaExDXP2pWuE8Ebyo24AOo1iQoWR7D5n\nfNjkgCeKZRbABhsdoMBmbDMtn0PO3lzI2HnZQBB4BdBZprAiQ1NwKKotUv9puTeY\n61lR9XI+Vxlb9ec |
|                        | SjlVlbaAl7BmwHbvcXxWtBAJgkI8JzlYsTuz+QQ8SRa6m0A6d\nHpYWd6KJNrPr6y6X8/rLgZe89fq/7wJCRb8I5N0IWwE6D9UfUeLzBMHK5shigYl0\nCIEnBqPCxXPoWhrhp+Nt4LfZZd1jadtUnXXfnA4rFtcwRH2I1AuJJ05mvB |
|                        | WEYn6e\nOjJZ3KSBEzgFFSuOYRhDHIzyZJTATYAPk8TyswIDAQABAoIBACBEZEQgh6Pc4M8r\n3KitmfXq2+qCTq5vtHdKo4jptYTKi1Jxn6ozK5toV+BDxNF6LOwjVtIBy0h25FFL\n64u83N7hkOLJ6UYS55P6EYrgsAIhHlsTocO |
|                        | Kz57toxPMVD8aEeHcNm6auHT6f8tp\n8Pol7BKCXMRYQS5CynmZmaR9U+q/2JUn8fOGVp84jA9q8jZk9b7N/OYvLRy+7MzF\n+IYg0AwlMMM5QUgzF4Z0Bith+BepIuWUUCKyOvXVH2+YXyJtPuW+nPlWMnzZTF8t\nu0yMpLQDxIWh |
|                        | qzT25Hr+AIBBIIwF1VQ50fI8WHPU9semcgPdwGliAOTWGa7j19o8\nQt6udvECgYEA4m55qCnmOxf8L2Lu9i5vx3s3lrDFSbL5NZ/YCPPa2/x0OLvH/7LC\n5D0jfb3ln2gSXF9ElguRy/K7p0rn9ZMfkAtlMaQqA4SkZIAI9FOvyaP |
|                        | 1ghbnyUXl\n+LzZCd37DjPn7lP/BtGT2NDBPXPLs0hlqllHLcP8t9bVCnLTcalsPJsCgYEA36GG\n/n+u0uIyKURP/uBS9gYSEMYXvbW0Fn4glzs0/KKOGJ8aeFLECCLczNv27fC1oKLf\n5XVxe7CabA/HYyJAm+Pcrr6Y5wYIJFQc |
|                        | 4fg3mtOFPVTvyhC3YCecuyTLOJvype5W\nEOf6RS3Crw0KJslauoGLihVfcIbdK1ouQS0lZ8kCgYANwD/LIqBEvnQmPI/ei3tm\nVelOUXXpv+C6jPaFtKl56p70QxMmSCjly4C4RiwHvj4/NdnoctNr21XiFv53P3QP\nP2Hp3dpfV |
|                        | FLXd58Tl3F5gWeLevCgnIoWzQExRDXW6vgO1TMLqvabmDHkFYAtZxwl\neD6GXPyf/X/6nnaQ1IUqOQKBgB+gBCsxe1OvUVCsrHNq3dCVAzEEEo9ths43f/xj\nDxc7FcU9msyxR6+u3nLKGJ2FkOnqnqcgeK/5RZ1KjfPjACgLjUXZ |
|                        | Bl6FZ9lbW8pJ\nA/QNPaZywIZe3s/mSi/dADA9PY9hqSIy7B2kXwfKXEkn6IC/mTAp3ZlYOSbMVgY5\nkDShAoGAdYp/YHvB2DdO+CPGaFZzfuxUkrvB/aeo+MBw8qDXzC9iqlY3+3NMYenG\n7DsSKAL4EDqjufY3h+4fRwOcD+EFq |
|                        | lUTDG1sjsSDKjdiHyYMzjcrg8nbaj/M9kAs\nxXnSm9686KxUiCDXO5FWKun204B18mPH1UP20aYw098t6aAQwm4=\n-----END RSA PRIVATE KEY-----\n', u'ssh_virt_type': u'virsh', u'ssh_address':        |
|                        | u'10.0.0.1'}                                                                                                                                                                    |
| driver_internal_info   | {u'agent_url': u'http://192.168.3.154:9999', u'is_whole_disk_image': False, u'agent_last_heartbeat': 1479751039}                                                                |
| extra                  | {}                                                                                                                                                                              |
| inspection_finished_at | None                                                                                                                                                                            |
| inspection_started_at  | None                                                                                                                                                                            |
| instance_info          | {}                                                                                                                                                                              |
| instance_uuid          | None                                                                                                                                                                            |
| last_error             | None                                                                                                                                                                            |
| maintenance            | False                                                                                                                                                                           |
| maintenance_reason     | None                                                                                                                                                                            |
| name                   | overcloud-2-node4                                                                                                                                                               |
| ports                  | [{u'href': u'http://10.0.0.145:6385/v1/nodes/f6b8c1ee-e9d5-4b3c-aae9-36d2d730a3df/ports', u'rel': u'self'}, {u'href': u'http://10.0.0.145:6385/nodes/f6b8c1ee-e9d5-4b3c-        |
|                        | aae9-36d2d730a3df/ports', u'rel': u'bookmark'}]                                                                                                                                 |
| power_state            | power off                                                                                                                                                                       |
| properties             | {u'memory_mb': 12288, u'root_device': {u'serial': u'0000000000000001'}, u'local_gb': 60, u'cpus': 4, u'capabilities': u'boot_option:local'}                                     |
| provision_state        | available                                                                                                                                                                       |
| provision_updated_at   | 2016-11-21T17:57:45+00:00                                                                                                                                                       |
| raid_config            | {}                                                                                                                                                                              |
| reservation            | None                                                                                                                                                                            |
| states                 | [{u'href': u'http://10.0.0.145:6385/v1/nodes/f6b8c1ee-e9d5-4b3c-aae9-36d2d730a3df/states', u'rel': u'self'}, {u'href': u'http://10.0.0.145:6385/nodes/f6b8c1ee-e9d5-4b3c-       |
|                        | aae9-36d2d730a3df/states', u'rel': u'bookmark'}]                                                                                                                                |
| target_power_state     | None                                                                                                                                                                            |
| target_provision_state | None                                                                                                                                                                            |
| target_raid_config     | {}                                                                                                                                                                              |
| updated_at             | 2016-11-21T17:57:45+00:00                                                                                                                                                       |
| uuid                   | f6b8c1ee-e9d5-4b3c-aae9-36d2d730a3df                                                                                                                                            |
+------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

Error shown in Controllers:

2016-11-21 17:57:22.502 212077 ERROR ironic.drivers.modules.iscsi_deploy [req-ea9811f0-8eac-4b40-9a17-ea3d105fa1e6 - - - - -] Couldn't determine the UUID of the root partition or the disk identifier after deploying node f6b8c1ee-e9d5-4b3c-aae9-36d2d730a3df
2016-11-21 17:57:38.961 212077 ERROR ironic.drivers.modules.agent_base_vendor [req-ea9811f0-8eac-4b40-9a17-ea3d105fa1e6 - - - - -] Asynchronous exception for node f6b8c1ee-e9d5-4b3c-aae9-36d2d730a3df: Node failed to get image for deploy. Exception: Couldn't determine the UUID of the root partition or the disk identifier after deploying node f6b8c1ee-e9d5-4b3c-aae9-36d2d730a3df
2016-11-21 17:57:38.961 212077 ERROR ironic.drivers.modules.agent_base_vendor Traceback (most recent call last):
2016-11-21 17:57:38.961 212077 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic/drivers/modules/agent_base_vendor.py", line 482, in heartbeat
2016-11-21 17:57:38.961 212077 ERROR ironic.drivers.modules.agent_base_vendor     self.continue_deploy(task)
2016-11-21 17:57:38.961 212077 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic_lib/metrics.py", line 61, in wrapped
2016-11-21 17:57:38.961 212077 ERROR ironic.drivers.modules.agent_base_vendor     result = f(*args, **kwargs)
2016-11-21 17:57:38.961 212077 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic/conductor/task_manager.py", line 138, in wrapper
2016-11-21 17:57:38.961 212077 ERROR ironic.drivers.modules.agent_base_vendor     return f(*args, **kwargs)
2016-11-21 17:57:38.961 212077 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic/drivers/modules/iscsi_deploy.py", line 381, in continue_deploy
2016-11-21 17:57:38.961 212077 ERROR ironic.drivers.modules.agent_base_vendor     uuid_dict_returned = do_agent_iscsi_deploy(task, self._client)
2016-11-21 17:57:38.961 212077 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic_lib/metrics.py", line 61, in wrapped
2016-11-21 17:57:38.961 212077 ERROR ironic.drivers.modules.agent_base_vendor     result = f(*args, **kwargs)
2016-11-21 17:57:38.961 212077 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic/drivers/modules/iscsi_deploy.py", line 313, in do_agent_iscsi_deploy
2016-11-21 17:57:38.961 212077 ERROR ironic.drivers.modules.agent_base_vendor     uuid_dict_returned = continue_deploy(task, iqn=iqn, address=address)
2016-11-21 17:57:38.961 212077 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic_lib/metrics.py", line 61, in wrapped
2016-11-21 17:57:38.961 212077 ERROR ironic.drivers.modules.agent_base_vendor     result = f(*args, **kwargs)
2016-11-21 17:57:38.961 212077 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic/drivers/modules/iscsi_deploy.py", line 258, in continue_deploy
2016-11-21 17:57:38.961 212077 ERROR ironic.drivers.modules.agent_base_vendor     _fail_deploy(task, msg)
2016-11-21 17:57:38.961 212077 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic/drivers/modules/iscsi_deploy.py", line 227, in _fail_deploy
2016-11-21 17:57:38.961 212077 ERROR ironic.drivers.modules.agent_base_vendor     raise exception.InstanceDeployFailure(msg)
2016-11-21 17:57:38.961 212077 ERROR ironic.drivers.modules.agent_base_vendor InstanceDeployFailure: Couldn't determine the UUID of the root partition or the disk identifier after deploying node f6b8c1ee-e9d5-4b3c-aae9-36d2d730a3df
2016-11-21 17:57:38.961 212077 ERROR ironic.drivers.modules.agent_base_vendor


2. Using vendor:

$ openstack baremetal node show overcloud-2-node4
[...]
| properties             | {u'memory_mb': 12288, u'root_device': {u'vendor': u'QEMU'}, u'local_gb': 60, u'cpus': 4, u'capabilities': u'boot_option:local'}                                                 |
[...]

Error shown in Controllers:

2016-11-21 18:14:43.838 195257 ERROR ironic.drivers.modules.agent_base_vendor [req-3dfe7e94-1fd7-4530-869b-cbfe2841bd81 - - - - -] Asynchronous exception for node 045fdbf4-3cd3-4157-821e-f7a891d916f3: Node failed to get image for deploy. Exception: Failed to deploy instance: Failed to start the iSCSI target to deploy the node 045fdbf4-3cd3-4157-821e-f7a891d916f3. Error: {u'message': u"Error finding the disk or partition device to deploy the image onto: No suitable device was found for deployment using these hints {u'vendor': u'QEMU'}", u'code': 404, u'type': u'DeviceNotFound', u'details': u"No suitable device was found for deployment using these hints {u'vendor': u'QEMU'}"}
2016-11-21 18:14:43.838 195257 ERROR ironic.drivers.modules.agent_base_vendor Traceback (most recent call last):
2016-11-21 18:14:43.838 195257 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic/drivers/modules/agent_base_vendor.py", line 482, in heartbeat
2016-11-21 18:14:43.838 195257 ERROR ironic.drivers.modules.agent_base_vendor     self.continue_deploy(task)
2016-11-21 18:14:43.838 195257 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic_lib/metrics.py", line 61, in wrapped
2016-11-21 18:14:43.838 195257 ERROR ironic.drivers.modules.agent_base_vendor     result = f(*args, **kwargs)
2016-11-21 18:14:43.838 195257 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic/conductor/task_manager.py", line 138, in wrapper
2016-11-21 18:14:43.838 195257 ERROR ironic.drivers.modules.agent_base_vendor     return f(*args, **kwargs)
2016-11-21 18:14:43.838 195257 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic/drivers/modules/iscsi_deploy.py", line 381, in continue_deploy
2016-11-21 18:14:43.838 195257 ERROR ironic.drivers.modules.agent_base_vendor     uuid_dict_returned = do_agent_iscsi_deploy(task, self._client)
2016-11-21 18:14:43.838 195257 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic_lib/metrics.py", line 61, in wrapped
2016-11-21 18:14:43.838 195257 ERROR ironic.drivers.modules.agent_base_vendor     result = f(*args, **kwargs)
2016-11-21 18:14:43.838 195257 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic/drivers/modules/iscsi_deploy.py", line 308, in do_agent_iscsi_deploy
2016-11-21 18:14:43.838 195257 ERROR ironic.drivers.modules.agent_base_vendor     raise exception.InstanceDeployFailure(reason=msg)
2016-11-21 18:14:43.838 195257 ERROR ironic.drivers.modules.agent_base_vendor InstanceDeployFailure: Failed to deploy instance: Failed to start the iSCSI target to deploy the node 045fdbf4-3cd3-4157-821e-f7a891d916f3. Error: {u'message': u"Error finding the disk or partition device to deploy the image onto: No suitable device was found for deployment using these hints {u'vendor': u'QEMU'}", u'code': 404, u'type': u'DeviceNotFound', u'details': u"No suitable device was found for deployment using these hints {u'vendor': u'QEMU'}"}
2016-11-21 18:14:43.838 195257 ERROR ironic.drivers.modules.agent_base_vendor
2016-11-21 18:14:55.438 4998 ERROR nova.scheduler.utils [req-49a9bced-2c46-40a6-ad49-a5ebf25b76e9 aa0f05614f5d4394a314cd1f4a8a13eb a0cd67cff3be4b6b9e7bf89de1573182 - - -] [instance: aee9df4e-b8f1-4cb2-b3e5-4d8ed5029eda] Error from last host: overcloud-controller-1.localdomain (node 045fdbf4-3cd3-4157-821e-f7a891d916f3): [u'Traceback (most recent call last):\n', u'  File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 1779, in _do_build_and_run_instance\n    filter_properties)\n', u'  File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 1976, in _build_and_run_instance\n    instance_uuid=instance.uuid, reason=six.text_type(e))\n', u'RescheduledException: Build of instance aee9df4e-b8f1-4cb2-b3e5-4d8ed5029eda was re-scheduled: Failed to provision instance aee9df4e-b8f1-4cb2-b3e5-4d8ed5029eda: None\n']
2016-11-21 18:14:55.548 4998 WARNING nova.scheduler.utils [req-49a9bced-2c46-40a6-ad49-a5ebf25b76e9 aa0f05614f5d4394a314cd1f4a8a13eb a0cd67cff3be4b6b9e7bf89de1573182 - - -] [instance: aee9df4e-b8f1-4cb2-b3e5-4d8ed5029eda] Setting instance to ERROR state.

3. Using name:

$ openstack baremetal node show overcloud-2-node4
[...]
| properties             | {u'memory_mb': 12288, u'root_device': {u'name': u'/dev/sda'}, u'local_gb': 60, u'cpus': 4, u'capabilities': u'boot_option:local'}                                               |
[...]

Error shown in Controllers:

2016-11-21 18:25:47.212 212077 ERROR ironic.drivers.modules.iscsi_deploy [req-0caea760-92c0-4ee8-8ff7-736ada5dc36e - - - - -] Couldn't determine the UUID of the root partition or the disk identifier after deploying node 8f0aff69-20da-4af7-bbf8-2090634460db
2016-11-21 18:26:09.165 212077 ERROR ironic.drivers.modules.agent_base_vendor [req-0caea760-92c0-4ee8-8ff7-736ada5dc36e - - - - -] Asynchronous exception for node 8f0aff69-20da-4af7-bbf8-2090634460db: Node failed to get image for deploy. Exception: Couldn't determine the UUID of the root partition or the disk identifier after deploying node 8f0aff69-20da-4af7-bbf8-2090634460db
2016-11-21 18:26:09.165 212077 ERROR ironic.drivers.modules.agent_base_vendor Traceback (most recent call last):
2016-11-21 18:26:09.165 212077 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic/drivers/modules/agent_base_vendor.py", line 482, in heartbeat
2016-11-21 18:26:09.165 212077 ERROR ironic.drivers.modules.agent_base_vendor     self.continue_deploy(task)
2016-11-21 18:26:09.165 212077 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic_lib/metrics.py", line 61, in wrapped
2016-11-21 18:26:09.165 212077 ERROR ironic.drivers.modules.agent_base_vendor     result = f(*args, **kwargs)
2016-11-21 18:26:09.165 212077 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic/conductor/task_manager.py", line 138, in wrapper
2016-11-21 18:26:09.165 212077 ERROR ironic.drivers.modules.agent_base_vendor     return f(*args, **kwargs)
2016-11-21 18:26:09.165 212077 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic/drivers/modules/iscsi_deploy.py", line 381, in continue_deploy
2016-11-21 18:26:09.165 212077 ERROR ironic.drivers.modules.agent_base_vendor     uuid_dict_returned = do_agent_iscsi_deploy(task, self._client)
2016-11-21 18:26:09.165 212077 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic_lib/metrics.py", line 61, in wrapped
2016-11-21 18:26:09.165 212077 ERROR ironic.drivers.modules.agent_base_vendor     result = f(*args, **kwargs)
2016-11-21 18:26:09.165 212077 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic/drivers/modules/iscsi_deploy.py", line 313, in do_agent_iscsi_deploy
2016-11-21 18:26:09.165 212077 ERROR ironic.drivers.modules.agent_base_vendor     uuid_dict_returned = continue_deploy(task, iqn=iqn, address=address)
2016-11-21 18:26:09.165 212077 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic_lib/metrics.py", line 61, in wrapped
2016-11-21 18:26:09.165 212077 ERROR ironic.drivers.modules.agent_base_vendor     result = f(*args, **kwargs)
2016-11-21 18:26:09.165 212077 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic/drivers/modules/iscsi_deploy.py", line 258, in continue_deploy
2016-11-21 18:26:09.165 212077 ERROR ironic.drivers.modules.agent_base_vendor     _fail_deploy(task, msg)
2016-11-21 18:26:09.165 212077 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic/drivers/modules/iscsi_deploy.py", line 227, in _fail_deploy
2016-11-21 18:26:09.165 212077 ERROR ironic.drivers.modules.agent_base_vendor     raise exception.InstanceDeployFailure(msg)
2016-11-21 18:26:09.165 212077 ERROR ironic.drivers.modules.agent_base_vendor InstanceDeployFailure: Couldn't determine the UUID of the root partition or the disk identifier after deploying node 8f0aff69-20da-4af7-bbf8-2090634460db
2016-11-21 18:26:09.165 212077 ERROR ironic.drivers.modules.agent_base_vendor
2016-11-21 18:26:17.735 4622 ERROR nova.scheduler.utils [req-9b8b2ce2-eaa8-43b4-aca5-817ca6c3f826 aa0f05614f5d4394a314cd1f4a8a13eb a0cd67cff3be4b6b9e7bf89de1573182 - - -] [instance: aaeb02eb-bb73-422f-bfb7-4f6376f01cf0] Error from last host: overcloud-controller-2.localdomain (node 8f0aff69-20da-4af7-bbf8-2090634460db): [u'Traceback (most recent call last):\n', u'  File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 1779, in _do_build_and_run_instance\n    filter_properties)\n', u'  File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 1976, in _build_and_run_instance\n    instance_uuid=instance.uuid, reason=six.text_type(e))\n', u'RescheduledException: Build of instance aaeb02eb-bb73-422f-bfb7-4f6376f01cf0 was re-scheduled: Failed to provision instance aaeb02eb-bb73-422f-bfb7-4f6376f01cf0: None\n']
2016-11-21 18:26:17.838 4622 WARNING nova.scheduler.utils [req-9b8b2ce2-eaa8-43b4-aca5-817ca6c3f826 aa0f05614f5d4394a314cd1f4a8a13eb a0cd67cff3be4b6b9e7bf89de1573182 - - -] [instance: aaeb02eb-bb73-422f-bfb7-4f6376f01cf0] Setting instance to ERROR state.

4. Using wwn: "0x0000000000000001"

[stack@undercloud-4 ironic]$ openstack baremetal node show overcloud-2-node4
[...]                                                                                                                               |
| properties             | {u'memory_mb': 12288, u'root_device': {u'wwn': u'0x0000000000000001'}, u'local_gb': 60, u'cpus': 4, u'capabilities': u'boot_option:local'}                                      |
[...]

Errors shown in controller:

2016-11-21 18:34:35.981 204415 ERROR ironic.drivers.modules.iscsi_deploy [req-d27b6b9c-8252-4649-987e-6d0425863af1 - - - - -] Couldn't determine the UUID of the root partition or the disk identifier after deploying node 247bab38-cc30-4a23-8c87-631b57a18008
2016-11-21 18:34:55.162 204415 ERROR ironic.drivers.modules.agent_base_vendor [req-d27b6b9c-8252-4649-987e-6d0425863af1 - - - - -] Asynchronous exception for node 247bab38-cc30-4a23-8c87-631b57a18008: Node failed to get image for deploy. Exception: Couldn't determine the UUID of the root partition or the disk identifier after deploying node 247bab38-cc30-4a23-8c87-631b57a18008
2016-11-21 18:34:55.162 204415 ERROR ironic.drivers.modules.agent_base_vendor Traceback (most recent call last):
2016-11-21 18:34:55.162 204415 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic/drivers/modules/agent_base_vendor.py", line 482, in heartbeat
2016-11-21 18:34:55.162 204415 ERROR ironic.drivers.modules.agent_base_vendor     self.continue_deploy(task)
2016-11-21 18:34:55.162 204415 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic_lib/metrics.py", line 61, in wrapped
2016-11-21 18:34:55.162 204415 ERROR ironic.drivers.modules.agent_base_vendor     result = f(*args, **kwargs)
2016-11-21 18:34:55.162 204415 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic/conductor/task_manager.py", line 138, in wrapper
2016-11-21 18:34:55.162 204415 ERROR ironic.drivers.modules.agent_base_vendor     return f(*args, **kwargs)
2016-11-21 18:34:55.162 204415 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic/drivers/modules/iscsi_deploy.py", line 381, in continue_deploy
2016-11-21 18:34:55.162 204415 ERROR ironic.drivers.modules.agent_base_vendor     uuid_dict_returned = do_agent_iscsi_deploy(task, self._client)
2016-11-21 18:34:55.162 204415 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic_lib/metrics.py", line 61, in wrapped
2016-11-21 18:34:55.162 204415 ERROR ironic.drivers.modules.agent_base_vendor     result = f(*args, **kwargs)
2016-11-21 18:34:55.162 204415 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic/drivers/modules/iscsi_deploy.py", line 313, in do_agent_iscsi_deploy
2016-11-21 18:34:55.162 204415 ERROR ironic.drivers.modules.agent_base_vendor     uuid_dict_returned = continue_deploy(task, iqn=iqn, address=address)
2016-11-21 18:34:55.162 204415 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic_lib/metrics.py", line 61, in wrapped
2016-11-21 18:34:55.162 204415 ERROR ironic.drivers.modules.agent_base_vendor     result = f(*args, **kwargs)
2016-11-21 18:34:55.162 204415 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic/drivers/modules/iscsi_deploy.py", line 258, in continue_deploy
2016-11-21 18:34:55.162 204415 ERROR ironic.drivers.modules.agent_base_vendor     _fail_deploy(task, msg)
2016-11-21 18:34:55.162 204415 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic/drivers/modules/iscsi_deploy.py", line 227, in _fail_deploy
2016-11-21 18:34:55.162 204415 ERROR ironic.drivers.modules.agent_base_vendor     raise exception.InstanceDeployFailure(msg)
2016-11-21 18:34:55.162 204415 ERROR ironic.drivers.modules.agent_base_vendor InstanceDeployFailure: Couldn't determine the UUID of the root partition or the disk identifier after deploying node 247bab38-cc30-4a23-8c87-631b57a18008
2016-11-21 18:34:55.162 204415 ERROR ironic.drivers.modules.agent_base_vendor


5. Using wwn: "0000000000000001"

$ openstack baremetal node show overcloud-2-node4
[...]                                                                                                                                                          |
| properties             | {u'memory_mb': 12288, u'root_device': {u'wwn': u'0000000000000001'}, u'local_gb': 60, u'cpus': 4, u'capabilities': u'boot_option:local'}                                        |
[...]                                                                                                                                                          |

2016-11-21 18:45:33.992 195257 ERROR ironic.drivers.modules.agent_base_vendor [req-8986f285-87c8-40c1-b23d-717d315e0000 - - - - -] Asynchronous exception for node 905d937e-9c68-4e79-ba43-e3af7fed00d8: Node failed to get image for deploy. Exception: Failed to deploy instance: Failed to start the iSCSI target to deploy the node 905d937e-9c68-4e79-ba43-e3af7fed00d8. Error: {u'message': u"Error finding the disk or partition device to deploy the image onto: No suitable device was found for deployment using these hints {u'wwn': u'0000000000000001'}", u'code': 404, u'type': u'DeviceNotFound', u'details': u"No suitable device was found for deployment using these hints {u'wwn': u'0000000000000001'}"}
2016-11-21 18:45:33.992 195257 ERROR ironic.drivers.modules.agent_base_vendor Traceback (most recent call last):
2016-11-21 18:45:33.992 195257 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic/drivers/modules/agent_base_vendor.py", line 482, in heartbeat
2016-11-21 18:45:33.992 195257 ERROR ironic.drivers.modules.agent_base_vendor     self.continue_deploy(task)
2016-11-21 18:45:33.992 195257 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic_lib/metrics.py", line 61, in wrapped
2016-11-21 18:45:33.992 195257 ERROR ironic.drivers.modules.agent_base_vendor     result = f(*args, **kwargs)
2016-11-21 18:45:33.992 195257 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic/conductor/task_manager.py", line 138, in wrapper
2016-11-21 18:45:33.992 195257 ERROR ironic.drivers.modules.agent_base_vendor     return f(*args, **kwargs)
2016-11-21 18:45:33.992 195257 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic/drivers/modules/iscsi_deploy.py", line 381, in continue_deploy
2016-11-21 18:45:33.992 195257 ERROR ironic.drivers.modules.agent_base_vendor     uuid_dict_returned = do_agent_iscsi_deploy(task, self._client)
2016-11-21 18:45:33.992 195257 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic_lib/metrics.py", line 61, in wrapped
2016-11-21 18:45:33.992 195257 ERROR ironic.drivers.modules.agent_base_vendor     result = f(*args, **kwargs)
2016-11-21 18:45:33.992 195257 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic/drivers/modules/iscsi_deploy.py", line 308, in do_agent_iscsi_deploy
2016-11-21 18:45:33.992 195257 ERROR ironic.drivers.modules.agent_base_vendor     raise exception.InstanceDeployFailure(reason=msg)
2016-11-21 18:45:33.992 195257 ERROR ironic.drivers.modules.agent_base_vendor InstanceDeployFailure: Failed to deploy instance: Failed to start the iSCSI target to deploy the node 905d937e-9c68-4e79-ba43-e3af7fed00d8. Error: {u'message': u"Error finding the disk or partition device to deploy the image onto: No suitable device was found for deployment using these hints {u'wwn': u'0000000000000001'}", u'code': 404, u'type': u'DeviceNotFound', u'details': u"No suitable device was found for deployment using these hints {u'wwn': u'0000000000000001'}"}
2016-11-21 18:45:33.992 195257 ERROR ironic.drivers.modules.agent_base_vendor
2016-11-21 18:45:43.452 4998 ERROR nova.scheduler.utils [req-7cb7b38f-c949-4a84-b2eb-7ba845479b58 aa0f05614f5d4394a314cd1f4a8a13eb a0cd67cff3be4b6b9e7bf89de1573182 - - -] [instance: 84afcb6e-2695-45e4-80cb-3a705b489cd8] Error from last host: overcloud-controller-1.localdomain (node 905d937e-9c68-4e79-ba43-e3af7fed00d8): [u'Traceback (most recent call last):\n', u'  File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 1779, in _do_build_and_run_instance\n    filter_properties)\n', u'  File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 1976, in _build_and_run_instance\n    instance_uuid=instance.uuid, reason=six.text_type(e))\n', u'RescheduledException: Build of instance 84afcb6e-2695-45e4-80cb-3a705b489cd8 was re-scheduled: Failed to provision instance 84afcb6e-2695-45e4-80cb-3a705b489cd8: None\n']
2016-11-21 18:45:43.556 4998 WARNING nova.scheduler.utils [req-7cb7b38f-c949-4a84-b2eb-7ba845479b58 aa0f05614f5d4394a314cd1f4a8a13eb a0cd67cff3be4b6b9e7bf89de1573182 - - -] [instance: 84afcb6e-2695-45e4-80cb-3a705b489cd8] Setting instance to ERROR state.


6. Using size:

$ openstack baremetal node show overcloud-2-node4
[...]
| properties             | {u'memory_mb': 12288, u'root_device': {u'size': 64424509440}, u'local_gb': 60, u'cpus': 4, u'capabilities': u'boot_option:local'}                                               |
[...]

Errors shown in Controllers:

2016-11-21 18:51:31.313 195257 ERROR ironic.drivers.modules.agent_base_vendor [req-7e5a8773-75ab-49b4-8dd1-da07877b9ab1 - - - - -] Asynchronous exception for node d057ec8c-db76-4858-949b-65001c6a1b59: Node failed to get image for deploy. Exception: Failed to deploy instance: Failed to start the iSCSI target to deploy the node d057ec8c-db76-4858-949b-65001c6a1b59. Error: {u'message': u"Error finding the disk or partition device to deploy the image onto: No suitable device was found for deployment using these hints {u'size': 64424509440}", u'code': 404, u'type': u'DeviceNotFound', u'details': u"No suitable device was found for deployment using these hints {u'size': 64424509440}"}
2016-11-21 18:51:31.313 195257 ERROR ironic.drivers.modules.agent_base_vendor Traceback (most recent call last):
2016-11-21 18:51:31.313 195257 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic/drivers/modules/agent_base_vendor.py", line 482, in heartbeat
2016-11-21 18:51:31.313 195257 ERROR ironic.drivers.modules.agent_base_vendor     self.continue_deploy(task)
2016-11-21 18:51:31.313 195257 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic_lib/metrics.py", line 61, in wrapped
2016-11-21 18:51:31.313 195257 ERROR ironic.drivers.modules.agent_base_vendor     result = f(*args, **kwargs)
2016-11-21 18:51:31.313 195257 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic/conductor/task_manager.py", line 138, in wrapper
2016-11-21 18:51:31.313 195257 ERROR ironic.drivers.modules.agent_base_vendor     return f(*args, **kwargs)
2016-11-21 18:51:31.313 195257 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic/drivers/modules/iscsi_deploy.py", line 381, in continue_deploy
2016-11-21 18:51:31.313 195257 ERROR ironic.drivers.modules.agent_base_vendor     uuid_dict_returned = do_agent_iscsi_deploy(task, self._client)
2016-11-21 18:51:31.313 195257 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic_lib/metrics.py", line 61, in wrapped
2016-11-21 18:51:31.313 195257 ERROR ironic.drivers.modules.agent_base_vendor     result = f(*args, **kwargs)
2016-11-21 18:51:31.313 195257 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic/drivers/modules/iscsi_deploy.py", line 308, in do_agent_iscsi_deploy
2016-11-21 18:51:31.313 195257 ERROR ironic.drivers.modules.agent_base_vendor     raise exception.InstanceDeployFailure(reason=msg)
2016-11-21 18:51:31.313 195257 ERROR ironic.drivers.modules.agent_base_vendor InstanceDeployFailure: Failed to deploy instance: Failed to start the iSCSI target to deploy the node d057ec8c-db76-4858-949b-65001c6a1b59. Error: {u'message': u"Error finding the disk or partition device to deploy the image onto: No suitable device was found for deployment using these hints {u'size': 64424509440}", u'code': 404, u'type': u'DeviceNotFound', u'details': u"No suitable device was found for deployment using these hints {u'size': 64424509440}"}
2016-11-21 18:51:31.313 195257 ERROR ironic.drivers.modules.agent_base_vendor

7. Using model:

$ openstack baremetal node show overcloud-2-node4
[...]                                                                                                                                                          |
| properties             | {u'memory_mb': 12288, u'root_device': {u'model': u'QEMU HARDDISK'}, u'local_gb': 60, u'cpus': 4, u'capabilities': u'boot_option:local'}                                         |
[...]                                                                                                                                                          |

Errors shown in Controllers:

2016-11-21 18:58:01.878 204415 ERROR ironic.drivers.modules.agent_base_vendor [req-d40fa094-ea01-4d44-ae18-62bb5b91de03 - - - - -] Asynchronous exception for node d809e897-ff33-46d3-91b0-e814e1b9eabc: Node failed to get image for deploy. Exception: Failed to deploy instance: Failed to start the iSCSI target to deploy the node d809e897-ff33-46d3-91b0-e814e1b9eabc. Error: {u'message': u"Error finding the disk or partition device to deploy the image onto: No suitable device was found for deployment using these hints {u'model': u'QEMU HARDDISK'}", u'code': 404, u'type': u'DeviceNotFound', u'details': u"No suitable device was found for deployment using these hints {u'model': u'QEMU HARDDISK'}"}
2016-11-21 18:58:01.878 204415 ERROR ironic.drivers.modules.agent_base_vendor Traceback (most recent call last):
2016-11-21 18:58:01.878 204415 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic/drivers/modules/agent_base_vendor.py", line 482, in heartbeat
2016-11-21 18:58:01.878 204415 ERROR ironic.drivers.modules.agent_base_vendor     self.continue_deploy(task)
2016-11-21 18:58:01.878 204415 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic_lib/metrics.py", line 61, in wrapped
2016-11-21 18:58:01.878 204415 ERROR ironic.drivers.modules.agent_base_vendor     result = f(*args, **kwargs)
2016-11-21 18:58:01.878 204415 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic/conductor/task_manager.py", line 138, in wrapper
2016-11-21 18:58:01.878 204415 ERROR ironic.drivers.modules.agent_base_vendor     return f(*args, **kwargs)
2016-11-21 18:58:01.878 204415 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic/drivers/modules/iscsi_deploy.py", line 381, in continue_deploy
2016-11-21 18:58:01.878 204415 ERROR ironic.drivers.modules.agent_base_vendor     uuid_dict_returned = do_agent_iscsi_deploy(task, self._client)
2016-11-21 18:58:01.878 204415 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic_lib/metrics.py", line 61, in wrapped
2016-11-21 18:58:01.878 204415 ERROR ironic.drivers.modules.agent_base_vendor     result = f(*args, **kwargs)
2016-11-21 18:58:01.878 204415 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic/drivers/modules/iscsi_deploy.py", line 308, in do_agent_iscsi_deploy
2016-11-21 18:58:01.878 204415 ERROR ironic.drivers.modules.agent_base_vendor     raise exception.InstanceDeployFailure(reason=msg)
2016-11-21 18:58:01.878 204415 ERROR ironic.drivers.modules.agent_base_vendor InstanceDeployFailure: Failed to deploy instance: Failed to start the iSCSI target to deploy the node d809e897-ff33-46d3-91b0-e814e1b9eabc. Error: {u'message': u"Error finding the disk or partition device to deploy the image onto: No suitable device was found for deployment using these hints {u'model': u'QEMU HARDDISK'}", u'code': 404, u'type': u'DeviceNotFound', u'details': u"No suitable device was found for deployment using these hints {u'model': u'QEMU HARDDISK'}"}
2016-11-21 18:58:01.878 204415 ERROR ironic.drivers.modules.agent_base_vendor

If I check the file created at /var/log/ironic/deploy/ I can see that sda is seen:

# tar xvfz /var/log/ironic/deploy/d809e897-ff33-46d3-91b0-e814e1b9eabc_16f7c902-fb81-46de-839f-9158b492b76b_2016-11-21-18\:57\:41.tar.gz
df
ps
journal
ip_addr
iptables
# grep sda journal
Nov 21 13:57:38 localhost.localdomain kernel: sd 2:0:0:0: [sda] 125829120 512-byte logical blocks: (64.4 GB/60.0 GiB)
Nov 21 13:57:38 localhost.localdomain kernel: sd 2:0:0:0: [sda] Write Protect is off
Nov 21 13:57:38 localhost.localdomain kernel: sd 2:0:0:0: [sda] Mode Sense: 63 00 00 08
Nov 21 13:57:38 localhost.localdomain kernel: sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
Nov 21 13:57:38 localhost.localdomain kernel:  sda: sda1 sda2
Nov 21 13:57:38 localhost.localdomain kernel: sd 2:0:0:0: [sda] Attached SCSI disk

Comment 2 Ramon Acedo 2016-11-22 11:38:38 UTC
Thanks for looking into it Lucas.

Please disregard this BZ now. This issue happened because the image wasn't right, I mistakenly uploaded a vmlinuz image as a qcow2 image and all these tests were done with it.

After uploading the actual overcloud-full.qcow2 image it worked as expected.

Comment 3 Lucas Alvares Gomes 2016-11-22 16:07:01 UTC
(In reply to Ramon Acedo from comment #2)
> Thanks for looking into it Lucas.
> 
> Please disregard this BZ now. This issue happened because the image wasn't
> right, I mistakenly uploaded a vmlinuz image as a qcow2 image and all these
> tests were done with it.
> 
> After uploading the actual overcloud-full.qcow2 image it worked as expected.

Thanks Ramon, I'm closing this BZ then!


Note You need to log in before you can comment on or make changes to this bug.