importer.py 文件源码

python
阅读 29 收藏 0 点赞 0 评论 0

项目:foreman-yml 作者: adfinis-sygroup 项目源码 文件源码
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
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号