I was experimenting with changes/fixes for the docker-compose guide and wanted to test the Terraform guide because it uses docker-compose. There were some bugs and references to legacy tink-cli containers that no longer exist.
Expected Behaviour
Running through the Terraform guide should result in a demonstration of Tinkerbell working with Equinix Metal Cloud.
Current Behaviour
1) There is a bug when running terraform plan/apply commands in sandbox/deploy/infrastructure/terraform directory where the path to the compose folder is incorrect.
2) The setup.sh script overwriting the .env file for the docker-compose folder doesn't include TINKERBELL_CLIENT_IP and TINKERBELL_CLIENT_GW, which is especially important considering the provisioner is set up as the gateway for the client in this quickstart.
3) The Terraform quickstart documentation uses the (legacy?) tink script that runs commands with the tink-cli container that was removed a while ago.
4) I couldn't figure out why but I found the PXE booting on the Equinix Cloud machines to be especially slow. There can be a several minute wait between the tink-worker pulling the LinuxKit image and it running workflows, far longer than I experienced using Tinkerbell on my own machines. As far as the docker compose logs and watching the workflow status, it really does look like the tink-worker is hanging for a while.
Possible Solution
1) and 4) are easily addressed.
2) I recommend that the sandbox/deploy/infrastructure has its own .env file with things like the TINKERBELL_CLIENT_GW prepopulated. This .env file can be added via base64 encoding in the cloud-config.cfg file alongside the others.
3) Update the scripts and documentation to remove references to the tink script and tink-cli container, and update them to use the kubectl command for watching workflow status.
Steps to Reproduce (for bugs)
Follow the Terraform quickstart guide.
Context
I was testing some changes to the docker-compose quickstart and wanted to test the Terraform quickstart as it depends on it.
I was experimenting with changes/fixes for the docker-compose guide and wanted to test the Terraform guide because it uses docker-compose. There were some bugs and references to legacy tink-cli containers that no longer exist.
Expected Behaviour
Running through the Terraform guide should result in a demonstration of Tinkerbell working with Equinix Metal Cloud.
Current Behaviour
1) There is a bug when running terraform plan/apply commands in
sandbox/deploy/infrastructure/terraform
directory where the path to the compose folder is incorrect.2) The setup.sh script overwriting the .env file for the docker-compose folder doesn't include
TINKERBELL_CLIENT_IP
andTINKERBELL_CLIENT_GW
, which is especially important considering the provisioner is set up as the gateway for the client in this quickstart.3) The Terraform quickstart documentation uses the (legacy?)
tink
script that runs commands with thetink-cli
container that was removed a while ago.4) I couldn't figure out why but I found the PXE booting on the Equinix Cloud machines to be especially slow. There can be a several minute wait between the tink-worker pulling the LinuxKit image and it running workflows, far longer than I experienced using Tinkerbell on my own machines. As far as the docker compose logs and watching the workflow status, it really does look like the tink-worker is hanging for a while.
Possible Solution
1) and 4) are easily addressed.
2) I recommend that the
sandbox/deploy/infrastructure
has its own .env file with things like the TINKERBELL_CLIENT_GW prepopulated. This .env file can be added via base64 encoding in the cloud-config.cfg file alongside the others.3) Update the scripts and documentation to remove references to the tink script and tink-cli container, and update them to use the kubectl command for watching workflow status.
Steps to Reproduce (for bugs)
Follow the Terraform quickstart guide.
Context
I was testing some changes to the docker-compose quickstart and wanted to test the Terraform quickstart as it depends on it.
Your Environment
Equinix cloud