octavia.compute package

Subpackages

Submodules

octavia.compute.compute_base module

class ComputeBase[source]

Bases: object

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

Connects an existing amphora to an existing network.

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

Raises:

Exception

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

Build a new amphora.

Parameters:
  • name – Optional name for Amphora

  • amphora_flavor – Optionally specify a flavor

  • image_tag – tag of the base image for the amphora instance

  • key_name – Optionally specify a keypair

  • sec_groups – Optionally specify list of security groups

  • network_ids – A list of network IDs to attach to the amphora

  • 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 compute failed to build amphora

Returns:

UUID of amphora

abstract 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

Returns:

the server group object

abstract delete(compute_id)[source]

Delete the specified amphora

Parameters:

compute_id – The id of the amphora to delete

abstract delete_server_group(server_group_id)[source]

Delete a server group object

Parameters:

server_group_id – the uuid of a server group

abstract detach_port(compute_id, port_id)[source]

Disconnects an existing amphora from an existing port.

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

  • port_id – id of the port

Returns:

None

Raises:

Exception

abstract get_amphora(compute_id, management_network_id=None)[source]

Retrieve an amphora object

Parameters:
  • compute_id – the compute id of the desired amphora

  • management_network_id – ID of the management network

Returns:

the amphora object

Returns:

fault message or None

abstract status(compute_id)[source]

Check whether the specified amphora is up

Parameters:

compute_id – the ID of the desired amphora

Returns:

The compute “status” response (“ONLINE” or “OFFLINE”)

abstract validate_availability_zone(availability_zone)[source]

Validates that a compute availability zone exists.

Parameters:

availability_zone – Name of the compute availability zone.

Returns:

None

Raises:

NotFound

Raises:

NotImplementedError

abstract validate_flavor(flavor_id)[source]

Validates that a compute flavor exists.

Parameters:

flavor_id – ID of the compute flavor.

Returns:

None

Raises:

NotFound

Raises:

NotImplementedError

Module contents