def kdump_apply(self, obj): try: from ocsetup import ocs except ImportError: pass else: page = ocs.page_kernel_dump buttons = page.nfs_ssh_restore_custom.btns val = None for i in range(3): # i == 0 is NFS, i == 1 is SSH, i == 2 is RESTORE if buttons[i].get_active() and i == 0: val = page.nfs_location_custom.entry.get_text() elif buttons[i].get_active() and i == 1: val = page.ssh_location_custom.entry.get_text() elif buttons[i].get_active() and i == 2: restore_kdump_config() if val: write_kdump_config(val) pb = ProgressBar() pb.make_progress(0.1) if '@' in val: if os.path.exists("/usr/bin/kdumpctl"): kdump_prop_cmd = "kdumpctl propagate" else: kdump_prop_cmd = "service kdump propagate" from sshcmd import runcmd runcmd(kdump_prop_cmd) pb.make_progress(0.2) if runcmd: # SSH LOGIN SUCCESS. ovirt_store_config("/root/.ssh/kdump_id_rsa.pub") ovirt_store_config("/root/.ssh/kdump_id_rsa") ovirt_store_config("/root/.ssh/known_hosts") ovirt_store_config("/root/.ssh/config") pb.make_progress(0.5) system('servic kdump restart &') while True: res = check_output('service kdump status') if 'starting' not in res: break pb.make_progress(0.5) time.sleep(3) pb.make_progress(0.8) if 'Kdump is not operational' in res: # restart kdump Failed. unmount_config("/etc/kdump.conf") if os.path.exists("/etc/kdump.conf"): os.remove("/etc/kdump.conf") pb.make_progress(0, 'FAILED!') pb.progress_label.set_label('FAILED!') elif 'Kdump is operational' in res: ovirt_store_config("/etc/kdump.conf") pb.make_progress(1, 'successful!') else: log('kdump start Failed:' + res) pb.make_progress(0, 'FAILED!') pb.progress_label.set_label('FAILED!')
def commit(self): import ovirtnode.kdump as okdump from ovirtnode.ovirtfunctions import ovirt_store_config okdump.write_kdump_config(ssh) if os.path.exists("/usr/bin/kdumpctl"): cmd = "kdumpctl propagate" else: cmd = "service kdump propagate" cmd += "2>&1" try: utils.process.check_call(cmd) ovirt_store_config(["/root/.ssh/kdump_id_rsa.pub", "/root/.ssh/kdump_id_rsa", "/root/.ssh/known_hosts", "/root/.ssh/config"]) except utils.process.CalledProcessError as e: self.logger.warning("Failed to activate KDump with " + "SSH: %s" % e)
def commit(self): import ovirtnode.kdump as okdump okdump.write_kdump_config(nfs)