Fix login failure error message
Tested by:
$python openbmctool.py -U root -P <wrong_passwd> -H <host> set_password -p <new_passwd>
Attempting login...
Login Failed!
$
$
$python openbmctool.py -U root -P <right_passwd> -H <host> set_password -p <new_passwd>
Attempting login...
200
User root has been logged out
$
Signed-off-by: Sunitha Harish <sunithaharish04@gmail.com>
Change-Id: Ic1111038d8d6769753c37f86c938c24add708368
diff --git a/thalerj/openbmctool.py b/thalerj/openbmctool.py
index 021cef4..4af8c1c 100755
--- a/thalerj/openbmctool.py
+++ b/thalerj/openbmctool.py
@@ -267,21 +267,23 @@
mysess = requests.session()
try:
r = mysess.post('https://'+host+'/login', headers=jsonHeader, json = {"data": [username, pw]}, verify=False, timeout=baseTimeout)
-
- cookie = r.headers['Set-Cookie']
- match = re.search('SESSION=(\w+);', cookie)
- if match:
- xAuthHeader['X-Auth-Token'] = match.group(1)
- jsonHeader.update(xAuthHeader)
- loginMessage = json.loads(r.text)
- if (loginMessage['status'] != "ok"):
- print(loginMessage["data"]["description"].encode('utf-8'))
- sys.exit(1)
+ if r.status_code == 200:
+ cookie = r.headers['Set-Cookie']
+ match = re.search('SESSION=(\w+);', cookie)
+ if match:
+ xAuthHeader['X-Auth-Token'] = match.group(1)
+ jsonHeader.update(xAuthHeader)
+ loginMessage = json.loads(r.text)
+ if (loginMessage['status'] != "ok"):
+ print(loginMessage["data"]["description"].encode('utf-8'))
+ sys.exit(1)
# if(sys.version_info < (3,0)):
# urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
# if sys.version_info >= (3,0):
# requests.packages.urllib3.disable_warnings(requests.packages.urllib3.exceptions.InsecureRequestWarning)
- return mysess
+ return mysess
+ else:
+ return None
except(requests.exceptions.Timeout):
return (connectionErrHandler(jsonFormat, "Timeout", None))
except(requests.exceptions.ConnectionError) as err:
@@ -4502,6 +4504,9 @@
sys.exit()
logintimeStart = int(round(time.time()*1000))
mysess = login(args.host, args.user, pw, args.json)
+ if(mysess == None):
+ print("Login Failed!")
+ sys.exit()
if(sys.version_info < (3,0)):
if isinstance(mysess, basestring):
print(mysess)