)]}'
{"nova/virt/hardware.py":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"f6ab92b5d725b0d15e4c92599d56febe16b45d75","unresolved":false,"context_lines":[{"line_number":206,"context_line":"        \"\"\""},{"line_number":207,"context_line":"        self.state \u003d state"},{"line_number":208,"context_line":"        self.internal_id \u003d internal_id"},{"line_number":209,"context_line":"        self.cpu_mem \u003d cpu_mem"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"    def __eq__(self, other):"},{"line_number":212,"context_line":"        return (self.__class__ \u003d\u003d other.__class__ and"}],"source_content_type":"text/x-python","patch_set":1,"id":"df87a7cf_d656e15c","line":209,"updated":"2017-12-08 09:22:13.000000000","message":"I think it would be better to have attributes instead of a list of value.","commit_id":"87a8fe67c61e35461db9924813dedffbd1e645ed"},{"author":{"_account_id":19944,"name":"Chen Hanxiao","email":"chen_han_xiao@126.com","username":"chenhanxiao"},"change_message_id":"4959997150b696325c22127010267532b270f0bc","unresolved":false,"context_lines":[{"line_number":206,"context_line":"        \"\"\""},{"line_number":207,"context_line":"        self.state \u003d state"},{"line_number":208,"context_line":"        self.internal_id \u003d internal_id"},{"line_number":209,"context_line":"        self.cpu_mem \u003d cpu_mem"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"    def __eq__(self, other):"},{"line_number":212,"context_line":"        return (self.__class__ \u003d\u003d other.__class__ and"}],"source_content_type":"text/x-python","patch_set":1,"id":"df87a7cf_33c4e990","line":209,"in_reply_to":"df87a7cf_d656e15c","updated":"2017-12-09 04:53:32.000000000","message":"That would be fine. I\u0027ll post v2 soon.","commit_id":"87a8fe67c61e35461db9924813dedffbd1e645ed"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"176c88b484134648243bb54c844dbb422077ae19","unresolved":false,"context_lines":[{"line_number":197,"context_line":""},{"line_number":198,"context_line":"class InstanceInfo(object):"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"    def __init__(self, state, internal_id\u003dNone, cpu_mem\u003dNone):"},{"line_number":201,"context_line":"        \"\"\"Create a new Instance Info object"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"        :param state: Required. The running state, one of the power_state codes"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf8cb3f7_493f39d6","line":200,"range":{"start_line":200,"start_character":46,"end_line":200,"end_character":60},"updated":"2017-12-20 15:24:38.000000000","message":"You need a docstring for this. Also, I think this would be easier to use if you had four separate parameters","commit_id":"5776410a4d5fbaf1d354e89e7660008d1010f729"},{"author":{"_account_id":19944,"name":"Chen Hanxiao","email":"chen_han_xiao@126.com","username":"chenhanxiao"},"change_message_id":"5307c559639295203cc120715b00a7316de7bdc8","unresolved":false,"context_lines":[{"line_number":197,"context_line":""},{"line_number":198,"context_line":"class InstanceInfo(object):"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"    def __init__(self, state, internal_id\u003dNone, cpu_mem\u003dNone):"},{"line_number":201,"context_line":"        \"\"\"Create a new Instance Info object"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"        :param state: Required. The running state, one of the power_state codes"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf8cb3f7_b8895f27","line":200,"range":{"start_line":200,"start_character":46,"end_line":200,"end_character":60},"in_reply_to":"bf8cb3f7_493f39d6","updated":"2017-12-21 02:33:16.000000000","message":"Thanks, will be fixed in the next patch.","commit_id":"5776410a4d5fbaf1d354e89e7660008d1010f729"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"8f0e072d67f63bfea4c6627ef66e88f8f6297bf6","unresolved":false,"context_lines":[{"line_number":211,"context_line":"        \"\"\""},{"line_number":212,"context_line":"        self.state \u003d state"},{"line_number":213,"context_line":"        self.internal_id \u003d internal_id"},{"line_number":214,"context_line":"        self.max_mem \u003d max_mem if max_mem is not None else 0"},{"line_number":215,"context_line":"        self.mem \u003d mem if mem is not None else 0"},{"line_number":216,"context_line":"        self.num_cpu \u003d num_cpu if num_cpu is not None else 0"},{"line_number":217,"context_line":"        self.cpu_time \u003d cpu_time if cpu_time is not None else 0"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"    def __eq__(self, other):"},{"line_number":220,"context_line":"        return (self.__class__ \u003d\u003d other.__class__ and"}],"source_content_type":"text/x-python","patch_set":4,"id":"bf8cb3f7_e76c229e","line":217,"range":{"start_line":214,"start_character":0,"end_line":217,"end_character":63},"updated":"2017-12-21 08:28:36.000000000","message":"Just curious, is it correct to set these value to 0 as default?","commit_id":"3dfb82edb4a972b99b061327d009a4b65cca8b44"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"598d9b061b24fb8ef585f0e46db4385a420173cf","unresolved":false,"context_lines":[{"line_number":211,"context_line":"        \"\"\""},{"line_number":212,"context_line":"        self.state \u003d state"},{"line_number":213,"context_line":"        self.internal_id \u003d internal_id"},{"line_number":214,"context_line":"        self.max_mem \u003d max_mem if max_mem is not None else 0"},{"line_number":215,"context_line":"        self.mem \u003d mem if mem is not None else 0"},{"line_number":216,"context_line":"        self.num_cpu \u003d num_cpu if num_cpu is not None else 0"},{"line_number":217,"context_line":"        self.cpu_time \u003d cpu_time if cpu_time is not None else 0"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"    def __eq__(self, other):"},{"line_number":220,"context_line":"        return (self.__class__ \u003d\u003d other.__class__ and"}],"source_content_type":"text/x-python","patch_set":4,"id":"bf8cb3f7_7c698423","line":217,"range":{"start_line":214,"start_character":0,"end_line":217,"end_character":63},"in_reply_to":"bf8cb3f7_27552a51","updated":"2017-12-21 10:25:31.000000000","message":"If you\u0027re doing this, why not pass 0 as the default value above instead of None?","commit_id":"3dfb82edb4a972b99b061327d009a4b65cca8b44"},{"author":{"_account_id":19944,"name":"Chen Hanxiao","email":"chen_han_xiao@126.com","username":"chenhanxiao"},"change_message_id":"96ee7b6361b6b57da02b31c2a0a4628b02de758b","unresolved":false,"context_lines":[{"line_number":211,"context_line":"        \"\"\""},{"line_number":212,"context_line":"        self.state \u003d state"},{"line_number":213,"context_line":"        self.internal_id \u003d internal_id"},{"line_number":214,"context_line":"        self.max_mem \u003d max_mem if max_mem is not None else 0"},{"line_number":215,"context_line":"        self.mem \u003d mem if mem is not None else 0"},{"line_number":216,"context_line":"        self.num_cpu \u003d num_cpu if num_cpu is not None else 0"},{"line_number":217,"context_line":"        self.cpu_time \u003d cpu_time if cpu_time is not None else 0"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"    def __eq__(self, other):"},{"line_number":220,"context_line":"        return (self.__class__ \u003d\u003d other.__class__ and"}],"source_content_type":"text/x-python","patch_set":4,"id":"bf8cb3f7_bc4aac7d","line":217,"range":{"start_line":214,"start_character":0,"end_line":217,"end_character":63},"in_reply_to":"bf8cb3f7_7c698423","updated":"2017-12-21 10:43:23.000000000","message":"Good idea! will be fixed soon.","commit_id":"3dfb82edb4a972b99b061327d009a4b65cca8b44"},{"author":{"_account_id":19944,"name":"Chen Hanxiao","email":"chen_han_xiao@126.com","username":"chenhanxiao"},"change_message_id":"cbad60c18a36026affa1af8aa46df347a1a24507","unresolved":false,"context_lines":[{"line_number":211,"context_line":"        \"\"\""},{"line_number":212,"context_line":"        self.state \u003d state"},{"line_number":213,"context_line":"        self.internal_id \u003d internal_id"},{"line_number":214,"context_line":"        self.max_mem \u003d max_mem if max_mem is not None else 0"},{"line_number":215,"context_line":"        self.mem \u003d mem if mem is not None else 0"},{"line_number":216,"context_line":"        self.num_cpu \u003d num_cpu if num_cpu is not None else 0"},{"line_number":217,"context_line":"        self.cpu_time \u003d cpu_time if cpu_time is not None else 0"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"    def __eq__(self, other):"},{"line_number":220,"context_line":"        return (self.__class__ \u003d\u003d other.__class__ and"}],"source_content_type":"text/x-python","patch_set":4,"id":"bf8cb3f7_27552a51","line":217,"range":{"start_line":214,"start_character":0,"end_line":217,"end_character":63},"in_reply_to":"bf8cb3f7_e76c229e","updated":"2017-12-21 08:48:02.000000000","message":"Default to 0 for back-compact.\nSome codes only care \u0027state\u0027 and only passed it to InstanceInfo.\nAlso, 0 is obvious a abnomal value for mem/cpu num...","commit_id":"3dfb82edb4a972b99b061327d009a4b65cca8b44"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3129f9b188ba99fd2bb25e644de849ec739a4738","unresolved":false,"context_lines":[{"line_number":7781,"context_line":"        xml_doc \u003d etree.fromstring(xml)"},{"line_number":7782,"context_line":""},{"line_number":7783,"context_line":"        instance_info \u003d guest.get_info(self._host)"},{"line_number":7784,"context_line":"        state \u003d instance_info.state"},{"line_number":7785,"context_line":"        config_drive \u003d configdrive.required_by(instance)"},{"line_number":7786,"context_line":"        launched_at \u003d timeutils.normalize_time(instance.launched_at)"},{"line_number":7787,"context_line":"        uptime \u003d timeutils.delta_seconds(launched_at,"}],"source_content_type":"text/x-python","patch_set":5,"id":"bf8cb3f7_3e120c5a","line":7784,"range":{"start_line":7784,"start_character":8,"end_line":7784,"end_character":35},"updated":"2017-12-21 14:43:12.000000000","message":"I missed this first time round. Are you sure about this? This is what we do now:\n\n  (state, max_mem, mem, num_cpu, cpu_time) \u003d \\\n      guest._get_domain_info(self._host)\n\nWhich is equivalent to:\n\n  state \u003d guest._get_domain_info(self._host)[0]\n\nFrom the looks of it, we will now do the below, which is happening in \u0027Guest.get_info\u0027:\n\n  dom_info \u003d self._get_domain_info(host)\n  ...\n  state \u003d LIBVIRT_POWER_STATE[dom_info[0]]\n\nWhich is equivalent to:\n\n  state \u003d LIBVIRT_POWER_STATE[self._get_domain_info(host)[0]]\n\nSo we\u0027re doing some wrapping now that wasn\u0027t done before. I\u0027m guessing this isn\u0027t what you intended.","commit_id":"95e08e780d0b3e46c2b1ffae1ed7fbc5dfcc373c"},{"author":{"_account_id":19944,"name":"Chen Hanxiao","email":"chen_han_xiao@126.com","username":"chenhanxiao"},"change_message_id":"218accd7d6f12300142e574e8872ba2009d072e3","unresolved":false,"context_lines":[{"line_number":7781,"context_line":"        xml_doc \u003d etree.fromstring(xml)"},{"line_number":7782,"context_line":""},{"line_number":7783,"context_line":"        instance_info \u003d guest.get_info(self._host)"},{"line_number":7784,"context_line":"        state \u003d instance_info.state"},{"line_number":7785,"context_line":"        config_drive \u003d configdrive.required_by(instance)"},{"line_number":7786,"context_line":"        launched_at \u003d timeutils.normalize_time(instance.launched_at)"},{"line_number":7787,"context_line":"        uptime \u003d timeutils.delta_seconds(launched_at,"}],"source_content_type":"text/x-python","patch_set":5,"id":"bf8cb3f7_ed5f0ee3","line":7784,"range":{"start_line":7784,"start_character":8,"end_line":7784,"end_character":35},"in_reply_to":"bf8cb3f7_3e120c5a","updated":"2017-12-22 04:36:48.000000000","message":"LIBVIRT_POWER_STATE almost as same as STATE_MAP, except for some useful replacement. \nFor back-compact, do we need a extra member of InstanceInfo for unmapped libvirt state, or a different map from STAE_MAP to LIBVIRT_POWER_STATE?","commit_id":"95e08e780d0b3e46c2b1ffae1ed7fbc5dfcc373c"}]}
