_images/logo.png

Warthog

Warthog is a simple Python client for interacting with A10 load balancers. The target use case is for safely removing servers from pools in a load balancer during a deployment. It is available under the MIT license.

Features

  • Waiting for servers to finish all requests when being disabled
  • Graceful handling of transient errors with optional retry logic
  • Support for interacting with the load balancer API using SSL
  • Works with Python 2.6, 2.7, 3.3, 3.4, 3.5, 3.6+
  • Thread safety

Installation

To install Warthog, simply run:

$ pip install warthog

Dependencies

  • requests by Kenneth Reitz, version 2.18 or higher
  • click by Armin Ronacher, version 6.7 or higher

Usage

Using the client is easy!

from warthog.api import WarthogClient

def install_my_project(server):
    pass

client = WarthogClient('https://lb.example.com', 'user', 'password')

client.disable_server('app1.example.com')
install_my_project('app1.example.com')
client.enable_server('app1.example.com')

Indices and tables