A machine on any of the cloud, with a known fixed image, that we are using to run the test on, so the test run in a local network environment of the cluster under test.
All our jenkins job are those runners for the test
For development purpose one can create he's own test machine and run hydra on it:
hydra create-runner-instance --cloud-provider <cloud_name> -r <region_name> -z <az> -t <test-id> -d <run_duration>
# run with specific address of a runner
hydra --execute-on-runner [runner ip] [Any hydra commands]
# `create-runner-instance` command should save the address into a file
hydra --execute-on-runner `cat sct_runner_ip` [Any hydra commands]
hydra is syncing the whole SCT directory with rsync, try to make sure there's no huge files in SCT directory, because that would slow it down
-
update code in sct_runner.py, give it a new version number
-
Build all images
./sct.py create-runner-image -c aws -r eu-west-2 -z a ./sct.py create-runner-image -c gce -r us-east1 -z a SCT_GCE_PROJECT=gcp ./sct.py create-runner-image -c gce -r us-east1 -z a SCT_GCE_PROJECT=gcp-local-ssd-latency ./sct.py create-runner-image -c gce -r us-east1 -z a ./sct.py create-runner-image -c azure -r eastus -z a
-
update version on
aws_builder.py
andgce_builder.py
-
build jenkins configuration with new sct runner image
./sct.py configure-jenkins-builders -c gce ./sct.py configure-jenkins-builders -c aws
-
update
vars/getJenkinsLabels.groovy
with the new labels created in step 1