Bug 1078 fixed by using try block for user update

Following the documentation of LDAP in devops repo, the user profiles are read only.
Try Except block resolves the issue. Raise error to NBI when change
for username/password is requested.

Change-Id: Id5919af575ec7cd128424fc53f7365d6cd4c29a7
Signed-off-by: K Sai Kiran <saikiran.k@tataelxsi.co.in>
diff --git a/osm_nbi/authconn_keystone.py b/osm_nbi/authconn_keystone.py
index 408b72f..05f803a 100644
--- a/osm_nbi/authconn_keystone.py
+++ b/osm_nbi/authconn_keystone.py
@@ -345,8 +345,14 @@
                     or user_info.get("add_project_role_mappings") or user_info.get("remove_project_role_mappings"):
                 # if user_index>0, it is an external domain, that should not be updated
                 ctime = user_obj._admin.get("created", 0) if hasattr(user_obj, "_admin") else 0
-                self.keystone.users.update(user_id, password=user_info.get("password"), name=user_info.get("username"),
-                                           _admin={"created": ctime, "modified": time.time()})
+                try:
+                    self.keystone.users.update(user_id, password=user_info.get("password"),
+                                               name=user_info.get("username"),
+                                               _admin={"created": ctime, "modified": time.time()})
+                except Exception as e:
+                    if user_info.get("username") or user_info.get("password"):
+                        raise AuthconnOperationException("Error during username/password change: {}".format(str(e)))
+                    self.logger.error("Error during updating user profile: {}".format(str(e)))
 
             for mapping in user_info.get("remove_project_role_mappings", []):
                 self.remove_role_from_user(user_obj, mapping["project"], mapping["role"])