)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"bcb0437c116b9dc13f802e426434388cb1e53af2","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Stephen Finucane \u003csfinucan@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2018-07-06 14:49:10 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"objects: Add NUMATopologyLimits.networks"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"We need some way to pass the metadata about requested networks from the"},{"line_number":10,"context_line":"scheduler back to the conductor for using during claiming. This"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"5f7c97a3_ad7095db","line":7,"range":{"start_line":7,"start_character":32,"end_line":7,"end_character":40},"updated":"2018-07-06 17:27:10.000000000","message":"network_metadata","commit_id":"ccf66199dd858e4b7f8c0b1a939f5df658305074"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0bac44b7cc06ede438d331ed4b5279c66a382a4a","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Stephen Finucane \u003csfinucan@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2018-07-06 14:49:10 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"objects: Add NUMATopologyLimits.networks"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"We need some way to pass the metadata about requested networks from the"},{"line_number":10,"context_line":"scheduler back to the conductor for using during claiming. This"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"5f7c97a3_e4bc566d","line":7,"range":{"start_line":7,"start_character":32,"end_line":7,"end_character":40},"in_reply_to":"5f7c97a3_ad7095db","updated":"2018-07-16 08:34:56.000000000","message":"Done","commit_id":"ccf66199dd858e4b7f8c0b1a939f5df658305074"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"bcb0437c116b9dc13f802e426434388cb1e53af2","unresolved":false,"context_lines":[{"line_number":7,"context_line":"objects: Add NUMATopologyLimits.networks"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"We need some way to pass the metadata about requested networks from the"},{"line_number":10,"context_line":"scheduler back to the conductor for using during claiming. This"},{"line_number":11,"context_line":"satisfies that requirements."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Part of blueprint numa-aware-vswitches"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"5f7c97a3_2d4ec595","line":10,"range":{"start_line":10,"start_character":10,"end_line":10,"end_character":57},"updated":"2018-07-06 17:27:10.000000000","message":"The claims happen in nova-compute, so this is somewhat confusing (for anyone that\u0027s not familiar with the whole flow).","commit_id":"ccf66199dd858e4b7f8c0b1a939f5df658305074"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0bac44b7cc06ede438d331ed4b5279c66a382a4a","unresolved":false,"context_lines":[{"line_number":7,"context_line":"objects: Add NUMATopologyLimits.networks"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"We need some way to pass the metadata about requested networks from the"},{"line_number":10,"context_line":"scheduler back to the conductor for using during claiming. This"},{"line_number":11,"context_line":"satisfies that requirements."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Part of blueprint numa-aware-vswitches"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"5f7c97a3_4488aac1","line":10,"range":{"start_line":10,"start_character":10,"end_line":10,"end_character":57},"in_reply_to":"5f7c97a3_2d4ec595","updated":"2018-07-16 08:34:56.000000000","message":"Done","commit_id":"ccf66199dd858e4b7f8c0b1a939f5df658305074"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"bcb0437c116b9dc13f802e426434388cb1e53af2","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"We need some way to pass the metadata about requested networks from the"},{"line_number":10,"context_line":"scheduler back to the conductor for using during claiming. This"},{"line_number":11,"context_line":"satisfies that requirements."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Part of blueprint numa-aware-vswitches"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"5f7c97a3_cd407162","line":11,"range":{"start_line":11,"start_character":26,"end_line":11,"end_character":27},"updated":"2018-07-06 17:27:10.000000000","message":"nix","commit_id":"ccf66199dd858e4b7f8c0b1a939f5df658305074"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0bac44b7cc06ede438d331ed4b5279c66a382a4a","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"We need some way to pass the metadata about requested networks from the"},{"line_number":10,"context_line":"scheduler back to the conductor for using during claiming. This"},{"line_number":11,"context_line":"satisfies that requirements."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Part of blueprint numa-aware-vswitches"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"5f7c97a3_248d6ed3","line":11,"range":{"start_line":11,"start_character":26,"end_line":11,"end_character":27},"in_reply_to":"5f7c97a3_cd407162","updated":"2018-07-16 08:34:56.000000000","message":"Done","commit_id":"ccf66199dd858e4b7f8c0b1a939f5df658305074"}],"nova/objects/numa.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"639e379209ef17bc1a330c58e872029463992a4c","unresolved":false,"context_lines":[{"line_number":260,"context_line":"    fields \u003d {"},{"line_number":261,"context_line":"        \u0027cpu_allocation_ratio\u0027: fields.FloatField(),"},{"line_number":262,"context_line":"        \u0027ram_allocation_ratio\u0027: fields.FloatField(),"},{"line_number":263,"context_line":"        \u0027networks\u0027: fields.ObjectField(\u0027NetworkMetadata\u0027, nullable\u003dTrue),"},{"line_number":264,"context_line":"    }"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"    def obj_make_compatible(self, primitive, target_version):"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_1ce310a2","line":263,"range":{"start_line":263,"start_character":9,"end_line":263,"end_character":17},"updated":"2018-07-05 21:34:49.000000000","message":"Why not call this network_metadata to be consistent with NUMACells usage of it?\n\nhttps://review.openstack.org/#/c/564439/13/nova/objects/numa.py@58\n\nOtherwise it seems like it could be a list of something.","commit_id":"d1286fe6bd378ff43624efd1660fb164c5d8206b"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"48686a59222b86003608da32b9a140768fa954a8","unresolved":false,"context_lines":[{"line_number":260,"context_line":"    fields \u003d {"},{"line_number":261,"context_line":"        \u0027cpu_allocation_ratio\u0027: fields.FloatField(),"},{"line_number":262,"context_line":"        \u0027ram_allocation_ratio\u0027: fields.FloatField(),"},{"line_number":263,"context_line":"        \u0027networks\u0027: fields.ObjectField(\u0027NetworkMetadata\u0027, nullable\u003dTrue),"},{"line_number":264,"context_line":"    }"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"    def obj_make_compatible(self, primitive, target_version):"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_780259bc","line":263,"range":{"start_line":263,"start_character":58,"end_line":263,"end_character":71},"updated":"2018-07-05 14:11:00.000000000","message":"nullable\u003dTrue means that this can be set to None. So I assume there\u0027s some case where you want to actually set this to None, right? Maybe if they don\u0027t request any networks at all?","commit_id":"d1286fe6bd378ff43624efd1660fb164c5d8206b"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"31449cc6b9d7937401402fc7b9d27fb0543ddb9c","unresolved":false,"context_lines":[{"line_number":260,"context_line":"    fields \u003d {"},{"line_number":261,"context_line":"        \u0027cpu_allocation_ratio\u0027: fields.FloatField(),"},{"line_number":262,"context_line":"        \u0027ram_allocation_ratio\u0027: fields.FloatField(),"},{"line_number":263,"context_line":"        \u0027networks\u0027: fields.ObjectField(\u0027NetworkMetadata\u0027, nullable\u003dTrue),"},{"line_number":264,"context_line":"    }"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"    def obj_make_compatible(self, primitive, target_version):"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_1750cb08","line":263,"range":{"start_line":263,"start_character":9,"end_line":263,"end_character":17},"in_reply_to":"5f7c97a3_1ce310a2","updated":"2018-07-05 21:51:23.000000000","message":"And RequestSpec:\n\nhttps://review.openstack.org/#/c/564442/","commit_id":"d1286fe6bd378ff43624efd1660fb164c5d8206b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ad61949d0bf2718372df8fc68ff6ae0c67c84581","unresolved":false,"context_lines":[{"line_number":260,"context_line":"    fields \u003d {"},{"line_number":261,"context_line":"        \u0027cpu_allocation_ratio\u0027: fields.FloatField(),"},{"line_number":262,"context_line":"        \u0027ram_allocation_ratio\u0027: fields.FloatField(),"},{"line_number":263,"context_line":"        \u0027networks\u0027: fields.ObjectField(\u0027NetworkMetadata\u0027, nullable\u003dTrue),"},{"line_number":264,"context_line":"    }"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"    def obj_make_compatible(self, primitive, target_version):"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_74556ff8","line":263,"range":{"start_line":263,"start_character":9,"end_line":263,"end_character":17},"in_reply_to":"5f7c97a3_1ce310a2","updated":"2018-07-06 13:49:23.000000000","message":"Done","commit_id":"d1286fe6bd378ff43624efd1660fb164c5d8206b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ad61949d0bf2718372df8fc68ff6ae0c67c84581","unresolved":false,"context_lines":[{"line_number":260,"context_line":"    fields \u003d {"},{"line_number":261,"context_line":"        \u0027cpu_allocation_ratio\u0027: fields.FloatField(),"},{"line_number":262,"context_line":"        \u0027ram_allocation_ratio\u0027: fields.FloatField(),"},{"line_number":263,"context_line":"        \u0027networks\u0027: fields.ObjectField(\u0027NetworkMetadata\u0027, nullable\u003dTrue),"},{"line_number":264,"context_line":"    }"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"    def obj_make_compatible(self, primitive, target_version):"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_b44f8768","line":263,"range":{"start_line":263,"start_character":58,"end_line":263,"end_character":71},"in_reply_to":"5f7c97a3_780259bc","updated":"2018-07-06 13:49:23.000000000","message":"\u003e nullable\u003dTrue means that this can be set to None. So I assume\n \u003e there\u0027s some case where you want to actually set this to None,\n \u003e right? Maybe if they don\u0027t request any networks at all?\n\nThis is mostly (a) to avoid the large mechanical changes of settings this attribute everywhere the object is used and (b) so I can wait until later to start setting this attribute in nova/scheduler/filters/numa_topology_filter.py and therefore keep the feature \"off\" until completed.","commit_id":"d1286fe6bd378ff43624efd1660fb164c5d8206b"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"37f9267f6b6be3ed1f450b6abf5e1ff2fce19004","unresolved":false,"context_lines":[{"line_number":260,"context_line":"    fields \u003d {"},{"line_number":261,"context_line":"        \u0027cpu_allocation_ratio\u0027: fields.FloatField(),"},{"line_number":262,"context_line":"        \u0027ram_allocation_ratio\u0027: fields.FloatField(),"},{"line_number":263,"context_line":"        \u0027networks\u0027: fields.ObjectField(\u0027NetworkMetadata\u0027, nullable\u003dTrue),"},{"line_number":264,"context_line":"    }"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"    def obj_make_compatible(self, primitive, target_version):"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_0d62e916","line":263,"range":{"start_line":263,"start_character":58,"end_line":263,"end_character":71},"in_reply_to":"5f7c97a3_b44f8768","updated":"2018-07-06 17:24:58.000000000","message":"\u003e \u003e nullable\u003dTrue means that this can be set to None. So I assume\n \u003e \u003e there\u0027s some case where you want to actually set this to None,\n \u003e \u003e right? Maybe if they don\u0027t request any networks at all?\n \u003e \n \u003e This is mostly (a) to avoid the large mechanical changes of\n \u003e settings this attribute everywhere the object is used and (b) so I\n \u003e can wait until later to start setting this attribute in\n \u003e nova/scheduler/filters/numa_topology_filter.py and therefore keep\n \u003e the feature \"off\" until completed.\n\nWhy would you need to set it everywhere until the time comes to actually start setting it?","commit_id":"d1286fe6bd378ff43624efd1660fb164c5d8206b"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"bcb0437c116b9dc13f802e426434388cb1e53af2","unresolved":false,"context_lines":[{"line_number":260,"context_line":"    fields \u003d {"},{"line_number":261,"context_line":"        \u0027cpu_allocation_ratio\u0027: fields.FloatField(),"},{"line_number":262,"context_line":"        \u0027ram_allocation_ratio\u0027: fields.FloatField(),"},{"line_number":263,"context_line":"        \u0027network_metadata\u0027: fields.ObjectField(\u0027NetworkMetadata\u0027, nullable\u003dTrue),"},{"line_number":264,"context_line":"    }"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"    def obj_make_compatible(self, primitive, target_version):"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_8d5ef942","line":263,"range":{"start_line":263,"start_character":66,"end_line":263,"end_character":79},"updated":"2018-07-06 17:27:10.000000000","message":"Still seems that this doesn\u0027t need to be nullable. Just don\u0027t set it if you don\u0027t need to.","commit_id":"ccf66199dd858e4b7f8c0b1a939f5df658305074"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d04d0444e736d431a4e2c2c703ac34e72862897d","unresolved":false,"context_lines":[{"line_number":260,"context_line":"    fields \u003d {"},{"line_number":261,"context_line":"        \u0027cpu_allocation_ratio\u0027: fields.FloatField(),"},{"line_number":262,"context_line":"        \u0027ram_allocation_ratio\u0027: fields.FloatField(),"},{"line_number":263,"context_line":"        \u0027network_metadata\u0027: fields.ObjectField(\u0027NetworkMetadata\u0027, nullable\u003dTrue),"},{"line_number":264,"context_line":"    }"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"    def obj_make_compatible(self, primitive, target_version):"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_4d29c199","line":263,"range":{"start_line":263,"start_character":66,"end_line":263,"end_character":79},"in_reply_to":"5f7c97a3_8d5ef942","updated":"2018-07-06 17:30:23.000000000","message":"Also, this fails pep8 - line is too long.","commit_id":"ccf66199dd858e4b7f8c0b1a939f5df658305074"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8d733ececa4ef5a5c96e474ca9ccc5d93ce6fc9c","unresolved":false,"context_lines":[{"line_number":260,"context_line":"    fields \u003d {"},{"line_number":261,"context_line":"        \u0027cpu_allocation_ratio\u0027: fields.FloatField(),"},{"line_number":262,"context_line":"        \u0027ram_allocation_ratio\u0027: fields.FloatField(),"},{"line_number":263,"context_line":"        \u0027network_metadata\u0027: fields.ObjectField(\u0027NetworkMetadata\u0027, nullable\u003dTrue),"},{"line_number":264,"context_line":"    }"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"    def obj_make_compatible(self, primitive, target_version):"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_4d02210e","line":263,"range":{"start_line":263,"start_character":66,"end_line":263,"end_character":79},"in_reply_to":"5f7c97a3_8d5ef942","updated":"2018-07-06 17:32:34.000000000","message":"Case in point - just do an \u0027in\u0027 check:\n\nhttps://review.openstack.org/#/c/564448/13/nova/virt/hardware.py@1648","commit_id":"ccf66199dd858e4b7f8c0b1a939f5df658305074"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0bac44b7cc06ede438d331ed4b5279c66a382a4a","unresolved":false,"context_lines":[{"line_number":260,"context_line":"    fields \u003d {"},{"line_number":261,"context_line":"        \u0027cpu_allocation_ratio\u0027: fields.FloatField(),"},{"line_number":262,"context_line":"        \u0027ram_allocation_ratio\u0027: fields.FloatField(),"},{"line_number":263,"context_line":"        \u0027network_metadata\u0027: fields.ObjectField(\u0027NetworkMetadata\u0027, nullable\u003dTrue),"},{"line_number":264,"context_line":"    }"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"    def obj_make_compatible(self, primitive, target_version):"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_64b0468c","line":263,"range":{"start_line":263,"start_character":66,"end_line":263,"end_character":79},"in_reply_to":"5f7c97a3_8d5ef942","updated":"2018-07-16 08:34:56.000000000","message":"Done","commit_id":"ccf66199dd858e4b7f8c0b1a939f5df658305074"}]}
