예제 #1
0
def run(utils):

    bug='34508'

    utils.log_info("Start regression test for bug %s"%(bug))

    if len(utils.get_Username())==0 or len(utils.get_Password())==0:
        utils.log_info("ERROR: To verify this bug you need access to WMS. You have set WMS_USERNAME and WMS_PASSOWRD attributes at configuration file")
        raise GeneralError("","To verify this bug you need access to WMS. You have set WMS_USERNAME and WMS_PASSOWRD attributes at configuration file")

    ssh=utils.open_ssh(utils.get_WMS(),utils.get_Username(),utils.get_Password())

    utils.log_info("Stop glite-wms-wm")

    utils.execute_remote_cmd(ssh,"/etc/init.d/glite-wms-wm stop")

    utils.log_info("Prepare jdl file for submission")

    #Neccessary to avoid overwrite of the external jdls
    utils.use_utils_jdl()
   
    Job_utils.prepare_collection_job(utils,utils.get_jdl_file())

    utils.log_info("Submit collection")

    JOBID=utils.run_command("glite-wms-job-submit %s --config %s --nomsg --collection %s/collection_jdls"%(utils.get_delegation_options(),utils.get_config_file(),utils.get_tmp_dir()))

    utils.log_info("Job submitted successfuly. Returned JOBID: %s"%(JOBID))

    utils.log_info("Start glite-wms-wm")

    utils.execute_remote_cmd(ssh,"/etc/init.d/glite-wms-wm start")

    utils.log_info("Wait until collection is finished")

    utils.wait_until_job_finishes (JOBID)

    utils.log_info("Check final status of collection")

    utils.job_status(JOBID)

    if utils.JOBSTATUS.find('Done (Success)') == -1 :
        utils.log_info("ERROR: Job not finished successfully. Job final status is '%s' instead of 'Done (Success)'"%(utils.get_job_status()))
        raise GeneralError("Check job final status","Job not finished successfully. Job final status is '%s' instead of 'Done (Success)'"%(utils.get_job_status()))
    else:
         utils.log_info("Collection finished successfully. Test OK")

    utils.log_info("End of regression test for bug %s"%(bug))
예제 #2
0
def run(utils):

    utils.log_info("Start regression test for bug 73711")

    logging.warning("To verify this bug you need a WMS set in proxy mode only ")

    # Neccessary to avoid overwrite of the external jdls
    utils.use_utils_jdl()

    utils.set_jdl(utils.get_jdl_file())

    JOBID=utils.run_command("glite-wms-job-submit %s --config %s --nomsg %s"%(utils.get_delegation_options(),utils.get_config_file(),utils.get_jdl_file()))

    utils.log_info("Cancel submitted job")

    utils.run_command("glite-wms-job-cancel --noint %s"%(JOBID))

    if JOBID.find(utils.get_WMS()) == -1:
        utils.log_info("Job submitted successfuly. Returned JOBID: %s"%(JOBID))
    else:
        utils.log_info("ERROR: WMS is not set in 'proxy' mode only. We can't verify the bug.")
        raise GeneralError("Check LBServer","WMS is not set in 'proxy' mode only. We can't verify the bug.")

    utils.log_info("Prepare a job collecion")

    Job_utils.prepare_collection_job(utils,utils.get_jdl_file())
     
    JOBID=utils.run_command("glite-wms-job-submit %s --config %s --nomsg --collection %s/collection_jdls"%(utils.get_delegation_options(),utils.get_config_file(),utils.get_tmp_dir()))

    utils.log_info("Job submitted successfuly. Returned JOBID: %s"%(JOBID))

    utils.log_info("Cancel submitted job")

    utils.run_command("glite-wms-job-cancel --noint %s"%(JOBID))
    
    if JOBID.find(utils.get_WMS()) == -1:
        utils.log_info("Job submitted successfuly. Returned JOBID: %s"%(JOBID))
    else:
        utils.log_info("ERROR: WMS is not set in 'proxy' mode only. We can't verify the bug.")
        raise GeneralError("Check LBServer","WMS is not set in 'proxy' mode only. We can't verify the bug.")   

    utils.log_info("End of regression test for bug 73711")
