)]}'
{"patrole_tempest_plugin/rbac_rule_validation.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"c0623b93fa17ba14a7bb65eb8fb9ce4a4be4de62","unresolved":false,"context_lines":[{"line_number":153,"context_line":"        user_id \u003d test_obj.os_primary.credentials.user_id"},{"line_number":154,"context_line":"    except AttributeError as e:"},{"line_number":155,"context_line":"        msg \u003d (\"{0}: project_id or user_id not found in \""},{"line_number":156,"context_line":"               \"cls.os_primary.credentials.credentials\".format(e))"},{"line_number":157,"context_line":"        LOG.error(msg)"},{"line_number":158,"context_line":"        raise rbac_exceptions.RbacResourceSetupFailed(msg)"},{"line_number":159,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_a8fcda3d","line":156,"range":{"start_line":156,"start_character":16,"end_line":156,"end_character":54},"updated":"2017-07-18 20:16:03.000000000","message":"Use instead:\n\n    os_primary.credentials","commit_id":"74e48896718b4219edb9faa08a275089f2b95b8b"}],"patrole_tempest_plugin/rbac_utils.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"1ebda2a8abebeb8442db9461cc7659d331791bcc","unresolved":false,"context_lines":[{"line_number":45,"context_line":"    def __init__(self, test_obj):"},{"line_number":46,"context_line":"        \"\"\"Constructor for ``RbacUtils``."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        :param test_obj: A Tempest test object."},{"line_number":49,"context_line":"        :type test_obj: tempest.lib.base.BaseTestCase or"},{"line_number":50,"context_line":"            tempest.test.BaseTestCase"},{"line_number":51,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_28b7aa88","line":48,"range":{"start_line":48,"start_character":40,"end_line":48,"end_character":46},"updated":"2017-07-18 20:57:32.000000000","message":"instance","commit_id":"74e48896718b4219edb9faa08a275089f2b95b8b"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"1c9c938d4db7f9c4004f784b40bea30d87642ef7","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        :type test_obj: tempest.lib.base.BaseTestCase or"},{"line_number":49,"context_line":"            tempest.test.BaseTestCase"},{"line_number":50,"context_line":"        \"\"\""},{"line_number":51,"context_line":"        if not credentials.is_admin_available("},{"line_number":52,"context_line":"                identity_version\u003dtest_obj.get_identity_version()):"},{"line_number":53,"context_line":"            msg \u003d \"Missing Identity Admin API credentials in configuration.\""},{"line_number":54,"context_line":"            raise rbac_exceptions.RbacResourceSetupFailed(msg)"}],"source_content_type":"text/x-python","patch_set":5,"id":"1f1a1f67_1f0894d7","line":51,"updated":"2017-07-19 06:43:22.000000000","message":"Add:\n\n     # Since we are going to instantiate a client manager with\n     # admin credentials, first check if admin is available.","commit_id":"c7c24447fab39e8a5594916999e192a7588cdb8c"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"1c9c938d4db7f9c4004f784b40bea30d87642ef7","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        if not credentials.is_admin_available("},{"line_number":52,"context_line":"                identity_version\u003dtest_obj.get_identity_version()):"},{"line_number":53,"context_line":"            msg \u003d \"Missing Identity Admin API credentials in configuration.\""},{"line_number":54,"context_line":"            raise rbac_exceptions.RbacResourceSetupFailed(msg)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        # Intialize the admin roles_client to perform role switching."},{"line_number":57,"context_line":"        admin_creds \u003d test_obj.get_client_manager(credential_type\u003d\u0027admin\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"1f1a1f67_df58dcfa","line":54,"range":{"start_line":54,"start_character":18,"end_line":54,"end_character":57},"updated":"2017-07-19 06:43:22.000000000","message":"Should probably be skipException as per https://github.com/openstack/tempest/blob/138c0fb79f783e8c6a4b151ee921282c99203ee0/tempest/test.py#L328","commit_id":"c7c24447fab39e8a5594916999e192a7588cdb8c"}]}
