octavia.compute.drivers package

Subpackages

Submodules

octavia.compute.drivers.nova_driver module

class VirtualMachineManager[source]

Bases: ComputeBase

Compute implementation of virtual machines via nova.

attach_network_or_port(compute_id, network_id=None, ip_address=None, port_id=None)[source]

Attaching a port or a network to an existing amphora

Parameters:
  • compute_id – id of an amphora in the compute service

  • network_id – id of a network

  • ip_address – ip address to attempt to be assigned to interface

  • port_id – id of the neutron port

Returns:

nova interface instance

Raises:
build(name='amphora_name', amphora_flavor=None, image_tag=None, image_owner=None, key_name=None, sec_groups=None, network_ids=None, port_ids=None, config_drive_files=None, user_data=None, server_group_id=None, availability_zone=None)[source]

Create a new virtual machine.

Parameters:
  • name – optional name for amphora

  • amphora_flavor – image flavor for virtual machine

  • image_tag – image tag for virtual machine

  • key_name – keypair to add to the virtual machine

  • sec_groups – Security group IDs for virtual machine

  • network_ids – Network IDs to include on virtual machine

  • port_ids – Port IDs to include on virtual machine

  • config_drive_files – An optional dict of files to overwrite on the server upon boot. Keys are file names (i.e. /etc/passwd) and values are the file contents (either as a string or as a file-like object). A maximum of five entries is allowed, and each file must be 10k or less.

  • user_data – Optional user data to pass to be exposed by the metadata server this can be a file type object as well or a string

  • server_group_id – Optional server group id(uuid) which is used for anti_affinity feature

  • availability_zone – Name of the compute availability zone.

Raises:

ComputeBuildException – if nova failed to build virtual machine

Returns:

UUID of amphora

create_server_group(name, policy)[source]

Create a server group object

Parameters:
  • name – the name of the server group

  • policy – the policy of the server group

Raises:

Generic exception if the server group is not created

Returns:

the server group object

delete(compute_id)[source]

Delete a virtual machine.

Parameters:

compute_id – virtual machine UUID

delete_server_group(server_group_id)[source]

Delete a server group object

Raises:

Generic exception if the server group is not deleted

Parameters:

server_group_id – the uuid of a server group

detach_port(compute_id, port_id)[source]

Detaches a port from an existing amphora.

Parameters:
  • compute_id – id of an amphora in the compute service

  • port_id – id of the port

Returns:

None

get_amphora(compute_id, management_network_id=None)[source]

Retrieve the information in nova of a virtual machine.

Parameters:
  • compute_id – virtual machine UUID

  • management_network_id – ID of the management network

Returns:

an amphora object

Returns:

fault message or None

status(compute_id)[source]

Retrieve the status of a virtual machine.

Parameters:

compute_id – virtual machine UUID

Returns:

constant of amphora status

validate_availability_zone(availability_zone)[source]

Validates that an availability zone exists in nova.

Parameters:

availability_zone – Name of the availability zone to lookup.

Raises:

NotFound

Returns:

None

validate_flavor(flavor_id)[source]

Validates that a flavor exists in nova.

Parameters:

flavor_id – ID of the flavor to lookup in nova.

Raises:

NotFound

Returns:

None

Module contents