AllowedAddressPairsDriver
[source]¶Bases: octavia.network.drivers.neutron.base.BaseNeutronDriver
allocate_vip
(load_balancer)[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 |
deallocate_vip
(vip)[source]¶Delete the vrrp_port (instance port) in case nova didn’t
This can happen if a failover has occurred.
failover_preparation
(amphora)[source]¶Prepare an amphora for failover.
Parameters: | amphora – amphora object to failover |
---|---|
Returns: | None |
Raises: | PortNotFound |
get_network_configs
(loadbalancer)[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 |
---|---|
Returns: | dict of octavia.network.data_models.AmphoraNetworkConfig keyed off of the amphora id the config is associated with. |
Raises: | NotFound, NetworkNotFound, SubnetNotFound, PortNotFound |
plug_network
(compute_id, network_id, ip_address=None)[source]¶Connects an existing amphora to an existing network.
Parameters: |
|
---|---|
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: |
|
---|---|
Returns: | None |
Raises: | PlugNetworkException, AmphoraNotFound, NetworkNotFound |
plug_vip
(load_balancer, 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: |
|
---|---|
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 |
unplug_network
(compute_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: |
|
---|---|
Returns: | None |
Raises: | UnplugNetworkException, AmphoraNotFound, NetworkNotFound, NetworkException |
unplug_vip
(load_balancer, 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: |
|
---|---|
Returns: | octavia.common.data_models.VIP instance |
Raises: | UnplugVIPException, PluggedVIPNotFound |
update_vip
(load_balancer, 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: |
|
---|---|
Raises: | MissingVIPSecurityGroup |
Returns: | None |
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: |
|
BaseNeutronDriver
[source]¶Bases: octavia.network.base.AbstractNetworkDriver
get_network
(network_id)[source]¶Retrieves network from network id.
Parameters: | network_id – id of an network to retrieve |
---|---|
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_plugged_networks
(compute_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)[source]¶Retrieves port from port id.
Parameters: | port_id – id of a port to retrieve |
---|---|
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: |
|
---|---|
Returns: | octavia.network.data_models.Port |
Raises: | NetworkException, PortNotFound |
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.