# octavia.amphorae.backends.utils package

## Submodules

## octavia.amphorae.backends.utils.haproxy_query module

class `HAProxyQuery`(stats_socket)

  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`()

    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`()

    Get and parse output from ‘show info’ command.

  `show_stat`(proxy_iid=-1, object_type=-1, server_id=-1)

    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)

  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)

  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)

  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)

  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)

`get_listener_realserver_mapping`(ns_name, listener_ip_port, health_monitor_enabled)

`get_udp_listener_pool_status`(listener_id)

`get_udp_listener_resource_ipports_nsname`(listener_id)

`get_udp_listeners_stats`()

`read_kernel_file`(ns_name, file_path)

## octavia.amphorae.backends.utils.network_namespace module

class `NetworkNamespace`(netns)

  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)

  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.

## Module contents

this page last updated: 2023-10-24 12:56:13

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

found an error? report a bug questions?