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.interface module¶
octavia.amphorae.backends.utils.interface_file module¶
-
class
InterfaceFile
(name, mtu=None, addresses=None, routes=None, rules=None, scripts=None)[source]¶ Bases:
object
-
class
PortInterfaceFile
(name, mtu, fixed_ips)[source]¶ Bases:
octavia.amphorae.backends.utils.interface_file.InterfaceFile
-
class
VIPInterfaceFile
(name, mtu, vip, ip_version, prefixlen, gateway, vrrp_ip, host_routes, topology)[source]¶ Bases:
octavia.amphorae.backends.utils.interface_file.InterfaceFile
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.