Files
python-libraclient/libraclient/client.py
Andrew Hutchings 66ba46a5ef Add checking and error handling to IP:port processing
Fixes bug #1125430

Change-Id: I270cbfb57f74cd1ef7c4900e3dfa213f052b3931
2013-03-14 13:51:49 +00:00

59 lines
1.6 KiB
Python

# Copyright 2012 Hewlett-Packard Development Company, L.P.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
import sys
import os
from libraapi import LibraAPI
from clientoptions import ClientOptions
from novaclient import exceptions
def main():
options = ClientOptions()
args = options.run()
required_args = [
'os_auth_url', 'os_username', 'os_password', 'os_tenant_name',
'os_region_name'
]
missing_args = 0
for req in required_args:
test_var = getattr(args, req)
if test_var == '':
missing_args += 1
sys.stderr.write(
'{app}: error: argument --{test_var} is required\n'
.format(app=os.path.basename(sys.argv[0]), test_var=req))
if missing_args:
return 2
api = LibraAPI(args)
cmd = args.command.replace('-', '_')
method = getattr(api, '{cmd}_lb'.format(cmd=cmd))
try:
method(args)
except exceptions.ClientException as exc:
print exc
if exc.details:
print exc.details
except exceptions.EndpointNotFound:
return 2
except Exception as exc:
print exc
return 2
return 0