)]}'
{"nova/objects/virt_device_metadata.py":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"333e2b8adefa186f5c0996449eb5bd1fe85a8fe1","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    fields \u003d {"},{"line_number":80,"context_line":"        \u0027mac\u0027: fields.MACAddressField(),"},{"line_number":81,"context_line":"        \u0027vlans\u0027: fields.ListOfIntegersField(),"},{"line_number":82,"context_line":"    }"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1a6eadb0_de6f22fa","line":81,"updated":"2016-12-21 13:28:34.000000000","message":"You will have to add a method to make that object compatible to the version 1.0 (without the field vlans)","commit_id":"49ae9ad6f85bf2c17fb5c8eab9a4333e70024f06"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"c0484f03722f23d0d35f71d5eb3023a2680df39d","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    fields \u003d {"},{"line_number":80,"context_line":"        \u0027mac\u0027: fields.MACAddressField(),"},{"line_number":81,"context_line":"        \u0027vlans\u0027: fields.ListOfIntegersField(),"},{"line_number":82,"context_line":"    }"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1a6eadb0_8d6659b9","line":81,"in_reply_to":"1a6eadb0_de6f22fa","updated":"2016-12-21 16:16:44.000000000","message":"So as you explained to me that object is going to be created on fly when we request metadata, even if the VM is migrated there is no need to have object compat here.","commit_id":"49ae9ad6f85bf2c17fb5c8eab9a4333e70024f06"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b5d575fcd764efab3b600b9c21dd1513f6b84772","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    fields \u003d {"},{"line_number":80,"context_line":"        \u0027mac\u0027: fields.MACAddressField(),"},{"line_number":81,"context_line":"        \u0027vlans\u0027: fields.ListOfIntegersField(),"},{"line_number":82,"context_line":"    }"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"da4df55a_8250a833","line":81,"updated":"2016-12-29 00:26:37.000000000","message":"Don\u0027t we need an obj_make_compatible check for this to downgrade to 1.1 and pop \u0027vlans\u0027 from the primitive?","commit_id":"b2ee293de2f74a85d287a5f176a1a252ec6ea762"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"b98f145416e9911e1e29f09b3766241b6cd29f1f","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    fields \u003d {"},{"line_number":80,"context_line":"        \u0027mac\u0027: fields.MACAddressField(),"},{"line_number":81,"context_line":"        \u0027vlans\u0027: fields.ListOfIntegersField(),"},{"line_number":82,"context_line":"    }"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"ba5201f7_9878a791","line":81,"in_reply_to":"ba5201f7_f2a2b299","updated":"2017-01-10 09:38:15.000000000","message":"Hum... Actually that is stored in the database","commit_id":"b2ee293de2f74a85d287a5f176a1a252ec6ea762"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"2ffca18081c9e8fd7e51a5a420419dba187bdaa4","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    fields \u003d {"},{"line_number":80,"context_line":"        \u0027mac\u0027: fields.MACAddressField(),"},{"line_number":81,"context_line":"        \u0027vlans\u0027: fields.ListOfIntegersField(),"},{"line_number":82,"context_line":"    }"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"ba5201f7_f2a2b299","line":81,"in_reply_to":"da4df55a_8250a833","updated":"2017-01-10 09:16:35.000000000","message":"In the previous comment we had discussion about that, the conclusion was: this object is going to be build in fly, it\u0027s just a representation and will be not stored in database or passed through RPC. So we have considered it was not necessary to add an obj_make_compatible.\n\nDo we have missed something ?","commit_id":"b2ee293de2f74a85d287a5f176a1a252ec6ea762"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c48d04eafc62699a5174143c35b8a4feb1d11cd9","unresolved":false,"context_lines":[{"line_number":74,"context_line":"@base.NovaObjectRegistry.register"},{"line_number":75,"context_line":"class NetworkInterfaceMetadata(DeviceMetadata):"},{"line_number":76,"context_line":"    # Version 1.0: Initial version"},{"line_number":77,"context_line":"    # Version 1.1: Add vlans field"},{"line_number":78,"context_line":"    VERSION \u003d \u00271.1\u0027"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    fields \u003d {"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a461143_b9bd51d9","line":77,"range":{"start_line":77,"start_character":23,"end_line":77,"end_character":28},"updated":"2017-01-26 21:05:13.000000000","message":"vlan - you can clean this up in a follow up given we\u0027re rushing for FF.","commit_id":"2ace67115b46a1df09c4812cfe8a12d18a6b7747"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"fa2a6e4bf4586fb18dbbb418688665e958b9d4f9","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        \u0027vlan\u0027: fields.IntegerField(),"},{"line_number":83,"context_line":"    }"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def obj_make_compatible(self, primitive, target_version):"},{"line_number":86,"context_line":"        target_version \u003d versionutils.convert_version_to_tuple(target_version)"},{"line_number":87,"context_line":"        if target_version \u003c (1, 1) and \u0027vlan\u0027 in primitive:"},{"line_number":88,"context_line":"            del primitive[\u0027vlan\u0027]"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"@base.NovaObjectRegistry.register"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a461143_0bb0c742","line":88,"range":{"start_line":85,"start_character":0,"end_line":88,"end_character":33},"updated":"2017-01-26 23:27:54.000000000","message":"Aha - I should have spotted that in PS2","commit_id":"2ace67115b46a1df09c4812cfe8a12d18a6b7747"}]}
