Bug 1387148

Summary: Int cast error when deploying whole disk image
Product: Red Hat OpenStack Reporter: Sergii Nozhka <snozhka>
Component: python-ironic-libAssignee: Dmitry Tantsur <dtantsur>
Status: CLOSED ERRATA QA Contact: Sergii Nozhka <snozhka>
Severity: high Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: apevec, dmacpher, dtantsur, jjoyce, jschluet, lhh
Target Milestone: rcKeywords: Triaged
Target Release: 10.0 (Newton)   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: python-ironic-lib-2.1.1-1 Doc Type: Bug Fix
Doc Text:
OpenStack Bare Metal (ironic) contained parsing errors in configdrive implementation for whole disk images, which caused deployment failure. This fix corrects the return value parsing for in configdrive implementation. It is now possible to deploy whole disk images with configdrive.
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-12-14 16:23:11 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Sergii Nozhka 2016-10-20 09:17:12 UTC
Description of problem:
Error: int() argument must be a string or a number, not 'tuple' received during instance boot.

The issue same to https://bugs.launchpad.net/ironic-lib/+bug/1626544.

Version-Release number of selected component (if applicable):
python-ironic-lib-2.1.0-1.el7ost.noarch

Nova compute log:

2016-10-20 03:48:14.664 5355 DEBUG oslo_messaging._drivers.amqpdriver [-] CALL msg_id: 174873eed0d64cf08b777102f10be85e exchange 'nova' topic 'conductor' _send /usr/lib/python2.7/site-packages/oslo_messaging/_drivers/amqpdriver.py:448
2016-10-20 03:48:14.813 5355 DEBUG oslo_messaging._drivers.amqpdriver [-] received reply msg_id: 174873eed0d64cf08b777102f10be85e __call__ /usr/lib/python2.7/site-packages/oslo_messaging/_drivers/amqpdriver.py:296
2016-10-20 03:48:14.848 5355 ERROR oslo.service.loopingcall [-] Fixed interval looping call 'nova.virt.ironic.driver.IronicDriver._wait_for_active' failed
2016-10-20 03:48:14.848 5355 ERROR oslo.service.loopingcall Traceback (most recent call last):
2016-10-20 03:48:14.848 5355 ERROR oslo.service.loopingcall   File "/usr/lib/python2.7/site-packages/oslo_service/loopingcall.py", line 136, in _run_loop
2016-10-20 03:48:14.848 5355 ERROR oslo.service.loopingcall     result = func(*self.args, **self.kw)
2016-10-20 03:48:14.848 5355 ERROR oslo.service.loopingcall   File "/usr/lib/python2.7/site-packages/nova/virt/ironic/driver.py", line 425, in _wait_for_active
2016-10-20 03:48:14.848 5355 ERROR oslo.service.loopingcall     raise exception.InstanceDeployFailure(msg)
2016-10-20 03:48:14.848 5355 ERROR oslo.service.loopingcall InstanceDeployFailure: Failed to provision instance 134370e8-037d-4557-bf5b-49fa4964676e: None
2016-10-20 03:48:14.848 5355 ERROR oslo.service.loopingcall
2016-10-20 03:48:14.849 5355 ERROR nova.virt.ironic.driver [req-f7c51538-5dd8-4913-ac5d-01673843ed89 92496f7f401d47a395f2493a3f239a6b b5d8da6b811c457f9a215ba72ded1b24 - - -] Error deploying instance 134370e8-037d-4557-bf5b-49fa4964676e on baremetal node c1da4621-6497-4934-8867-263a5a3e77ee.
2016-10-20 03:48:14.850 5355 ERROR nova.compute.manager [req-f7c51538-5dd8-4913-ac5d-01673843ed89 92496f7f401d47a395f2493a3f239a6b b5d8da6b811c457f9a215ba72ded1b24 - - -] [instance: 134370e8-037d-4557-bf5b-49fa4964676e] Instance failed to spawn
2016-10-20 03:48:14.850 5355 ERROR nova.compute.manager [instance: 134370e8-037d-4557-bf5b-49fa4964676e] Traceback (most recent call last):
2016-10-20 03:48:14.850 5355 ERROR nova.compute.manager [instance: 134370e8-037d-4557-bf5b-49fa4964676e]   File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 2078, in _build_resources
2016-10-20 03:48:14.850 5355 ERROR nova.compute.manager [instance: 134370e8-037d-4557-bf5b-49fa4964676e]     yield resources
2016-10-20 03:48:14.850 5355 ERROR nova.compute.manager [instance: 134370e8-037d-4557-bf5b-49fa4964676e]   File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 1920, in _build_and_run_instance
2016-10-20 03:48:14.850 5355 ERROR nova.compute.manager [instance: 134370e8-037d-4557-bf5b-49fa4964676e]     block_device_info=block_device_info)
2016-10-20 03:48:14.850 5355 ERROR nova.compute.manager [instance: 134370e8-037d-4557-bf5b-49fa4964676e]   File "/usr/lib/python2.7/site-packages/nova/virt/ironic/driver.py", line 830, in spawn
2016-10-20 03:48:14.850 5355 ERROR nova.compute.manager [instance: 134370e8-037d-4557-bf5b-49fa4964676e]     'node': node_uuid})
2016-10-20 03:48:14.850 5355 ERROR nova.compute.manager [instance: 134370e8-037d-4557-bf5b-49fa4964676e]   File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__
2016-10-20 03:48:14.850 5355 ERROR nova.compute.manager [instance: 134370e8-037d-4557-bf5b-49fa4964676e]     self.force_reraise()
2016-10-20 03:48:14.850 5355 ERROR nova.compute.manager [instance: 134370e8-037d-4557-bf5b-49fa4964676e]   File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
2016-10-20 03:48:14.850 5355 ERROR nova.compute.manager [instance: 134370e8-037d-4557-bf5b-49fa4964676e]     six.reraise(self.type_, self.value, self.tb)
2016-10-20 03:48:14.850 5355 ERROR nova.compute.manager [instance: 134370e8-037d-4557-bf5b-49fa4964676e]   File "/usr/lib/python2.7/site-packages/nova/virt/ironic/driver.py", line 822, in spawn
2016-10-20 03:48:14.850 5355 ERROR nova.compute.manager [instance: 134370e8-037d-4557-bf5b-49fa4964676e]     timer.start(interval=CONF.ironic.api_retry_interval).wait()
2016-10-20 03:48:14.850 5355 ERROR nova.compute.manager [instance: 134370e8-037d-4557-bf5b-49fa4964676e]   File "/usr/lib/python2.7/site-packages/eventlet/event.py", line 121, in wait
2016-10-20 03:48:14.850 5355 ERROR nova.compute.manager [instance: 134370e8-037d-4557-bf5b-49fa4964676e]     return hubs.get_hub().switch()
2016-10-20 03:48:14.850 5355 ERROR nova.compute.manager [instance: 134370e8-037d-4557-bf5b-49fa4964676e]   File "/usr/lib/python2.7/site-packages/eventlet/hubs/hub.py", line 294, in switch
2016-10-20 03:48:14.850 5355 ERROR nova.compute.manager [instance: 134370e8-037d-4557-bf5b-49fa4964676e]     return self.greenlet.switch()
2016-10-20 03:48:14.850 5355 ERROR nova.compute.manager [instance: 134370e8-037d-4557-bf5b-49fa4964676e]   File "/usr/lib/python2.7/site-packages/oslo_service/loopingcall.py", line 136, in _run_loop
2016-10-20 03:48:14.850 5355 ERROR nova.compute.manager [instance: 134370e8-037d-4557-bf5b-49fa4964676e]     result = func(*self.args, **self.kw)
2016-10-20 03:48:14.850 5355 ERROR nova.compute.manager [instance: 134370e8-037d-4557-bf5b-49fa4964676e]   File "/usr/lib/python2.7/site-packages/nova/virt/ironic/driver.py", line 425, in _wait_for_active
2016-10-20 03:48:14.850 5355 ERROR nova.compute.manager [instance: 134370e8-037d-4557-bf5b-49fa4964676e]     raise exception.InstanceDeployFailure(msg)
2016-10-20 03:48:14.850 5355 ERROR nova.compute.manager [instance: 134370e8-037d-4557-bf5b-49fa4964676e] InstanceDeployFailure: Failed to provision instance 134370e8-037d-4557-bf5b-49fa4964676e: None
2016-10-20 03:48:14.850 5355 ERROR nova.compute.manager [instance: 134370e8-037d-4557-bf5b-49fa4964676e]
 
 
 
 Ironic conductor log:
 
 
 
