Import the necessary tools for disk image manipulation

Registered by aeva black

The nova baremetal PXE driver relied on nova.virt.disk.api:inject_data and nova.virt.libvirt.utils.fetch_image to download and manipulate machine images. Ironic will need these same utilities. Find suitable tools within Olso, or copy / refactor the tools from Nova so that Ironic's PXE driver can do the same things.

Blueprint information

Status:
Complete
Approver:
aeva black
Priority:
Essential
Drafter:
None
Direction:
Approved
Assignee:
Ghe Rivero
Definition:
Approved
Series goal:
Accepted for havana
Implementation:
Implemented
Milestone target:
milestone icon havana-3
Started by
aeva black
Completed by
aeva black

Related branches

Sprints

Whiteboard

Needed for cache image (~in called order):
nova.virt.baremetal.utils - cache_image - Easy to replace (2 lines func)
    nova.virt.libvirt.utils - fetch_image - Easy to replace (2 lines func)
        nova.virt.images - fetch_to_raw, fetch, convert_image, qemu_img_info
            nova.utils - remove_path_on_error, delete_if_exists.
            nova.image.glance - (~glance client wrapper)

Candidates to oslo:
nova.virt.images ~ cinder.image.image_utils
nova.utils ~50%~ cinder.utils ()
nova.image.glance ~ cinder.image.glance

Gerrit topic: https://review.openstack.org/#/q/topic:bp/image-tools,n,z

Addressed by: https://review.openstack.org/#/c/31030/
    Add common code for fileutils.

Addressed by: https://review.openstack.org/#/c/31473/
    Move glance image service client from nova and cinder into python-glanceclient.

Gerrit topic: https://review.openstack.org/#q,topic:bp/image-tools,n,z

Addressed by: https://review.openstack.org/35272
    Move glance image service client from nova and cinder into ironic.

Gerrit topic: https://review.openstack.org/#q,topic:bp/equivalent-pxe-driver,n,z

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.