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 – Availability zone data dict 
 
- 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 
 
 
