)]}'
{"contrib/rackspace/rackspace/resources/cloud_server.py":[{"author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"change_message_id":"b396404c6eec305f4613b23b7889ce7e33eb5402","unresolved":false,"context_lines":[{"line_number":234,"context_line":"        return server"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"    def handle_check(self):"},{"line_number":237,"context_line":"        super(CloudServer, self).handle_check()"},{"line_number":238,"context_line":"        server \u003d self.nova().servers.get(self.resource_id)"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"        if \u0027rack_connect\u0027 in self.context.roles:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9aa7fdbe_ec4eb0c0","line":237,"updated":"2014-10-22 09:37:28.000000000","message":"Would it be better to have a shared check_server() method in nova_utils, which both handle_check functions call?\n\nIt could return the server we get from novalclient, so we potentially save an extra call to nova, and it could also be used in the AWS Instance class handle_check?","commit_id":"a72fa4245f121cea59c37c762318913879c08277"},{"author":{"_account_id":9189,"name":"Anderson Mesquita","email":"andersonvom@gmail.com","username":"andersonvom"},"change_message_id":"a6e84bccb6d1fbdef37460610498fb9a06bd1b7b","unresolved":false,"context_lines":[{"line_number":234,"context_line":"        return server"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"    def handle_check(self):"},{"line_number":237,"context_line":"        super(CloudServer, self).handle_check()"},{"line_number":238,"context_line":"        server \u003d self.nova().servers.get(self.resource_id)"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"        if \u0027rack_connect\u0027 in self.context.roles:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9aa7fdbe_2838283c","line":237,"in_reply_to":"9aa7fdbe_ec4eb0c0","updated":"2014-10-27 20:57:57.000000000","message":"Yeah, that\u0027s been bugging me, but I can\u0027t seem to find a good solution to that problem.  I could extract this into that method, but that would mean not being able to use super() to reduce duplication.  I mean, ideally I\u0027d like to leave the check of parent classes up to them instead of having remember to call that extra method.\n\nBut it may be the lesser evil, I guess.","commit_id":"a72fa4245f121cea59c37c762318913879c08277"},{"author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"change_message_id":"b396404c6eec305f4613b23b7889ce7e33eb5402","unresolved":false,"context_lines":[{"line_number":240,"context_line":"        if \u0027rack_connect\u0027 in self.context.roles:"},{"line_number":241,"context_line":"            rc_status \u003d server.metadata.get(\u0027rackconnect_automation_status\u0027)"},{"line_number":242,"context_line":"            assert self._check_rack_connect_complete(server), \\"},{"line_number":243,"context_line":"                \"RackConnect status was %s\" % rc_status"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"        if \u0027rax_managed\u0027 in self.context.roles:"},{"line_number":246,"context_line":"            mc_status \u003d server.metadata.get(\u0027rax_service_level_automation\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9aa7fdbe_acdbc8eb","line":243,"updated":"2014-10-22 09:37:28.000000000","message":"If these asserts happen, what does the response to the user look like?  I\u0027m wondering if it should be raising an exception.Error instead?","commit_id":"a72fa4245f121cea59c37c762318913879c08277"},{"author":{"_account_id":9189,"name":"Anderson Mesquita","email":"andersonvom@gmail.com","username":"andersonvom"},"change_message_id":"a6e84bccb6d1fbdef37460610498fb9a06bd1b7b","unresolved":false,"context_lines":[{"line_number":240,"context_line":"        if \u0027rack_connect\u0027 in self.context.roles:"},{"line_number":241,"context_line":"            rc_status \u003d server.metadata.get(\u0027rackconnect_automation_status\u0027)"},{"line_number":242,"context_line":"            assert self._check_rack_connect_complete(server), \\"},{"line_number":243,"context_line":"                \"RackConnect status was %s\" % rc_status"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"        if \u0027rax_managed\u0027 in self.context.roles:"},{"line_number":246,"context_line":"            mc_status \u003d server.metadata.get(\u0027rax_service_level_automation\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9aa7fdbe_28290837","line":243,"in_reply_to":"9aa7fdbe_acdbc8eb","updated":"2014-10-27 20:57:57.000000000","message":"I guess Error would be better then AssertionError, I\u0027m working on refactoring all these messages and will fix this as well.","commit_id":"a72fa4245f121cea59c37c762318913879c08277"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"07a0d4901d304d09fe2e40dce51bd0341353835e","unresolved":false,"context_lines":[{"line_number":252,"context_line":"                 \u0027current\u0027: mc_status}"},{"line_number":253,"context_line":"            )"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"        self._verify_check_conditions(checks)"},{"line_number":256,"context_line":""},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"def resource_mapping():"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_6c6c619d","line":255,"updated":"2014-11-21 12:05:36.000000000","message":"Looks like you missed: return server, like it is implemented for OS::Nova::Server resource","commit_id":"18c5dc0af358062a5e40bddc394010c32d3c2423"},{"author":{"_account_id":9189,"name":"Anderson Mesquita","email":"andersonvom@gmail.com","username":"andersonvom"},"change_message_id":"ad9ab9a63a3f23a05840e733475e8ecc0155a43d","unresolved":false,"context_lines":[{"line_number":252,"context_line":"                 \u0027current\u0027: mc_status}"},{"line_number":253,"context_line":"            )"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"        self._verify_check_conditions(checks)"},{"line_number":256,"context_line":""},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"def resource_mapping():"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_75fdceb0","line":255,"in_reply_to":"5a890539_6c6c619d","updated":"2014-11-24 17:28:15.000000000","message":"OS::Nova::Server does not return the server:\n\nhttps://github.com/openstack/heat/blob/master/heat/engine/resources/server.py#L596-L597","commit_id":"18c5dc0af358062a5e40bddc394010c32d3c2423"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"5781c00cf0a5a31b45719996f2d7e22b87298125","unresolved":false,"context_lines":[{"line_number":252,"context_line":"                 \u0027current\u0027: mc_status}"},{"line_number":253,"context_line":"            )"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"        self._verify_check_conditions(checks)"},{"line_number":256,"context_line":""},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"def resource_mapping():"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_78c22354","line":255,"in_reply_to":"5a890539_75fdceb0","updated":"2014-11-24 18:57:25.000000000","message":"thx, missed.","commit_id":"18c5dc0af358062a5e40bddc394010c32d3c2423"}],"contrib/rackspace/rackspace/tests/test_rackspace_cloud_server.py":[{"author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"change_message_id":"b396404c6eec305f4613b23b7889ce7e33eb5402","unresolved":false,"context_lines":[{"line_number":352,"context_line":"        exc \u003d self.assertRaises(exception.ResourceFailure,"},{"line_number":353,"context_line":"                                scheduler.TaskRunner(res.check))"},{"line_number":354,"context_line":"        self.assertIn(\u0027FOO\u0027, six.text_type(exc))"},{"line_number":355,"context_line":"        self.assertEqual((res.CHECK, res.FAILED), res.state)"},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"    def test_check_managed_cloud(self):"},{"line_number":358,"context_line":"        res \u003d self._prepare_server_check()"}],"source_content_type":"text/x-python","patch_set":1,"id":"9aa7fdbe_ac02e83b","line":355,"updated":"2014-10-22 09:37:28.000000000","message":"Related to my comments in the reason, we probably need to check that the reason string when FAILED is something reasonable.","commit_id":"a72fa4245f121cea59c37c762318913879c08277"},{"author":{"_account_id":9189,"name":"Anderson Mesquita","email":"andersonvom@gmail.com","username":"andersonvom"},"change_message_id":"a6e84bccb6d1fbdef37460610498fb9a06bd1b7b","unresolved":false,"context_lines":[{"line_number":352,"context_line":"        exc \u003d self.assertRaises(exception.ResourceFailure,"},{"line_number":353,"context_line":"                                scheduler.TaskRunner(res.check))"},{"line_number":354,"context_line":"        self.assertIn(\u0027FOO\u0027, six.text_type(exc))"},{"line_number":355,"context_line":"        self.assertEqual((res.CHECK, res.FAILED), res.state)"},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"    def test_check_managed_cloud(self):"},{"line_number":358,"context_line":"        res \u003d self._prepare_server_check()"}],"source_content_type":"text/x-python","patch_set":1,"id":"9aa7fdbe_88c75463","line":355,"in_reply_to":"9aa7fdbe_ac02e83b","updated":"2014-10-27 20:57:57.000000000","message":"Done","commit_id":"a72fa4245f121cea59c37c762318913879c08277"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"07a0d4901d304d09fe2e40dce51bd0341353835e","unresolved":false,"context_lines":[{"line_number":368,"context_line":"        exc \u003d self.assertRaises(exception.ResourceFailure,"},{"line_number":369,"context_line":"                                scheduler.TaskRunner(res.check))"},{"line_number":370,"context_line":"        self.assertIn(\u0027False\u0027, six.text_type(exc))"},{"line_number":371,"context_line":"        self.assertEqual((res.CHECK, res.FAILED), res.state)"},{"line_number":372,"context_line":""},{"line_number":373,"context_line":"    @mock.patch.object(resource.Resource, \u0027data_set\u0027)"},{"line_number":374,"context_line":"    def test_create_store_admin_pass_resource_data(self,"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_cc2f153d","line":371,"updated":"2014-11-21 12:05:36.000000000","message":"I think, it will be better as scenario, if you do not mind.\n4 different cases and one test function.","commit_id":"18c5dc0af358062a5e40bddc394010c32d3c2423"}]}
