)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"ed4bba42603cb60adb8a70b575337dbe13ec6c82","unresolved":false,"context_lines":[{"line_number":12,"context_line":"\u0027ignore_hosts\u0027: [u\u0027test-deploy7\u0027], \u0027group_hosts\u0027: set([]),"},{"line_number":13,"context_line":"\u0027group_updated\u0027: True, \u0027scheduler_hints\u0027: {u\u0027group\u0027: u\u0027groupId\u0027}}."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Because no filed named \u0027group_members\u0027 was contained, so the"},{"line_number":16,"context_line":"following method: nova/objects/request_spec.py:205:"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"members \u003d list(filter_properties.get(\u0027group_members\u0027))"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"7ffa3b31_34b1fd90","line":15,"updated":"2017-04-14 08:55:33.000000000","message":"field","commit_id":"e0688df151d4447aa4085360e46a2316299dc5a4"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"ed4bba42603cb60adb8a70b575337dbe13ec6c82","unresolved":false,"context_lines":[{"line_number":18,"context_line":"members \u003d list(filter_properties.get(\u0027group_members\u0027))"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"will raise the NoneType error: \"TypeError: \u0027NoneType\u0027 object is not"},{"line_number":21,"context_line":"iterable\". We add a default value to avoide this exception."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"members \u003d list(filter_properties.get(\u0027group_members\u0027, []))"},{"line_number":24,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"7ffa3b31_9467b126","line":21,"updated":"2017-04-14 08:55:33.000000000","message":"avoid","commit_id":"e0688df151d4447aa4085360e46a2316299dc5a4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"6bd84edf85746b1518a861f240a3fffd96c4cc93","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Migrate VMs failed when anti-affinity group was removed from VMs."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When anti-affinity group was removed, \u0027group_members\u0027 field was"},{"line_number":10,"context_line":"removed from request_spec and here is the debug info:"},{"line_number":11,"context_line":"{\u0027limits\u0027: {}, \u0027group_policies\u0027:set([u\u0027anti-affinity\u0027]),"},{"line_number":12,"context_line":"\u0027ignore_hosts\u0027: [u\u0027test-deploy7\u0027], \u0027group_hosts\u0027: set([]),"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":14,"id":"3f4b6375_fcea8671","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":36},"updated":"2017-11-06 04:59:34.000000000","message":"I\u0027m unclear on what this means. Do you mean when the server group is actually deleted?\n\nhttps://developer.openstack.org/api-ref/compute/#delete-server-group\n\n?\n\nBecause I don\u0027t see code via that API which modifies the instance request spec for all members of the group.","commit_id":"97f8e32361408c85ad9ad2b46b5bb43550d1e343"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"6bd84edf85746b1518a861f240a3fffd96c4cc93","unresolved":false,"context_lines":[{"line_number":12,"context_line":"\u0027ignore_hosts\u0027: [u\u0027test-deploy7\u0027], \u0027group_hosts\u0027: set([]),"},{"line_number":13,"context_line":"\u0027group_updated\u0027: True, \u0027scheduler_hints\u0027: {u\u0027group\u0027: u\u0027groupId\u0027}}."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Because no filed named \u0027group_members\u0027 was contained, so the"},{"line_number":16,"context_line":"following method: nova/objects/request_spec.py:205:"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"members \u003d list(filter_properties.get(\u0027group_members\u0027))"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":14,"id":"3f4b6375_1c9d6209","line":15,"range":{"start_line":15,"start_character":11,"end_line":15,"end_character":16},"updated":"2017-11-06 04:59:34.000000000","message":"field","commit_id":"97f8e32361408c85ad9ad2b46b5bb43550d1e343"}],"nova/tests/unit/objects/test_request_spec.py":[{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"ed4bba42603cb60adb8a70b575337dbe13ec6c82","unresolved":false,"context_lines":[{"line_number":230,"context_line":"        self.assertEqual([\u0027fake1\u0027], spec.instance_group.hosts)"},{"line_number":231,"context_line":"        self.assertEqual([\u0027fake-instance1\u0027], spec.instance_group.members)"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"        # Add testcases to let _populate_group_info handle empty field."},{"line_number":234,"context_line":"        filt_props_empty \u003d {}"},{"line_number":235,"context_line":"        filt_props_empty[\u0027group_updated\u0027] \u003d True"},{"line_number":236,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"7ffa3b31_345fbd42","line":233,"updated":"2017-04-14 08:55:33.000000000","message":"It looks like this chunk could and should be in its own test method?","commit_id":"e0688df151d4447aa4085360e46a2316299dc5a4"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"4cface97ebeea875cc8b3cdda827eb976964c290","unresolved":false,"context_lines":[{"line_number":230,"context_line":"        self.assertEqual([\u0027fake1\u0027], spec.instance_group.hosts)"},{"line_number":231,"context_line":"        self.assertEqual([\u0027fake-instance1\u0027], spec.instance_group.members)"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"        # Add testcases to let _populate_group_info handle empty field."},{"line_number":234,"context_line":"        filt_props_empty \u003d {}"},{"line_number":235,"context_line":"        filt_props_empty[\u0027group_updated\u0027] \u003d True"},{"line_number":236,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"7ffa3b31_b3e62044","line":233,"in_reply_to":"7ffa3b31_074c83c5","updated":"2017-04-17 09:07:20.000000000","message":"I think a new test case/method for handle_empty_field","commit_id":"e0688df151d4447aa4085360e46a2316299dc5a4"},{"author":{"_account_id":25110,"name":"Bryan Song","email":"lcsong@fiberhome.com","username":"lcsong"},"change_message_id":"1741386ac33afa807d3474d0bf0f3b1e7b8e3798","unresolved":false,"context_lines":[{"line_number":230,"context_line":"        self.assertEqual([\u0027fake1\u0027], spec.instance_group.hosts)"},{"line_number":231,"context_line":"        self.assertEqual([\u0027fake-instance1\u0027], spec.instance_group.members)"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"        # Add testcases to let _populate_group_info handle empty field."},{"line_number":234,"context_line":"        filt_props_empty \u003d {}"},{"line_number":235,"context_line":"        filt_props_empty[\u0027group_updated\u0027] \u003d True"},{"line_number":236,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"7ffa3b31_074c83c5","line":233,"in_reply_to":"7ffa3b31_345fbd42","updated":"2017-04-15 01:03:25.000000000","message":"Seems the following method: test_populate_group_info_missing_values is testing group info which miss values, should I create a new test case or just use this one instead?","commit_id":"e0688df151d4447aa4085360e46a2316299dc5a4"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"a0ab815b56a7f00aecbc501f7be5abca905b9557","unresolved":false,"context_lines":[{"line_number":230,"context_line":"        self.assertEqual([\u0027fake1\u0027], spec.instance_group.hosts)"},{"line_number":231,"context_line":"        self.assertEqual([\u0027fake-instance1\u0027], spec.instance_group.members)"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"    def test_populate_group_info_with_empty_value(self):"},{"line_number":234,"context_line":"        # Add testcases to let _populate_group_info handle empty field."},{"line_number":235,"context_line":"        filt_props_empty \u003d {}"},{"line_number":236,"context_line":"        filt_props_empty[\u0027group_updated\u0027] \u003d True"}],"source_content_type":"text/x-python","patch_set":13,"id":"7ffa3b31_b6abae1b","line":233,"updated":"2017-04-17 10:39:52.000000000","message":"yeah, this is what I meant, thanks","commit_id":"b37b35d0495447966132298ecb69ba80049a472b"},{"author":{"_account_id":25110,"name":"Bryan Song","email":"lcsong@fiberhome.com","username":"lcsong"},"change_message_id":"45af368047be2e12a65965ac559b8f52d81f667f","unresolved":false,"context_lines":[{"line_number":230,"context_line":"        self.assertEqual([\u0027fake1\u0027], spec.instance_group.hosts)"},{"line_number":231,"context_line":"        self.assertEqual([\u0027fake-instance1\u0027], spec.instance_group.members)"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"    def test_populate_group_info_with_empty_value(self):"},{"line_number":234,"context_line":"        # Add testcases to let _populate_group_info handle empty field."},{"line_number":235,"context_line":"        filt_props_empty \u003d {}"},{"line_number":236,"context_line":"        filt_props_empty[\u0027group_updated\u0027] \u003d True"}],"source_content_type":"text/x-python","patch_set":13,"id":"7f231b9d_5fce32b4","line":233,"in_reply_to":"7ffa3b31_b6abae1b","updated":"2017-10-31 12:20:09.000000000","message":"Done","commit_id":"b37b35d0495447966132298ecb69ba80049a472b"}]}
