From 479531e5cce7939b49ec6cb924ff17713a2910ab Mon Sep 17 00:00:00 2001 From: Alessandro Pilotti Date: Fri, 15 Aug 2014 17:32:49 +0300 Subject: [PATCH] Adds a try catch for user logon session creation This is needed to avoid skipping the local groups user membership management in case of exceptions that could happen during the user logon session creation --- cloudbaseinit/plugins/windows/createuser.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/cloudbaseinit/plugins/windows/createuser.py b/cloudbaseinit/plugins/windows/createuser.py index 442bd36c..16fdcb12 100644 --- a/cloudbaseinit/plugins/windows/createuser.py +++ b/cloudbaseinit/plugins/windows/createuser.py @@ -54,12 +54,18 @@ class CreateUserPlugin(base.BasePlugin): else: LOG.info('Creating user "%s" and setting password' % user_name) osutils.create_user(user_name, password) - # Create a user profile in order for other plugins - # to access the user home, etc - token = osutils.create_user_logon_session(user_name, - password, - True) - osutils.close_user_logon_session(token) + + try: + # Create a user profile in order for other plugins + # to access the user home, etc + token = osutils.create_user_logon_session(user_name, + password, + True) + osutils.close_user_logon_session(token) + except Exception as ex: + LOG.exception(ex) + LOG.error('Cannot create a user logon session for user: "%s"' % + user_name) # TODO(alexpilotti): encrypt with DPAPI shared_data[constants.SHARED_DATA_PASSWORD] = password