Example #1
0
    def ssh_execute(self, ipaddr, username="******", command="ls -al",
                    pkey=None, raise_err=False):

        try:
            result = ssh_execute(username, ipaddr, command, pkey)
            return result
        except Exception, e:
            log.error("Can not execute ssh on {0}:{1}".format(ipaddr, e))
            if raise_err:
                raise e
Example #2
0
    def ssh_execute(self,
                    ipaddr,
                    username="******",
                    command="ls -al",
                    pkey=None,
                    raise_err=False):

        try:
            result = ssh_execute(username, ipaddr, command, pkey)
            return result
        except Exception, e:
            log.error("Can not execute ssh on {0}:{1}".format(ipaddr, e))
            if raise_err:
                raise e
Example #3
0
 def _vm_login(self):
     """
     login to a VM  
     """
     cloudname = self.get_working_cloud_name()
     if not cloudname:
         return
     address = None
     if self.arguments['--addr']:
         address = self.arguments['--addr']
     else:
         serverid = self.get_working_server_id(cloudname)
         if not serverid:
             return
         mongo = cm_mongo()
         serverdata = mongo.servers(clouds=[cloudname],
                                    cm_user_id=self.username)[cloudname]
         serverdata = serverdata[serverid]['addresses']
         temp_val = serverdata.keys()[0]
         serverdata = serverdata[temp_val]
         for i in serverdata:
             if i['OS-EXT-IPS:type'] == "floating":
                 address = i['addr']
         if address is None:
             Console.warning("Please assign a public ip to the VM first"
                             "(vm ip (--name=<vmname>|--id=<id>))")
             return
     if self.arguments['<command>']:
         commands = ' '.join(self.arguments['<command>'])
         try:
             print(">>>\n")
             print(ssh_execute(self.arguments['--ln'], address,
                               commands, key=self.arguments['--key']))
         except:
             err = sys.exc_info()
             Console.error("Can not execute ssh on {0}:{1}".format(address, err))
     else:
         host = "{0}@{1}".format(self.arguments['--ln'], address)
         option = "-o StrictHostKeyChecking=no "
         if self.arguments['--key']:
             call(['ssh', option, '-i', self.arguments['--key'], host])
         else:
             call(['ssh', option, host])