diff options
| author | Paul C. Buetow <paul@buetow.org> | 2014-04-12 18:59:38 +0200 |
|---|---|---|
| committer | Paul C. Buetow <paul@buetow.org> | 2014-04-12 18:59:38 +0200 |
| commit | 0faca596844a5a6159483e45c4530ddf5e0f1fc3 (patch) | |
| tree | 768f5acf2f1b20e0d815a9ed7b780f9b314cbde8 /src/fapi.py | |
| parent | 5ce73d94a44fe5e73b9a74e6653c6c8861d237eb (diff) | |
auto resolve fqdn and ip addresses
Diffstat (limited to 'src/fapi.py')
| -rwxr-xr-x | src/fapi.py | 38 |
1 files changed, 26 insertions, 12 deletions
diff --git a/src/fapi.py b/src/fapi.py index f65e14b..f672612 100755 --- a/src/fapi.py +++ b/src/fapi.py @@ -94,10 +94,25 @@ class Fapi(object): elif a.arg == 'create': nodename = a.arg2 - nodeip = a.arg3 - limits = 0 - self.info('Creating node \'%s\' \'%s\'' % (nodename, nodeip)) - n.create([nodename],[nodeip],[limits]) + + try: + data = socket.gethostbyname_ex(nodename) + except Exception, e: + self.info('Can\'t resolve \'%s\': %s' % (nodename, e)) + sys.exit(2) + + nodefqdn = data[0] + nodeips = data[2] + + if len(nodeips) > 1: + self.info('\'%s\' resolves to multiple ips \'%s\'' + % (nodefqdn, nodeips)) + sys.exit(2) + + self.info('Creating node \'%s\' \'%s\'' % (nodefqdn, nodeips[0])) + + n.create([nodefqdn],nodeips,[0]) + return True elif a.arg == 'delete': @@ -199,13 +214,12 @@ if __name__ == '__main__': fapi = Fapi(args) - #try: - if not fapi.run(): - fapi.info('Don\'t know what to do') - sys.exit(1) - - #except Exception, e: - # fapi.info(e) - # sys.exit(2) + try: + if not fapi.run(): + fapi.info('Don\'t know what to do') + sys.exit(1) + except Exception, e: + fapi.info(e) + sys.exit(2) # vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4 |
