NAME

NCM::Component::OpenNebula::AII adds AII hook to generate the required resources and templates to instantiate/create/remove VMs within an OpenNebula infrastructure.

AII

This section describes AII's OpenNebula hook.

SYNOPSIS

This AII hook generates the required resources and templates to instantiate/create/remove VMs within an OpenNebula infrastructure.

RESOURCES

AII setup

Set OpenNebula endpoints RPC connector /etc/aii/opennebula.conf

It must include at least one RPC endpoint and password.

To connect to a secure https endpoint for example you can set the URL endpoint and CA certificate location:

url=https://host.example.com:2633
ca=/etc/pki/CA/certs/mycabundle.pem

By default ONE AII uses oneadmin user and port 2633.

It is also possible to set a different endpoint for each VM domain or use a fqdn pattern as example:

[rpc]
password=
url=https://localhost/RPC2
ca=/etc/pki/CA/certs/mycabundle.pem

[example.com]
password=
user=

[myhosts]
pattern=myhos\d+.example.com
password=
url=http://example.com:2633/RPC2

Public methods

  • process_template_aii

    Detect and process OpenNebula VM templates.

  • read_one_aii_conf

    Reads a config file in .ini style with a minimal RPC endpoint setup. Returns an OpenNebula instance afterwards.

  • is_supported_one_version

    Detects OpenNebula version. Returns false if version is not supported.

  • get_fqdn

    Returns fqdn of the VM

  • get_resource_instance

    Returns ONE virtual resource instance from RPC

  • is_timeout

    Check if the resource is available before our $TIMEOUT

  • is_one_resource_available

    Detects if the resource is already there. Returns 1 if resource is already used, undef otherwise.

  • aii_post_reboot

    Performs AII post_reboot. ACPID service is mandatory for ONE VMs.

  • aii_configure

    Based on Quattor template this method:

    • Stops running VM if necessary.
    • Creates/updates VM templates.
    • Creates new VM image for each $harddisks.
    • Creates new VNET ARs if required.
    • Enables acpid service

    Rename hdx/sdx device disks by vdx to use virtio module

  • aii_install

    Based on Quattor template this method:

    • Stops current running VM.
    • Instantiates the new VM.
  • aii_remove

    Performs VM remove wich depending on the booleans.

    • Stops running VM.
    • Removes VM template.
    • Removes VM image for each $harddisks.
    • Removes vnet ARs.