Ironic agent ramdisk built using disk-image-create fails with iscsi_ilo driver

Bug #1449854 reported by Ramakrishnan G (rameshg87)
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
diskimage-builder
Fix Released
High
Ramakrishnan G (rameshg87)

Bug Description

Ironic agent ramdisk fails to deploy the image when used with iscsi_ilo driver (and pxe_ipmitool driver) as well. The following is the error log:

2015-04-28 01:46:22.693 DEBUG ironic.drivers.modules.ilo.common [-] Cleaning up node 8ed62b48-f79e-46f0-a3a8-b1ac1c9ae4f2 after virtual media boot from (pid=27818) cleanup_vmedia_boot /opt/stack/ironic/ironic/drivers/modules/ilo/common.py:442
2015-04-28 01:46:23.032 DEBUG swiftclient [-] REQ: curl -i http://10.102.0.75:8080/v1/AUTH_742e2cf746264aaaaaf0c344062a7cd6/ironic_ilo_container/image-8ed62b48-f79e-46f0-a3a8-b1ac1c9ae4f2 DELETE -H "X-Auth-Token: ce26d99992cc447dbaa0e042659129a9" from (pid=27818) http_log /usr/local/lib/python2.7/dist-packages/swiftclient/client.py:95
2015-04-28 01:46:23.033 DEBUG swiftclient [-] RESP STATUS: 204 No Content from (pid=27818) http_log /usr/local/lib/python2.7/dist-packages/swiftclient/client.py:96
2015-04-28 01:46:23.033 DEBUG swiftclient [-] RESP HEADERS: [('date', 'Tue, 28 Apr 2015 08:46:23 GMT'), ('content-length', '0'), ('content-type', 'text/html; charset=UTF-8'), ('connection', 'keep-alive'), ('x-trans-id', 'txe04aac32cd6f4483866f7-00553f48de')] from (pid=27818) http_log /usr/local/lib/python2.7/dist-packages/swiftclient/client.py:97
2015-04-28 01:46:26.397 DEBUG ironic.drivers.modules.deploy_utils [-] Deploy boot mode is uefi for 8ed62b48-f79e-46f0-a3a8-b1ac1c9ae4f2. from (pid=27818) get_boot_mode_for_deploy /opt/stack/ironic/ironic/drivers/modules/deploy_utils.py:1072
2015-04-28 01:46:26.423 ERROR ironic.drivers.modules.agent_client [-] Unable to decode response as JSON.
Request URL: http://10.102.0.124:9999/v1/commands
Request body: "{"params": {"iqn": "iqn-8ed62b48-f79e-46f0-a3a8-b1ac1c9ae4f2"}, "name": "iscsi.start_iscsi_target"}"
Response: "A server error occurred. Please contact the administrator."
2015-04-28 01:46:26.424 ERROR ironic.drivers.modules.agent_base_vendor [-] Asynchronous exception for node 8ed62b48-f79e-46f0-a3a8-b1ac1c9ae4f2: Node failed to get image for deploy. exception: Unable to decode response as JSON.
Request URL: http://10.102.0.124:9999/v1/commands
Request body: "{"params": {"iqn": "iqn-8ed62b48-f79e-46f0-a3a8-b1ac1c9ae4f2"}, "name": "iscsi.start_iscsi_target"}"
Response: "A server error occurred. Please contact the administrator."
2015-04-28 01:46:26.424 TRACE ironic.drivers.modules.agent_base_vendor Traceback (most recent call last):
2015-04-28 01:46:26.424 TRACE ironic.drivers.modules.agent_base_vendor File "/opt/stack/ironic/ironic/drivers/modules/agent_base_vendor.py", line 233, in heartbeat
2015-04-28 01:46:26.424 TRACE ironic.drivers.modules.agent_base_vendor self.continue_deploy(task, **kwargs)
2015-04-28 01:46:26.424 TRACE ironic.drivers.modules.agent_base_vendor File "/opt/stack/ironic/ironic/conductor/task_manager.py", line 128, in wrapper
2015-04-28 01:46:26.424 TRACE ironic.drivers.modules.agent_base_vendor return f(*args, **kwargs)
2015-04-28 01:46:26.424 TRACE ironic.drivers.modules.agent_base_vendor File "/opt/stack/ironic/ironic/drivers/modules/ilo/deploy.py", line 861, in continue_deploy
2015-04-28 01:46:26.424 TRACE ironic.drivers.modules.agent_base_vendor uuid_dict = iscsi_deploy.do_agent_iscsi_deploy(task, self._client)
2015-04-28 01:46:26.424 TRACE ironic.drivers.modules.agent_base_vendor File "/opt/stack/ironic/ironic/drivers/modules/iscsi_deploy.py", line 369, in do_agent_iscsi_deploy
2015-04-28 01:46:26.424 TRACE ironic.drivers.modules.agent_base_vendor result = agent_client.start_iscsi_target(node, iqn)
2015-04-28 01:46:26.424 TRACE ironic.drivers.modules.agent_base_vendor File "/opt/stack/ironic/ironic/drivers/modules/agent_client.py", line 112, in start_iscsi_target
2015-04-28 01:46:26.424 TRACE ironic.drivers.modules.agent_base_vendor wait=True)
2015-04-28 01:46:26.424 TRACE ironic.drivers.modules.agent_base_vendor File "/opt/stack/ironic/ironic/drivers/modules/agent_client.py", line 82, in _command
2015-04-28 01:46:26.424 TRACE ironic.drivers.modules.agent_base_vendor raise exception.IronicException(msg)
2015-04-28 01:46:26.424 TRACE ironic.drivers.modules.agent_base_vendor IronicException: Unable to decode response as JSON.
2015-04-28 01:46:26.424 TRACE ironic.drivers.modules.agent_base_vendor Request URL: http://10.102.0.124:9999/v1/commands
2015-04-28 01:46:26.424 TRACE ironic.drivers.modules.agent_base_vendor Request body: "{"params": {"iqn": "iqn-8ed62b48-f79e-46f0-a3a8-b1ac1c9ae4f2"}, "name": "iscsi.start_iscsi_target"}"
2015-04-28 01:46:26.424 TRACE ironic.drivers.modules.agent_base_vendor Response: "A server error occurred. Please contact the administrator."
2015-04-28 01:46:26.424 TRACE ironic.drivers.modules.agent_base_vendor
2015-04-28 01:46:26.426 DEBUG ironic.common.states [-] Exiting old state 'deploying' in response to event 'fail' from (pid=27818) on_exit /opt/stack/ironic/ironic/common/states.py:177
2015-04-28 01:46:26.426 DEBUG ironic.common.states [-] Entering new state 'deploy failed' in response to event 'fail' from (pid=27818) on_enter /opt/stack/ironic/ironic/common/states.py:183
2015-04-28 01:46:34.214 INFO ironic.conductor.utils [-] Successfully set node 8ed62b48-f79e-46f0-a3a8-b1ac1c9ae4f2 power state to power off.
2015-04-28 01:46:34.391 DEBUG oslo_messaging._drivers.amqp [-] unpacked context: {u'read_only': False, u'show_deleted': False, u'roles': [u'admin'], u'auth_token': u'***', u'domain_name': u'Default', u'show_password': False, u'is_admin': True, u'user': u'ironic', u'request_id': u'req-48986e6e-4e3e-40b0-b72b-4c88d03beadb', u'is_public_api': False, u'domain_id': u'default', u'tenant': u'service'} from (pid=27818) unpack_context /usr/local/lib/python2.7/dist-packages/oslo_messaging/_drivers/amqp.py:171
2015-04-28 01:46:34.393 DEBUG ironic.conductor.manager [-] RPC do_node_tear_down called for node 8ed62b48-f79e-46f0-a3a8-b1ac1c9ae4f2. from (pid=27818) do_node_tear_down /opt/stack/ironic/ironic/conductor/manager.py:767
2015-04-28 01:46:34.394 DEBUG ironic.conductor.task_manager [-] Attempting to reserve node 8ed62b48-f79e-46f0-a3a8-b1ac1c9ae4f2 from (pid=27818) reserve_node /opt/stack/ironic/ironic/conductor/task_manager.py:193

