Add images to the Image service

  1. Build or download the user images as described in Creating instance images.

  2. Add the user images to the Image service

    Load all the images created in the below steps into the Image service, and note the image UUIDs in the Image service for each one as it is generated.

    For partition images:

    • Add the kernel and ramdisk images to the Image service:

      $ openstack image create my-kernel --public \
        --disk-format aki --container-format aki --file my-image.vmlinuz
      

      Store the image uuid obtained from the above step as MY_VMLINUZ_UUID.

      $ openstack image create my-image.initrd --public \
        --disk-format ari --container-format ari --file my-image.initrd
      

      Store the image UUID obtained from the above step as MY_INITRD_UUID.

    • Add the my-image to the Image service which is going to be the OS that the user is going to run. Also associate the above created images with this OS image. These two operations can be done by executing the following command:

      $ openstack image create my-image --public \
        --disk-format qcow2 --container-format bare --property \
        kernel_id=$MY_VMLINUZ_UUID --property \
        ramdisk_id=$MY_INITRD_UUID --file my-image.qcow2
      

    For whole disk images, skip uploading and configuring kernel and ramdisk images completely, proceed directly to uploading the main image:

    $ openstack image create my-whole-disk-image --public \
      --disk-format qcow2 --container-format bare \
      --file my-whole-disk-image.qcow2
    

    Warning

    The kernel/initramfs pair must not be set for whole disk images, otherwise they’ll be mistaken for partition images.

  3. Build or download the deploy images

    The deploy images are used initially for preparing the server (creating disk partitions) before the actual OS can be deployed.

    There are several methods to build or download deploy images, please read the Building or downloading a deploy ramdisk image section.

  4. Add the deploy images to the Image service

    Add the deployment kernel and ramdisk images to the Image service:

    $ openstack image create deploy-vmlinuz --public \
      --disk-format aki --container-format aki \
      --file ironic-python-agent.vmlinuz
    

    Store the image UUID obtained from the above step as DEPLOY_VMLINUZ_UUID.

    $ openstack image create deploy-initrd --public \
      --disk-format ari --container-format ari \
      --file ironic-python-agent.initramfs
    

    Store the image UUID obtained from the above step as DEPLOY_INITRD_UUID.