Previous Topic: UtilitiesNext Topic: image2class: Virtual Machine Image Import Utility


iso2class: Appliance Distro Creation Utility

This section contains the following topics:

Overview

Usage

ISOs used for OS installations

Graphical Console Access

Operation

Operating System Specific Considerations

Appliance access to files on the grid controller

Notes

Overview

The iso2class utility makes it easy to create new OS distros for appliances. The iso2class utility is used to create a singleton class using an OS installed from an ISO image.

iso2class creates and starts an application which is used to install an operating system from an ISO image onto a volume. This application is generated from a template and contains a singleton named iso2class. The boot volume of the singleton is an ISO image. A second volume on the singleton is the target for the OS install.

The result is a singleton with a single volume which contains the installed OS. This singleton can be moved into a catalog and be used as the basis for creating new appliance classes.

Important!

Usage

Create a singleton class using an OS installed from an ISO image

Syntax
util iso2class app_name=<name> install_size=<size> console_type=<type> iso_volume1=<name> (iso_volume2=<name> iso_volume3=<name> iso_volume4=<name> (<prop>=<val>)*)
Options
app_name=<name>

Name of application to create which will include the singleton.

install_size=<size>

Size of the target volume for the OS install. Format is: <val>[M|G]. Units default to MB unless otherwise specified. Minimum is 10 MB.

console_type=<type>

Type of console to use for OS install. Valid values are 'text' and 'graphic'.

iso_volume1=<name>

The ISO volume to boot from to perform the OS install. _GLOBAL:vol_name copies an existing global volume. http://<path> imports the volume from a URL. vol_name imports the volume from the _impex volume of the grid.

iso_volume2=<name>

optional volume in the same format as iso_volume1. Typically this is a second disk where the install requires multiple CDs or DVDs.

iso_volume3=<name>

An optional volume in the same format as iso_volume1. Typically this is a third disk where the install requires multiple CDs or DVDs.

iso_volume4=<name>

An optional volume in the same format as iso_volume1. Typically this is a fourth disk where the install requires multiple CDs or DVDs.

<prop>=<val>

Operational parameters. The following parameters may be specified:

Notes
Supported Operating Systems

For the latest list of the supported operating systems, please refer to the Release Notes or Appliance Developer Guide.

Examples
util iso2class app_name=my-app iso_volume1=_GLOBAL:win-disk-1.iso iso_volume2=_GLOBAL:win-disk-2.iso install_size=3G console_type=graphic virt_options=acpi=1 os=windows

util iso2class app_name=my-app iso_volume1=http://path-to-iso-image url_volume1_size=1G install_size=5G console_type=text mem=1G cpu=1.0
ISOs used for OS installations

Creating new appliances for specific operating systems requires the use of ISO images, such as cd-rom or DVD. The ISO is used to install the OS inside of an appliance using the iso2class utility. The ISO may be stored on the grid impex volume or a global volume, or from a remote website using HTTP.

CA AppLogic has tested various ISOs downloaded from the web. This includes: Microsoft and Ubuntu/Debian/CentOS 5 as well as Microsoft SPLA Windows CD-ROMs (32-bit R2 Standard/Enterprise/Datacenter/Web editions).

To use the SPLA Windows CD-ROMs to create Windows appliances, the ISO images must be created from the CD-ROMs so that they can be used with iso2class.

You can create an ISO from a CD-ROM for any OS distribution that you want to use for your appliances:

Follow these steps:

  1. Attach a CD-ROM drive to one of your Linux-based servers, if needed, and insert the CD-ROM into the CD-ROM drive.
  2. Use the mount command to verify the CD-ROM is mounted.

    If the CD-ROM is mounted, unmount it: umount /mnt/cdrom

  3. Run the following command:
    dd if=/dev/cdrom of=my-image.iso 
    

    This command makes a block-level copy of the CD-ROM into the specified ISO image file. The resulting ISO image file is an exact copy of the CD-ROM.

    my-image.iso is now the ISO image you can use with iso2class to create your own Windows appliances. Typically this image is copied to the grid impex volume and imported as a global volume using vol import _GLOBAL:win03iso my-image.iso.

    When using the iso2class utility, _GLOBAL:win03iso would be the ISO image to use for the OS installation.

Important! CA AppLogic has only tested OS installations using the ISOs mentioned above. If the ISO images are generated in any other way, such as a 3rd party ISO ripping tool/application, the resulting ISOs may not work.

Graphical Console Access

