octavia.network.drivers.noop_driver package

Submodules

octavia.network.drivers.noop_driver.driver module

class NoopManager[source]

Bases: object

allocate_vip(loadbalancer)[source]
apply_qos_on_port(qos_id, port_id)[source]
create_port(network_id, name=None, fixed_ips=(), secondary_ips=(), security_group_ids=(), admin_state_up=True, qos_policy_id=None)[source]
deallocate_vip(vip)[source]
delete_port(port_id)[source]
failover_preparation(amphora)[source]
get_network(network_id)[source]
get_network_by_name(network_name)[source]
get_network_configs(loadbalancer, amphora=None)[source]
get_network_ip_availability(network)[source]
get_plugged_networks(compute_id)[source]
get_port(port_id)[source]
get_port_by_name(port_name)[source]
get_port_by_net_id_device_id(network_id, device_id)[source]
get_qos_policy(qos_policy_id)[source]
get_security_group(sg_name)[source]
get_subnet(subnet_id)[source]
get_subnet_by_name(subnet_name)[source]
plug_aap_port(load_balancer, vip, amphora, subnet)[source]
plug_network(compute_id, network_id, ip_address=None)[source]
plug_port(amphora, port)[source]
plug_vip(loadbalancer, vip)[source]
qos_enabled()[source]
set_port_admin_state_up(port_id, state)[source]
unplug_aap_port(vip, amphora, subnet)[source]
unplug_network(compute_id, network_id, ip_address=None)[source]
unplug_vip(loadbalancer, vip)[source]
update_vip(loadbalancer, for_delete=False)[source]
update_vip_sg(load_balancer, vip)[source]
wait_for_port_detach(amphora)[source]
class NoopNetworkDriver[source]

Bases: octavia.network.base.AbstractNetworkDriver

allocate_vip(loadbalancer)[source]

Allocates a virtual ip.

Reserves it for later use as the frontend connection of a load balancer.

Parameters

load_balancer – octavia.common.data_models.LoadBalancer instance

Returns

octavia.common.data_models.VIP

Raises

AllocateVIPException, PortNotFound, SubnetNotFound

apply_qos_on_port(qos_id, port_id)[source]
create_port(network_id, name=None, fixed_ips=(), secondary_ips=(), security_group_ids=(), admin_state_up=True, qos_policy_id=None)[source]

Creates a network port.

fixed_ips = [{‘subnet_id’: <id>, (‘ip_address’: <IP>’)},] ip_address is optional in the fixed_ips dictionary.

Parameters
  • network_id – The network the port should be created on.

  • name – The name to apply to the port.

  • fixed_ips – A list of fixed IP dicts.

  • secondary_ips – A list of secondary IPs to add to the port.

  • security_group_ids – A list of security group IDs for the port.

  • qos_policy_id – The QoS policy ID to apply to the port.

Returns port

A port data model object.

deallocate_vip(vip)[source]

Removes any resources that reserved this virtual ip.

Parameters

vip – octavia.common.data_models.VIP instance

Returns

None

Raises

DeallocateVIPException, VIPInUseException, VIPConfiigurationNotFound

delete_port(port_id)[source]

Delete a network port.

Parameters

port_id – The port ID to delete.

Returns

None

failover_preparation(amphora)[source]

Prepare an amphora for failover.

Parameters

amphora – amphora object to failover

Returns

None

Raises

PortNotFound

get_network(network_id, context=None)[source]

Retrieves network from network id.

Parameters
  • network_id – id of an network to retrieve

  • context – A request context

Returns

octavia.network.data_models.Network

Raises

NetworkException, NetworkNotFound

get_network_by_name(network_name)[source]

Retrieves network from network name.

Parameters

network_name – name of a network to retrieve

Returns

octavia.network.data_models.Network

Raises

NetworkException, NetworkNotFound

get_network_configs(loadbalancer, amphora=None)[source]

Retrieve network configurations

This method assumes that a dictionary of AmphoraNetworkConfigs keyed off of the related amphora id are returned. The configs contain data pertaining to each amphora that is later used for finalization of the entire load balancer configuration. The data provided to these configs is left up to the driver, this means the driver is responsible for providing data that is appropriate for the amphora network configurations.

Example return: {<amphora.id>: <AmphoraNetworkConfig>}

Parameters
  • load_balancer – The load_balancer configuration

  • amphora – Optional amphora to only query.

Returns

dict of octavia.network.data_models.AmphoraNetworkConfig keyed off of the amphora id the config is associated with.

Raises

NotFound, NetworkNotFound, SubnetNotFound, PortNotFound

get_network_ip_availability(network)[source]

Retrieves network IP availability.

Parameters

network – octavia.network.data_models.Network

Returns

octavia.network.data_models.Network_IP_Availability

Raises

NetworkException, NetworkNotFound

get_plugged_networks(amphora_id)[source]

Retrieves the current plugged networking configuration.

Parameters

compute_id – id of an amphora in the compute service

Returns

[octavia.network.data_models.Instance]

get_port(port_id, context=None)[source]

