def put_templated_file(self, local_src, remote_dest, **kwargs): tmp = tempfile.mktemp() try: Eutester.render_file_template(local_src, tmp, **kwargs) self.ssh.sftp_put(tmp, remote_dest) finally: os.remove(tmp)
def __init__(self, credpath=None, aws_access_key_id=None, aws_secret_access_key = None, username="******",region=None, ec2_ip=None, s3_ip=None, boto_debug=0): Eutester.__init__(self, credpath=credpath, aws_access_key_id=aws_access_key_id, aws_secret_access_key=aws_secret_access_key,region=region, s3_ip=s3_ip, ec2_ip=ec2_ip, boto_debug=boto_debug) self.poll_count = 48 self.username = username self.test_resources = {} self.setup_ec2_resource_trackers() self.key_dir = "./"
def get_elapsed_seconds_since_pid_started(self, pid): """ Attempts to parse ps time elapsed since process/pid has been running and return the presented time in elapsed number of seconds. :param pid: Process id to get elapsed time from :return: Elapsed time in seconds that pid has been running """ seconds_min = 60 seconds_hour = 3600 seconds_day = 86400 elapsed = 0 try: if not pid: raise Exception( 'Empty pid passed to get_elapsed_seconds_since_pid_started' ) cmd = "ps -eo pid,etime | grep " + str(pid) + " | awk '{print $2}'" self.debug('starting get pid uptime"' + str(cmd) + '"...') #expected format: days-HH:MM:SS out = self.sys(cmd, code=0)[0] out = out.strip() if re.search("-", out): split_out = out.split("-") days = int(split_out[0]) time_string = split_out[1] else: days = 0 time_string = out split_time = time_string.split(':') #insert a 0 if hours, and minutes are not present. for x in xrange(len(split_time), 3): split_time.insert(0, 0) hours = int(split_time[0] or 0) minutes = int(split_time[1] or 0) seconds = int(split_time[2] or 0) elapsed = seconds + (minutes * seconds_min) + ( hours * seconds_hour) + (days * seconds_day) except: print Eutester.get_traceback() return int(elapsed)
def get_elapsed_seconds_since_pid_started(self, pid): """ Attempts to parse ps time elapsed since process/pid has been running and return the presented time in elapsed number of seconds. :param pid: Process id to get elapsed time from :return: Elapsed time in seconds that pid has been running """ seconds_min = 60 seconds_hour = 3600 seconds_day = 86400 elapsed = 0 try: if not pid: raise Exception('Empty pid passed to get_elapsed_seconds_since_pid_started') cmd = "ps -eo pid,etime | grep " + str(pid) + " | awk '{print $2}'" self.debug('starting get pid uptime"' + str(cmd) + '"...') #expected format: days-HH:MM:SS out = self.sys(cmd,code=0)[0] out = out.strip() if re.search("-", out): split_out = out.split("-") days = int(split_out[0]) time_string = split_out[1] else: days = 0 time_string = out split_time = time_string.split(':') #insert a 0 if hours, and minutes are not present. for x in xrange(len(split_time), 3): split_time.insert(0,0) hours = int(split_time[0] or 0) minutes = int(split_time[1] or 0) seconds = int(split_time[2] or 0) elapsed = seconds + (minutes*seconds_min) + (hours*seconds_hour) + (days*seconds_day) except: print Eutester.get_traceback() return int(elapsed)
#!/usr/bin/python from eutester import Eutester import argparse if __name__ == "__main__": ## If given command line arguments, use them as test names to launch parser = argparse.ArgumentParser(description='Get credentials for a cloud') parser.add_argument('--config', default="../input/2b_tested.lst") parser.add_argument("--password", default='foobar') args = parser.parse_args() tester = Eutester(config_file=args.config, password=args.password)
# from eutester import Eutester import argparse if __name__ == '__main__': ### Parse args parser = argparse.ArgumentParser(description='Test for Eucalyptus Launchpad bug-737335') parser.add_argument("--credpath", dest="credpath", help="The path where to find eucarc (default ~/.euca)", default="~/.euca") parser.add_argument("--userId", dest="userId", help="userId to use to run test", default="admin") args = parser.parse_args() # create Eutester object tester = Eutester( credpath=args.credpath ) # find images owned by the user emi_list = tester.sys("euca-describe-images -o self | grep emi- | head -1 | awk '{print $2}'") if emi_list == []: tester.fail("Did not find any images owned by self") tester.do_exit() # grab an emi emi = emi_list[0] # reset permission tester.sys("euca-reset-image-attribute --launch-permission " + emi) # remove all permission