)]}'
{"virtualbmc/vbmc.py":[{"author":{"_account_id":13719,"name":"Naohiro Tamura","email":"naohirot.openstack@gmail.com","username":"nao"},"change_message_id":"e72a430f963e7ecf52bab3253a04170a2c0278aa","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        return POWEROFF"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def cold_reset(self):"},{"line_number":107,"context_line":"        LOG.debug(\u0027Power diag called for domain %s\u0027, self.domain_name)"},{"line_number":108,"context_line":"        try:"},{"line_number":109,"context_line":"            with utils.libvirt_open(**self._conn_args) as conn:"}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_fdaedae5","line":106,"range":{"start_line":106,"start_character":8,"end_line":106,"end_character":18},"updated":"2016-08-03 09:46:20.000000000","message":"Xie-san,\n\nThanks for the update.\n\n\u0027cold_reset\u0027 would be a little bit confusing.\nWhy don\u0027t we change s/cold_reset/pulse_diag/ as defined in ipmi_chassis.h ?\n\n\n ipmitool-source$ vi include/ipmitool/ipmi_chassis.h \n 38 #define IPMI_CHASSIS_CTL_POWER_DOWN 0x0\n 39 #define IPMI_CHASSIS_CTL_POWER_UP 0x1\n 40 #define IPMI_CHASSIS_CTL_POWER_CYCLE 0x2\n 41 #define IPMI_CHASSIS_CTL_HARD_RESET 0x3\n 42 #define IPMI_CHASSIS_CTL_PULSE_DIAG 0x4\n 43 #define IPMI_CHASSIS_CTL_ACPI_SOFT 0x5\n\nBest regards,\nNaohiro","commit_id":"b2ac3b2b1fa0d4a9faa2e80f431091bca073ef4f"},{"author":{"_account_id":16066,"name":"xiexs","email":"xiexs@cn.fujitsu.com","username":"simen"},"change_message_id":"6932b2cc872b1f36113fca74f1e5996f5cd95de5","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        return POWEROFF"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def cold_reset(self):"},{"line_number":107,"context_line":"        LOG.debug(\u0027Power diag called for domain %s\u0027, self.domain_name)"},{"line_number":108,"context_line":"        try:"},{"line_number":109,"context_line":"            with utils.libvirt_open(**self._conn_args) as conn:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3ac371cc_ea04f84a","line":106,"range":{"start_line":106,"start_character":8,"end_line":106,"end_character":18},"in_reply_to":"bacf61ea_fdaedae5","updated":"2016-08-17 07:16:43.000000000","message":"Hi, Naohiro san,\nThanks for your review.\nI will change it in the next patch.","commit_id":"b2ac3b2b1fa0d4a9faa2e80f431091bca073ef4f"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"bbda7809104591919248a4cea8cd2366559931f0","unresolved":false,"context_lines":[{"line_number":114,"context_line":"            LOG.error(\u0027Error powering diag the domain %(domain)s. \u0027"},{"line_number":115,"context_line":"                      \u0027Error: %(error)s\u0027 % {\u0027domain\u0027: self.domain_name,"},{"line_number":116,"context_line":"                                            \u0027error\u0027: e})"},{"line_number":117,"context_line":"            return"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    def power_off(self):"},{"line_number":120,"context_line":"        LOG.debug(\u0027Power off called for domain %s\u0027, self.domain_name)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a461143_7aece28f","line":117,"updated":"2017-02-02 11:17:32.000000000","message":"return 0x5d\n\notherwise we will return the wrong code for ipmitool","commit_id":"8e8a51d87a806c0959ddde2ff68d1c830ec9fc72"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"7c515ccbabe66949c912c5433ff410fef84862c8","unresolved":false,"context_lines":[{"line_number":112,"context_line":"        try:"},{"line_number":113,"context_line":"            with utils.libvirt_open(**self._conn_args) as conn:"},{"line_number":114,"context_line":"                domain \u003d utils.get_libvirt_domain(conn, self.domain_name)"},{"line_number":115,"context_line":"                if domain.isActive():"},{"line_number":116,"context_line":"                    domain.injectNMI()"},{"line_number":117,"context_line":"        except libvirt.libvirtError as e:"},{"line_number":118,"context_line":"            LOG.error(\u0027Error powering diag the domain %(domain)s. \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a461143_ed51fed9","line":115,"updated":"2017-02-02 11:25:47.000000000","message":"I have a feeling that should just actually fail in this case","commit_id":"a2106ef58b8720926200823023e26915d3d14bec"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"1649462984ac26a90f13c9b339c33be6297a34b1","unresolved":false,"context_lines":[{"line_number":112,"context_line":"        try:"},{"line_number":113,"context_line":"            with utils.libvirt_open(**self._conn_args) as conn:"},{"line_number":114,"context_line":"                domain \u003d utils.get_libvirt_domain(conn, self.domain_name)"},{"line_number":115,"context_line":"                if domain.isActive():"},{"line_number":116,"context_line":"                    domain.injectNMI()"},{"line_number":117,"context_line":"        except libvirt.libvirtError as e:"},{"line_number":118,"context_line":"            LOG.error(\u0027Error powering diag the domain %(domain)s. \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a461143_3086f965","line":115,"in_reply_to":"3a461143_6de18efe","updated":"2017-02-02 11:49:05.000000000","message":"So the current behavior seems fine, on a real baremetal machine if the domain is off ipmitool won\u0027t return any error either:\n\n$ ipmitool -I lanplus -U XXX -P XXX -H X.X.X.X power status\nChassis Power is on\n\n$ ipmitool -I lanplus -U XXX -P XXX -H X.X.X.X power off\nChassis Power Control: Down/Off\n\n$ ipmitool -I lanplus -U XXX -P XXX -H X.X.X.X power status\nChassis Power is off\n\n$ ipmitool -I lanplus -U XXX -P XXX -H X.X.X.X power diag\nChassis Power Control: Diag\n\n$ echo $?\n0","commit_id":"a2106ef58b8720926200823023e26915d3d14bec"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"2466f16f21d6b7540b66199706b0b92a8d34e79b","unresolved":false,"context_lines":[{"line_number":112,"context_line":"        try:"},{"line_number":113,"context_line":"            with utils.libvirt_open(**self._conn_args) as conn:"},{"line_number":114,"context_line":"                domain \u003d utils.get_libvirt_domain(conn, self.domain_name)"},{"line_number":115,"context_line":"                if domain.isActive():"},{"line_number":116,"context_line":"                    domain.injectNMI()"},{"line_number":117,"context_line":"        except libvirt.libvirtError as e:"},{"line_number":118,"context_line":"            LOG.error(\u0027Error powering diag the domain %(domain)s. \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a461143_6de18efe","line":115,"in_reply_to":"3a461143_ed51fed9","updated":"2017-02-02 11:28:03.000000000","message":"It\u0027s a good point, I wonder how a real BMC would behave... I will try it out.","commit_id":"a2106ef58b8720926200823023e26915d3d14bec"}]}