예제 #3
0
def run(utils):

    bug='77876'

    utils.log_info("Start regression test for bug %s"%(bug))

    utils.log_info("Submit job collection")

    utils.use_utils_jdl()

    Job_utils.prepare_collection_job(utils,utils.get_jdl_file(),"")
    
    JOBID=Job_utils.submit_collection_wait_finish(utils,"")

    utils.job_status(JOBID)
    
    if utils.get_job_status().find('Done') != -1 :
    
        utils.log_info("Get job output")

        # Get output
        utils.run_command("glite-wms-job-output --noint --dir %s %s "%(utils.get_job_output_dir(),JOBID))

        utils.log_info("Check job status")

        res=utils.run_command("glite-wms-job-status -v 0 %s"%(JOBID))

        num=res.count("Current Status:     Cleared")

        if num == 4 :
            utils.log_info("All nodes have CLEARED status")
        else:
            utils.log_info("ERROR: Not all nodes have CLEARED status. Get %s expected 4"%(num))
            raise GeneralError("Count Cleared status","Not all nodes have CLEARED status. Get %s expected 4"%(num))
        
    else:
        utils.log_info("ERROR: Job not finished successfully. Retry the test.")
        raise RetryError("Check job final status","Job not finished successfully.")

   
    utils.log_info("End of regression test for bug %s"%(bug))
예제 #4
0
def run(utils):

    bug='83453'

    utils.log_info("Start regression test for bug %s"%(bug))

    if len(utils.get_Username())==0 or len(utils.get_Password())==0:
        utils.log_info("ERROR: To verify this bug you need access to WMS. You have set WMS_USERNAME and WMS_PASSOWRD attributes at configuration file")
        raise GeneralError("","To verify this bug you need access to WMS. You have set WMS_USERNAME and WMS_PASSOWRD attributes at configuration file")

    ssh=utils.open_ssh(utils.get_WMS(),utils.get_Username(),utils.get_Password())

    utils.log_info("Prepare jdl file for submission")

    Job_utils.prepare_collection_job(utils,utils.get_jdl_file(),"/cream-")

    utils.log_info("Submit collection job")

    JOBID=utils.run_command("glite-wms-job-submit %s --config %s --nomsg --collection %s/collection_jdls"%(utils.get_delegation_options(),utils.get_config_file(),utils.get_tmp_dir()))

    utils.log_info("Job submitted successfuly. Returned JOBID: %s",JOBID)

    output=utils.run_command("glite-wms-job-status -v 0 %s"%(JOBID))
 
    IDS=[]
     
    for line in output.split("\n"):
        if line.find("the Job :")!=-1:
             IDS.append(line.split("the Job :")[1].strip(" \n\t"))


    utils.log_info("Check file /var/log/messages")

    output=utils.execute_remote_cmd(ssh,"grep glite-proxy-renewd /var/log/messages" )

    for id in IDS[1:]:

        utils.log_info("Proxy registration for job %s"%(id))

        if output.find("of job %s has been registered as")==-1:
            ssh.close()
            utils.log_info("ERROR: Unable to find proxy registration for job %s"%(id))
            utils.run_command("glite-wms-job-cancel --noint %s"%(JOBID))
            raise GeneralError("Check file /var/log/messages","Unable to find proxy registration for job %s"%(id))
        else:
           utils.log_info("Successful proxy registration for job %s"%(id))

    utils.log_info("Wait until job finished")

    utils.wait_until_job_finishes(JOBID)

    utils.log_info("Check again file /var/log/messages")

    output=utils.execute_remote_cmd(ssh,"grep glite-proxy-renewd /var/log/messages" )

    for id in IDS[1:]:

        utils.log_info("Proxy unregistration for job %s"%(id))

        if output.find("of job %s has been unregistered")==-1:
            ssh.close()
            utils.log_info("ERROR: Unable to find proxy unregistration for job %s"%(id))
            raise GeneralError("Check file /var/log/messages","Unable to find proxy unregistration for job %s"%(id))
        else:
           utils.log_info("Successful proxy unregistration for job %s"%(id))
        
    ssh.close()

    utils.log_info("End of regression test for bug %s"%(bug))