octavia.compute.drivers package¶
Subpackages¶
- octavia.compute.drivers.noop_driver package
- Submodules
- octavia.compute.drivers.noop_driver.driver module
NoopComputeDriver
NoopComputeDriver.attach_network_or_port()
NoopComputeDriver.build()
NoopComputeDriver.create_server_group()
NoopComputeDriver.delete()
NoopComputeDriver.delete_server_group()
NoopComputeDriver.detach_port()
NoopComputeDriver.get_amphora()
NoopComputeDriver.status()
NoopComputeDriver.validate_availability_zone()
NoopComputeDriver.validate_flavor()
NoopManager
NoopServerGroup
- Module contents
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:
ComputePortInUseException – The port is in use somewhere else
ComputeUnknownException – Unknown nova error
- 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_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