示例#1
0
 def removeRequiretty(vm, pk_file):
     if not vm['master']:
         CtxtAgent.logger.info("Removing requiretty to VM: " + vm['ip'])
         try:
             private_key = vm['private_key']
             if pk_file:
                 private_key = pk_file
             ssh_client = SSH(vm['ip'], vm['user'], vm['passwd'],
                              private_key, vm['remote_port'])
             # Activate tty mode to avoid some problems with sudo in REL
             ssh_client.tty = True
             sudo_pass = ""
             if ssh_client.password:
                 sudo_pass = "******" + ssh_client.password + "' | "
             (stdout, stderr, code) = ssh_client.execute_timeout(
                 sudo_pass +
                 "sudo -S sed -i 's/.*requiretty$/#Defaults requiretty/' /etc/sudoers",
                 5)
             CtxtAgent.logger.debug("OUT: " + stdout + stderr)
             return code == 0
         except:
             CtxtAgent.logger.exception(
                 "Error removing requiretty to VM: " + vm['ip'])
             return False
     else:
         return True