Update Ironic plug/unplug_vifs to use new Ironic interface attach/detach APIs

Registered by Sam Betts on 2016-10-28

plug/unplug_vifs logic will be replaced by calling attach/detach for every vif
passed into those functions.

nova.virt.driver.IronicDriver.macs_for_instance will be removed because mapping
is handled inside Ironic so mac_address assignment must happen at binding later
in the process.

nova.virt.driver.IronicDriver.network_binding_host_id will be changed to return
None in all cases, so that neutron ports remain unbound until Ironic binds them
during deployment.

nova driver will need to include the nova compute host ID in the instance_info
so that the ironic flat network interface can use it to update the neutron
ports mimicking the existing nova behaviour.

The nova driver ironic CLI/API version requirement will need to be increased to
the version that implements the attach and detach APIs.

More information is available in the full specification.

Blueprint information

Status:
Complete
Approver:
Matt Riedemann
Priority:
Low
Drafter:
Sam Betts
Direction:
Approved
Assignee:
Sam Betts
Definition:
Approved
Series goal:
Accepted for ocata
Implementation:
Implemented
Milestone target:
milestone icon ocata-3
Started by
Matt Riedemann on 2016-11-03
Completed by
Matt Riedemann on 2017-01-20

Related branches

Sprints

Whiteboard

Ironic spec: https://review.openstack.org/#/c/317636/

Nova POC: https://review.openstack.org/#/c/364413/

In the 20161103 nova meeting we agreed to hold the nova blueprint until the Ironic blueprint was complete. -- mriedem 20161103

The Ironic spec is approved so we're approving the nova feature parity blueprint. The Nova code will obviously depend on the API change in Ironic and a microversion bump for Ironic client in Nova. -- mriedem 20161110

Gerrit topic: https://review.openstack.org/#q,topic:bug/1582188,n,z

Addressed by: https://review.openstack.org/364413
    Support Ironic interface attach/detach in nova virt

The Nova change itself has good progress but is dependent on the python-ironicclient change which depends on the Ironic REST API change, so I'm going to mark this as blocked for Nova just so I'm straight on the status. -- mriedem 20161227

Gerrit topic: https://review.openstack.org/#q,topic:bp/ironic-plug-unplug-vifs-update,n,z

Addressed by: https://review.openstack.org/419975
    Implement interface attach/detach in ironic virt driver

Gerrit topic: https://review.openstack.org/#q,topic:bp/ironic-portgroups-support,n,z

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.