The graphical console used during OS installations requires the latest version of Java in your IE/FF browser. CA AppLogic has tested Java version 6 update 7 on IE/FF.

If the latest version of Java is not used, the graphical console may not work correctly. For example: it will hang while trying to load. Before reporting graphical console errors, verify that you are using the latest Java version. If you need to upgrade java in your browser, re-open your browser afterward for the graphical console to work correctly.

Operation

iso2class is an interactive utility which progresses through the following steps:

Operating System Specific Considerations

When you use the "3t util iso2class" if os= is not specified, a s list of supported Windows and Linux operating systems displays.

This section contains information on both Windows and Linux operating systems.

Windows

It may be required to access the external network during OS installation to: Activate Windows, install security updates, install service packs, install tools or other software which you want to be present on any appliance derived from the iso2class singleton.

Configure external interface

The external interface (Local Area Connection) can be configured using either of these methods.

When you have finished using the external interface, use the Control Panel to reset the interface to DHCP (Obtain an IP address automatically).

Copy msi file to iso2class singleton

Windows MSI files are included with CA AppLogic which transforms a clean install of Windows 2008 SP2 into a managed appliance.

You can copy an msi file to the iso2class singleton:

Follow these steps:

  1. Execute ipconfig /all in a Windows command shell and note the IP address of the DHCP server for the last enumerated connection. This always corresponds to the default interface. The list may display out of order.
  2. Open the URL http://IP-address:8080/download/ using Internet Explorer to obtain a directory listing which includes the MSI files.
  3. Right-click one of the MSI files and select Save Target As to download the file to the desktop.

Important!

For detailed instructions on creating Windows appliances on your grid, refer to the Appliance Developer Guide.

If the option os=windows is used, then iso2class configures the boundary of the singleton to use a copy of the volume _GLOBAL_RO:apk_windows.

This volume contains the following files:

Linux

The following OS specific notes have been garnered from practical experience:

Do not install the CA AppLogic Linux-based APKs during the iso2class OS installation. The iso2class singleton is HVM, while the Linux APKs are intended to be used with PV appliances.

However, if you do install a Linux OS with iso2class, use the hvm2pv (hvm2pv: Hardware Emulation to Paravirtualized Appliance Conversion Utility, http://www.) utility to convert the HVM appliance to a fully managed PV appliance that includes a Linux APK.

Important! If you intend to convert a HVM Linux appliance to PV, pay particular attention to the section of the hvm2pv documentation titled Preparing for hvm2pv conversion.

Once an HVM Linux appliance is properly prepared as outlined in the hvm2pv documentation, it is possible to perform the conversion manually. There are two basic steps in the conversion process.

To strip the MBR from the resulting volume

  1. Create a new application including a branched LUX6 or LUX64 if your OS is 64-bit with two placeholder volumes, src and dst
  2. Copy the boot volume of the iso2class singleton to the src volume of the new application.
  3. Create an ext3 dst volume of the same size or larger.
  4. Edit the ADL class descriptor of the singleton and change the device of the src volume from dev = /dev/hda3 to dev = /dev/hdc and click OK to save the change.
  5. Start the application and ssh into the singleton.
  6. Mount the src volume. For example: mkdir /src ; mount /dev/hdc1 /src
  7. Mount the dst volume. For example: mkdir /dst ; mount /dev/hda4 /dst
  8. Copy the installed OS: cd /src ; /usr/bin/find . -depth -mount -print | /bin/cpio -pdmu /dst

To install Linux APK on the file system mounted on /dst

  1. Determine the IP address of the DHCP server for the internal interface of the branched LUX appliance: ifconfig -a and note the broadcast subnet of the last enumerated network interface. For example 10.47.255.255. The IP address for the DHCP server is identical, except for the last number which is 254. For example, 10.47.255.254.
  2. wget http://IP-address:8080/download/ to obtain a file index.html which lists all of the files, including the various ARP (Address Resolution Protocol), that are downloadable from the controller.
  3. Use wget again to download the appropriate APK and domu package.
  4. Follow the relevant APK installation document for your OS in the Linux Installation section of the Appliance Developer Guide:
  5. Use the resulting dst volume as the boot volume of a singleton.

If the option os=linux is used, then iso2class configures the boundary of the singleton to use a copy of the volume _GLOBAL_RO:apk_linux. This volume contains the following files:

Appliance access to files on the grid controller

For a list of files that are available to appliances through their default interface, refer to Accessing Files on the Grid Controller from within an Appliance.

Notes