)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":2067,"name":"sagar-r-nikam","email":"nikam@hp.com","username":"sagar-r-nikam"},"change_message_id":"65fbfeaa524dfa08c0721b6d5871925e579228b9","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Secure Boot feature will be enabled by setting the \"os_secure_boot\""},{"line_number":10,"context_line":"image property to \"required\". Other options can be: \"disabled\" or"},{"line_number":11,"context_line":"\"optional\"."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Partially Implements: blueprint hyper-v-uefi-secureboot"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: Id53f934fccb020dcc6bae9e13f53cbb3df3dcd92"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":16,"id":"7a740942_918fe122","line":12,"updated":"2015-12-04 14:34:57.000000000","message":"docimpact required","commit_id":"9c86f18c5cc45061144a307b0b9e806cc438e8a4"}],"nova/objects/fields.py":[{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"f20a2650481c253d5196934bcf06e5c734b5a69a","unresolved":false,"context_lines":[{"line_number":287,"context_line":"        # Some code/docs use upper case or initial caps"},{"line_number":288,"context_line":"        # so canonicalize to all lower case"},{"line_number":289,"context_line":"        value \u003d value.lower()"},{"line_number":290,"context_line":"        return super(SecureBoot, self).coerce(obj, attr, value)"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"class VideoModel(Enum):"},{"line_number":293,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3a29b11f_3df6ccd7","line":290,"updated":"2015-10-20 14:22:36.000000000","message":"We generally only need to have a coerce when dealing with an existing property from old versions of Nova. Since this is brand new code, we can avoid it and just require users to supply all-lowercase from day 1.","commit_id":"a8ee82a0862128332e218bea3849a5de63d81378"},{"author":{"_account_id":12582,"name":"Simona Iuliana Toader","email":"itoader@cloudbasesolutions.com","username":"itoader"},"change_message_id":"3af459e9f46f40d9717d8240c65a4157e3205b27","unresolved":false,"context_lines":[{"line_number":287,"context_line":"        # Some code/docs use upper case or initial caps"},{"line_number":288,"context_line":"        # so canonicalize to all lower case"},{"line_number":289,"context_line":"        value \u003d value.lower()"},{"line_number":290,"context_line":"        return super(SecureBoot, self).coerce(obj, attr, value)"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"class VideoModel(Enum):"},{"line_number":293,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3a29b11f_5db148e0","line":290,"in_reply_to":"3a29b11f_3df6ccd7","updated":"2015-10-20 14:25:37.000000000","message":"Done","commit_id":"a8ee82a0862128332e218bea3849a5de63d81378"},{"author":{"_account_id":11803,"name":"Ryan Rossiter","email":"rlrossit@us.ibm.com","username":"rlrossiter"},"change_message_id":"10e55eb4a7cddb9047a00d63a6cadf509b02a140","unresolved":false,"context_lines":[{"line_number":272,"context_line":"        return super(SCSIModel, self).coerce(obj, attr, value)"},{"line_number":273,"context_line":""},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"class SecureBoot(Enum):"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"    REQUIRED \u003d \"required\""},{"line_number":278,"context_line":"    DISABLED \u003d \"disabled\""}],"source_content_type":"text/x-python","patch_set":6,"id":"da85f559_dcab2cd5","line":275,"updated":"2015-11-09 21:51:35.000000000","message":"there should be a test added to test the values (https://github.com/openstack/nova/blob/master/nova/tests/unit/objects/test_fields.py)","commit_id":"cdd454e37d0c5ec483009d5e1c065ea60d0eaaa7"},{"author":{"_account_id":12582,"name":"Simona Iuliana Toader","email":"itoader@cloudbasesolutions.com","username":"itoader"},"change_message_id":"429831d7a457ec2d921515b617b1cbbc00c8cdcc","unresolved":false,"context_lines":[{"line_number":272,"context_line":"        return super(SCSIModel, self).coerce(obj, attr, value)"},{"line_number":273,"context_line":""},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"class SecureBoot(Enum):"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"    REQUIRED \u003d \"required\""},{"line_number":278,"context_line":"    DISABLED \u003d \"disabled\""}],"source_content_type":"text/x-python","patch_set":6,"id":"da85f559_f7d64a26","line":275,"in_reply_to":"da85f559_dcab2cd5","updated":"2015-11-09 22:35:48.000000000","message":"Done","commit_id":"cdd454e37d0c5ec483009d5e1c065ea60d0eaaa7"}],"nova/objects/image_meta.py":[{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"e97e5337cf59bf90751b56bfa5fb74bb0cbb1ece","unresolved":false,"context_lines":[{"line_number":339,"context_line":""},{"line_number":340,"context_line":"        # Secure Boot feature will be enabled by setting the \"os_secure_boot\""},{"line_number":341,"context_line":"        # image property to \"required\". Other options can be: \"disabled\" or"},{"line_number":342,"context_line":"        # \"optional\"."},{"line_number":343,"context_line":"        # \"os:secure_boot\" flavor extra spec value overrides the image property"},{"line_number":344,"context_line":"        # value."},{"line_number":345,"context_line":"        \u0027os_secure_boot\u0027: fields.StringField(),"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a29b11f_4ae4200c","line":342,"updated":"2015-10-20 14:06:04.000000000","message":"Please define an enum class for these values - see OSTypeField for an example of how todo it","commit_id":"93b149d9c726a31567e33fb97808108aadc85df4"},{"author":{"_account_id":12582,"name":"Simona Iuliana Toader","email":"itoader@cloudbasesolutions.com","username":"itoader"},"change_message_id":"94369c51207b05c1382821f434a0a8557df37820","unresolved":false,"context_lines":[{"line_number":339,"context_line":""},{"line_number":340,"context_line":"        # Secure Boot feature will be enabled by setting the \"os_secure_boot\""},{"line_number":341,"context_line":"        # image property to \"required\". Other options can be: \"disabled\" or"},{"line_number":342,"context_line":"        # \"optional\"."},{"line_number":343,"context_line":"        # \"os:secure_boot\" flavor extra spec value overrides the image property"},{"line_number":344,"context_line":"        # value."},{"line_number":345,"context_line":"        \u0027os_secure_boot\u0027: fields.StringField(),"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a29b11f_5da62811","line":342,"in_reply_to":"3a29b11f_4ae4200c","updated":"2015-10-20 14:19:36.000000000","message":"Done","commit_id":"93b149d9c726a31567e33fb97808108aadc85df4"},{"author":{"_account_id":11803,"name":"Ryan Rossiter","email":"rlrossit@us.ibm.com","username":"rlrossiter"},"change_message_id":"10e55eb4a7cddb9047a00d63a6cadf509b02a140","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        \u0027properties\u0027: fields.ObjectField(\u0027ImageMetaProps\u0027),"},{"line_number":74,"context_line":"    }"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    obj_relationships \u003d {"},{"line_number":77,"context_line":"        \u0027properties\u0027: [(\u00271.0\u0027, \u00271.0\u0027),"},{"line_number":78,"context_line":"                       (\u00271.1\u0027, \u00271.1\u0027),"},{"line_number":79,"context_line":"                       (\u00271.2\u0027, \u00271.2\u0027),"}],"source_content_type":"text/x-python","patch_set":6,"id":"da85f559_3c27d8b7","line":76,"updated":"2015-11-09 21:51:35.000000000","message":"Nova doesn\u0027t use obj_relationships anymore, so you don\u0027t need this.","commit_id":"cdd454e37d0c5ec483009d5e1c065ea60d0eaaa7"},{"author":{"_account_id":12582,"name":"Simona Iuliana Toader","email":"itoader@cloudbasesolutions.com","username":"itoader"},"change_message_id":"429831d7a457ec2d921515b617b1cbbc00c8cdcc","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        \u0027properties\u0027: fields.ObjectField(\u0027ImageMetaProps\u0027),"},{"line_number":74,"context_line":"    }"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    obj_relationships \u003d {"},{"line_number":77,"context_line":"        \u0027properties\u0027: [(\u00271.0\u0027, \u00271.0\u0027),"},{"line_number":78,"context_line":"                       (\u00271.1\u0027, \u00271.1\u0027),"},{"line_number":79,"context_line":"                       (\u00271.2\u0027, \u00271.2\u0027),"}],"source_content_type":"text/x-python","patch_set":6,"id":"da85f559_b7e0c2fb","line":76,"in_reply_to":"da85f559_3c27d8b7","updated":"2015-11-09 22:35:48.000000000","message":"Done","commit_id":"cdd454e37d0c5ec483009d5e1c065ea60d0eaaa7"},{"author":{"_account_id":11803,"name":"Ryan Rossiter","email":"rlrossit@us.ibm.com","username":"rlrossiter"},"change_message_id":"8e697523a7069815f58b29cd5571591007f50dc7","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        \u0027properties\u0027: fields.ObjectField(\u0027ImageMetaProps\u0027),"},{"line_number":74,"context_line":"    }"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    obj_relationships \u003d {"},{"line_number":77,"context_line":"        \u0027properties\u0027: [(\u00271.0\u0027, \u00271.0\u0027),"},{"line_number":78,"context_line":"                       (\u00271.1\u0027, \u00271.1\u0027),"},{"line_number":79,"context_line":"                       (\u00271.2\u0027, \u00271.2\u0027),"}],"source_content_type":"text/x-python","patch_set":6,"id":"da85f559_d791c753","line":76,"in_reply_to":"da85f559_3c27d8b7","updated":"2015-11-09 22:13:20.000000000","message":"https://review.openstack.org/#/c/231271/ for reference","commit_id":"cdd454e37d0c5ec483009d5e1c065ea60d0eaaa7"},{"author":{"_account_id":11803,"name":"Ryan Rossiter","email":"rlrossit@us.ibm.com","username":"rlrossiter"},"change_message_id":"8e697523a7069815f58b29cd5571591007f50dc7","unresolved":false,"context_lines":[{"line_number":149,"context_line":"    # Version 1.6: Added \u0027lxc\u0027 and \u0027uml\u0027 enum types to DiskBusField"},{"line_number":150,"context_line":"    # Version 1.7: added img_config_drive field"},{"line_number":151,"context_line":"    # Version 1.8: added os_secure_boot field"},{"line_number":152,"context_line":"    VERSION \u003d ImageMeta.VERSION"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"    def obj_make_compatible(self, primitive, target_version):"},{"line_number":155,"context_line":"        super(ImageMetaProps, self).obj_make_compatible(primitive,"}],"source_content_type":"text/x-python","patch_set":6,"id":"da85f559_17af4f95","line":152,"updated":"2015-11-09 22:13:20.000000000","message":"because after obj_relationships is removed from ImageMeta above, there will be no changes to it. Because of that, you will be able to untie the version here. ImageMeta will stay 1.7, and this can be changed to VERSION \u003d \u00271.8\u0027","commit_id":"cdd454e37d0c5ec483009d5e1c065ea60d0eaaa7"},{"author":{"_account_id":12582,"name":"Simona Iuliana Toader","email":"itoader@cloudbasesolutions.com","username":"itoader"},"change_message_id":"429831d7a457ec2d921515b617b1cbbc00c8cdcc","unresolved":false,"context_lines":[{"line_number":149,"context_line":"    # Version 1.6: Added \u0027lxc\u0027 and \u0027uml\u0027 enum types to DiskBusField"},{"line_number":150,"context_line":"    # Version 1.7: added img_config_drive field"},{"line_number":151,"context_line":"    # Version 1.8: added os_secure_boot field"},{"line_number":152,"context_line":"    VERSION \u003d ImageMeta.VERSION"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"    def obj_make_compatible(self, primitive, target_version):"},{"line_number":155,"context_line":"        super(ImageMetaProps, self).obj_make_compatible(primitive,"}],"source_content_type":"text/x-python","patch_set":6,"id":"da85f559_57e876e2","line":152,"in_reply_to":"da85f559_17af4f95","updated":"2015-11-09 22:35:48.000000000","message":"Done","commit_id":"cdd454e37d0c5ec483009d5e1c065ea60d0eaaa7"},{"author":{"_account_id":11803,"name":"Ryan Rossiter","email":"rlrossit@us.ibm.com","username":"rlrossiter"},"change_message_id":"44d26d9e34b32e8fac67d92b32c9d2c094bc9353","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    # Version 1.6: ImageMetaProps version 1.6"},{"line_number":39,"context_line":"    # Version 1.7: ImageMetaProps version 1.7"},{"line_number":40,"context_line":"    # Version 1.8: ImageMetaProps version 1.8"},{"line_number":41,"context_line":"    VERSION \u003d \u00271.8\u0027"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    # These are driven by what the image client API returns"},{"line_number":44,"context_line":"    # to Nova from Glance. This is defined in the glance"}],"source_content_type":"text/x-python","patch_set":7,"id":"da85f559_b723e2a6","line":41,"updated":"2015-11-09 22:28:10.000000000","message":"there is no change here so you don\u0027t need to update ImageMeta\u0027s version","commit_id":"1b0c1dbd75f222ccac700e1067093c767ab0e0ee"},{"author":{"_account_id":12582,"name":"Simona Iuliana Toader","email":"itoader@cloudbasesolutions.com","username":"itoader"},"change_message_id":"62de691a872158c28d1ef1545a577158cffad000","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    # Version 1.6: ImageMetaProps version 1.6"},{"line_number":39,"context_line":"    # Version 1.7: ImageMetaProps version 1.7"},{"line_number":40,"context_line":"    # Version 1.8: ImageMetaProps version 1.8"},{"line_number":41,"context_line":"    VERSION \u003d \u00271.8\u0027"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    # These are driven by what the image client API returns"},{"line_number":44,"context_line":"    # to Nova from Glance. This is defined in the glance"}],"source_content_type":"text/x-python","patch_set":7,"id":"da85f559_97b49ef2","line":41,"in_reply_to":"da85f559_b723e2a6","updated":"2015-11-09 22:36:08.000000000","message":"Done","commit_id":"1b0c1dbd75f222ccac700e1067093c767ab0e0ee"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"871296235e52370c20dc9e8efe9d560cc8775620","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    # Version 1.6: ImageMetaProps version 1.6"},{"line_number":39,"context_line":"    # Version 1.7: ImageMetaProps version 1.7"},{"line_number":40,"context_line":"    # Version 1.8: ImageMetaProps version 1.8"},{"line_number":41,"context_line":"    VERSION \u003d \u00271.8\u0027"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    # These are driven by what the image client API returns"},{"line_number":44,"context_line":"    # to Nova from Glance. This is defined in the glance"}],"source_content_type":"text/x-python","patch_set":7,"id":"da85f559_652613d0","line":41,"in_reply_to":"da85f559_b723e2a6","updated":"2015-11-10 08:31:25.000000000","message":"No, this comment is incorrect. The versions of these two objects are *intentionally* tied together.","commit_id":"1b0c1dbd75f222ccac700e1067093c767ab0e0ee"},{"author":{"_account_id":11803,"name":"Ryan Rossiter","email":"rlrossit@us.ibm.com","username":"rlrossiter"},"change_message_id":"44d26d9e34b32e8fac67d92b32c9d2c094bc9353","unresolved":false,"context_lines":[{"line_number":136,"context_line":"    # Version 1.6: Added \u0027lxc\u0027 and \u0027uml\u0027 enum types to DiskBusField"},{"line_number":137,"context_line":"    # Version 1.7: added img_config_drive field"},{"line_number":138,"context_line":"    # Version 1.8: added os_secure_boot field"},{"line_number":139,"context_line":"    VERSION \u003d ImageMeta.VERSION"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"    def obj_make_compatible(self, primitive, target_version):"},{"line_number":142,"context_line":"        super(ImageMetaProps, self).obj_make_compatible(primitive,"}],"source_content_type":"text/x-python","patch_set":7,"id":"da85f559_373052e8","line":139,"updated":"2015-11-09 22:28:10.000000000","message":"you can just change this from ImageMeta.VERSION to be \u00271.8\u0027","commit_id":"1b0c1dbd75f222ccac700e1067093c767ab0e0ee"},{"author":{"_account_id":12582,"name":"Simona Iuliana Toader","email":"itoader@cloudbasesolutions.com","username":"itoader"},"change_message_id":"62de691a872158c28d1ef1545a577158cffad000","unresolved":false,"context_lines":[{"line_number":136,"context_line":"    # Version 1.6: Added \u0027lxc\u0027 and \u0027uml\u0027 enum types to DiskBusField"},{"line_number":137,"context_line":"    # Version 1.7: added img_config_drive field"},{"line_number":138,"context_line":"    # Version 1.8: added os_secure_boot field"},{"line_number":139,"context_line":"    VERSION \u003d ImageMeta.VERSION"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"    def obj_make_compatible(self, primitive, target_version):"},{"line_number":142,"context_line":"        super(ImageMetaProps, self).obj_make_compatible(primitive,"}],"source_content_type":"text/x-python","patch_set":7,"id":"da85f559_57cf167f","line":139,"in_reply_to":"da85f559_373052e8","updated":"2015-11-09 22:36:08.000000000","message":"Done","commit_id":"1b0c1dbd75f222ccac700e1067093c767ab0e0ee"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"ae3655363b5eb8e01d06d8013f8a3ad7f7ae0e22","unresolved":false,"context_lines":[{"line_number":135,"context_line":"    # Version 1.6: Added \u0027lxc\u0027 and \u0027uml\u0027 enum types to DiskBusField"},{"line_number":136,"context_line":"    # Version 1.7: added img_config_drive field"},{"line_number":137,"context_line":"    # Version 1.8: added os_secure_boot field"},{"line_number":138,"context_line":"    VERSION \u003d \u00271.8\u0027"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"    def obj_make_compatible(self, primitive, target_version):"},{"line_number":141,"context_line":"        super(ImageMetaProps, self).obj_make_compatible(primitive,"}],"source_content_type":"text/x-python","patch_set":8,"id":"da85f559_25824b95","line":138,"updated":"2015-11-10 08:31:13.000000000","message":"No, do *not* do this. You must change the VERSION on ImageMeta. The ImageMeta \u0026 ImageMetaProps objects intentionally have their VERSIONS tied together.","commit_id":"92a13e3e2ae027f94f6c4b75b92859b0adfa6c81"},{"author":{"_account_id":12582,"name":"Simona Iuliana Toader","email":"itoader@cloudbasesolutions.com","username":"itoader"},"change_message_id":"3dc0ce087b26c1818943f62b9d293e9d07dadaab","unresolved":false,"context_lines":[{"line_number":135,"context_line":"    # Version 1.6: Added \u0027lxc\u0027 and \u0027uml\u0027 enum types to DiskBusField"},{"line_number":136,"context_line":"    # Version 1.7: added img_config_drive field"},{"line_number":137,"context_line":"    # Version 1.8: added os_secure_boot field"},{"line_number":138,"context_line":"    VERSION \u003d \u00271.8\u0027"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"    def obj_make_compatible(self, primitive, target_version):"},{"line_number":141,"context_line":"        super(ImageMetaProps, self).obj_make_compatible(primitive,"}],"source_content_type":"text/x-python","patch_set":8,"id":"da85f559_0ee40339","line":138,"in_reply_to":"da85f559_25824b95","updated":"2015-11-10 09:42:23.000000000","message":"Done","commit_id":"92a13e3e2ae027f94f6c4b75b92859b0adfa6c81"},{"author":{"_account_id":11803,"name":"Ryan Rossiter","email":"rlrossit@us.ibm.com","username":"rlrossiter"},"change_message_id":"b097f2fb6af2656ae1b566cb0fd0c8c1c8c1716a","unresolved":false,"context_lines":[{"line_number":136,"context_line":"    # Version 1.6: Added \u0027lxc\u0027 and \u0027uml\u0027 enum types to DiskBusField"},{"line_number":137,"context_line":"    # Version 1.7: added img_config_drive field"},{"line_number":138,"context_line":"    # Version 1.8: added os_secure_boot field"},{"line_number":139,"context_line":"    VERSION \u003d ImageMeta.VERSION"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"    def obj_make_compatible(self, primitive, target_version):"},{"line_number":142,"context_line":"        super(ImageMetaProps, self).obj_make_compatible(primitive,"}],"source_content_type":"text/x-python","patch_set":10,"id":"da85f559_8d1ab0c4","line":139,"updated":"2015-11-12 14:25:14.000000000","message":"ImageMetaProps and ImageMeta can now move separately (see Ie0c7bd419e3490d01f73c7a39cd2666eafcf9539), so this can move to 1.8, and ImageMeta above can stay at 1.7","commit_id":"1b25c6ea0c968ea619ae08acdd8f643856345f42"},{"author":{"_account_id":11803,"name":"Ryan Rossiter","email":"rlrossit@us.ibm.com","username":"rlrossiter"},"change_message_id":"b962b84e183d8b7b58417819a722604643be53cf","unresolved":false,"context_lines":[{"line_number":159,"context_line":"                raise exception.ObjectActionError("},{"line_number":160,"context_line":"                    action\u003d\u0027obj_make_compatible\u0027,"},{"line_number":161,"context_line":"                    reason\u003d\u0027hw_disk_bus\u003d%s not supported in version %s\u0027 % ("},{"line_number":162,"context_line":"                        bus, target_version))"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"    # Maximum number of NUMA nodes permitted for the guest topology"},{"line_number":165,"context_line":"    NUMA_NODES_MAX \u003d 128"}],"source_content_type":"text/x-python","patch_set":11,"id":"da85f559_05e4190b","line":162,"updated":"2015-11-13 14:59:37.000000000","message":"There should be a compatibility check for 1.8 to remove the field for older versions","commit_id":"addf15096f2b81067ac1741525557e1ded768d7a"},{"author":{"_account_id":12582,"name":"Simona Iuliana Toader","email":"itoader@cloudbasesolutions.com","username":"itoader"},"change_message_id":"18270d06cc02513a09d8f617a923caced2c547b5","unresolved":false,"context_lines":[{"line_number":159,"context_line":"                raise exception.ObjectActionError("},{"line_number":160,"context_line":"                    action\u003d\u0027obj_make_compatible\u0027,"},{"line_number":161,"context_line":"                    reason\u003d\u0027hw_disk_bus\u003d%s not supported in version %s\u0027 % ("},{"line_number":162,"context_line":"                        bus, target_version))"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"    # Maximum number of NUMA nodes permitted for the guest topology"},{"line_number":165,"context_line":"    NUMA_NODES_MAX \u003d 128"}],"source_content_type":"text/x-python","patch_set":11,"id":"da85f559_24c59a5a","line":162,"in_reply_to":"da85f559_05e4190b","updated":"2015-11-13 16:47:34.000000000","message":"Done","commit_id":"addf15096f2b81067ac1741525557e1ded768d7a"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"88abdff345186778babd44ca6d37c96b0f5fbb2b","unresolved":false,"context_lines":[{"line_number":145,"context_line":"        super(ImageMetaProps, self).obj_make_compatible(primitive,"},{"line_number":146,"context_line":"                                                        target_version)"},{"line_number":147,"context_line":"        target_version \u003d versionutils.convert_version_to_tuple(target_version)"},{"line_number":148,"context_line":"        if target_version \u003c (1, 8):"},{"line_number":149,"context_line":"            primitive.pop(\u0027os_secure_boot\u0027, None)"},{"line_number":150,"context_line":"        if target_version \u003c (1, 7):"},{"line_number":151,"context_line":"            primitive.pop(\u0027img_config_drive\u0027, None)"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a8ffd7b_80006903","line":148,"updated":"2015-12-03 08:57:12.000000000","message":"i think this should be 1.9, right?","commit_id":"adc0b4097fc0533d52088ad12d7d615ceb4b2e66"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5c39e0f64e241593ea5a17c8c415d360aac05f1d","unresolved":false,"context_lines":[{"line_number":412,"context_line":"        # \"optional\"."},{"line_number":413,"context_line":"        # \"os:secure_boot\" flavor extra spec value overrides the image property"},{"line_number":414,"context_line":"        # value."},{"line_number":415,"context_line":"        \u0027os_secure_boot\u0027: fields.SecureBootField(),"},{"line_number":416,"context_line":""},{"line_number":417,"context_line":"        # boolean - if using agent don\u0027t inject files, assume someone else is"},{"line_number":418,"context_line":"        # doing that (cloud-init)"}],"source_content_type":"text/x-python","patch_set":24,"id":"1aa78d24_049dd1bb","line":415,"range":{"start_line":415,"start_character":33,"end_line":415,"end_character":48},"updated":"2016-07-06 20:59:43.000000000","message":"The spec says this should default to \u0027disabled\u0027:\n\nhttp://specs.openstack.org/openstack/nova-specs/specs/newton/approved/hyper-v-uefi-secureboot.html","commit_id":"3b0c9a3f14e11737fff47146b512d93116654234"}],"nova/objects/request_spec.py":[{"author":{"_account_id":11803,"name":"Ryan Rossiter","email":"rlrossit@us.ibm.com","username":"rlrossiter"},"change_message_id":"10e55eb4a7cddb9047a00d63a6cadf509b02a140","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        \u0027instance_uuid\u0027: fields.UUIDField(),"},{"line_number":56,"context_line":"    }"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    obj_relationships \u003d {"},{"line_number":59,"context_line":"        \u0027image\u0027: [(\u00271.0\u0027, \u00271.5\u0027), (\u00271.1\u0027, \u00271.6\u0027),"},{"line_number":60,"context_line":"                  (\u00271.4\u0027, \u00271.7\u0027), (\u00271.5\u0027, \u00271.8\u0027)],"},{"line_number":61,"context_line":"        \u0027numa_topology\u0027: [(\u00271.0\u0027, \u00271.2\u0027)],"}],"source_content_type":"text/x-python","patch_set":6,"id":"da85f559_3c4ef86f","line":58,"updated":"2015-11-09 21:51:35.000000000","message":"Same here, don\u0027t need obj_relationships","commit_id":"cdd454e37d0c5ec483009d5e1c065ea60d0eaaa7"},{"author":{"_account_id":12582,"name":"Simona Iuliana Toader","email":"itoader@cloudbasesolutions.com","username":"itoader"},"change_message_id":"429831d7a457ec2d921515b617b1cbbc00c8cdcc","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        \u0027instance_uuid\u0027: fields.UUIDField(),"},{"line_number":56,"context_line":"    }"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    obj_relationships \u003d {"},{"line_number":59,"context_line":"        \u0027image\u0027: [(\u00271.0\u0027, \u00271.5\u0027), (\u00271.1\u0027, \u00271.6\u0027),"},{"line_number":60,"context_line":"                  (\u00271.4\u0027, \u00271.7\u0027), (\u00271.5\u0027, \u00271.8\u0027)],"},{"line_number":61,"context_line":"        \u0027numa_topology\u0027: [(\u00271.0\u0027, \u00271.2\u0027)],"}],"source_content_type":"text/x-python","patch_set":6,"id":"da85f559_37edb2ef","line":58,"in_reply_to":"da85f559_3c4ef86f","updated":"2015-11-09 22:35:48.000000000","message":"Done","commit_id":"cdd454e37d0c5ec483009d5e1c065ea60d0eaaa7"},{"author":{"_account_id":11803,"name":"Ryan Rossiter","email":"rlrossit@us.ibm.com","username":"rlrossiter"},"change_message_id":"b962b84e183d8b7b58417819a722604643be53cf","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    # Version 1.3: InstanceGroup version 1.10"},{"line_number":30,"context_line":"    # Version 1.4: ImageMeta version 1.7"},{"line_number":31,"context_line":"    # Version 1.5: ImageMeta version 1.8"},{"line_number":32,"context_line":"    VERSION \u003d \u00271.5\u0027"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    fields \u003d {"},{"line_number":35,"context_line":"        \u0027id\u0027: fields.IntegerField(),"}],"source_content_type":"text/x-python","patch_set":11,"id":"da85f559_c59b7171","line":32,"updated":"2015-11-13 14:59:37.000000000","message":"there are no changes in this object so there should not be a version bump","commit_id":"addf15096f2b81067ac1741525557e1ded768d7a"},{"author":{"_account_id":12582,"name":"Simona Iuliana Toader","email":"itoader@cloudbasesolutions.com","username":"itoader"},"change_message_id":"18270d06cc02513a09d8f617a923caced2c547b5","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    # Version 1.3: InstanceGroup version 1.10"},{"line_number":30,"context_line":"    # Version 1.4: ImageMeta version 1.7"},{"line_number":31,"context_line":"    # Version 1.5: ImageMeta version 1.8"},{"line_number":32,"context_line":"    VERSION \u003d \u00271.5\u0027"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    fields \u003d {"},{"line_number":35,"context_line":"        \u0027id\u0027: fields.IntegerField(),"}],"source_content_type":"text/x-python","patch_set":11,"id":"da85f559_84aa4684","line":32,"in_reply_to":"da85f559_c59b7171","updated":"2015-11-13 16:47:34.000000000","message":"Done","commit_id":"addf15096f2b81067ac1741525557e1ded768d7a"}],"nova/tests/unit/objects/test_image_meta.py":[{"author":{"_account_id":11803,"name":"Ryan Rossiter","email":"rlrossit@us.ibm.com","username":"rlrossiter"},"change_message_id":"10e55eb4a7cddb9047a00d63a6cadf509b02a140","unresolved":false,"context_lines":[{"line_number":300,"context_line":"        props \u003d {\u0027os_secure_boot\u0027: \"required\"}"},{"line_number":301,"context_line":"        secure_props \u003d objects.ImageMetaProps.from_dict(props)"},{"line_number":302,"context_line":"        self.assertEqual(\"required\", secure_props.os_secure_boot)"},{"line_number":303,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"da85f559_3cbb58e7","line":303,"updated":"2015-11-09 21:51:35.000000000","message":"this blank line shouldn\u0027t be here","commit_id":"cdd454e37d0c5ec483009d5e1c065ea60d0eaaa7"},{"author":{"_account_id":12582,"name":"Simona Iuliana Toader","email":"itoader@cloudbasesolutions.com","username":"itoader"},"change_message_id":"429831d7a457ec2d921515b617b1cbbc00c8cdcc","unresolved":false,"context_lines":[{"line_number":300,"context_line":"        props \u003d {\u0027os_secure_boot\u0027: \"required\"}"},{"line_number":301,"context_line":"        secure_props \u003d objects.ImageMetaProps.from_dict(props)"},{"line_number":302,"context_line":"        self.assertEqual(\"required\", secure_props.os_secure_boot)"},{"line_number":303,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"da85f559_d7ba26e1","line":303,"in_reply_to":"da85f559_3cbb58e7","updated":"2015-11-09 22:35:48.000000000","message":"Done","commit_id":"cdd454e37d0c5ec483009d5e1c065ea60d0eaaa7"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"96ee748becf714be21a8c7eecefcbb0d20f1b458","unresolved":false,"context_lines":[{"line_number":290,"context_line":"            \u0027hw_vif_multiqueue_enabled\u0027: True,"},{"line_number":291,"context_line":"            \u0027img_hv_type\u0027: \u0027kvm\u0027,"},{"line_number":292,"context_line":"            \u0027img_hv_requested_version\u0027: \u0027\u003e\u003d 1.0\u0027,"},{"line_number":293,"context_line":"            \u0027os_require_quiesce\u0027: True,"},{"line_number":294,"context_line":"        }"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"        obj \u003d objects.ImageMetaProps(**props)"}],"source_content_type":"text/x-python","patch_set":23,"id":"bab6814e_48fda73a","line":293,"updated":"2016-05-24 20:29:49.000000000","message":"Would you please add \u0027os_secure_boot\u0027 to this test? It verifies that newer fields are appropriately removed during an object backport","commit_id":"86e164adad604f2790ad7fb21c716633a82d1ab5"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"8fb2fa7e731b7df3405f28f4a03bd5129b35409e","unresolved":false,"context_lines":[{"line_number":290,"context_line":"            \u0027hw_vif_multiqueue_enabled\u0027: True,"},{"line_number":291,"context_line":"            \u0027img_hv_type\u0027: \u0027kvm\u0027,"},{"line_number":292,"context_line":"            \u0027img_hv_requested_version\u0027: \u0027\u003e\u003d 1.0\u0027,"},{"line_number":293,"context_line":"            \u0027os_require_quiesce\u0027: True,"},{"line_number":294,"context_line":"        }"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"        obj \u003d objects.ImageMetaProps(**props)"}],"source_content_type":"text/x-python","patch_set":23,"id":"bab6814e_0e38c73c","line":293,"in_reply_to":"bab6814e_48fda73a","updated":"2016-05-24 20:49:11.000000000","message":"Will do.","commit_id":"86e164adad604f2790ad7fb21c716633a82d1ab5"}]}
