

Reference Information › Command Line Shell Reference Guide › Shell Commands › Utilities › iso2class: Appliance Distro Creation 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!
- See the OS Product Characteristics in the Release Notes for important information about the supported operating systems.
- iso2class requires that the servers in the grid contain either Intel VT or AMD-V for hardware virtualization support (HVM). If HVM is not available on the grid, iso2class cannot be used.
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:
- os - Name of the OS. This will be put in the descriptor of the appliance. See the Supported Operating Systems section for list of allowed values. If an invalid or no value is specified, iso2class will print the list of supported operating systems and prompt for a choice.
- virt_options - Virtualization options in the form of a comma-separated list of <option>=<val> pairs. This value becomes the 'Options' setting in the appliance class, and can be viewed/set in the Infrastructure Editor on the General tab of the Class Editor. For example: virt_options=acpi=1
- virt_mode - Virtualization mode when hvm2pv is used to convert the class to a managed appliance. Valid values are 'xen_pv', 'xen_hvm' and 'vmware'. More than one value can be specified, separated by a coma. Default: 'xen_pv,xen_hvm,vmware'. This has no effect if hvm2pv is not run, in which case virtualization mode will be set to 'xen_hvm,vmware'.
- url_volume1_size - Size of the volume to create when importing a compressed ISO image. If not specified, the image must be uncompressed twice. Format is: <val>[M|G]. Units default to MB unless otherwise specified. Minimum is 10 MB.
- url_volume2_size - Size of the volume to create when importing a compressed ISO image for iso_volume2
- url_volume3_size - Size of the volume to create when importing a compressed ISO image for iso_volume3
- url_volume4_size - Size of the volume to create when importing a compressed ISO image for iso_volume4
- url_user - User name for authentication when importing a volume from a URL. If not specified, no authentication is assumed.
- url_pwd - Password for authentication when importing a volume from a URL.
- cpu - Default CPU allocation for the singleton. Format is: <val>[%].
- mem - Default memory allocation for the singleton. Format is: <val>[M|G]
- bw - Default bandwidth allocation for the singleton. Format is: <val>[M|G]
- scsi - Set to 1 for the appliance to use SCSI disks as opposed to IDE disks. Default is 0 (use IDE disks).
Notes
- The url_volumeX size should be specified when importing a compressed volume from a URL. If a volume size is not specified, the image is essentially downloaded and uncompressed twice - once to get the uncompressed size and once to transfer the actual data.
- Once the OS install is complete, the application is stopped and the following modifications are made to the singleton:
- Remove iso_volumes from the singleton
- Disable the external interface.
- Add 'in', 'out', 'net' and 'mon' terminals.
- Set the field engineering code according to whether the singleton is managed (for example, contains a Windows MSI install).
Supported Operating Systems
For the latest list of the supported operating systems, please refer to the Release Notes or Appliance Developer Guide.
- win864e - Microsoft Windows 8 Enterprise Edition SP1, 64-bit
- win8e - Microsoft Windows 8 Enterprise Edition SP1, 32-bit
- win764e - Microsoft Windows 7 Enterprise Edition SP1, 64-bit
- win7e - Microsoft Windows 7 Enterprise Edition SP1, 32-bit
- win2012r2 - Microsoft Windows 2012, 64-bit
- win1264dc - Microsoft Windows Server 2012 DataCenter Edition 64-bit
- win1264s - Microsoft Windows Server 2012 Standard Edition 64-bit
- win2008r2-64 - Microsoft Windows Server 2008 R2, 64-bit
- win2008 - Microsoft Windows Server 2008, 32-bit
- linux - Linux (32-bit)
- linux-64 - Linux (64-bit)
- other - Other (32-bit)
- other-64 - Other (64-bit)
- windows - same as win2008r2-64 (backward compatibility)
- win2008r2-64 - Microsoft Windows Server 2008 R2, 64-bit
- win2008 - Microsoft Windows Server 2008, 32-bit
- linux - Linux (32-bit)
- linux-64 - Linux (64-bit)
- other - Other (32-bit)
- other-64 - Other (64-bit)
- windows - same as win2008r2-64 (backward compatibility)
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:
- Attach a CD-ROM drive to one of your Linux-based servers, if needed, and insert the CD-ROM into the CD-ROM drive.
- Use the mount command to verify the CD-ROM is mounted.
If the CD-ROM is mounted, unmount it: umount /mnt/cdrom
- Assumption: the CD-ROM device is referred to as /dev/cdrom on your Linux server
- 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:
- iso2class creates and starts the named application. This application includes a singleton containing a boot volume (the ISO image) and a target volume for the OS install.
- The user performs the OS install by accessing the console of the singleton iso2class within the application.
To access the console, either:
- Select the application in the Application list in the GUI, then click the icon for Login (text) or Login (graphic).
- Or, open the application in the Infrastructure Editor and select the singleton iso2class, then use the Appliance menu to select Login (text) or Login (graphic).
- Only iso_volume1 is available during the install.
If iso_volume2 or iso_volume3 or iso_volume4 was specified on the command line, the singleton is restarted, using the target volume of the OS install as the boot volume, and including the additional iso_volumes.
- If installing a Windows OS, the user should install the Windows Server MSI. For complete instructions on creating Windows appliances, see Windows Installation in the Appliance Developer Guide.
- Upon user confirmation of a completed installation, iso2class stops the application and requires user input to indicate how the finished appliance should be managed by CA AppLogic:
- fully managed - the appliance has the appropriate APK installed. For Windows, the APK is included in the Windows Server MSI.
- unmanaged - the appliance has no APK installed. It uses field engineering code 4, does not send events to the grid controller, does not auto-configure its interfaces, and does not obtain properties from its boundary configuration.
- iso2class modifies the singleton as follows:
- Target volume of the OS install os_install is made the boot volume of the singleton.
- External interface is disabled.
- in, out, net and mon terminals are added.
- Appropriate field engineering code is set.
- The application is started.
The resulting singleton uses HVM virtualization (hardware emulation).
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.
- Use the console to access Control Panel, Network Connections, Local Area Connection, Properties, Internet Protocol (TCP/IP), Properties. Click Use the following IP address and enter values, such as IP Address, netmask, gateway, and DNS server.
- Open a command shell and:
- netsh interface IP set address name="Local Area Connection" static [ip-address] [netmask] [gateway] 1
- netsh interface ip set dns name="Local Area Connection" static [dns-ip]
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:
- 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.
- Open the URL http://IP-address:8080/download/ using Internet Explorer to obtain a directory listing which includes the MSI files.
- Right-click one of the MSI files and select Save Target As to download the file to the desktop.
Important!
- When using iso2class to install Windows, you must specify the virt_options=acpi=1 command line option.
- Windows MSIs automatically install the APK in your Windows appliance.
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:
- apk-X.X.X-windows.tar.gz - Windows APK
- TurboGate_GTools-X.exe - TurboGate PV drivers
- Server_Windows-X.X.X-X.msi - Windows generic server appliance MSI
- VDS_Windows-X.X.X-X.msi - Windows VDS MSI
- Filer_Windows-X.X.X-X.msi - Windows Filer MSI
- IIS_Windows-X.X.X-X.msi - Windows IIS server MSI
- SQL_Windows-X.X.X-X.msi - Windows SQL Server MSI
Linux
The following OS specific notes have been garnered from practical experience:
- SUSE Linux Enterprise Server (SLES) 11 does not recognize the cd-rom device during installation with iso2class.
To work around this, configure the installer to use /dev/hdc for the source device of the installation.
- Ubuntu variants may automatically setup the default route on the internal interface.
If this occurs, set the default route to the external interface with:
- route del default
- route add default gw IP eth0 where IP is the IP address of the gateway on the external interface
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.
- Strip the MBR from the resulting volume.
- Install a Linux APK on the file system mounted on /dst.
To strip the MBR from the resulting volume
- Create a new application including a branched LUX6 or LUX64 if your OS is 64-bit with two placeholder volumes, src and dst
- Copy the boot volume of the iso2class singleton to the src volume of the new application.
- Create an ext3 dst volume of the same size or larger.
- 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.
- Start the application and ssh into the singleton.
- Mount the src volume. For example: mkdir /src ; mount /dev/hdc1 /src
- Mount the dst volume. For example: mkdir /dst ; mount /dev/hda4 /dst
- 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
- 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.
- 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.
- Use wget again to download the appropriate APK and domu package.
- Follow the relevant APK installation document for your OS in the Linux Installation section of the Appliance Developer Guide:
- 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:
- apk-X.X.X-linux-rh.tar.gz - Red Hat Linux APK
- apk-X.X.X-linux-su.tar.gz - SUSE Linux APK
- apk-X.X.X-linux-ub.tar.gz - Ubuntu/Debian Linux APK
- domu-X.X.X.X.i386.tar.gz - 32-bit domU CA AppLogic package
- domu-X.X.X.X.x86_64.tar.gz -64-bit domU CA AppLogic package
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
- If an OS reboot is performed while a text or graphic console is open, that console becomes non-operational. Simply close the console window and open the console again to obtain the console of the newly booted image.
- During the OS installation, when applicable, it is convenient to change the screen resolution to at least 800x600. Windows OS will recommend changing the resolution after the first login.
Copyright © 2013 CA Technologies.
All rights reserved.
 
|
|