https://github.com/larhauga/haproxy_config_updater
Tip revision: 57f8e40d28ee3d1246e93dd04321ab990a9d78d7 authored by Lars Haugan on 14 May 2015, 23:47:40 UTC
Cleaned up config, and changed it to fit a project
Cleaned up config, and changed it to fit a project
Tip revision: 57f8e40
haconn.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from socket import socket, AF_UNIX, SOCK_STREAM
HA_BUFSIZE = 8192
class HAconn:
def __init__(self, sockfile=None):
if not sockfile:
self.sockfile = '/var/run/haproxy/admin.sock'
else:
self.sockfile = sockfile
self.sock = None
self.open()
def open(self):
self.sock = socket(AF_UNIX, SOCK_STREAM)
self.sock.connect(self.sockfile)
def send_cmd(self, cmd):
res = ""
self.sock.send(cmd)
output = self.sock.recv(HA_BUFSIZE)
while output:
res += output
output = self.sock.recv(HA_BUFSIZE)
return res
def close(self):
"""Closes the socket"""
self.sock.close()
def main():
#con = HAconn('/var/run/haproxy/admin.sock')
##print con.send_cmd('show stat\r\n')
#print con.send_cmd('enable server nodes/node02\r\n')
#con.close()
con = HAconn()
print con.send_cmd('show info\r\n')
con.close()
con = HAconn()
print con.send_cmd('show stat\r\n')
con.close()
con = HAconn()
print con.send_cmd('show sess\r\n')
con.close()
con = HAconn()
print con.send_cmd('show table\r\n')
con.close()
if __name__ == '__main__':
main()