Return result to the ramdisk in sync fashion

Registered by Dmitry Tantsur

Currently callback from the ramdisk is async. We need to make it sync and have a reasonable result.

Only these changes was actually implemented:
* Return real errors in any case
* Support returning JSON to the ramdisk

The following changes were rejected and reverted due to introduced bugs:
* Add configuration option `power_off_after_discovery` defaulting to False
* Return value on success, if `power_off_after_discovery` is False:
  {'node': <node structure>}
* Wait for state `power on` before calling discovery officially done
  (see also https://blueprints.launchpad.net/ironic-discoverd/+spec/long-running-ramdisks)

Blueprint information

Status:
Complete
Approver:
Dmitry Tantsur
Priority:
High
Drafter:
Dmitry Tantsur
Direction:
Needs approval
Assignee:
Dmitry Tantsur
Definition:
Approved
Series goal:
None
Implementation:
Implemented
Milestone target:
milestone icon 1.0.0
Started by
Dmitry Tantsur
Completed by
Dmitry Tantsur

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/returning-to-ramdisk,n,z

Addressed by: https://review.openstack.org/137361
    Make /v1/continue synchronous

Addressed by: https://review.openstack.org/137374
    Return serialized node to the ramdisk

Addressed by: https://review.openstack.org/139054
    Add option `power_off_after_discovery`

Addressed by: https://review.openstack.org/139096
    Extend node_cache.pop_node() result to be a structure

Addressed by: https://review.openstack.org/140005
    Store good MAC's and interfaces in node_info after processing

Addressed by: https://review.openstack.org/140064
    Wait for power off state before calling discovery done

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.