register-nodes error message hides the source of conflict.

Bug #1382310 reported by James Polley
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
os-cloud-config
Triaged
Medium
Ghe Rivero

Bug Description

From a recent run:

2014-10-17 01:37:07 - requests.packages.urllib3.connectionpool - INFO - Starting new HTTP connection (1): 15.126.48.4
2014-10-17 01:37:15 - ironicclient.common.http - WARNING - Request returned failure status.
2014-10-17 01:37:22 - ironicclient.common.http - WARNING - Request returned failure status.
2014-10-17 01:37:27 - root - ERROR - Unexpected error during command execution
Traceback (most recent call last):
  File "/home/shared/tripleo-incubator/openstack-tools/local/lib/python2.7/site-packages/os_cloud_config/cmd/register_nodes.py", line 74, in main
    blocking=True)
  File "/home/shared/tripleo-incubator/openstack-tools/local/lib/python2.7/site-packages/os_cloud_config/nodes.py", line 249, in register_all_nodes
    blocking=blocking)
  File "/home/shared/tripleo-incubator/openstack-tools/local/lib/python2.7/site-packages/os_cloud_config/nodes.py", line 209, in _update_or_register_ironic_node
    raise ironicexp.Conflict()
Conflict: Conflict (HTTP 409)

I have no idea what caused this Conflict.

Running again with --debug shows more detail:

2014-10-17 03:32:38 - ironicclient.common.http - WARNING - Request returned failure status.
2014-10-17 03:32:38 - os_cloud_config.nodes - DEBUG - Node locked for updating.
2014-10-17 03:32:43 - root - ERROR - Unexpected error during command execution
Traceback (most recent call last):
  File "/home/shared/tripleo-incubator/openstack-tools/local/lib/python2.7/site-packages/os_cloud_config/cmd/register_nodes.py", line 74, in main
    blocking=True)
  File "/home/shared/tripleo-incubator/openstack-tools/local/lib/python2.7/site-packages/os_cloud_config/nodes.py", line 249, in register_all_nodes
    blocking=blocking)
  File "/home/shared/tripleo-incubator/openstack-tools/local/lib/python2.7/site-packages/os_cloud_config/nodes.py", line 209, in _update_or_register_ironic_node
    raise ironicexp.Conflict()
Conflict: Conflict (HTTP 409)

So now I know that a node was locked. That information should not require --debug to be displayed - I think that's pretty basic information that should be in the default output.

Looking a few lines earlier, I see a detailed error message:

NodeLocked: Node 0e9f8b6c-52cd-4c3f-a28d-bfeb08d38a7e is locked by host undercloud-undercloud-uxtyfj4ag5qy.novalocal, please retry after the current operation is completed.

This tells me which node is locked, and why. This information should be in the default error output rather than just "Conflict"

Ghe Rivero (ghe.rivero)
Changed in os-cloud-config:
assignee: nobody → Ghe Rivero (ghe.rivero)
status: New → Triaged
importance: Undecided → Medium
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.