Publishing a Machine Image

Note

When publishing an image, you have to comply with the license agreement of OSes and software which UForge handles, in particular:

  • Publishing OS image of RHEL subscription to public cloud
    Cloud provider has to be CCSP (Certified Cloud & Service Provider) and be registered to Red Hat Cloud Access. For more details, please confirm with cloud provider.
  • Publishing Windows OS image
    You must acquire Windows licenses in order to handle Windows OSes in UForge and confirm usage conditions of cloud provider and virtualization software which you publish to.

In order to publish a machine image to a cloud environment or container, you must already have credentials to access that environment.

Note

If you want to publish a Windows image to KVM on Red Hat Linux you need to inject specific VirtIO drivers. See the specific procedure documented in Publishing a Windows Image to KVM on Red Hat Linux.

Note

To boot up a Windows image on KVM, you should specify ‘VirtIO’ as a disk bus type. You should not specify ‘IDE’ or other types.

Note

Before publishing a Windows image to AWS, vmimport role must be properly assigned to an AWS account. An access right to S3 bucket is also required for an account. Refer to the procedure in VM Import Service Role section of the AWS documentation. Because the name of a S3 bucket changes for each image publish, you should give access to any buckets using a wildcard *. For an example, refer to :ref: windows-aws-s3.

  1. If not already done, create an account for the target environment. For more information, see Managing Cloud Accounts.

  2. Go to the appliance and click the Machine Images page. If you have not generated a machine image, you will need to do so as described in Generating a Machine Image.

  3. Click on the arrow pointing to the right to publish your image.

    ../../_images/machine-image-publish.png
  4. Following the instructions in the tooltips, choose the account and fill in any additional information required.

Note

When publishing to Microsoft Azure you should note the following restrictions:

  • The storage account must exist in your Microsoft account
  • The container is mandatory. If the value you set does not match an existing container it will be created with the new name you have set.
  • The blob and cloud image name must be unique. If they already exist, this will overwrite an existing one with the same name.
  • The resource group is optional. If you enter a value here, it must already exist in your Microsoft account.
../../_images/machine-image-publish-arm.png
  1. Click publish.

Note

Publishing an image to Amazon and Outscale will be billed to the user account. Trial Amazon accounts are not supported for publishing images from UForge. Only full Amazon accounts can be used.

Note

Currently, publications to Docker are only supported for Docker Registry v2.

Note

Currently, publishing a Windows Server 2008 R2 machine image to Azure Stack is not supported.

  1. The publication will take a few minutes to complete (depending on the size of the image and the network connectivity between UForge and the target environment). The publication progress is shown. At the end of the publication, the machine image has been published by UForge to your target environment. The published image can be found in the target cloud environment or container.

Note

If your publication to AWS or Outscale fails with a message Unable to connect to proxy, this may be due to your security settings on your AWS or Outscale account. Your default security group in your AWS or Outscale account must allow SSH from UForge AppCenter compute nodes. You may need to contact your administrator to obtain the IP addresses of the compute nodes in the case of a multi-node deployment of AppCenter.

UForge does not launch instances in the target cloud environment. If you wish to launch an instance from this machine image, you should go to your target cloud environment console for further actions.

Note

When you publish an image to Amazon or OpenStack, and you have the correct UForge entitlements, you will be able to launch your machine image directly from UForge using the Deploy option, without having to connect to your cloud platform. Refer to Deploying a Machine Image.

Note

When you publish an image to VMware, the result will be a template and not a virtual machine.

Note

When you publish an image to Azure Stack, the result will be a VHD file on the specified BLOB. Virtual Machines can then be created from these VHD files either manually or by using scripts.

Warning

If your Fujitsu K5 publish failed, there may be data published to cloud, incurring costs, even if not visible on your cloud account. You should run a cleanup manually. Refer to Chapter 2.7 Object storage of the FUJITSU Cloud Service K5 IaaS API Reference (Foundation Service) guide

Publishing a Windows Image to KVM on Red Hat Linux

If you want to publish a Windows image to KVM on Red Hat Linux you need to inject specific VirtIO drivers.

  1. In order to add the specific drivers, the Red Hat VirtIO drivers can be either added to AppCenter as a Project if it has been added to your AppCenter by the administrator, or using MySoftware.

    Note

    If you create a specific VirtIO driver (refer to Adding Software from Your Software Library for more information), the software bundle MUST have a prefixed name UForgeWinDrivers.

The following files should be included in your software bundle:

  • viostor.sys
  • viostor.inf
  • viostor.cat
  • vioscsi.sys
  • vioscsi.inf
  • vioscsi.cat
  • netkvm.sys
  • netkvm.inf
  • netkvm.cat
  1. When creating your appliance template, add the Project or MySoftware bundle that contains the VirtIO drivers.
  2. Generate the machine image.
  3. Publish the machine image.

Publishing a Windows Image to Azure Using Migration

Note

In order to install Azure Virtual Machine Agent, .NET Framework 4.0 or later is required and should be installed in the source machine or in the golden image in advance.

When publishing a machine image to Azure through the migration workflow, there are some prior steps to be performed. Please refer to Microsoft’s guide on How to prepare a VHD image for upload, more specifically the following sections:

  • Set Windows configurations for Azure
  • Check the Windows services
  • Update Remote Desktop registry settings
  • Configure Windows Firewall rules
  • Verify VM is healthy, secure, and accessible with RDP
  • Install Windows Updates

When publishing a Windows machine image to Azure, depending on the generation method of the machine image, the published image can be listed on Azure portal under either Images or Disks, according to the cases listed below:

  1. The published image will be listed under Disks when:

    • performing a blackbox migration of a Windows machine;
    • performing a whitebox migration of a Windows machine with the appliance configured as to not run sysprep automatically on its first boot.

    Note

    In these cases, the Azure Virtual Machine Agent should be installed manually before the migration process.

  2. The published image will be listed under Images when:

    • performing a whitebox migration of a Windows machine with the appliance configured to run sysprep automatically on its first boot;

      Note

      If Run Sysprep is enabled in the appliance configuration, any password settings defined under the Administrator section of the appliance will not be reflected in the published image. Password settings should be configured on the Azure portal instead.

    • the Windows machine image was generated using a manually created Golden Image.

      Warning

      When publishing to Azure an image generated using a manually created Golden Image, the Install Profile default settings of the appliance should not be modified. If you need to change the disk size, you can change it on the image generation page.

    Note

    In these cases, the Azure Virtual Machine Agent will be installed automatically as part of Azure’s internal processing to register the machine image.