Skip to main content

Boot from ISO

This section outlines how to boot an application instance (or VM) from an ISO, which is accomplished by changing the libvirt media for a given ThinkAgile CP application instance and then intervening on the console for an instance.

Overview of the Process

The high-level process is described as follows:
  1. Stage the media on the compute controller on which the VM is running.
  2. Use the iso-mount.py script to change the CD-ROM media on the VM from the ThinkAgile CP guest agent ISO to the locally-staged ISO..
  3. Trigger a VM reboot, and then, from the boot console, use the ESC key to select the CD-ROM as the boot device.

Prerequisites

  • A compute node specific tag defined in ThinkAgile CP Cloud Controller. (This needs to be applied to the VM, thus 'tying' it to the node. This is done because the ISO file needs to be located on the same compute node).
  • A folder (such as, /iso) in which to copy the .iso file and the iso-mount.py script, which attaches it to the VM. This folder is located on the same compute node as the VM. You may need to change permissions (for example, chmod it to 755).
  • The desired ISO file and the iso-mount.py script copied to the folder mentioned above (for example, /iso).

Procedure

  1. In the ThinkAgile CP Cloud Controller, use compute tags to pin and/or migrate the ThinkAgile CP application to a known location.
    1. Identify or create a node-specific tag for the Migration Zone the application is in, and apply that tag to the application.
    2. Use the Node filters in the ThinkAgile CP Cloud Controller to confirm that any applicable migration has occurred.
  2. Stage the ISO on the compute controller:
    1. SCP the ISO to the compute controller and place it in a known location (for example, /iso). You can ssh as "manager" and then sudo as root.
    2. Ensure the ISO is owned by root and is chmod'ed 755 (This should be done for the folder /iso in our example).
  3. Run the iso-mount.py script on the compute controller:
    1. Download iso-mount.py to the same folder (for example, /iso) and chmod 750 to make it executable, and then run the script with the syntax:

      ./iso-mount.sh <vdc-name> <vm-name> <iso-filename>

      Example:

      ./iso-mount.sh "MM Training" "Migration Manager Console" /tmp/centos-7-install.iso

    2. The media should be changed, and the new ISO should appear in the VM should it be booted.
  4. Open a Console window and trigger a reboot to choose the DVD as the boot device:
    1. Trigger a reboot, either via ThinkAgile CP Cloud Controller or via a graceful reboot in the guest VM.
    2. While the VM is booting, type ESC during the BIOS boot screen, and then you will see an option to choose the DVD as the boot device:



    3. Choose the DVD and boot accordingly.
  5. When done, go to ThinkAgile CP Cloud Controller, and insert guest tools, which will unmount your ISO and replace it with the guest tools, as before.
    1. You can now remove the staged ISO.
    2. Remove tags as needed to allow the VM to migrate.