octavia.amphorae.backends.utils package

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_info()[source]

Get and parse output from ‘show info’ command.

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

get_ipvsadm_info(ns_name, is_stats_cmd=False)[source]
get_listener_realserver_mapping(ns_name, listener_ip_port, health_monitor_enabled)[source]
get_udp_listener_pool_status(listener_id)[source]
get_udp_listener_resource_ipports_nsname(listener_id)[source]
get_udp_listeners_stats()[source]
read_kernel_file(ns_name, file_path)[source]

octavia.amphorae.backends.utils.network_namespace module

class NetworkNamespace(netns)[source]

Bases: object

A network namespace context manager.

Runs wrapped code inside the specified network namespace.

Parameters:netns – The network namespace name to enter.
CLONE_NEWNET = 1073741824

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:

Module contents

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.