Revision history for this message
Ramakrishnan G (rameshg87) (rameshg87) wrote :

The failure is because it doesn't have tgtd and tgtadm installed which is required now for ironic-agent ramdisk.

Changed in diskimage-builder:
assignee: nobody → Ramakrishnan G (rameshg87)
Changed in diskimage-builder:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to diskimage-builder (master)

Reviewed: https://review.openstack.org/178476
Committed: https://git.openstack.org/cgit/openstack/diskimage-builder/commit/?id=45db8f1280a2d5f2128f75ec3192c6887837b015
Submitter: Jenkins
Branch: master

commit 45db8f1280a2d5f2128f75ec3192c6887837b015
Author: Ramakrishnan G <email address hidden>
Date: Tue Apr 28 19:09:44 2015 -0700

    Add packages required for iscsi extension in agent

    In Kilo, we added added an iscsi extension in
    ironic-python-agent which requires tgtd and tgtadm.
    This commit adds scsi-target-utils to the ramdisk for
    this.

    Also the git protocol for retrieving the source code is
    changed to http. Git protocol doesn't go through a proxy,
    but http can.

    Closes-Bug: 1449854
    Change-Id: I8cf274913a16404941770d0c6115bd6feec1ccb8

Changed in diskimage-builder:
status: In Progress → Fix Committed
Changed in diskimage-builder:
importance: Undecided → High
Changed in diskimage-builder:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.