)]}'
{"nova/objects/instance.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"357272ec535e9942816d3fb97d84a62ccf85eabc","unresolved":false,"context_lines":[{"line_number":192,"context_line":"        \u0027pci_requests\u0027: fields.ObjectField(\u0027InstancePCIRequests\u0027,"},{"line_number":193,"context_line":"                                           nullable\u003dTrue),"},{"line_number":194,"context_line":"        \u0027devices_metadata\u0027: fields.ObjectField(\u0027InstanceDevicesMetadata\u0027,"},{"line_number":195,"context_line":"                                           nullable\u003dTrue),"},{"line_number":196,"context_line":"        \u0027tags\u0027: fields.ObjectField(\u0027TagList\u0027),"},{"line_number":197,"context_line":"        \u0027flavor\u0027: fields.ObjectField(\u0027Flavor\u0027),"},{"line_number":198,"context_line":"        \u0027old_flavor\u0027: fields.ObjectField(\u0027Flavor\u0027, nullable\u003dTrue),"}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_15d2ef5b","line":195,"range":{"start_line":195,"start_character":43,"end_line":195,"end_character":56},"updated":"2016-06-14 19:27:41.000000000","message":"Indentation error here.","commit_id":"ec74c08059134ebf4fc6647da735fcb3c23a3457"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"47eccb5c48e4fb75dbe045e82ed3e628b5c4e5db","unresolved":false,"context_lines":[{"line_number":192,"context_line":"        \u0027pci_requests\u0027: fields.ObjectField(\u0027InstancePCIRequests\u0027,"},{"line_number":193,"context_line":"                                           nullable\u003dTrue),"},{"line_number":194,"context_line":"        \u0027devices_metadata\u0027: fields.ObjectField(\u0027InstanceDevicesMetadata\u0027,"},{"line_number":195,"context_line":"                                           nullable\u003dTrue),"},{"line_number":196,"context_line":"        \u0027tags\u0027: fields.ObjectField(\u0027TagList\u0027),"},{"line_number":197,"context_line":"        \u0027flavor\u0027: fields.ObjectField(\u0027Flavor\u0027),"},{"line_number":198,"context_line":"        \u0027old_flavor\u0027: fields.ObjectField(\u0027Flavor\u0027, nullable\u003dTrue),"}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_317a9877","line":195,"range":{"start_line":195,"start_character":43,"end_line":195,"end_character":56},"in_reply_to":"7aa08908_15d2ef5b","updated":"2016-06-14 22:13:46.000000000","message":"Done","commit_id":"ec74c08059134ebf4fc6647da735fcb3c23a3457"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"0345293e12ffb0a528697c954a4b14c310904a12","unresolved":false,"context_lines":[{"line_number":191,"context_line":"                                            nullable\u003dTrue),"},{"line_number":192,"context_line":"        \u0027pci_requests\u0027: fields.ObjectField(\u0027InstancePCIRequests\u0027,"},{"line_number":193,"context_line":"                                           nullable\u003dTrue),"},{"line_number":194,"context_line":"        \u0027devices_metadata\u0027: fields.ObjectField(\u0027InstanceDevicesMetadata\u0027,"},{"line_number":195,"context_line":"                                               nullable\u003dTrue),"},{"line_number":196,"context_line":"        \u0027tags\u0027: fields.ObjectField(\u0027TagList\u0027),"},{"line_number":197,"context_line":"        \u0027flavor\u0027: fields.ObjectField(\u0027Flavor\u0027),"}],"source_content_type":"text/x-python","patch_set":9,"id":"3aaa91ec_62f9d7c8","line":194,"updated":"2016-06-21 19:46:19.000000000","message":"Please just call this \u0027device_metadata\u0027, not \u0027devices_metadata\u0027. See my comment on the dependent patch about not needing to add an instance_uuid field to the DeviceMetadata object class definition or changing that class\u0027 name to InstanceDevicesMetadata.","commit_id":"2fe98fa2f90a221209b2740e39aee701d833ec54"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"17fc11104d4501974bb5ce41b274bb95336dd064","unresolved":false,"context_lines":[{"line_number":191,"context_line":"                                            nullable\u003dTrue),"},{"line_number":192,"context_line":"        \u0027pci_requests\u0027: fields.ObjectField(\u0027InstancePCIRequests\u0027,"},{"line_number":193,"context_line":"                                           nullable\u003dTrue),"},{"line_number":194,"context_line":"        \u0027devices_metadata\u0027: fields.ObjectField(\u0027InstanceDevicesMetadata\u0027,"},{"line_number":195,"context_line":"                                               nullable\u003dTrue),"},{"line_number":196,"context_line":"        \u0027tags\u0027: fields.ObjectField(\u0027TagList\u0027),"},{"line_number":197,"context_line":"        \u0027flavor\u0027: fields.ObjectField(\u0027Flavor\u0027),"}],"source_content_type":"text/x-python","patch_set":9,"id":"3aaa91ec_5b6e3aca","line":194,"in_reply_to":"3aaa91ec_62f9d7c8","updated":"2016-06-23 12:31:11.000000000","message":"Done","commit_id":"2fe98fa2f90a221209b2740e39aee701d833ec54"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"0345293e12ffb0a528697c954a4b14c310904a12","unresolved":false,"context_lines":[{"line_number":471,"context_line":"        expected_attrs.append(\u0027devices_metadata\u0027)"},{"line_number":472,"context_line":"        if devices_metadata:"},{"line_number":473,"context_line":"            updates[\u0027extra\u0027][\u0027devices_metadata\u0027] \u003d ("},{"line_number":474,"context_line":"                devices_metadata._to_json())"},{"line_number":475,"context_line":"        else:"},{"line_number":476,"context_line":"            updates[\u0027extra\u0027][\u0027devices_metadata\u0027] \u003d None"},{"line_number":477,"context_line":"        flavor \u003d updates.pop(\u0027flavor\u0027, None)"}],"source_content_type":"text/x-python","patch_set":9,"id":"3aaa91ec_42f65bd8","line":474,"updated":"2016-06-21 19:46:19.000000000","message":"Please let\u0027s just serialize the Nova object itself, using the o.vo serialization framework. Don\u0027t serialize the primitive itself, serialize the entire structured, versioned object. Then there\u0027s no need for this messed-up _to_json() stuff and we store the versioning information in the database field.","commit_id":"2fe98fa2f90a221209b2740e39aee701d833ec54"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"14cc43cf4166f54693c3b656504c8c9aba738237","unresolved":false,"context_lines":[{"line_number":471,"context_line":"        expected_attrs.append(\u0027devices_metadata\u0027)"},{"line_number":472,"context_line":"        if devices_metadata:"},{"line_number":473,"context_line":"            updates[\u0027extra\u0027][\u0027devices_metadata\u0027] \u003d ("},{"line_number":474,"context_line":"                devices_metadata._to_json())"},{"line_number":475,"context_line":"        else:"},{"line_number":476,"context_line":"            updates[\u0027extra\u0027][\u0027devices_metadata\u0027] \u003d None"},{"line_number":477,"context_line":"        flavor \u003d updates.pop(\u0027flavor\u0027, None)"}],"source_content_type":"text/x-python","patch_set":9,"id":"3aaa91ec_4183f6cc","line":474,"in_reply_to":"3aaa91ec_42f65bd8","updated":"2016-06-21 21:03:48.000000000","message":"They\u0027re following the pattern here. I hate to_json() as well, but consistency is good. I could go either way on forging a new path here, or being consistent. I\u0027ve been meaning to clean this up and unify it for a while, so if you are cool with them keeping it consistent for now, I\u0027ll clean it up later. And if not, then I\u0027ll clean up the rest afterwards :)","commit_id":"2fe98fa2f90a221209b2740e39aee701d833ec54"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"61eca78e6e25f9108ffd67da3e3974c35a21e630","unresolved":false,"context_lines":[{"line_number":192,"context_line":"        \u0027pci_requests\u0027: fields.ObjectField(\u0027InstancePCIRequests\u0027,"},{"line_number":193,"context_line":"                                           nullable\u003dTrue),"},{"line_number":194,"context_line":"        \u0027device_metadata\u0027: fields.ObjectField(\u0027DeviceMetadataList\u0027,"},{"line_number":195,"context_line":"                                               nullable\u003dTrue),"},{"line_number":196,"context_line":"        \u0027tags\u0027: fields.ObjectField(\u0027TagList\u0027),"},{"line_number":197,"context_line":"        \u0027flavor\u0027: fields.ObjectField(\u0027Flavor\u0027),"},{"line_number":198,"context_line":"        \u0027old_flavor\u0027: fields.ObjectField(\u0027Flavor\u0027, nullable\u003dTrue),"}],"source_content_type":"text/x-python","patch_set":15,"id":"3aaa91ec_718000c1","line":195,"updated":"2016-06-23 19:08:13.000000000","message":"uber-femto-nit: alignment of nullable\u003dTrue is off by one space :)","commit_id":"9c3e8122e67c57debb71e825c7634d345b45a8f9"}],"nova/tests/unit/objects/test_instance.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"357272ec535e9942816d3fb97d84a62ccf85eabc","unresolved":false,"context_lines":[{"line_number":1012,"context_line":"                  \u0027numa_topology\u0027: None,"},{"line_number":1013,"context_line":"                  \u0027pci_requests\u0027: None}"},{"line_number":1014,"context_line":"        mock_create.return_value \u003d self.fake_instance"},{"line_number":1015,"context_line":""},{"line_number":1016,"context_line":"        inst \u003d objects.Instance(context\u003dself.context)"},{"line_number":1017,"context_line":"        inst.create()"},{"line_number":1018,"context_line":"        self.assertEqual(self.fake_instance[\u0027id\u0027], inst.id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_b565dbaf","side":"PARENT","line":1015,"updated":"2016-06-14 19:27:41.000000000","message":"Random whitespace damage here.","commit_id":"5e0d5464818d23b4adcf7f727bba9933a1a47daf"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"47eccb5c48e4fb75dbe045e82ed3e628b5c4e5db","unresolved":false,"context_lines":[{"line_number":1012,"context_line":"                  \u0027numa_topology\u0027: None,"},{"line_number":1013,"context_line":"                  \u0027pci_requests\u0027: None}"},{"line_number":1014,"context_line":"        mock_create.return_value \u003d self.fake_instance"},{"line_number":1015,"context_line":""},{"line_number":1016,"context_line":"        inst \u003d objects.Instance(context\u003dself.context)"},{"line_number":1017,"context_line":"        inst.create()"},{"line_number":1018,"context_line":"        self.assertEqual(self.fake_instance[\u0027id\u0027], inst.id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_91b26c47","side":"PARENT","line":1015,"in_reply_to":"7aa08908_b565dbaf","updated":"2016-06-14 22:13:46.000000000","message":"Done","commit_id":"5e0d5464818d23b4adcf7f727bba9933a1a47daf"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"357272ec535e9942816d3fb97d84a62ccf85eabc","unresolved":false,"context_lines":[{"line_number":1336,"context_line":"        pci_requests \u003d objects.InstancePCIRequests(requests\u003d["},{"line_number":1337,"context_line":"            objects.InstancePCIRequest(count\u003d1, spec\u003d[])])"},{"line_number":1338,"context_line":"        pci_devices \u003d pci_device.PciDeviceList()"},{"line_number":1339,"context_line":""},{"line_number":1340,"context_line":"        inst \u003d instance.Instance(context\u003dself.context, uuid\u003duuids.instance,"},{"line_number":1341,"context_line":"                                 numa_topology\u003dnuma_topology,"},{"line_number":1342,"context_line":"                                 pci_requests\u003dpci_requests,"}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_15078fca","side":"PARENT","line":1339,"updated":"2016-06-14 19:27:41.000000000","message":"...and here.","commit_id":"5e0d5464818d23b4adcf7f727bba9933a1a47daf"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"47eccb5c48e4fb75dbe045e82ed3e628b5c4e5db","unresolved":false,"context_lines":[{"line_number":1336,"context_line":"        pci_requests \u003d objects.InstancePCIRequests(requests\u003d["},{"line_number":1337,"context_line":"            objects.InstancePCIRequest(count\u003d1, spec\u003d[])])"},{"line_number":1338,"context_line":"        pci_devices \u003d pci_device.PciDeviceList()"},{"line_number":1339,"context_line":""},{"line_number":1340,"context_line":"        inst \u003d instance.Instance(context\u003dself.context, uuid\u003duuids.instance,"},{"line_number":1341,"context_line":"                                 numa_topology\u003dnuma_topology,"},{"line_number":1342,"context_line":"                                 pci_requests\u003dpci_requests,"}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_d186b463","side":"PARENT","line":1339,"in_reply_to":"7aa08908_15078fca","updated":"2016-06-14 22:13:46.000000000","message":"Done","commit_id":"5e0d5464818d23b4adcf7f727bba9933a1a47daf"}]}
