)]}'
{"patrole_tempest_plugin/tests/api/compute/test_keypairs_rbac.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"06bb8a5b10453cc795b16bff9f6ac3c70f24c762","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    @classmethod"},{"line_number":27,"context_line":"    def skip_checks(cls):"},{"line_number":28,"context_line":"        super(KeypairsRbacTest, cls).skip_checks()"},{"line_number":29,"context_line":"        if not test.is_extension_enabled(\u0027os-keypairs\u0027, \u0027compute\u0027):"},{"line_number":30,"context_line":"            msg \u003d \"os-keypairs extension not enabled.\""},{"line_number":31,"context_line":"            raise cls.skipException(msg)"},{"line_number":32,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_a4b2f9e4","line":29,"updated":"2017-08-25 22:18:38.000000000","message":"I believe Tempest will soon move to deprecate this but I\u0027m indifferent as to whether it\u0027s added; we\u0027ll have to remove all such instances post-deprecation though. That\u0027s because all extensions are enabled by default.","commit_id":"379a51b360fb35ac1e588d5deb750181247deb66"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"ccb0673f7de0210ea72707172a907a152caa777a","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    @classmethod"},{"line_number":28,"context_line":"    def skip_checks(cls):"},{"line_number":29,"context_line":"        super(KeypairsRbacTest, cls).skip_checks()"},{"line_number":30,"context_line":"        if not test.is_extension_enabled(\u0027os-keypairs\u0027, \u0027compute\u0027):"},{"line_number":31,"context_line":"            msg \u003d \"os-keypairs extension not enabled.\""},{"line_number":32,"context_line":"            raise cls.skipException(msg)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def _create_keypair(self):"},{"line_number":35,"context_line":"        key_name \u003d data_utils.rand_name(self.__class__.__name__ + \u0027-key\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"7f287b81_b13ed326","line":32,"range":{"start_line":30,"start_character":0,"end_line":32,"end_character":40},"updated":"2017-09-06 00:46:01.000000000","message":"do not check for extensions things, its no more in compute. All stable branches have extension concept as deprecated and completely removed in Pike.","commit_id":"75a916c71a4e397ef9c041a905c989828c2ef6e1"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"a829ce7c8784992b2987bfe93fafcaf482853846","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    @classmethod"},{"line_number":28,"context_line":"    def skip_checks(cls):"},{"line_number":29,"context_line":"        super(KeypairsRbacTest, cls).skip_checks()"},{"line_number":30,"context_line":"        if not test.is_extension_enabled(\u0027os-keypairs\u0027, \u0027compute\u0027):"},{"line_number":31,"context_line":"            msg \u003d \"os-keypairs extension not enabled.\""},{"line_number":32,"context_line":"            raise cls.skipException(msg)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def _create_keypair(self):"},{"line_number":35,"context_line":"        key_name \u003d data_utils.rand_name(self.__class__.__name__ + \u0027-key\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"7f287b81_d3a706bc","line":32,"range":{"start_line":30,"start_character":0,"end_line":32,"end_character":40},"in_reply_to":"7f287b81_b13ed326","updated":"2017-09-06 20:40:50.000000000","message":"Yeah, this is kinda my fault. I said \"why don\u0027t we leave this in, we\u0027ll just do 1 big patch later to remove all of this.\"","commit_id":"75a916c71a4e397ef9c041a905c989828c2ef6e1"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"bfdb2ad56df60f61f32b12b410a7df2fb6f1e516","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    @classmethod"},{"line_number":28,"context_line":"    def skip_checks(cls):"},{"line_number":29,"context_line":"        super(KeypairsRbacTest, cls).skip_checks()"},{"line_number":30,"context_line":"        if not test.is_extension_enabled(\u0027os-keypairs\u0027, \u0027compute\u0027):"},{"line_number":31,"context_line":"            msg \u003d \"os-keypairs extension not enabled.\""},{"line_number":32,"context_line":"            raise cls.skipException(msg)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def _create_keypair(self):"},{"line_number":35,"context_line":"        key_name \u003d data_utils.rand_name(self.__class__.__name__ + \u0027-key\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"7f287b81_0f955a33","line":32,"range":{"start_line":30,"start_character":0,"end_line":32,"end_character":40},"in_reply_to":"7f287b81_d3a706bc","updated":"2017-09-07 01:48:39.000000000","message":"+1 for removing all in one big patch but we should not add new one at least.","commit_id":"75a916c71a4e397ef9c041a905c989828c2ef6e1"}],"patrole_tempest_plugin/tests/api/compute/test_server_misc_policy_actions_rbac.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"06bb8a5b10453cc795b16bff9f6ac3c70f24c762","unresolved":false,"context_lines":[{"line_number":530,"context_line":"        self.rbac_utils.switch_role(self, toggle_rbac_role\u003dTrue)"},{"line_number":531,"context_line":"        result \u003d self.servers_client.show_server(self.server[\u0027id\u0027])"},{"line_number":532,"context_line":"        if \u0027key_name\u0027 not in result:"},{"line_number":533,"context_line":"            raise rbac_exceptions.RbacActionFailed("},{"line_number":534,"context_line":"                \u0027\"key_name\" attribute not found in response body.\u0027)"},{"line_number":535,"context_line":""},{"line_number":536,"context_line":"    @test.requires_ext(extension\u003d\u0027os-keypairs\u0027, service\u003d\u0027compute\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_04c1cd2e","line":533,"range":{"start_line":533,"start_character":34,"end_line":533,"end_character":50},"updated":"2017-08-25 22:18:38.000000000","message":"RbacMalforedException","commit_id":"379a51b360fb35ac1e588d5deb750181247deb66"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"06bb8a5b10453cc795b16bff9f6ac3c70f24c762","unresolved":false,"context_lines":[{"line_number":542,"context_line":"        self.rbac_utils.switch_role(self, toggle_rbac_role\u003dTrue)"},{"line_number":543,"context_line":"        result \u003d self.servers_client.list_servers(detail\u003dTrue)"},{"line_number":544,"context_line":"        if \u0027key_name\u0027 not in result[0]:"},{"line_number":545,"context_line":"            raise rbac_exceptions.RbacActionFailed("},{"line_number":546,"context_line":"                \u0027\"key_name\" attribute not found in response body.\u0027)"},{"line_number":547,"context_line":""},{"line_number":548,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_e4dda114","line":545,"range":{"start_line":545,"start_character":34,"end_line":545,"end_character":50},"updated":"2017-08-25 22:18:38.000000000","message":"Ditto","commit_id":"379a51b360fb35ac1e588d5deb750181247deb66"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"a34ee24ad27a9e0f113932d7b597cce17d9fec8c","unresolved":false,"context_lines":[{"line_number":528,"context_line":"    @decorators.idempotent_id(\u002781e6fa34-c06b-42ca-b195-82bf8699b940\u0027)"},{"line_number":529,"context_line":"    def test_show_server_keypair(self):"},{"line_number":530,"context_line":"        self.rbac_utils.switch_role(self, toggle_rbac_role\u003dTrue)"},{"line_number":531,"context_line":"        result \u003d self.servers_client.show_server(self.server[\u0027id\u0027])"},{"line_number":532,"context_line":"        if \u0027key_name\u0027 not in result:"},{"line_number":533,"context_line":"            raise rbac_exceptions.RbacMalformedResponse("},{"line_number":534,"context_line":"                \u0027\"key_name\" attribute not found in response body.\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_bffc0370","line":531,"updated":"2017-08-29 18:25:20.000000000","message":"[\u0027server\u0027]","commit_id":"d8fc552b52a172b575ef4298220aa188a4a24b53"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"faaffb5ee3a4aca696767fe46c1e51f285caa65a","unresolved":false,"context_lines":[{"line_number":531,"context_line":"        result \u003d self.servers_client.show_server(self.server[\u0027id\u0027])"},{"line_number":532,"context_line":"        if \u0027key_name\u0027 not in result:"},{"line_number":533,"context_line":"            raise rbac_exceptions.RbacMalformedResponse("},{"line_number":534,"context_line":"                \u0027\"key_name\" attribute not found in response body.\u0027)"},{"line_number":535,"context_line":""},{"line_number":536,"context_line":"    @test.requires_ext(extension\u003d\u0027os-keypairs\u0027, service\u003d\u0027compute\u0027)"},{"line_number":537,"context_line":"    @rbac_rule_validation.action("}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_76ab6874","line":534,"range":{"start_line":534,"start_character":16,"end_line":534,"end_character":65},"updated":"2017-08-29 16:17:11.000000000","message":"This should just be attribute\u003d\"key_name\" or else the error message raised will look weird.","commit_id":"d8fc552b52a172b575ef4298220aa188a4a24b53"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"a34ee24ad27a9e0f113932d7b597cce17d9fec8c","unresolved":false,"context_lines":[{"line_number":540,"context_line":"    @decorators.idempotent_id(\u002741ca4280-ec59-4b80-a9b1-6bc6366faf39\u0027)"},{"line_number":541,"context_line":"    def test_list_servers_keypairs(self):"},{"line_number":542,"context_line":"        self.rbac_utils.switch_role(self, toggle_rbac_role\u003dTrue)"},{"line_number":543,"context_line":"        result \u003d self.servers_client.list_servers(detail\u003dTrue)"},{"line_number":544,"context_line":"        if \u0027key_name\u0027 not in result:"},{"line_number":545,"context_line":"            raise rbac_exceptions.RbacMalformedResponse("},{"line_number":546,"context_line":"                \u0027\"key_name\" attribute not found in response body.\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_9ff7078c","line":543,"updated":"2017-08-29 18:25:20.000000000","message":"[\u0027servers\u0027]","commit_id":"d8fc552b52a172b575ef4298220aa188a4a24b53"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"a34ee24ad27a9e0f113932d7b597cce17d9fec8c","unresolved":false,"context_lines":[{"line_number":541,"context_line":"    def test_list_servers_keypairs(self):"},{"line_number":542,"context_line":"        self.rbac_utils.switch_role(self, toggle_rbac_role\u003dTrue)"},{"line_number":543,"context_line":"        result \u003d self.servers_client.list_servers(detail\u003dTrue)"},{"line_number":544,"context_line":"        if \u0027key_name\u0027 not in result:"},{"line_number":545,"context_line":"            raise rbac_exceptions.RbacMalformedResponse("},{"line_number":546,"context_line":"                \u0027\"key_name\" attribute not found in response body.\u0027)"},{"line_number":547,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_1f0c37a3","line":544,"range":{"start_line":544,"start_character":29,"end_line":544,"end_character":35},"updated":"2017-08-29 18:25:20.000000000","message":"result[0]","commit_id":"d8fc552b52a172b575ef4298220aa188a4a24b53"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"faaffb5ee3a4aca696767fe46c1e51f285caa65a","unresolved":false,"context_lines":[{"line_number":543,"context_line":"        result \u003d self.servers_client.list_servers(detail\u003dTrue)"},{"line_number":544,"context_line":"        if \u0027key_name\u0027 not in result:"},{"line_number":545,"context_line":"            raise rbac_exceptions.RbacMalformedResponse("},{"line_number":546,"context_line":"                \u0027\"key_name\" attribute not found in response body.\u0027)"},{"line_number":547,"context_line":""},{"line_number":548,"context_line":"    @testtools.skipUnless(CONF.compute_feature_enabled.interface_attach,"},{"line_number":549,"context_line":"                          \"Interface attachment is not available.\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_16be64b3","line":546,"updated":"2017-08-29 16:17:11.000000000","message":"Ditto.","commit_id":"d8fc552b52a172b575ef4298220aa188a4a24b53"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"3cbd35eb0dc78e3a6fcafcc3e5ff08d6a6bf2068","unresolved":false,"context_lines":[{"line_number":526,"context_line":"        service\u003d\"nova\","},{"line_number":527,"context_line":"        rule\u003d\"os_compute_api:os-keypairs\")"},{"line_number":528,"context_line":"    @decorators.idempotent_id(\u002781e6fa34-c06b-42ca-b195-82bf8699b940\u0027)"},{"line_number":529,"context_line":"    def test_show_server_keypair(self):"},{"line_number":530,"context_line":"        self.rbac_utils.switch_role(self, toggle_rbac_role\u003dTrue)"},{"line_number":531,"context_line":"        result \u003d\\"},{"line_number":532,"context_line":"            self.servers_client.show_server(self.server[\u0027id\u0027])[\u0027server\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f287b81_13e9cb7e","line":529,"updated":"2017-08-29 22:50:14.000000000","message":"These tests belong under MiscPolicyActionsRbacTest, as keypairs don\u0027t require networking resources.","commit_id":"2fb3046f5b7ab38c54233e42e79ecea766a7fe61"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"ccb0673f7de0210ea72707172a907a152caa777a","unresolved":false,"context_lines":[{"line_number":304,"context_line":"            raise rbac_exceptions.RbacMalformedResponse("},{"line_number":305,"context_line":"                attribute\u003d\u0027events.traceback\u0027)"},{"line_number":306,"context_line":""},{"line_number":307,"context_line":"    @test.requires_ext(extension\u003d\u0027os-keypairs\u0027, service\u003d\u0027compute\u0027)"},{"line_number":308,"context_line":"    @rbac_rule_validation.action("},{"line_number":309,"context_line":"        service\u003d\"nova\","},{"line_number":310,"context_line":"        rule\u003d\"os_compute_api:os-keypairs\")"}],"source_content_type":"text/x-python","patch_set":5,"id":"7f287b81_311423a0","line":307,"range":{"start_line":307,"start_character":0,"end_line":307,"end_character":66},"updated":"2017-09-06 00:46:01.000000000","message":"ditto","commit_id":"75a916c71a4e397ef9c041a905c989828c2ef6e1"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"ccb0673f7de0210ea72707172a907a152caa777a","unresolved":false,"context_lines":[{"line_number":317,"context_line":"            raise rbac_exceptions.RbacMalformedResponse("},{"line_number":318,"context_line":"                attribute\u003d\u0027key_name\u0027)"},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"    @test.requires_ext(extension\u003d\u0027os-keypairs\u0027, service\u003d\u0027compute\u0027)"},{"line_number":321,"context_line":"    @rbac_rule_validation.action("},{"line_number":322,"context_line":"        service\u003d\"nova\","},{"line_number":323,"context_line":"        rule\u003d\"os_compute_api:os-keypairs\")"}],"source_content_type":"text/x-python","patch_set":5,"id":"7f287b81_f10d7b90","line":320,"range":{"start_line":320,"start_character":0,"end_line":320,"end_character":66},"updated":"2017-09-06 00:46:01.000000000","message":"ditto","commit_id":"75a916c71a4e397ef9c041a905c989828c2ef6e1"}]}
