octavia.amphorae.backends.utils package¶
Submodules¶
octavia.amphorae.backends.utils.haproxy_query module¶
-
class
HAProxyQuery
(stats_socket)[source]¶ Bases:
object
Class used for querying the HAProxy statistics socket.
The CSV output is defined in the HAProxy documentation:
http://cbonte.github.io/haproxy-dconv/configuration-1.4.html#9
-
get_pool_status
()[source]¶ Get status for each server and the pool as a whole.
Returns: pool data structure {<pool-name>: { ‘uuid’: <uuid>, ‘status’: ‘UP’|’DOWN’, ‘members’: [<name>: ‘UP’|’DOWN’|’DRAIN’|’no check’] }}
-
show_stat
(proxy_iid=-1, object_type=-1, server_id=-1)[source]¶ Get and parse output from ‘show stat’ command.
Parameters: - proxy_iid – Proxy ID (column 27 in CSV output). -1 for all.
- object_type – Select the type of dumpable object. Values can be ORed. -1 - everything 1 - frontends 2 - backends 4 - servers
- server_id – Server ID (column 28 in CSV output?), or -1 for everything.
Returns: stats (split into an array by newline)
-
octavia.amphorae.backends.utils.ip_advertisement module¶
-
calculate_icmpv6_checksum
(packet)[source]¶ Calculate the ICMPv6 checksum for a packet.
Parameters: packet – The packet bytes to checksum. Returns: The checksum integer.
-
garp
(interface, ip_address, net_ns=None)[source]¶ Sends a gratuitous ARP for ip_address on the interface.
Parameters: - interface – The interface name to send the GARP on.
- ip_address – The IP address to advertise in the GARP.
- net_ns – The network namespace to send the GARP from.
Returns: None
-
neighbor_advertisement
(interface, ip_address, net_ns=None)[source]¶ Sends a unsolicited neighbor advertisement for an ip on the interface.
Parameters: - interface – The interface name to send the GARP on.
- ip_address – The IP address to advertise in the GARP.
- net_ns – The network namespace to send the GARP from.
Returns: None
-
send_ip_advertisement
(interface, ip_address, net_ns=None)[source]¶ Send an address advertisement.
This method will send either GARP (IPv4) or neighbor advertisements (IPv6) for the ip address specified.
Parameters: - interface – The interface name to send the advertisement on.
- ip_address – The IP address to advertise.
- net_ns – The network namespace to send the advertisement from.
Returns: None
octavia.amphorae.backends.utils.keepalivedlvs_query module¶
octavia.amphorae.backends.utils.network_namespace module¶
octavia.amphorae.backends.utils.network_utils module¶
-
get_interface_name
(ip_address, net_ns=None)[source]¶ Gets the interface name from an IP address.
Parameters: - ip_address – The IP address to lookup.
- net_ns – The network namespace to find the interface in.
Returns: The interface name.
Raises: - exceptions.InvalidIPAddress – Invalid IP address provided.
- octavia.common.exceptions.NotFound – No interface was found.