in resources/code/cdk/cicd/resources/runExperiment.py [0:0]
def main(argv):
experiment_name = argv[0]
commit_id = argv[1]
templateID = getExperimentTemplateID(experiment_name)
if(templateID == None):
print("Could not find experiment template for [" + experiment_name + "]")
sys.exit()
formatted_experiment_name = f"cicd-{experiment_name}-{commit_id}"
print("Starting new [" + formatted_experiment_name + "] experiment")
startExperimentResponse = fisClient.start_experiment(
experimentTemplateId=templateID,
tags={
'Name': formatted_experiment_name
}
)
experimentID = startExperimentResponse['experiment']['id']
experimentStatus = startExperimentResponse['experiment']['state']['status']
print("Started experiment ID [" + experimentID + "]")
print("Current status is [" + experimentStatus + "]")
while(experimentStatus not in ['completed', 'stopped' , 'failed']):
print("Waiting for experiment to complete. Current Status is [" + experimentStatus + "]")
time.sleep(30)
getExperimentResponse = fisClient.get_experiment(
id = experimentID
)
experimentID = getExperimentResponse['experiment']['id']
experimentStatus = getExperimentResponse['experiment']['state']['status']
print("Experiment Complete with status [" + experimentStatus + "]")
print("Result was [" + getExperimentResponse['experiment']['state']['reason'] + "]")
if(experimentStatus == 'completed'):
return 0
else:
raise NameError('ExperimentFailed')