Retrieves port from port id.

Parameters
  • port_id – id of a port to retrieve

  • context – A request context

Returns

octavia.network.data_models.Port

Raises

NetworkException, PortNotFound

get_port_by_name(port_name)[source]

Retrieves port from port name.

Parameters

port_name – name of a port to retrieve

Returns

octavia.network.data_models.Port

Raises

NetworkException, PortNotFound

get_port_by_net_id_device_id(network_id, device_id)[source]

Retrieves port from network id and device id.

Parameters
  • network_id – id of a network to filter by

  • device_id – id of a network device to filter by

Returns

octavia.network.data_models.Port

Raises

NetworkException, PortNotFound

get_qos_policy(qos_policy_id)[source]
get_security_group(sg_name)[source]

Retrieves the security group by it’s name.

Parameters

sg_name – The security group name.

Returns

octavia.network.data_models.SecurityGroup, None if not enabled

Raises

NetworkException, SecurityGroupNotFound

get_subnet(subnet_id, context=None)[source]

Retrieves subnet from subnet id.

Parameters
  • subnet_id – id of a subnet to retrieve

  • context – A request context

Returns

octavia.network.data_models.Subnet

Raises

NetworkException, SubnetNotFound

get_subnet_by_name(subnet_name)[source]

Retrieves subnet from subnet name.

Parameters

subnet_name – name of a subnet to retrieve

Returns

octavia.network.data_models.Subnet

Raises

NetworkException, SubnetNotFound

plug_aap_port(load_balancer, vip, amphora, subnet)[source]

Plugs the AAP port to the amp

Parameters
  • load_balancer – Load Balancer to prepare the VIP for

  • vip – The VIP to plug

  • amphora – The amphora to plug the VIP into

  • subnet – The subnet to plug the aap into

plug_network(amphora_id, network_id, ip_address=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

Returns

octavia.network.data_models.Interface instance

Raises

PlugNetworkException, AmphoraNotFound, NetworkNotFound

plug_port(amphora, port)[source]

Plug a neutron port in to a compute instance

Parameters
  • amphora – amphora object to plug the port into

  • port – port to plug into the compute instance

Returns

None

Raises

PlugNetworkException, AmphoraNotFound, NetworkNotFound

plug_vip(loadbalancer, vip)[source]

Plugs a virtual ip as the frontend connection of a load balancer.

Sets up the routing of traffic from the vip to the load balancer and its amphorae.

Parameters
  • load_balancer – octavia.common.data_models.LoadBalancer instance

  • vip – octavia.common.data_models.VIP instance

Returns

dict consisting of amphora_id as key and bind_ip as value. bind_ip is the ip that the amphora should listen on to receive traffic to load balance.

Raises

PlugVIPException, PortNotFound

qos_enabled()[source]

Whether QoS is enabled

Returns

Boolean

set_port_admin_state_up(port_id, state)[source]

Set the admin state of a port. True is up, False is down.

Parameters
  • port_id – The port ID to update.

  • state – True for up, False for down.

Returns

None

unplug_aap_port(vip, amphora, subnet)[source]

Unplugs the AAP port to the amp

Parameters
  • vip – The VIP to plug

  • amphora – The amphora to plug the VIP into

  • subnet – The subnet to plug the aap into

unplug_network(amphora_id, network_id, ip_address=None)[source]

Disconnects an existing amphora from an existing network.

If ip_address is not specificed, all the interfaces plugged on network_id should be unplugged.

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

  • network_id – id of a network

  • ip_address – specific ip_address to unplug

Returns

None

Raises

UnplugNetworkException, AmphoraNotFound, NetworkNotFound, NetworkException

unplug_vip(loadbalancer, vip)[source]

Unplugs a virtual ip as the frontend connection of a load balancer.

Removes the routing of traffic from the vip to the load balancer and its amphorae.

Parameters
  • load_balancer – octavia.common.data_models.LoadBalancer instance

  • vip – octavia.common.data_models.VIP instance

Returns

octavia.common.data_models.VIP instance

Raises

UnplugVIPException, PluggedVIPNotFound

update_vip(loadbalancer, for_delete=False)[source]

Hook for the driver to update the VIP information.

This method will be called upon the change of a load_balancer configuration. It is an optional method to be implemented by drivers. It allows the driver to update any VIP information based on the state of the passed in load_balancer.

Parameters
  • load_balancer – octavia.common.data_models.LoadBalancer instance

  • for_delete – Boolean indicating if this update is for a delete

Raises

MissingVIPSecurityGroup

Returns

None

update_vip_sg(load_balancer, vip)[source]

Updates the security group for a VIP

Parameters
  • load_balancer – Load Balancer to rpepare the VIP for

  • vip – The VIP to plug

wait_for_port_detach(amphora)[source]

Waits for the amphora ports device_id to be unset.

This method waits for the ports on an amphora device_id parameter to be ‘’ or None which signifies that nova has finished detaching the port from the instance.

Parameters

amphora – Amphora to wait for ports to detach.

Returns

None

Raises

Module contents