Skip to main content

Prepare an ISO image for use with the cloud platform

If you have uploaded to the image storage an ISO image with an operating system distribution, we recommend making it fully compatible with the Servercore cloud platform. From a compatible image, you can create cloud servers that will have the same functionality as servers from ready-made images.

Prepare a Windows image

  1. Prepare the ISO image locally.
  2. Upload the ISO image to the image storage.
  3. Modify the Windows image properties.

1. Prepare the ISO image locally

  1. On your local computer, extract the ISO image archive to a separate directory using an archiver, for example 7-zip, WinRAR, tar.

  2. Download the VirtiO drivers as an ISO image from the Fedora People repository.

  3. Create a Drivers directory.

  4. Extract the ISO image with VirtiO drivers to the Drivers directory using an archiver, for example 7-zip, WinRAR, UltraISO.

  5. Transfer the Drivers directory containing the VirtiO drivers to the directory of the Windows ISO image you unpacked in step 1.

  6. Install the DISM++ utility for image management.

  7. Open DISM++.

  8. Build the installation image; to do this, go to the Toolkit section and select ISO Maker.

2. Upload the ISO image to the image storage

Use the Upload and create an image from a file subsection of the Upload and create an image guide.

Specify:

  • file — the image that you prepared in step 1;
  • OS — Windows;
  • image format — iso;
  • container format — bare.

3. Modify image properties

  1. Open the OpenStack CLI.

  2. Display the IDs of available images:

    openstack image list

    A list of images will appear in the response. Copy the ID of the image you uploaded in step 2.

  3. Optional: view image properties:

    openstack image show
  4. Add the necessary properties:

    openstack image set \
    --property hw_disk_bus=scsi \
    --property hw_firmware_type=uefi \
    --property hw_qemu_guest_agent=yes \
    --property hw_scsi_model=virtio-scsi \
    --property os_type=windows \
    --property x_sel_image_agent_type=cloudbase-init \
    --property x_sel_image_os_arch=amd64 \
    --property x_sel_image_os_dist=windows \
    --property x_sel_image_os_type=windows \
    --property x_sel_image_type=master \
    --property x_sel_kpti_patch=true \
    <image_id>

    Specify <image_id> — the ID of the image you copied in step 2.