summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul C. Buetow <paul@buetow.org>2014-04-12 20:03:57 +0200
committerPaul C. Buetow <paul@buetow.org>2014-04-12 20:03:57 +0200
commite5f712a0cede3a537d9c2b1654e6ed32f7ec0089 (patch)
treecee0cb126a93b971ea1da1679e52d692e519464f
parent7f9a5ea4deb217a752180093a8eb23b4389d7245 (diff)
refactoring
-rwxr-xr-xsrc/fapi.py37
1 files changed, 15 insertions, 22 deletions
diff --git a/src/fapi.py b/src/fapi.py
index a8edc94..0d9803c 100755
--- a/src/fapi.py
+++ b/src/fapi.py
@@ -73,11 +73,16 @@ class Fapi(object):
def __out(self, message):
''' Prints an iControl result to stdout '''
print message
- #print "\n".join(message)
- def __nslookup(self, what):
+ def __lookup(self, what):
''' Does a DNS lookup to fetch the FQDN and all the IPs '''
+
+ tmp = what.split(':')
+ if 1 == len(tmp): tmp.append('80')
+ what = tmp[0]
+ port = tmp[1]
+
try:
data = socket.gethostbyname_ex(what)
except Exception, e:
@@ -91,7 +96,7 @@ class Fapi(object):
self.info('\'%s\' resolves to multiple ips \'%s\'' % (fqdn, ips))
sys.exit(2)
- return (fqdn, ips[0])
+ return (fqdn, ips[0], port)
def __run_node(self):
''' Do stuff concerning nodes '''
@@ -117,9 +122,9 @@ class Fapi(object):
self.info('Can\'t resolve \'%s\': %s' % (nodename, e))
sys.exit(2)
- nodefqdn, nodeip = self.__nslookup(nodename)
- self.info('Creating node \'%s\' \'%s\'' % (nodefqdn, nodeip))
- n.create([nodefqdn],[nodeip],[0])
+ fqdn, ip, _ = self.__lookup(nodename)
+ self.info('Creating node \'%s\' \'%s\'' % (fqdn, ip))
+ n.create([fqdn],[ip],[0])
elif a.arg == 'delete':
nodename = a.arg2
@@ -151,12 +156,8 @@ class Fapi(object):
method = a.m
if a.arg3:
for x in a.arg3.split(','):
- pm = {}
- tmp = x.split(':')
- fqdn, ip = self.__nslookup(tmp[0])
- if 1 == len(tmp): tmp.append(80)
- pm['address'] = fqdn
- pm['port'] = int(tmp[1])
+ fqdn, ip, port = self.__lookup(x)
+ pm = { 'address' : fqdn, 'port' : port }
poolmembers.append(pm)
self.info('Creating pool \'%s\'' % poolname)
p.create_v2([poolname],[method],[poolmembers])
@@ -166,22 +167,14 @@ class Fapi(object):
p.delete_pool([poolname])
elif a.arg == 'add':
- tmp = a.arg3.split(':')
- if 1 == len(tmp): tmp.append('80')
- fqdn, ip = self.__nslookup(tmp[0])
- port = tmp[1]
-
+ fqdn, _, port = self.__lookup(a.arg3)
self.info('Add member \'%s:%s\' to pool \'%s\''
% (fqdn, port, poolname))
member = [{ 'address' : fqdn, 'port' : port }]
p.add_member_v2([poolname], [member])
elif a.arg == 'remove':
- tmp = a.arg3.split(':')
- if 1 == len(tmp): tmp.append('80')
- fqdn, ip = self.__nslookup(tmp[0])
- port = tmp[1]
-
+ fqdn, _, port = self.__lookup(a.arg3)
self.info('Remove member \'%s:%s\' from pool \'%s\''
% (fqdn, port, poolname))
member = [{ 'address' : fqdn, 'port' : port }]