2016-10-20 03:48:17.024 14629 ERROR ironic.drivers.modules.agent_base_vendor [req-6c5bc58e-4d86-4e39-aff0-ac39e485ce26 - - - - -] Asynchronous exception for node c1da4621-6497-4934-8867-263a5a3e77ee: Node failed to get image for deploy. Exception: Deploy failed for instance 134370e8-037d-4557-bf5b-49fa4964676e. Error: int() argument must be a string or a number, not 'tuple'
2016-10-20 03:48:17.024 14629 ERROR ironic.drivers.modules.agent_base_vendor Traceback (most recent call last):
2016-10-20 03:48:17.024 14629 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-10-20 03:48:17.024 14629 ERROR ironic.drivers.modules.agent_base_vendor     self.continue_deploy(task)
2016-10-20 03:48:17.024 14629 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic_lib/metrics.py", line 61, in wrapped
2016-10-20 03:48:17.024 14629 ERROR ironic.drivers.modules.agent_base_vendor     result = f(*args, **kwargs)
2016-10-20 03:48:17.024 14629 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic/conductor/task_manager.py", line 138, in wrapper
2016-10-20 03:48:17.024 14629 ERROR ironic.drivers.modules.agent_base_vendor     return f(*args, **kwargs)
2016-10-20 03:48:17.024 14629 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-10-20 03:48:17.024 14629 ERROR ironic.drivers.modules.agent_base_vendor     uuid_dict_returned = do_agent_iscsi_deploy(task, self._client)
2016-10-20 03:48:17.024 14629 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic_lib/metrics.py", line 61, in wrapped
2016-10-20 03:48:17.024 14629 ERROR ironic.drivers.modules.agent_base_vendor     result = f(*args, **kwargs)
2016-10-20 03:48:17.024 14629 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-10-20 03:48:17.024 14629 ERROR ironic.drivers.modules.agent_base_vendor     uuid_dict_returned = continue_deploy(task, iqn=iqn, address=address)
2016-10-20 03:48:17.024 14629 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic_lib/metrics.py", line 61, in wrapped
2016-10-20 03:48:17.024 14629 ERROR ironic.drivers.modules.agent_base_vendor     result = f(*args, **kwargs)
2016-10-20 03:48:17.024 14629 ERROR ironic.drivers.modules.agent_base_vendor   File "/usr/lib/python2.7/site-packages/ironic/drivers/modules/iscsi_deploy.py", line 250, in continue_deploy
2016-10-20 03:48:17.024 14629 ERROR ironic.drivers.modules.agent_base_vendor     _fail_deploy(task, msg)
2016-10-20 03:48:17.024 14629 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-10-20 03:48:17.024 14629 ERROR ironic.drivers.modules.agent_base_vendor     raise exception.InstanceDeployFailure(msg)
2016-10-20 03:48:17.024 14629 ERROR ironic.drivers.modules.agent_base_vendor InstanceDeployFailure: Deploy failed for instance 134370e8-037d-4557-bf5b-49fa4964676e. Error: int() argument must be a string or a number, not 'tuple'
2016-10-20 03:48:17.024 14629 ERROR ironic.drivers.modules.agent_base_vendor

Comment 1 Dmitry Tantsur 2016-10-20 09:19:12 UTC
Fixed in ironic-lib 2.1.1 (newton) and 2.2.0 (ocata).

Comment 4 Sergii Nozhka 2016-11-01 11:46:13 UTC
The issue not reproduced with python-ironic-lib-2.1.1-1.el7ost.noarch.

Comment 6 errata-xmlrpc 2016-12-14 16:23:11 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHEA-2016-2948.html