- Install Ansible on your local machine:
https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html#installing-ansible-on-specific-operating-systems - Start a new experiment on Cloudlab:
- Profile:
small-lan
- OS Image:
UBUNTU 18.04
- Physical Node Type:
rs440
(others are probably fine too) - (Under "Advanced") Temp Filesystem Max Space: Selected
- Profile:
- On your local machine, use Ansible to setup the remote host:
ansible-playbook -u YOUR_SSH_USERNAME -i REMOTE_HOSTNAME, setup-host.yaml
- On your local machine, use Ansible to create a stock-Knative runner on KinD on the remote host:
GH_ACCESS_TOKEN=... ansible-playbook -u YOUR_SSH_USERNAME -i REMOTE_HOSTNAME, create-runner.yaml
GH_ACCESS_TOKEN
environment variable shall be set to your GitHub access token.
You may call the fourth step as many times as you like. To create N=10 runners, execute the following on bash:
for run in {1..10}; do GH_ACCESS_TOKEN=... ansible-playbook -u YOUR_SSH_USERNAME -i REMOTE_HOSTNAME, create-runner.yaml; done
On your local machine, use Ansible to delete all runners:
GH_ACCESS_TOKEN=... ansible-playbook -u YOUR_SSH_USERNAME -i REMOTE_HOSTNAME, delete-runners.yaml
GH_ACCESS_TOKEN=... ./scripts/self-hosted-kind/easy-recreate.sh REMOTE_HOSTNAME N
- On your local machine, use Ansible to delete all runners:
GH_ACCESS_TOKEN=... ansible-playbook -u YOUR_SSH_USERNAME -i REMOTE_HOSTNAME, delete-runners.yaml
- Restart the remote host:
sudo shutdown --reboot now
- On your local machine, use Ansible to recreate runners (N=10) on the remote host:
for run in {1..10}; do GH_ACCESS_TOKEN=... ansible-playbook -u YOUR_SSH_USERNAME -i REMOTE_HOSTNAME, create-runner.yaml; done