summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPaul C. Buetow <paul@buetow.org>2014-04-12 11:56:08 +0200
committerPaul C. Buetow <paul@buetow.org>2014-04-12 11:56:08 +0200
commit435b2a1ebe9671c27b61a6c87ec4f9c7e1b32431 (patch)
tree7c12632b21150aa75798a71d4a9d9a70f11e5250 /src
parentc3ef986541e055edb347bcf7d9dde58945bc971b (diff)
some exception handling
Diffstat (limited to 'src')
-rwxr-xr-xsrc/fapi.py30
1 files changed, 19 insertions, 11 deletions
diff --git a/src/fapi.py b/src/fapi.py
index 244c730..df4eaf4 100755
--- a/src/fapi.py
+++ b/src/fapi.py
@@ -44,19 +44,21 @@ class Fapi(object):
try:
self._partition = config.get('fapi', 'partition')
- self.__info('Setting partition to %s' % self._partition)
+ self.info('Setting partition to %s' % self._partition)
self._f5.Management.Partition.set_active_partition(self._partition)
except Exception, e:
- self.__info(e)
+ self.info(e)
+ sys.exit(2)
def __login(self, username, password):
''' Logs into the F5 BigIP SOAP API '''
- self.__info('Login to BigIP API with user %s' % username)
+ self.info('Login to BigIP API with user %s' % username)
hostname = self._config.get('fapi', 'hostname')
+ # Enhance to try to login to a list of hosts
try:
self._f5 = bigsuds.BIGIP(
hostname = hostname,
@@ -64,10 +66,11 @@ class Fapi(object):
password = password,
)
except Exception, e:
- self.__info(e)
+ self.info(e)
+ sys.exit(2)
- def __info(self, message):
+ def info(self, message):
''' Prints an informational message to stderr '''
print >> sys.stderr, '%s %s' % (__prompt__, message)
@@ -82,24 +85,24 @@ class Fapi(object):
if a.action == 'show':
if a.arg == 'pool':
if a.subarg == 'status':
- self.__info('Get pool status')
+ self.info('Getting pool status')
pool_name = args.subarg2
print f.LocalLB.Pool.get_object_status([pool_name])
flag = True
elif a.subarg == 'members':
- self.__info('Get pool members')
+ self.info('Get pool members')
pool_name = args.subarg2
print f.LocalLB.Pool.get_member_v2([pool_name])
flag = True
else:
- self.__info('Get pool list')
+ self.info('Get pool list')
print f.LocalLB.Pool.get_list()
flag = True
if not flag:
- self.__info('Don\'t know what to do')
+ self.info('Don\'t know what to do')
sys.exit(1)
if __name__ == '__main__':
@@ -118,11 +121,16 @@ if __name__ == '__main__':
args = parser.parse_args()
+ fapi = Fapi(args)
+
if args.V:
print 'This is %s version %s' % (__program__, __version__)
sys.exit(0)
- fapi = Fapi(args)
- fapi.run()
+ try:
+ fapi.run()
+ except Exception, e:
+ fapi.info(e)
+ sys.exit(2)
# vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4