)]}'
{"zun/common/exception.py":[{"author":{"_account_id":16277,"name":"Pradeep Kumar Singh","email":"ps4openstack@gmail.com","username":"pradeep_singh"},"change_message_id":"026e5d66e23316fedeab9cd4e43125ac32418f09","unresolved":false,"context_lines":[{"line_number":429,"context_line":""},{"line_number":430,"context_line":""},{"line_number":431,"context_line":"class CPUPinningUnknown(ZunException):"},{"line_number":432,"context_line":"    message \u003d _(\"CPU set to unpin %(requested)s must be a subset of \""},{"line_number":433,"context_line":"                \"known CPU set %(cpuset)s\")"},{"line_number":434,"context_line":""},{"line_number":435,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"da36d5c6_cad8a420","line":432,"range":{"start_line":432,"start_character":28,"end_line":432,"end_character":33},"updated":"2017-02-20 10:25:01.000000000","message":"pin?","commit_id":"5a7ad5ce4fc6925eb42445b8a4a5085e869d51e3"},{"author":{"_account_id":9775,"name":"Sudipta Biswas","email":"sbiswas7@in.ibm.com","username":"sudswas"},"change_message_id":"65cf219f5e7746c54996697f34a9a0c90c593103","unresolved":false,"context_lines":[{"line_number":429,"context_line":""},{"line_number":430,"context_line":""},{"line_number":431,"context_line":"class CPUPinningUnknown(ZunException):"},{"line_number":432,"context_line":"    message \u003d _(\"CPU set to unpin %(requested)s must be a subset of \""},{"line_number":433,"context_line":"                \"known CPU set %(cpuset)s\")"},{"line_number":434,"context_line":""},{"line_number":435,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"da36d5c6_c565f6e1","line":432,"range":{"start_line":432,"start_character":28,"end_line":432,"end_character":33},"in_reply_to":"da36d5c6_cad8a420","updated":"2017-02-20 10:57:27.000000000","message":"Done","commit_id":"5a7ad5ce4fc6925eb42445b8a4a5085e869d51e3"}],"zun/common/utils.py":[{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"9f0c26119b97630f3e7cfe375b75347587e34686","unresolved":false,"context_lines":[{"line_number":223,"context_line":"    if not CONF.floating_cpu_set:"},{"line_number":224,"context_line":"        return None"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"    cpuset_ids \u003d parse_cpu_spec(CONF.floating_cpu_sett)"},{"line_number":227,"context_line":"    if not cpuset_ids:"},{"line_number":228,"context_line":"        raise exception.Invalid(_(\"No CPUs available after parsing %r\") %"},{"line_number":229,"context_line":"                                CONF.floating_cpu_sett)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da36d5c6_41a3cd9e","line":226,"range":{"start_line":226,"start_character":53,"end_line":226,"end_character":54},"updated":"2017-02-18 17:51:29.000000000","message":"no extra \u0027t\u0027","commit_id":"4efc70315826ad2fcc87e0f57f259a0b012287f3"},{"author":{"_account_id":16277,"name":"Pradeep Kumar Singh","email":"ps4openstack@gmail.com","username":"pradeep_singh"},"change_message_id":"026e5d66e23316fedeab9cd4e43125ac32418f09","unresolved":false,"context_lines":[{"line_number":217,"context_line":""},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"def get_floating_cpu_set():"},{"line_number":220,"context_line":"    \"\"\"Parse vcpu_pin_set config."},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"    :returns: a set of pcpu ids can be used by instances"},{"line_number":223,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":7,"id":"da36d5c6_0a171ca4","line":220,"range":{"start_line":220,"start_character":13,"end_line":220,"end_character":25},"updated":"2017-02-20 10:25:01.000000000","message":"floating_cpu_set?","commit_id":"5a7ad5ce4fc6925eb42445b8a4a5085e869d51e3"},{"author":{"_account_id":9775,"name":"Sudipta Biswas","email":"sbiswas7@in.ibm.com","username":"sudswas"},"change_message_id":"65cf219f5e7746c54996697f34a9a0c90c593103","unresolved":false,"context_lines":[{"line_number":217,"context_line":""},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"def get_floating_cpu_set():"},{"line_number":220,"context_line":"    \"\"\"Parse vcpu_pin_set config."},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"    :returns: a set of pcpu ids can be used by instances"},{"line_number":223,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":7,"id":"da36d5c6_85093f34","line":220,"range":{"start_line":220,"start_character":13,"end_line":220,"end_character":25},"in_reply_to":"da36d5c6_0a171ca4","updated":"2017-02-20 10:57:27.000000000","message":"Done","commit_id":"5a7ad5ce4fc6925eb42445b8a4a5085e869d51e3"},{"author":{"_account_id":16277,"name":"Pradeep Kumar Singh","email":"ps4openstack@gmail.com","username":"pradeep_singh"},"change_message_id":"026e5d66e23316fedeab9cd4e43125ac32418f09","unresolved":false,"context_lines":[{"line_number":219,"context_line":"def get_floating_cpu_set():"},{"line_number":220,"context_line":"    \"\"\"Parse vcpu_pin_set config."},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"    :returns: a set of pcpu ids can be used by instances"},{"line_number":223,"context_line":"    \"\"\""},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"    if not CONF.floating_cpu_set:"}],"source_content_type":"text/x-python","patch_set":7,"id":"da36d5c6_6a26d817","line":222,"range":{"start_line":222,"start_character":47,"end_line":222,"end_character":56},"updated":"2017-02-20 10:25:01.000000000","message":"containers?","commit_id":"5a7ad5ce4fc6925eb42445b8a4a5085e869d51e3"},{"author":{"_account_id":9775,"name":"Sudipta Biswas","email":"sbiswas7@in.ibm.com","username":"sudswas"},"change_message_id":"65cf219f5e7746c54996697f34a9a0c90c593103","unresolved":false,"context_lines":[{"line_number":219,"context_line":"def get_floating_cpu_set():"},{"line_number":220,"context_line":"    \"\"\"Parse vcpu_pin_set config."},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"    :returns: a set of pcpu ids can be used by instances"},{"line_number":223,"context_line":"    \"\"\""},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"    if not CONF.floating_cpu_set:"}],"source_content_type":"text/x-python","patch_set":7,"id":"da36d5c6_a506431e","line":222,"range":{"start_line":222,"start_character":47,"end_line":222,"end_character":56},"in_reply_to":"da36d5c6_6a26d817","updated":"2017-02-20 10:57:27.000000000","message":"Done","commit_id":"5a7ad5ce4fc6925eb42445b8a4a5085e869d51e3"},{"author":{"_account_id":16277,"name":"Pradeep Kumar Singh","email":"ps4openstack@gmail.com","username":"pradeep_singh"},"change_message_id":"026e5d66e23316fedeab9cd4e43125ac32418f09","unresolved":false,"context_lines":[{"line_number":236,"context_line":"    \"\"\"Parse a CPU set specification."},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"    Each element in the list is either a single CPU number, a range of"},{"line_number":239,"context_line":"    CPU numbers, or a caret followed by a CPU number to be excluded"},{"line_number":240,"context_line":"    from a previous range."},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"    :param spec: cpu set string eg \"1-4,6\""},{"line_number":243,"context_line":"    :returns: a set of CPU indexes"}],"source_content_type":"text/x-python","patch_set":7,"id":"da36d5c6_2509732d","line":240,"range":{"start_line":239,"start_character":17,"end_line":240,"end_character":25},"updated":"2017-02-20 10:25:01.000000000","message":"this method does not implement this functionality?","commit_id":"5a7ad5ce4fc6925eb42445b8a4a5085e869d51e3"},{"author":{"_account_id":9775,"name":"Sudipta Biswas","email":"sbiswas7@in.ibm.com","username":"sudswas"},"change_message_id":"65cf219f5e7746c54996697f34a9a0c90c593103","unresolved":false,"context_lines":[{"line_number":236,"context_line":"    \"\"\"Parse a CPU set specification."},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"    Each element in the list is either a single CPU number, a range of"},{"line_number":239,"context_line":"    CPU numbers, or a caret followed by a CPU number to be excluded"},{"line_number":240,"context_line":"    from a previous range."},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"    :param spec: cpu set string eg \"1-4,6\""},{"line_number":243,"context_line":"    :returns: a set of CPU indexes"}],"source_content_type":"text/x-python","patch_set":7,"id":"da36d5c6_a513a25b","line":240,"range":{"start_line":239,"start_character":17,"end_line":240,"end_character":25},"in_reply_to":"da36d5c6_2509732d","updated":"2017-02-20 10:57:27.000000000","message":"Done. No didn\u0027t think of supporting the ^ in the first pass of this method.","commit_id":"5a7ad5ce4fc6925eb42445b8a4a5085e869d51e3"},{"author":{"_account_id":16277,"name":"Pradeep Kumar Singh","email":"ps4openstack@gmail.com","username":"pradeep_singh"},"change_message_id":"026e5d66e23316fedeab9cd4e43125ac32418f09","unresolved":false,"context_lines":[{"line_number":248,"context_line":"    for rule in spec.split(\u0027,\u0027):"},{"line_number":249,"context_line":"        range_part \u003d rule.strip().split(\"-\", 1)"},{"line_number":250,"context_line":"        if len(range_part) \u003e 1:"},{"line_number":251,"context_line":"            start, end \u003d [int(p.strip()) for p in range_part]"},{"line_number":252,"context_line":"            if start \u003c end:"},{"line_number":253,"context_line":"                cpuset_ids |\u003d set(range(start, end + 1))"},{"line_number":254,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":7,"id":"da36d5c6_85105f50","line":251,"range":{"start_line":251,"start_character":26,"end_line":251,"end_character":40},"updated":"2017-02-20 10:25:01.000000000","message":"if number is not int, we need to handle ValueError?","commit_id":"5a7ad5ce4fc6925eb42445b8a4a5085e869d51e3"},{"author":{"_account_id":9775,"name":"Sudipta Biswas","email":"sbiswas7@in.ibm.com","username":"sudswas"},"change_message_id":"65cf219f5e7746c54996697f34a9a0c90c593103","unresolved":false,"context_lines":[{"line_number":248,"context_line":"    for rule in spec.split(\u0027,\u0027):"},{"line_number":249,"context_line":"        range_part \u003d rule.strip().split(\"-\", 1)"},{"line_number":250,"context_line":"        if len(range_part) \u003e 1:"},{"line_number":251,"context_line":"            start, end \u003d [int(p.strip()) for p in range_part]"},{"line_number":252,"context_line":"            if start \u003c end:"},{"line_number":253,"context_line":"                cpuset_ids |\u003d set(range(start, end + 1))"},{"line_number":254,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":7,"id":"da36d5c6_a53ac2cb","line":251,"range":{"start_line":251,"start_character":26,"end_line":251,"end_character":40},"in_reply_to":"da36d5c6_85105f50","updated":"2017-02-20 10:57:27.000000000","message":"Done","commit_id":"5a7ad5ce4fc6925eb42445b8a4a5085e869d51e3"},{"author":{"_account_id":16277,"name":"Pradeep Kumar Singh","email":"ps4openstack@gmail.com","username":"pradeep_singh"},"change_message_id":"026e5d66e23316fedeab9cd4e43125ac32418f09","unresolved":false,"context_lines":[{"line_number":254,"context_line":"            else:"},{"line_number":255,"context_line":"                raise exception.Invalid()"},{"line_number":256,"context_line":"        else:"},{"line_number":257,"context_line":"            cpuset_ids.add(int(rule))"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"    return cpuset_ids"}],"source_content_type":"text/x-python","patch_set":7,"id":"da36d5c6_e54cbb78","line":257,"range":{"start_line":257,"start_character":27,"end_line":257,"end_character":36},"updated":"2017-02-20 10:25:01.000000000","message":"ditto","commit_id":"5a7ad5ce4fc6925eb42445b8a4a5085e869d51e3"},{"author":{"_account_id":9775,"name":"Sudipta Biswas","email":"sbiswas7@in.ibm.com","username":"sudswas"},"change_message_id":"65cf219f5e7746c54996697f34a9a0c90c593103","unresolved":false,"context_lines":[{"line_number":254,"context_line":"            else:"},{"line_number":255,"context_line":"                raise exception.Invalid()"},{"line_number":256,"context_line":"        else:"},{"line_number":257,"context_line":"            cpuset_ids.add(int(rule))"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"    return cpuset_ids"}],"source_content_type":"text/x-python","patch_set":7,"id":"da36d5c6_e534badf","line":257,"range":{"start_line":257,"start_character":27,"end_line":257,"end_character":36},"in_reply_to":"da36d5c6_e54cbb78","updated":"2017-02-20 10:57:27.000000000","message":"Done","commit_id":"5a7ad5ce4fc6925eb42445b8a4a5085e869d51e3"}],"zun/container/os_capability/host_capability.py":[{"author":{"_account_id":16277,"name":"Pradeep Kumar Singh","email":"ps4openstack@gmail.com","username":"pradeep_singh"},"change_message_id":"cb0799c21a4fc069314aa98e41793a1b32f06389","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        cpu_info \u003d self.get_cpu_numa_info()"},{"line_number":34,"context_line":"        floating_cpus \u003d utils.get_floating_cpu_set()"},{"line_number":35,"context_line":"        numa_node_obj \u003d []"},{"line_number":36,"context_line":"        for node, cpuset in cpu_info.iteritems():"},{"line_number":37,"context_line":"            numa_node \u003d objects.NUMANode()"},{"line_number":38,"context_line":"            if floating_cpus:"},{"line_number":39,"context_line":"                allowed_cpus \u003d set(cpuset) - (floating_cpus \u0026 set(cpuset))"}],"source_content_type":"text/x-python","patch_set":5,"id":"da36d5c6_941df711","line":36,"range":{"start_line":36,"start_character":37,"end_line":36,"end_character":48},"updated":"2017-02-20 08:44:33.000000000","message":"need to use items()","commit_id":"41974838b43315ca7606551c4f6f2757083b44fc"},{"author":{"_account_id":9775,"name":"Sudipta Biswas","email":"sbiswas7@in.ibm.com","username":"sudswas"},"change_message_id":"8c48773a4c9a4015ac54eff7dd94544c2a86cb63","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        cpu_info \u003d self.get_cpu_numa_info()"},{"line_number":34,"context_line":"        floating_cpus \u003d utils.get_floating_cpu_set()"},{"line_number":35,"context_line":"        numa_node_obj \u003d []"},{"line_number":36,"context_line":"        for node, cpuset in cpu_info.iteritems():"},{"line_number":37,"context_line":"            numa_node \u003d objects.NUMANode()"},{"line_number":38,"context_line":"            if floating_cpus:"},{"line_number":39,"context_line":"                allowed_cpus \u003d set(cpuset) - (floating_cpus \u0026 set(cpuset))"}],"source_content_type":"text/x-python","patch_set":5,"id":"da36d5c6_149ae714","line":36,"range":{"start_line":36,"start_character":37,"end_line":36,"end_character":48},"in_reply_to":"da36d5c6_941df711","updated":"2017-02-20 09:01:03.000000000","message":"Done","commit_id":"41974838b43315ca7606551c4f6f2757083b44fc"}],"zun/objects/fields.py":[{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"b48abafb00084e550b2b63e72780560df628ef0e","unresolved":false,"context_lines":[{"line_number":15,"context_line":"from oslo_serialization import jsonutils as json"},{"line_number":16,"context_line":"from oslo_versionedobjects import fields"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"ListOfObjectsField \u003d fields.ListOfObjectsField"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class ContainerStatus(fields.Enum):"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa31d9ce_3012f309","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":18},"updated":"2017-02-15 00:30:59.000000000","message":"It seems this is unnecessary?","commit_id":"aa23d459e33572cdc2edd85aec6b66d7c51d8b00"},{"author":{"_account_id":9775,"name":"Sudipta Biswas","email":"sbiswas7@in.ibm.com","username":"sudswas"},"change_message_id":"eccbb17fdb0a396b1a3b2d6e4e501b3aa7f13062","unresolved":false,"context_lines":[{"line_number":15,"context_line":"from oslo_serialization import jsonutils as json"},{"line_number":16,"context_line":"from oslo_versionedobjects import fields"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"ListOfObjectsField \u003d fields.ListOfObjectsField"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class ContainerStatus(fields.Enum):"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa31d9ce_3692da4c","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":18},"in_reply_to":"fa31d9ce_3012f309","updated":"2017-02-15 11:00:53.000000000","message":"Agreed.","commit_id":"aa23d459e33572cdc2edd85aec6b66d7c51d8b00"}],"zun/objects/numa.py":[{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"b48abafb00084e550b2b63e72780560df628ef0e","unresolved":false,"context_lines":[{"line_number":46,"context_line":"            raise exception.CPUPinningInvalid(requested\u003dlist(cpus),"},{"line_number":47,"context_line":"                                              free\u003dlist(self.cpuset -"},{"line_number":48,"context_line":"                                                        self.pinned_cpus))"},{"line_number":49,"context_line":"        self.pinned_cpus |\u003d cpus"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    def unpin_cpus(self, cpus):"},{"line_number":52,"context_line":"        if cpus - self.cpuset:"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa31d9ce_d0d43721","line":49,"updated":"2017-02-15 00:30:59.000000000","message":"I guess you have a follow-up patch to persist this to db? or it is in-memory only?","commit_id":"aa23d459e33572cdc2edd85aec6b66d7c51d8b00"},{"author":{"_account_id":9775,"name":"Sudipta Biswas","email":"sbiswas7@in.ibm.com","username":"sudswas"},"change_message_id":"eccbb17fdb0a396b1a3b2d6e4e501b3aa7f13062","unresolved":false,"context_lines":[{"line_number":46,"context_line":"            raise exception.CPUPinningInvalid(requested\u003dlist(cpus),"},{"line_number":47,"context_line":"                                              free\u003dlist(self.cpuset -"},{"line_number":48,"context_line":"                                                        self.pinned_cpus))"},{"line_number":49,"context_line":"        self.pinned_cpus |\u003d cpus"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    def unpin_cpus(self, cpus):"},{"line_number":52,"context_line":"        if cpus - self.cpuset:"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa31d9ce_d6cc1e8b","line":49,"in_reply_to":"fa31d9ce_d0d43721","updated":"2017-02-15 11:00:53.000000000","message":"I think I need to get onto a good bit of discussion with you on this.\nMy initial plan to include this object was to bring in a contract between respective OS capabilities (let\u0027s say the data reported by Linux can be different than the data reported by Windows or even someone decides to write a method that does not use lscpu to find out the online cpus). So this object should make it easier for the upper layers to populate the entries into the DB in a standardised way.\n\n- The inventory table should have REST APIs to populate it\u0027s content. So I want to hear your thoughts on how we can achieve that by looking at this NUMA object or otherwise.\n\n- Do we need any in-memory calculation to figure out available resources for a given resource provider? (Like the resource tracker)","commit_id":"aa23d459e33572cdc2edd85aec6b66d7c51d8b00"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"03f0606f9728b4a086a123f6e12e87e1d3ccf9f9","unresolved":false,"context_lines":[{"line_number":46,"context_line":"            raise exception.CPUPinningInvalid(requested\u003dlist(cpus),"},{"line_number":47,"context_line":"                                              free\u003dlist(self.cpuset -"},{"line_number":48,"context_line":"                                                        self.pinned_cpus))"},{"line_number":49,"context_line":"        self.pinned_cpus |\u003d cpus"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    def unpin_cpus(self, cpus):"},{"line_number":52,"context_line":"        if cpus - self.cpuset:"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa31d9ce_e81a087c","line":49,"in_reply_to":"fa31d9ce_d6cc1e8b","updated":"2017-02-15 19:25:43.000000000","message":"I haven\u0027t done a thoughtful research on this topic so I don\u0027t feel authorized enough to make a conclusion here. In particular, I don\u0027t know how this object will be used so it is a bit hard for me to answer the question.\n\nI think it is better to let this patch merge first and come back to this later if anything needs to be revised.","commit_id":"aa23d459e33572cdc2edd85aec6b66d7c51d8b00"}]}
