)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"30a21216f86e21d33b3d17f35cd644d9233d628d","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Some mocking of keystoneauth1 is required to get auth and endpoint"},{"line_number":18,"context_line":"handling to work properly without a real keystone. I wonder if there"},{"line_number":19,"context_line":"is a more straightforward way to do this?"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"wsgi-intercept is added to requirements.txt to make the use of it in"},{"line_number":22,"context_line":"these tests explicit. wsgi-intercept is already in global"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7a8ec9b2_ed6db1cd","line":19,"updated":"2016-09-13 19:09:33.000000000","message":"probably not any more straightforward than you\u0027ve done, really. :)","commit_id":"231b68cc961186488b3de58be4fdef43f95a8fb6"}],"nova/tests/functional/api/openstack/placement/test_report_client.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"cc13be43383331900665defdbee57062ad74dd8d","unresolved":false,"context_lines":[{"line_number":100,"context_line":""},{"line_number":101,"context_line":"            inventory_data \u003d self.client._compute_node_inventory("},{"line_number":102,"context_line":"                self.compute_node)"},{"line_number":103,"context_line":"            self.assertEqual(rp.generation,"},{"line_number":104,"context_line":"                             inventory_data[\u0027resource_provider_generation\u0027])"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"            # TODO(cdent): retrieve and check inventory"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a89bdaa_903830f0","line":103,"updated":"2016-09-12 21:11:49.000000000","message":"I don\u0027t think we should be asserting the contents of this, because you\u0027re really just taking an internal thing and using it to generate the request. Plus, I\u0027m changing it in my patch that adds the retries anyway.","commit_id":"a7e5f721dbc584fb7b7e90f2623a9b96b7040dab"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"bcb2139c7d7ca52d3036099c20d2ed8e5fbd34a6","unresolved":false,"context_lines":[{"line_number":100,"context_line":""},{"line_number":101,"context_line":"            inventory_data \u003d self.client._compute_node_inventory("},{"line_number":102,"context_line":"                self.compute_node)"},{"line_number":103,"context_line":"            self.assertEqual(rp.generation,"},{"line_number":104,"context_line":"                             inventory_data[\u0027resource_provider_generation\u0027])"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"            # TODO(cdent): retrieve and check inventory"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a89bdaa_bbad159d","line":103,"in_reply_to":"9a89bdaa_903830f0","updated":"2016-09-12 21:25:31.000000000","message":"If you look at my comment at the patch at the top of your stack, there\u0027s a diff in there that does it in a better way.","commit_id":"a7e5f721dbc584fb7b7e90f2623a9b96b7040dab"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"30a21216f86e21d33b3d17f35cd644d9233d628d","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    def __init__(self):"},{"line_number":34,"context_line":"        self._resource_providers \u003d {}"},{"line_number":35,"context_line":"        self._disabled \u003d False"},{"line_number":36,"context_line":"        # Supply our own sesion so the wsgi-intercept can intercept"},{"line_number":37,"context_line":"        # the right thing. Another option would be to use the direct"},{"line_number":38,"context_line":"        # urllib3 interceptor."},{"line_number":39,"context_line":"        request_session \u003d requests.Session()"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a8ec9b2_edc931ae","line":36,"updated":"2016-09-13 19:09:33.000000000","message":"s/sesion/session/","commit_id":"231b68cc961186488b3de58be4fdef43f95a8fb6"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"30a21216f86e21d33b3d17f35cd644d9233d628d","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def setUp(self):"},{"line_number":50,"context_line":"        super(SchedulerReportClientTests, self).setUp()"},{"line_number":51,"context_line":"        CONF.set_override(\u0027auth_strategy\u0027, \u0027noauth2\u0027)"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"        self.app \u003d lambda: deploy.loadapp(CONF)"},{"line_number":54,"context_line":"        self.client \u003d NoAuthReportClient()"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a8ec9b2_cdbe35d4","line":51,"updated":"2016-09-13 19:09:33.000000000","message":"Generally, we do this:\n\n self.flags(auth_strategy\u003d\u0027noauth2\u0027)\n\nwhen deriving from nova.test.TestCase","commit_id":"231b68cc961186488b3de58be4fdef43f95a8fb6"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"bcf047d07804b05a0cf25d659c0a3a93b23b17c3","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def setUp(self):"},{"line_number":50,"context_line":"        super(SchedulerReportClientTests, self).setUp()"},{"line_number":51,"context_line":"        CONF.set_override(\u0027auth_strategy\u0027, \u0027noauth2\u0027)"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"        self.app \u003d lambda: deploy.loadapp(CONF)"},{"line_number":54,"context_line":"        self.client \u003d NoAuthReportClient()"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a8ec9b2_057c7171","line":51,"in_reply_to":"7a8ec9b2_cdbe35d4","updated":"2016-09-13 20:07:28.000000000","message":"That\u0027s one of those things which becomes immediately obvious and sensible once you\u0027re in on the trick but before then is completely out of sync with mental models.","commit_id":"231b68cc961186488b3de58be4fdef43f95a8fb6"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"30a21216f86e21d33b3d17f35cd644d9233d628d","unresolved":false,"context_lines":[{"line_number":81,"context_line":"                return_value\u003dFalse)"},{"line_number":82,"context_line":"    @mock.patch(\u0027nova.objects.compute_node.ComputeNode.save\u0027)"},{"line_number":83,"context_line":"    @mock.patch(\u0027keystoneauth1.session.Session.get_auth_headers\u0027,"},{"line_number":84,"context_line":"               return_value\u003d{\u0027x-auth-token\u0027: \u0027admin\u0027})"},{"line_number":85,"context_line":"    @mock.patch(\u0027keystoneauth1.session.Session.get_endpoint\u0027,"},{"line_number":86,"context_line":"                return_value\u003d\u0027http://localhost:80/placement\u0027)"},{"line_number":87,"context_line":"    def test_client_report_smoke(self, mock_vbi, mock_endpoint, mock_auth,"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a8ec9b2_6dc44140","line":84,"updated":"2016-09-13 19:09:33.000000000","message":"femto-nit: alignment.","commit_id":"231b68cc961186488b3de58be4fdef43f95a8fb6"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"30a21216f86e21d33b3d17f35cd644d9233d628d","unresolved":false,"context_lines":[{"line_number":89,"context_line":"        \"\"\"Check things go as expected when doing the right things.\"\"\""},{"line_number":90,"context_line":"        # TODO(cdent): We should probably also have a test that"},{"line_number":91,"context_line":"        # tests that when allocation or inventory errors happen, we"},{"line_number":92,"context_line":"        # are reslient."},{"line_number":93,"context_line":"        res_class \u003d fields.ResourceClass.VCPU"},{"line_number":94,"context_line":"        with interceptor.RequestsInterceptor("},{"line_number":95,"context_line":"                app\u003dself.app, url\u003dself.url):"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a8ec9b2_6ddb611c","line":92,"range":{"start_line":92,"start_character":17,"end_line":92,"end_character":18},"updated":"2016-09-13 19:09:33.000000000","message":"s/reslient/resilient/","commit_id":"231b68cc961186488b3de58be4fdef43f95a8fb6"}],"requirements.txt":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"90bd7d6eee5ad97fb68a36e384bc4689b7e36f7d","unresolved":false,"context_lines":[{"line_number":58,"context_line":"os-win\u003e\u003d0.2.3 # Apache-2.0"},{"line_number":59,"context_line":"castellan\u003e\u003d0.4.0 # Apache-2.0"},{"line_number":60,"context_line":"microversion-parse\u003e\u003d0.1.2 # Apache-2.0"},{"line_number":61,"context_line":"wsgi_intercept\u003e\u003d0.6.1 # MIT License"}],"source_content_type":"text/plain","patch_set":3,"id":"7a8ec9b2_25cf7e57","line":61,"updated":"2016-09-14 14:17:49.000000000","message":"I guess, because of gabbi, its not really an add. So this should be OK.","commit_id":"b922af9ee839543b732a69a4cff946f748436c3c"}]}
