def process_config_user(self):
log.log(log.LOG_INFO, "Processing users")
for user in self.get_config_section('users'):
# validate yaml
try:
self.validator.user(user)
except MultipleInvalid as e:
log.log(log.LOG_WARN, "Cannot create User '{0}': YAML validation Error: {1}".format(user['login'], e))
continue
try:
as_id = self.fm.users.show(user['login'])['id']
log.log(log.LOG_WARN, "User {0} allready exists".format(user['login']))
continue
except TypeError:
pass
# resolve auth source
if user['auth-source'] is not 'INTERNAL':
try:
as_id = self.fm.auth_source_ldaps.show(user['auth-source'])['id']
except TypeError:
log.log(log.LOG_ERROR, "Cannot resolve auth source '{0}' for user '{1}', skipping creation".format(user['login'], user['auth-source']))
continue
del(user['auth-source'])
user['auth_source_id'] = as_id
else:
del(user['auth-source'])
user['auth_source_id'] = 1
try:
self.fm.users.create(user=user)
except ForemanException as e:
msg = self.get_api_error_msg(e)
log.log(log.LOG_ERROR, "Cannot create user '{0}', api says: '{1}'".format(user['login'], msg) )
continue
评论列表
文章目录