)]}'
{"watcher/common/nova_helper.py":[{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"4a9df1cdbab7dfc57794cd84b419420c35bdadd5","unresolved":false,"context_lines":[{"line_number":58,"context_line":"            hypervisor_list \u003d self.nova.hypervisors.list()"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"            for hv in hypervisor_list:"},{"line_number":61,"context_line":"                if hv.service[\u0027host\u0027] \u003d\u003d node_hostname:"},{"line_number":62,"context_line":"                    hypervisor_name \u003d hv.hypervisor_hostname"},{"line_number":63,"context_line":"            if not hypervisor_name:"},{"line_number":64,"context_line":"                raise exception.ComputeNodeNotFound(name\u003dnode_hostname)"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f93b717_0b750564","line":62,"range":{"start_line":61,"start_character":16,"end_line":62,"end_character":60},"updated":"2018-01-31 06:53:55.000000000","message":"Here should break the for iteration when finding hypervisor_name.","commit_id":"5f130baf830fa6b13a1c1af3b8ccc042c3f8e6c3"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"04393166d7eda9f9df85c433e45790d7c0f483a2","unresolved":false,"context_lines":[{"line_number":58,"context_line":"            hypervisor_list \u003d self.nova.hypervisors.list()"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"            for hv in hypervisor_list:"},{"line_number":61,"context_line":"                if hv.service[\u0027host\u0027] \u003d\u003d node_hostname:"},{"line_number":62,"context_line":"                    hypervisor_name \u003d hv.hypervisor_hostname"},{"line_number":63,"context_line":"            if not hypervisor_name:"},{"line_number":64,"context_line":"                raise exception.ComputeNodeNotFound(name\u003dnode_hostname)"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f93b717_a3b71af5","line":62,"range":{"start_line":61,"start_character":16,"end_line":62,"end_character":60},"in_reply_to":"5f93b717_0b750564","updated":"2018-02-02 05:28:20.000000000","message":"Done","commit_id":"5f130baf830fa6b13a1c1af3b8ccc042c3f8e6c3"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"695036739c6aba800d5966d0f9ee68d88d1ad2df","unresolved":false,"context_lines":[{"line_number":59,"context_line":"            if len(hypervisors) !\u003d 1:"},{"line_number":60,"context_line":"                # TODO(hidekazu)"},{"line_number":61,"context_line":"                # this may occur if VMware vCenter driver is used"},{"line_number":62,"context_line":"                raise exception.ComputeNodeNotFound(name\u003dnode_hostname)"},{"line_number":63,"context_line":"            else:"},{"line_number":64,"context_line":"                compute_nodes \u003d self.nova.hypervisors.search("},{"line_number":65,"context_line":"                    hypervisors[0].hypervisor_hostname)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f93b717_e8665abb","line":62,"updated":"2018-02-02 09:23:52.000000000","message":"Is raising the same exception at both the places is fine? secondly can hypervisors length be 2??","commit_id":"f32252d510fbce5e85c97906653075058d47db53"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"aafd6988571c4954781cf58416a7aff8947f7531","unresolved":false,"context_lines":[{"line_number":59,"context_line":"            if len(hypervisors) !\u003d 1:"},{"line_number":60,"context_line":"                # TODO(hidekazu)"},{"line_number":61,"context_line":"                # this may occur if VMware vCenter driver is used"},{"line_number":62,"context_line":"                raise exception.ComputeNodeNotFound(name\u003dnode_hostname)"},{"line_number":63,"context_line":"            else:"},{"line_number":64,"context_line":"                compute_nodes \u003d self.nova.hypervisors.search("},{"line_number":65,"context_line":"                    hypervisors[0].hypervisor_hostname)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f93b717_2bc99c57","line":62,"in_reply_to":"5f93b717_e8665abb","updated":"2018-02-02 10:25:59.000000000","message":"The original code raises ComputeNodeNotFound exception, when compute_nodes returns 2 or more. Basically this patch inherits it\u0027s original exception.\n\nThe compute_nodes table has multiple key \"UNIQUE KEY `uniq_compute_nodes0host0hypervisor_hostname0deleted` (`host`,`hypervisor_hostname`,`deleted`)\". This means one host can have multiple hypervisor_hostname.","commit_id":"f32252d510fbce5e85c97906653075058d47db53"}]}
