)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"31bc01a22e7c9e6a1f5a49dfc06bb642d5f50c4a","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Balazs Gibizer \u003cbalazs.gibizer@est.tech\u003e"},{"line_number":5,"context_line":"CommitDate: 2020-08-28 16:09:10 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Use UUID as vif an network_id in vif tests"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Later patches depend on these more realistic test data. Also a faulty"},{"line_number":10,"context_line":"test case, test_compute.ComputeAPITestCase.test_attach_interface_failed"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9f560f44_707badbd","line":7,"range":{"start_line":7,"start_character":15,"end_line":7,"end_character":19},"updated":"2020-08-31 17:57:34.000000000","message":"vif.id and  network_id","commit_id":"061e600240dc3a3bd13ef36a53555973345939fb"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"a4b7ee47fb9a418b90e5afa8f8ce0dc9ce4db965","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Balazs Gibizer \u003cbalazs.gibizer@est.tech\u003e"},{"line_number":5,"context_line":"CommitDate: 2020-08-28 16:09:10 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Use UUID as vif an network_id in vif tests"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Later patches depend on these more realistic test data. Also a faulty"},{"line_number":10,"context_line":"test case, test_compute.ComputeAPITestCase.test_attach_interface_failed"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9f560f44_c24621c1","line":7,"range":{"start_line":7,"start_character":15,"end_line":7,"end_character":19},"in_reply_to":"9f560f44_707badbd","updated":"2020-09-01 15:24:58.000000000","message":"Done","commit_id":"061e600240dc3a3bd13ef36a53555973345939fb"}],"nova/tests/unit/compute/test_compute.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"31bc01a22e7c9e6a1f5a49dfc06bb642d5f50c4a","unresolved":false,"context_lines":[{"line_number":10396,"context_line":"                              self.compute.attach_interface, self.context,"},{"line_number":10397,"context_line":"                              instance, network_id, port_id, req_ip, None)"},{"line_number":10398,"context_line":"            mock_allocate.assert_called_once_with(self.context, instance,"},{"line_number":10399,"context_line":"                                                  port_id, network_id, req_ip,"},{"line_number":10400,"context_line":"                                                  bind_host_id\u003d\u0027fake-host\u0027,"},{"line_number":10401,"context_line":"                                                  tag\u003dNone)"},{"line_number":10402,"context_line":"            mock_deallocate.assert_called_once_with(self.context, instance,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_5074a9d0","line":10399,"range":{"start_line":10399,"start_character":47,"end_line":10399,"end_character":71},"updated":"2020-08-31 17:57:34.000000000","message":"oh these were swapped that is what you ment in the commit message.","commit_id":"061e600240dc3a3bd13ef36a53555973345939fb"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"a4b7ee47fb9a418b90e5afa8f8ce0dc9ce4db965","unresolved":false,"context_lines":[{"line_number":10396,"context_line":"                              self.compute.attach_interface, self.context,"},{"line_number":10397,"context_line":"                              instance, network_id, port_id, req_ip, None)"},{"line_number":10398,"context_line":"            mock_allocate.assert_called_once_with(self.context, instance,"},{"line_number":10399,"context_line":"                                                  port_id, network_id, req_ip,"},{"line_number":10400,"context_line":"                                                  bind_host_id\u003d\u0027fake-host\u0027,"},{"line_number":10401,"context_line":"                                                  tag\u003dNone)"},{"line_number":10402,"context_line":"            mock_deallocate.assert_called_once_with(self.context, instance,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_8225490d","line":10399,"range":{"start_line":10399,"start_character":47,"end_line":10399,"end_character":71},"in_reply_to":"9f560f44_5074a9d0","updated":"2020-09-01 15:24:58.000000000","message":"yes, this was a test bug, but both the port id and the network_id was set to 1 in the test so the test produced a false positive.","commit_id":"061e600240dc3a3bd13ef36a53555973345939fb"}],"nova/tests/unit/fake_network_cache_model.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6aeae726dc3306d9ed746763f1ca9f490b810a66","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"from oslo_utils.fixture import uuidsentinel as uuids"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from nova.network import model"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_ff014106","line":15,"updated":"2020-09-01 10:05:39.000000000","message":"nit: newline before this would be nice","commit_id":"061e600240dc3a3bd13ef36a53555973345939fb"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"a4b7ee47fb9a418b90e5afa8f8ce0dc9ce4db965","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"from oslo_utils.fixture import uuidsentinel as uuids"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from nova.network import model"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_0277790a","line":15,"in_reply_to":"9f560f44_ff014106","updated":"2020-09-01 15:24:58.000000000","message":"Done","commit_id":"061e600240dc3a3bd13ef36a53555973345939fb"}],"nova/tests/unit/network/test_network_info.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6aeae726dc3306d9ed746763f1ca9f490b810a66","unresolved":false,"context_lines":[{"line_number":332,"context_line":"        self.assertNotEqual(network1, network2)"},{"line_number":333,"context_line":""},{"line_number":334,"context_line":"    def test_hydrate(self):"},{"line_number":335,"context_line":"        fake_network_cache_model.new_subnet()"},{"line_number":336,"context_line":"        fake_network_cache_model.new_subnet(dict(cidr\u003d\u0027255.255.255.255\u0027))"},{"line_number":337,"context_line":"        network \u003d model.Network.hydrate(fake_network_cache_model.new_network())"},{"line_number":338,"context_line":""},{"line_number":339,"context_line":"        self.assertEqual(uuids.network_id, network[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_1f26b5bb","line":336,"range":{"start_line":335,"start_character":0,"end_line":336,"end_character":73},"updated":"2020-09-01 10:05:39.000000000","message":"Not related to this change, but how is this working? Those aren\u0027t persistent o.vos, are they? If so, how are they persisting?","commit_id":"061e600240dc3a3bd13ef36a53555973345939fb"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"a4b7ee47fb9a418b90e5afa8f8ce0dc9ce4db965","unresolved":false,"context_lines":[{"line_number":332,"context_line":"        self.assertNotEqual(network1, network2)"},{"line_number":333,"context_line":""},{"line_number":334,"context_line":"    def test_hydrate(self):"},{"line_number":335,"context_line":"        fake_network_cache_model.new_subnet()"},{"line_number":336,"context_line":"        fake_network_cache_model.new_subnet(dict(cidr\u003d\u0027255.255.255.255\u0027))"},{"line_number":337,"context_line":"        network \u003d model.Network.hydrate(fake_network_cache_model.new_network())"},{"line_number":338,"context_line":""},{"line_number":339,"context_line":"        self.assertEqual(uuids.network_id, network[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_426b31f0","line":336,"range":{"start_line":335,"start_character":0,"end_line":336,"end_character":73},"in_reply_to":"9f560f44_1f26b5bb","updated":"2020-09-01 15:24:58.000000000","message":"\u003e Not related to this change, but how is this working? Those aren\u0027t\n \u003e persistent o.vos, are they? If so, how are they persisting?\n\nThis does not work :D If I comment these two lines out the test still passes.","commit_id":"061e600240dc3a3bd13ef36a53555973345939fb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"af31535f963a6c3075789902276ba62538d73f92","unresolved":false,"context_lines":[{"line_number":332,"context_line":"        self.assertNotEqual(network1, network2)"},{"line_number":333,"context_line":""},{"line_number":334,"context_line":"    def test_hydrate(self):"},{"line_number":335,"context_line":"        fake_network_cache_model.new_subnet()"},{"line_number":336,"context_line":"        fake_network_cache_model.new_subnet(dict(cidr\u003d\u0027255.255.255.255\u0027))"},{"line_number":337,"context_line":"        network \u003d model.Network.hydrate(fake_network_cache_model.new_network())"},{"line_number":338,"context_line":""},{"line_number":339,"context_line":"        self.assertEqual(uuids.network_id, network[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_b171bd0f","line":336,"range":{"start_line":335,"start_character":0,"end_line":336,"end_character":73},"in_reply_to":"9f560f44_1f26b5bb","updated":"2020-09-01 13:11:32.000000000","message":"those are nova.network.model classes they are stored in the network.info_cache()\n\nthey predate OVOs\n\nwe technically should be creating actual subnet objects here but the model object inherit form dict so this also works.\n\nhttps://github.com/openstack/nova/blob/master/nova/network/model.py#L275-L323\n\nthat is the real class ^\n\ni think the model objects are technically the only non ovo classes defined in nova we send over the rpc bus today but they are only sent over the wire inside ovos.\n\nsepecifically in the migrate_data object vifs filed.\nthe vif.source_vif is a nova.network.model.VIF serialised as a dict of strings and then re hydrated on the other end.\n\nbut ya the network info cache is a list of dicts of string to string effectivly per instance.\n\nalthoguh technically its a NetworkInfo object\n\nhttps://github.com/openstack/nova/blob/master/nova/network/model.py#L501 \n\nso its a List of VIFs","commit_id":"061e600240dc3a3bd13ef36a53555973345939fb"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2996b5c6369329deaa4a04ced20517cd9e36cef3","unresolved":false,"context_lines":[{"line_number":332,"context_line":"        self.assertNotEqual(network1, network2)"},{"line_number":333,"context_line":""},{"line_number":334,"context_line":"    def test_hydrate(self):"},{"line_number":335,"context_line":"        fake_network_cache_model.new_subnet()"},{"line_number":336,"context_line":"        fake_network_cache_model.new_subnet(dict(cidr\u003d\u0027255.255.255.255\u0027))"},{"line_number":337,"context_line":"        network \u003d model.Network.hydrate(fake_network_cache_model.new_network())"},{"line_number":338,"context_line":""},{"line_number":339,"context_line":"        self.assertEqual(uuids.network_id, network[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_b8f19a98","line":336,"range":{"start_line":335,"start_character":0,"end_line":336,"end_character":73},"updated":"2020-09-01 16:32:43.000000000","message":"Can you kill this too?","commit_id":"24ca640223fab8b58a6ededc4a871a76078d14ce"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"49c6c84b4afb2e0308e40d8e7821bb90e7969214","unresolved":false,"context_lines":[{"line_number":332,"context_line":"        self.assertNotEqual(network1, network2)"},{"line_number":333,"context_line":""},{"line_number":334,"context_line":"    def test_hydrate(self):"},{"line_number":335,"context_line":"        fake_network_cache_model.new_subnet()"},{"line_number":336,"context_line":"        fake_network_cache_model.new_subnet(dict(cidr\u003d\u0027255.255.255.255\u0027))"},{"line_number":337,"context_line":"        network \u003d model.Network.hydrate(fake_network_cache_model.new_network())"},{"line_number":338,"context_line":""},{"line_number":339,"context_line":"        self.assertEqual(uuids.network_id, network[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_09c3fe58","line":336,"range":{"start_line":335,"start_character":0,"end_line":336,"end_character":73},"in_reply_to":"9f560f44_b8f19a98","updated":"2020-09-03 07:57:22.000000000","message":"Killed it separately https://review.opendev.org/749661","commit_id":"24ca640223fab8b58a6ededc4a871a76078d14ce"}]}
