Skip to end of metadata
Go to start of metadata

In Abiquo 3.1 and above, you can insert Unix bootstrap scripts to execute on first boot of your virtual machines in public cloud.

Cloud provider support

You can use the bootstrap script feature in all public cloud providers supported by Abiquo.

VM support

(tick) Bootstrap scripts can be used on all UNIX VMs
(error) Windows virtual machines are not yet supported

VM access

You must open port 22 on the virtual machine. In the cloud providers that support Firewalls (such as AWS, HP Cloud and Google Compute Engine), you can use the Abiquo firewalls feature to allow access. 

Abiquo will connect to the virtual machine via SSH and upload the bootstrap script before running it.  If you have a public SSH key configured in Abiquo, it will also be installed on the virtual machine to allow easy access to it.

Depending on the features supported by the cloud provider, Abiquo might create a key pair to be used to access the virtual machine, or might use the default (well known) credentials for the image.

The only requirement is that the virtual machines that are being configured have a public IP address (or a reachable IP address) and have a running SSH server and the port 22 accessible. Abiquo will use an SSH connection to the virtual machine to run the bootstrap script on it.

Add a bootstrap script for a virtual machine

Edit the virtual machine, and open the Bootstrap script tab. Paste your script in the text box.

Do not use any headers, such as #!/bin/sh, because your script will be included in an Abiquo wrapper bash script


With this feature you can use your own scripts or tools such as Ansible to configure your virtual infrastructure. See also http://www.abiquo.com/2014/05/14/abiquo-dynamic-inventory-plugin-for-ansible/

Implementation

Abiquo will wrap the user's bootstrap script in another bash script. This is done to provide a way to store the output and the errors that the script might generate, so users can troubleshoot it if something does not work as expected. Therefore you should not include script headers because they are already included in the wrapper script. Abiquo names the wrapper script  "abiquo-bootstrap". Abiquo will upload the script to the virtual machine and leave a symbolic link to the script location in the user's home directory. 

Check script status and output

From your home directory, use the following commands to see the output and  status of the script:

  • ./abiquo-bootstrap status - Shows the PID of the bootstrap process (or nothing if it has finished).
  • ./abiquo-bootstrap stdout - Shows the full standard output for the bootstrap process.
  • ./abiquo-bootstrap stderr - Shows the full error output for the bootstrap process.
  • ./abiquo-bootstrap tail - Shows the last lines of the standard output for the bootstrap process.
  • ./abiquo-bootstrap tailerr - Shows the last lines of the error output for the bootstrap process.
  • ./abiquo-bootstrap exitstatus - Shows the exit code of the bootstrap process (0 usually means success).
  • No labels