commit
b8071a8d5e
1 changed files with 11 additions and 37 deletions
|
@ -21,6 +21,7 @@
|
|||
DOCUMENTATION = '''
|
||||
---
|
||||
module: haproxy
|
||||
version_added: "1.9"
|
||||
short_description: An Ansible module to handle states enable/disable server and set weight to backend host in haproxy using socket commands.
|
||||
description:
|
||||
- The Enable Haproxy Backend Server, with
|
||||
|
@ -91,14 +92,10 @@ examples:
|
|||
- haproxy: state=enabled host={{ inventory_hostname }} socket=/var/run/haproxy.sock weight=10 backend=www
|
||||
|
||||
author: Ravi Bhure <ravibhure@gmail.com>
|
||||
version_added: "1.9"
|
||||
'''
|
||||
|
||||
import logging
|
||||
import socket
|
||||
import re
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
DEFAULT_SOCKET_LOCATION="/var/run/haproxy.sock"
|
||||
RECV_SIZE = 1024
|
||||
|
@ -120,14 +117,15 @@ class HAProxy(object):
|
|||
http://haproxy.1wt.eu/download/1.5/doc/configuration.txt#Unix Socket commands
|
||||
"""
|
||||
|
||||
def __init__(self, module, **kwargs):
|
||||
def __init__(self, module):
|
||||
self.module = module
|
||||
self.state = kwargs['state']
|
||||
self.host = kwargs['host']
|
||||
self.backend = kwargs['backend']
|
||||
self.weight = kwargs['weight']
|
||||
self.socket = kwargs['socket']
|
||||
self.shutdown_sessions = kwargs['shutdown_sessions']
|
||||
|
||||
self.state = self.module.params['state']
|
||||
self.host = self.module.params['host']
|
||||
self.backend = self.module.params['backend']
|
||||
self.weight = self.module.params['weight']
|
||||
self.socket = self.module.params['socket']
|
||||
self.shutdown_sessions = self.module.params['shutdown_sessions']
|
||||
|
||||
self.command_results = []
|
||||
|
||||
|
@ -137,8 +135,6 @@ class HAProxy(object):
|
|||
UNIX socket and waiting up to 'timeout' milliseconds for the response.
|
||||
"""
|
||||
|
||||
buffer = ""
|
||||
|
||||
self.client = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
|
||||
self.client.connect(self.socket)
|
||||
self.client.sendall('%s\n' % cmd)
|
||||
|
@ -214,8 +210,7 @@ class HAProxy(object):
|
|||
|
||||
def act(self):
|
||||
"""
|
||||
Figure out what you want to do from ansible, and then do the
|
||||
needful (at the earliest).
|
||||
Figure out what you want to do from ansible, and then do it.
|
||||
"""
|
||||
|
||||
# toggle enable/disbale server
|
||||
|
@ -226,8 +221,7 @@ class HAProxy(object):
|
|||
self.disabled(self.host, self.backend, self.shutdown_sessions)
|
||||
|
||||
else:
|
||||
self.module.fail_json(msg="unknown state specified: '%s'" % \
|
||||
self.state)
|
||||
self.module.fail_json(msg="unknown state specified: '%s'" % self.state)
|
||||
|
||||
self.module.exit_json(stdout=self.command_results, changed=True)
|
||||
|
||||
|
@ -245,32 +239,12 @@ def main():
|
|||
),
|
||||
|
||||
)
|
||||
state = module.params['state']
|
||||
host = module.params['host']
|
||||
backend = module.params['backend']
|
||||
weight = module.params['weight']
|
||||
socket = module.params['socket']
|
||||
shutdown_sessions = module.params['shutdown_sessions']
|
||||
|
||||
##################################################################
|
||||
# Required args per state:
|
||||
# (enabled/disabled) = (host)
|
||||
#
|
||||
# AnsibleModule will verify most stuff, we need to verify
|
||||
# 'socket' manually.
|
||||
|
||||
##################################################################
|
||||
|
||||
##################################################################
|
||||
if not socket:
|
||||
module.fail_json(msg="unable to locate haproxy socket")
|
||||
|
||||
##################################################################
|
||||
required_one_of=[['state', 'host']]
|
||||
|
||||
ansible_haproxy = HAProxy(module, **module.params)
|
||||
ansible_haproxy.act()
|
||||
##################################################################
|
||||
|
||||
# import module snippets
|
||||
from ansible.module_utils.basic import *
|
||||
|
|
Loading…
Reference in a new issue