)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"2d950730c8268d13307b2e7079608ab670a3d554","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In add_user_to_project() it checks if the default role exists before"},{"line_number":10,"context_line":"trying to add the role to the user and project. If it doesn\u0027t exist it"},{"line_number":11,"context_line":"will add attempt to create the role. However if 2 requests happen at"},{"line_number":12,"context_line":"roughly the same time the 2 role creations will race causing one to"},{"line_number":13,"context_line":"fail with a conflict error. This patch addresses this issue by catching"},{"line_number":14,"context_line":"the conflict exception and treating it as the create succeed (which it"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"da86d52c_987a2124","line":11,"updated":"2015-02-06 19:13:49.000000000","message":"remove \"add\"","commit_id":"33006bcf8188a440c0685a88679148bfd781d644"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"70b616910d74c387a32c9a65834f7d9e632be525","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In add_user_to_project() it checks if the default role exists before"},{"line_number":10,"context_line":"trying to add the role to the user and project. If it doesn\u0027t exist it"},{"line_number":11,"context_line":"will add attempt to create the role. However if 2 requests happen at"},{"line_number":12,"context_line":"roughly the same time the 2 role creations will race causing one to"},{"line_number":13,"context_line":"fail with a conflict error. This patch addresses this issue by catching"},{"line_number":14,"context_line":"the conflict exception and treating it as the create succeed (which it"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"da86d52c_238e6628","line":11,"in_reply_to":"da86d52c_987a2124","updated":"2015-02-06 19:48:28.000000000","message":"Done","commit_id":"33006bcf8188a440c0685a88679148bfd781d644"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"2d950730c8268d13307b2e7079608ab670a3d554","unresolved":false,"context_lines":[{"line_number":11,"context_line":"will add attempt to create the role. However if 2 requests happen at"},{"line_number":12,"context_line":"roughly the same time the 2 role creations will race causing one to"},{"line_number":13,"context_line":"fail with a conflict error. This patch addresses this issue by catching"},{"line_number":14,"context_line":"the conflict exception and treating it as the create succeed (which it"},{"line_number":15,"context_line":"did just elsewhere)"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: Iab95ed8b3913c020eafa919231d764ba8b780571"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"da86d52c_5898a96a","line":14,"updated":"2015-02-06 19:13:49.000000000","message":"change \"succeed\" to \"succeeded\"","commit_id":"33006bcf8188a440c0685a88679148bfd781d644"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"70b616910d74c387a32c9a65834f7d9e632be525","unresolved":false,"context_lines":[{"line_number":11,"context_line":"will add attempt to create the role. However if 2 requests happen at"},{"line_number":12,"context_line":"roughly the same time the 2 role creations will race causing one to"},{"line_number":13,"context_line":"fail with a conflict error. This patch addresses this issue by catching"},{"line_number":14,"context_line":"the conflict exception and treating it as the create succeed (which it"},{"line_number":15,"context_line":"did just elsewhere)"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: Iab95ed8b3913c020eafa919231d764ba8b780571"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"da86d52c_03724249","line":14,"in_reply_to":"da86d52c_5898a96a","updated":"2015-02-06 19:48:28.000000000","message":"Done","commit_id":"33006bcf8188a440c0685a88679148bfd781d644"}],"keystone/assignment/core.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"bc42f6633f0d5e880b0946d4ecdedd3fb17c64e9","unresolved":false,"context_lines":[{"line_number":264,"context_line":"                user_id,"},{"line_number":265,"context_line":"                tenant_id,"},{"line_number":266,"context_line":"                config.CONF.member_role_id)"},{"line_number":267,"context_line":"    def add_role_to_user_and_project(self, user_id, tenant_id, role_id):"},{"line_number":268,"context_line":"        self.resource_api.get_project(tenant_id)"},{"line_number":269,"context_line":"        self.role_api.get_role(role_id)"},{"line_number":270,"context_line":"        self.driver.add_role_to_user_and_project(user_id, tenant_id, role_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_983861d6","line":267,"updated":"2015-02-06 19:02:54.000000000","message":"revert the whitespace change on the previous line.","commit_id":"5828a2c80003583733cd2f1b5de35e128051d660"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"6c4aeef4ca48a497f39f024e3bb10f6113ebdfb2","unresolved":false,"context_lines":[{"line_number":264,"context_line":"                user_id,"},{"line_number":265,"context_line":"                tenant_id,"},{"line_number":266,"context_line":"                config.CONF.member_role_id)"},{"line_number":267,"context_line":"    def add_role_to_user_and_project(self, user_id, tenant_id, role_id):"},{"line_number":268,"context_line":"        self.resource_api.get_project(tenant_id)"},{"line_number":269,"context_line":"        self.role_api.get_role(role_id)"},{"line_number":270,"context_line":"        self.driver.add_role_to_user_and_project(user_id, tenant_id, role_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_9866a1ed","line":267,"in_reply_to":"da86d52c_983861d6","updated":"2015-02-06 19:03:39.000000000","message":"Done","commit_id":"5828a2c80003583733cd2f1b5de35e128051d660"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"62e1ef21cd4906bd3ec223257632dfb9d8ca37d2","unresolved":false,"context_lines":[{"line_number":256,"context_line":"            try:"},{"line_number":257,"context_line":"                self.role_api.create_role(config.CONF.member_role_id, role)"},{"line_number":258,"context_line":"            except exception.Conflict:"},{"line_number":259,"context_line":"                LOG.info(_LI(\"Creating the default role %s failed because it\""},{"line_number":260,"context_line":"                             \"was already created\"),"},{"line_number":261,"context_line":"                         config.CONF.member_role_id)"},{"line_number":262,"context_line":"            # now that default role exists, the add should succeed"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_188e3128","line":259,"updated":"2015-02-06 19:13:56.000000000","message":"add a space after \"it\"","commit_id":"33006bcf8188a440c0685a88679148bfd781d644"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"70b616910d74c387a32c9a65834f7d9e632be525","unresolved":false,"context_lines":[{"line_number":256,"context_line":"            try:"},{"line_number":257,"context_line":"                self.role_api.create_role(config.CONF.member_role_id, role)"},{"line_number":258,"context_line":"            except exception.Conflict:"},{"line_number":259,"context_line":"                LOG.info(_LI(\"Creating the default role %s failed because it\""},{"line_number":260,"context_line":"                             \"was already created\"),"},{"line_number":261,"context_line":"                         config.CONF.member_role_id)"},{"line_number":262,"context_line":"            # now that default role exists, the add should succeed"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_e3744e38","line":259,"in_reply_to":"da86d52c_188e3128","updated":"2015-02-06 19:48:28.000000000","message":"Done","commit_id":"33006bcf8188a440c0685a88679148bfd781d644"}]}
