)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"6b1d4c465055fa8445d9fbd17627977a00093471","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"NUMACell, InstanceNUMACell: Adopt \u0027PCPU\u0027 changes"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch makes \u0027NUMACell\u0027 and \u0027InstanceNUMACell\u0027 object ready"},{"line_number":10,"context_line":"to accept \u0027PCPU\u0027."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"NOTE:"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"5f7c97a3_c5230faa","line":9,"updated":"2018-06-28 12:19:39.000000000","message":"Why are you adding this feild, you need to add more details. It\"s not really clear. NUMACell is host related so using cpuset looks good.","commit_id":"a9a35a13cc326bfee2be56d01578b5e236021dc0"},{"author":{"_account_id":20191,"name":"Dinesh Bhor","email":"bhordinesh07@gmail.com","username":"dineshbhor"},"change_message_id":"597f3cb660d0cc1c8c4065e94f33b73c856c9946","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"NUMACell, InstanceNUMACell: Adopt \u0027PCPU\u0027 changes"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch makes \u0027NUMACell\u0027 and \u0027InstanceNUMACell\u0027 object ready"},{"line_number":10,"context_line":"to accept \u0027PCPU\u0027."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"NOTE:"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"5f7c97a3_873989d0","line":9,"in_reply_to":"5f7c97a3_c5230faa","updated":"2018-06-29 04:45:43.000000000","message":"1. Added new field pcpuset to ‘NUMACell\u0027 :\n* cpuset(currently present on master) --\u003e store shared pCPUs set defined using CONF.compute.cpu_shared_set on new compute nodes. If the compute node is old this field is going to store ‘CONF.vcpu_pin_set/all the pCPUs’.\n* pcpuset   --\u003e store dedicated pCPUs set defined using CONF.compute.cpu_dedicated_set on new compute nodes. If the compute node is old, this field is going to be an empty set.\n\n2. Add new pcpuset field in ‘InstanceNUMACell\u0027:\n* cpuset(currently present on master)   - -\u003e store set of required shared cpu numbers requested in new flavor (refer Example 1). If cpus are requested using old flavor, this field will store a set of all cpus required by an Instance.\n* pcpuset   - -\u003e store set of required dedicated cpu numbers requested in new flavor. If cpus are requested using old flavor, this field will be an empty set.\n\n\nExample of InstanceNumaCell:-\n\n1. vcpus requested using new flavor\n* Flavor:\n    * vcpus \u003d 4\n    * Extra-specs: {“resources:VCPU”: “1”,  “resources:PCPU”: “3”}\n    * Now the InstanceNUMATopology will be:\n        * cpuset \u003d set([0])           —\u003e required shared cpus by an Instance\n        * pcpuset \u003d set([1, 2, 3]).   —\u003e required dedicated cpus by an Instance\n\n2: vcpus requested using old flavor\n* Flavor: \n    * vcpus \u003d 4\n    * Now the InstanceNUMATopology will be:\u2028InstanceNUMATopology:\n        * cpuset \u003d set([0, 1, 2, 3]) —\u003e required cpus(shared/dedicated depending on the hw:cpu_policy) by an Instance","commit_id":"a9a35a13cc326bfee2be56d01578b5e236021dc0"}],"nova/objects/instance_numa_topology.py":[{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"227808d144ae1dd87bc020cdcf5c240e94a5588f","unresolved":false,"context_lines":[{"line_number":45,"context_line":"            primitive.pop(\u0027cpu_policy\u0027, None)"},{"line_number":46,"context_line":"            primitive.pop(\u0027cpu_thread_policy\u0027, None)"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        if target_version \u003c (1, 5):"},{"line_number":49,"context_line":"            primitive.pop(\u0027pcpuset\u0027, None)"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    fields \u003d {"},{"line_number":52,"context_line":"        \u0027id\u0027: obj_fields.IntegerField(),"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_11931f51","line":49,"range":{"start_line":48,"start_character":0,"end_line":49,"end_character":42},"updated":"2018-06-21 09:33:41.000000000","message":"move it before 1.3 and 1.4","commit_id":"c15fee5f1a04dc213439f7105451535979947b94"},{"author":{"_account_id":20191,"name":"Dinesh Bhor","email":"bhordinesh07@gmail.com","username":"dineshbhor"},"change_message_id":"7a0ad63c921945b5d85db45bf4b58d1f4c8dcbb0","unresolved":false,"context_lines":[{"line_number":45,"context_line":"            primitive.pop(\u0027cpu_policy\u0027, None)"},{"line_number":46,"context_line":"            primitive.pop(\u0027cpu_thread_policy\u0027, None)"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        if target_version \u003c (1, 5):"},{"line_number":49,"context_line":"            primitive.pop(\u0027pcpuset\u0027, None)"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    fields \u003d {"},{"line_number":52,"context_line":"        \u0027id\u0027: obj_fields.IntegerField(),"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_8fe04dce","line":49,"range":{"start_line":48,"start_character":0,"end_line":49,"end_character":42},"in_reply_to":"5f7c97a3_11931f51","updated":"2018-06-22 08:57:02.000000000","message":"Done","commit_id":"c15fee5f1a04dc213439f7105451535979947b94"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"6b1d4c465055fa8445d9fbd17627977a00093471","unresolved":false,"context_lines":[{"line_number":109,"context_line":"                   memory\u003dmemory, pagesize\u003dpagesize)"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    @property"},{"line_number":112,"context_line":"    def dedicated_cpuset(self):"},{"line_number":113,"context_line":"        # TODO(Dinesh_Bhor): Fallback mechanism to maintain backward"},{"line_number":114,"context_line":"        # compatibility. Delete this method and use self.pcpuset directly"},{"line_number":115,"context_line":"        # once we remove CONF.vcpu_pin_set option completely."}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_a557f301","line":112,"updated":"2018-06-28 12:19:39.000000000","message":"This does not really make sense. I imagine you want to store the share pCPUs in cpuset and the dedicated pCPUs in pcpuset","commit_id":"a9a35a13cc326bfee2be56d01578b5e236021dc0"},{"author":{"_account_id":20191,"name":"Dinesh Bhor","email":"bhordinesh07@gmail.com","username":"dineshbhor"},"change_message_id":"597f3cb660d0cc1c8c4065e94f33b73c856c9946","unresolved":false,"context_lines":[{"line_number":109,"context_line":"                   memory\u003dmemory, pagesize\u003dpagesize)"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    @property"},{"line_number":112,"context_line":"    def dedicated_cpuset(self):"},{"line_number":113,"context_line":"        # TODO(Dinesh_Bhor): Fallback mechanism to maintain backward"},{"line_number":114,"context_line":"        # compatibility. Delete this method and use self.pcpuset directly"},{"line_number":115,"context_line":"        # once we remove CONF.vcpu_pin_set option completely."}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_e7b95d7c","line":112,"in_reply_to":"5f7c97a3_a557f301","updated":"2018-06-29 04:45:43.000000000","message":"This method is to maintain the backward compatibility if instance is booted using old flavor.\n\n* Even if cpu_policy is dedicated, earlier \u0027cpuset\u0027 field was used for pinning purpose. But now \u0027pcpuset\u0027 should be used if compute host is configured with CONF.compute.cpu_dedicated_set.\n\nFor more reference please see the below use of *dedicated_cpuset* property in other patch:\nhttps://review.openstack.org/#/c/577372/3/nova/virt/hardware.py@981","commit_id":"a9a35a13cc326bfee2be56d01578b5e236021dc0"}],"nova/objects/numa.py":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"6b1d4c465055fa8445d9fbd17627977a00093471","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    # Version 1.0: Initial version"},{"line_number":44,"context_line":"    # Version 1.1: Added pinned_cpus and siblings fields"},{"line_number":45,"context_line":"    # Version 1.2: Added mempages field"},{"line_number":46,"context_line":"    # Version 1.3: Added pcpuset field"},{"line_number":47,"context_line":"    VERSION \u003d \u00271.3\u0027"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    fields \u003d {"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_e5288b86","line":46,"updated":"2018-06-28 12:19:39.000000000","message":"As indicated in the commit message we need more information","commit_id":"a9a35a13cc326bfee2be56d01578b5e236021dc0"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"6b1d4c465055fa8445d9fbd17627977a00093471","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        return not (self \u003d\u003d other)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    @property"},{"line_number":76,"context_line":"    def dedicated_cpuset(self):"},{"line_number":77,"context_line":"        # TODO(Dinesh_Bhor): Fallback mechanism to maintain backward"},{"line_number":78,"context_line":"        # compatibility. Delete this method and use self.pcpuset directly"},{"line_number":79,"context_line":"        # once we remove CONF.vcpu_pin_set option completely."}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_851d1764","line":76,"updated":"2018-06-28 12:19:39.000000000","message":"using dedicated_cpuset does not really make sense in this context or please give more information","commit_id":"a9a35a13cc326bfee2be56d01578b5e236021dc0"},{"author":{"_account_id":20191,"name":"Dinesh Bhor","email":"bhordinesh07@gmail.com","username":"dineshbhor"},"change_message_id":"597f3cb660d0cc1c8c4065e94f33b73c856c9946","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        return not (self \u003d\u003d other)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    @property"},{"line_number":76,"context_line":"    def dedicated_cpuset(self):"},{"line_number":77,"context_line":"        # TODO(Dinesh_Bhor): Fallback mechanism to maintain backward"},{"line_number":78,"context_line":"        # compatibility. Delete this method and use self.pcpuset directly"},{"line_number":79,"context_line":"        # once we remove CONF.vcpu_pin_set option completely."}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_c7b8e176","line":76,"in_reply_to":"5f7c97a3_851d1764","updated":"2018-06-29 04:45:43.000000000","message":"This method is to maintain the backward compatibility if instance is booted using old flavor.\n\n* Even if cpu_policy is dedicated, earlier \u0027cpuset\u0027 field was used for pinning purpose. But now \u0027pcpuset\u0027 should be used if compute host is configured with CONF.compute.cpu_dedicated_set.\n\nFor more reference please see the below use of *dedicated_cpuset* property in other patch:\nhttps://review.openstack.org/#/c/577372/3/nova/virt/hardware.py@1142","commit_id":"a9a35a13cc326bfee2be56d01578b5e236021dc0"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"6b7385d80dd521a5d1ab8c2b3cea045e10a1558d","unresolved":false,"context_lines":[{"line_number":232,"context_line":"    # Version 1.2: Update NUMACell to 1.2"},{"line_number":233,"context_line":"    # Version 1.3: Update NUMACell to 1.3"},{"line_number":234,"context_line":"    # Version 1.4: Update NUMACell to 1.4"},{"line_number":235,"context_line":"    VERSION \u003d \u00271.4\u0027"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"    fields \u003d {"},{"line_number":238,"context_line":"        \u0027cells\u0027: fields.ListOfObjectsField(\u0027NUMACell\u0027),"}],"source_content_type":"text/x-python","patch_set":10,"id":"9fdfeff1_1e67acbf","line":235,"range":{"start_line":235,"start_character":14,"end_line":235,"end_character":19},"updated":"2019-01-28 06:51:36.000000000","message":"Why isn\u0027t this version 1.3?","commit_id":"237b5b54c3b5eefbc328704f674c337607c7f14b"}],"nova/tests/unit/objects/test_instance_numa_topology.py":[{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"227808d144ae1dd87bc020cdcf5c240e94a5588f","unresolved":false,"context_lines":[{"line_number":208,"context_line":"        versions \u003d ovo_base.obj_tree_get_versions(\u0027InstanceNUMACell\u0027)"},{"line_number":209,"context_line":"        primitive \u003d topo_obj.obj_to_primitive(target_version\u003d\u00271.3\u0027,"},{"line_number":210,"context_line":"                                              version_manifest\u003dversions)"},{"line_number":211,"context_line":"        self.assertNotIn(\u0027cpuset_reserved\u0027, primitive)"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"    def test_obj_make_compatible_numa_cell_pre_1_5(self):"},{"line_number":214,"context_line":"        topo_obj \u003d objects.InstanceNUMACell("}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_84904b50","line":211,"range":{"start_line":211,"start_character":44,"end_line":211,"end_character":53},"updated":"2018-06-21 09:33:41.000000000","message":"I fix it in:\nhttps://review.openstack.org/#/c/574240","commit_id":"c15fee5f1a04dc213439f7105451535979947b94"},{"author":{"_account_id":20191,"name":"Dinesh Bhor","email":"bhordinesh07@gmail.com","username":"dineshbhor"},"change_message_id":"7a0ad63c921945b5d85db45bf4b58d1f4c8dcbb0","unresolved":false,"context_lines":[{"line_number":208,"context_line":"        versions \u003d ovo_base.obj_tree_get_versions(\u0027InstanceNUMACell\u0027)"},{"line_number":209,"context_line":"        primitive \u003d topo_obj.obj_to_primitive(target_version\u003d\u00271.3\u0027,"},{"line_number":210,"context_line":"                                              version_manifest\u003dversions)"},{"line_number":211,"context_line":"        self.assertNotIn(\u0027cpuset_reserved\u0027, primitive)"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"    def test_obj_make_compatible_numa_cell_pre_1_5(self):"},{"line_number":214,"context_line":"        topo_obj \u003d objects.InstanceNUMACell("}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_cfd165fa","line":211,"range":{"start_line":211,"start_character":44,"end_line":211,"end_character":53},"in_reply_to":"5f7c97a3_84904b50","updated":"2018-06-22 08:57:02.000000000","message":"Done","commit_id":"c15fee5f1a04dc213439f7105451535979947b94"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"227808d144ae1dd87bc020cdcf5c240e94a5588f","unresolved":false,"context_lines":[{"line_number":216,"context_line":"        versions \u003d ovo_base.obj_tree_get_versions(\u0027InstanceNUMACell\u0027)"},{"line_number":217,"context_line":"        primitive \u003d topo_obj.obj_to_primitive(target_version\u003d\u00271.4\u0027,"},{"line_number":218,"context_line":"                                              version_manifest\u003dversions)"},{"line_number":219,"context_line":"        self.assertNotIn(\u0027pcpuset\u0027, primitive)"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"    def test_pin_cpu_with_pcpuset(self):"},{"line_number":222,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_f1046380","line":219,"range":{"start_line":219,"start_character":36,"end_line":219,"end_character":45},"updated":"2018-06-21 09:33:41.000000000","message":"Actually, It should be primitive[\"nova_object.data\"]. See more in \n\n[1] https://review.openstack.org/#/c/574240/\n[2] https://review.openstack.org/#/c/576256/","commit_id":"c15fee5f1a04dc213439f7105451535979947b94"},{"author":{"_account_id":20191,"name":"Dinesh Bhor","email":"bhordinesh07@gmail.com","username":"dineshbhor"},"change_message_id":"7a0ad63c921945b5d85db45bf4b58d1f4c8dcbb0","unresolved":false,"context_lines":[{"line_number":216,"context_line":"        versions \u003d ovo_base.obj_tree_get_versions(\u0027InstanceNUMACell\u0027)"},{"line_number":217,"context_line":"        primitive \u003d topo_obj.obj_to_primitive(target_version\u003d\u00271.4\u0027,"},{"line_number":218,"context_line":"                                              version_manifest\u003dversions)"},{"line_number":219,"context_line":"        self.assertNotIn(\u0027pcpuset\u0027, primitive)"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"    def test_pin_cpu_with_pcpuset(self):"},{"line_number":222,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_efcea159","line":219,"range":{"start_line":219,"start_character":36,"end_line":219,"end_character":45},"in_reply_to":"5f7c97a3_f1046380","updated":"2018-06-22 08:57:02.000000000","message":"Done","commit_id":"c15fee5f1a04dc213439f7105451535979947b94"}],"nova/tests/unit/objects/test_objects.py":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"6b7385d80dd521a5d1ab8c2b3cea045e10a1558d","unresolved":false,"context_lines":[{"line_number":1124,"context_line":"    \u0027MonitorMetric\u0027: \u00271.1-53b1db7c4ae2c531db79761e7acc52ba\u0027,"},{"line_number":1125,"context_line":"    \u0027MonitorMetricList\u0027: \u00271.1-15ecf022a68ddbb8c2a6739cfc9f8f5e\u0027,"},{"line_number":1126,"context_line":"    \u0027NicDiagnostics\u0027: \u00271.0-895e9ad50e0f56d5258585e3e066aea5\u0027,"},{"line_number":1127,"context_line":"    \u0027NUMACell\u0027: \u00271.3-64b5fec7c51c0a85760c56b42dd307a5\u0027,"},{"line_number":1128,"context_line":"    \u0027NUMAPagesTopology\u0027: \u00271.1-edab9fa2dc43c117a38d600be54b4542\u0027,"},{"line_number":1129,"context_line":"    \u0027NUMATopology\u0027: \u00271.2-c63fad38be73b6afd04715c9c1b29220\u0027,"},{"line_number":1130,"context_line":"    \u0027NUMATopologyLimits\u0027: \u00271.1-4235c5da7a76c7e36075f0cd2f5cf922\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"9fdfeff1_fe0668ce","line":1127,"range":{"start_line":1127,"start_character":17,"end_line":1127,"end_character":53},"updated":"2019-01-28 06:51:36.000000000","message":"It should be updated.","commit_id":"237b5b54c3b5eefbc328704f674c337607c7f14b"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"6b7385d80dd521a5d1ab8c2b3cea045e10a1558d","unresolved":false,"context_lines":[{"line_number":1126,"context_line":"    \u0027NicDiagnostics\u0027: \u00271.0-895e9ad50e0f56d5258585e3e066aea5\u0027,"},{"line_number":1127,"context_line":"    \u0027NUMACell\u0027: \u00271.3-64b5fec7c51c0a85760c56b42dd307a5\u0027,"},{"line_number":1128,"context_line":"    \u0027NUMAPagesTopology\u0027: \u00271.1-edab9fa2dc43c117a38d600be54b4542\u0027,"},{"line_number":1129,"context_line":"    \u0027NUMATopology\u0027: \u00271.2-c63fad38be73b6afd04715c9c1b29220\u0027,"},{"line_number":1130,"context_line":"    \u0027NUMATopologyLimits\u0027: \u00271.1-4235c5da7a76c7e36075f0cd2f5cf922\u0027,"},{"line_number":1131,"context_line":"    \u0027Network\u0027: \u00271.2-a977ab383aa462a479b2fae8211a5dde\u0027,"},{"line_number":1132,"context_line":"    \u0027NetworkInterfaceMetadata\u0027: \u00271.2-6f3d480b40fe339067b1c0dd4d656716\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"9fdfeff1_5e68d485","line":1129,"range":{"start_line":1129,"start_character":21,"end_line":1129,"end_character":57},"updated":"2019-01-28 06:51:36.000000000","message":"ditto","commit_id":"237b5b54c3b5eefbc328704f674c337607c7f14b"}]}
