warrensbox/terraform-switcher

tfswitch ignored -b argument

Closed this issue · 5 comments

v1.1.1 ignores -b flag

tfswitch --default $(tfswitch -U) -b /home/vsts/work/_temp/bin/terraform

13:04:03.810 INFO Reading version from Terraform module at "."  
13:04:03.840 INFO Reading required version from constraint: "~> 1.7"  
13:04:03.842 INFO Matched version: "1.8.2"  
13:04:03.842 INFO Creating directory for terraform binary at "/home/vsts/.terraform.versions"  
13:04:03.898 INFO Downloading to "/home/vsts/.terraform.versions/pgp-key.txt"  
13:04:03.988 INFO 7717 bytes downloaded  
13:04:03.989 INFO Downloading "[https://releases.hashicorp.com/terraform/1.8.2/terraform_1.8.2_linux_amd64.zip"](https://releases.hashicorp.com/terraform/1.8.2/terraform_1.8.2_linux_amd64.zip%22)  
13:04:03.990 INFO Downloading to "/home/vsts/.terraform.versions/terraform_1.8.2_linux_amd64.zip"  
13:04:04.094 INFO 26721112 bytes downloaded  
13:04:04.094 INFO Downloading "[https://releases.hashicorp.com/terraform/1.8.2/terraform_1.8.2_SHA256SUMS"](https://releases.hashicorp.com/terraform/1.8.2/terraform_1.8.2_SHA256SUMS%22)  
13:04:04.094 INFO Downloading to "/home/vsts/.terraform.versions/terraform_1.8.2_SHA256SUMS"  
13:04:04.101 INFO 1378 bytes downloaded  
13:04:04.101 INFO Downloading "[https://releases.hashicorp.com/terraform/1.8.2/terraform_1.8.2_SHA256SUMS.72D7468F.sig"](https://releases.hashicorp.com/terraform/1.8.2/terraform_1.8.2_SHA256SUMS.72D7468F.sig%22)  
13:04:04.101 INFO Downloading to "/home/vsts/.terraform.versions/terraform_1.8.2_SHA256SUMS.72D7468F.sig"  
13:04:04.104 INFO 566 bytes downloaded  
13:04:04.104 INFO Verifying signature of checksum file...  
13:04:04.109 INFO Checksum file signature verification successful.  
13:04:04.206 INFO Deleting "/home/vsts/.terraform.versions/terraform_1.8.2_SHA256SUMS"  
13:04:04.206 INFO Deleting "/home/vsts/.terraform.versions/terraform_1.8.2_SHA256SUMS.72D7468F.sig"  
13:04:04.838 FATAL 
		Unable to create new symlink.
		Maybe symlink already exist. Try removing existing symlink manually.
		Try running "unlink /usr/local/bin/terraform" to remove existing symlink.
		If error persist, you may not have the permission to create a symlink at /usr/local/bin/terraform.
		Error: symlink /home/vsts/.terraform.versions/terraform_1.8.2 /usr/local/bin/terraform: file exists

Thanks for reporting. We're aware of this issue and it is being worked on. Please hold tight.

I am unable to produce this on my machine.
@pszypowicz do you have permission to write to /home/vsts/work/_temp/bin/

warrenv@mass ~/temp --> tfswitch --default 1.8.1 -b bin/terraform
00:06:03.943 INFO Downloading "https://releases.hashicorp.com/terraform/1.8.1/terraform_1.8.1_darwin_arm64.zip"
00:06:03.943 INFO Downloading to "/Users/warrenv/.terraform.versions/terraform_1.8.1_darwin_arm64.zip"
00:06:06.312 INFO 25408443 bytes downloaded
00:06:06.313 INFO Downloading "https://releases.hashicorp.com/terraform/1.8.1/terraform_1.8.1_SHA256SUMS"
00:06:06.313 INFO Downloading to "/Users/warrenv/.terraform.versions/terraform_1.8.1_SHA256SUMS"
00:06:06.324 INFO 1378 bytes downloaded
00:06:06.324 INFO Downloading "https://releases.hashicorp.com/terraform/1.8.1/terraform_1.8.1_SHA256SUMS.72D7468F.sig"
00:06:06.324 INFO Downloading to "/Users/warrenv/.terraform.versions/terraform_1.8.1_SHA256SUMS.72D7468F.sig"
00:06:06.334 INFO 566 bytes downloaded
00:06:06.334 INFO Verifying signature of checksum file...
00:06:06.336 INFO Checksum file signature verification successful.
00:06:06.359 INFO Deleting "/Users/warrenv/.terraform.versions/terraform_1.8.1_SHA256SUMS"
00:06:06.360 INFO Deleting "/Users/warrenv/.terraform.versions/terraform_1.8.1_SHA256SUMS.72D7468F.sig"
00:06:06.733 INFO Switched terraform to version "1.8.1"
warrenv@mass ~/temp --> tfswitch --version
Version: v1.1.1

This seems to be working just fine for me.

@yermulnik are you able to reproduce this?

@warrensbox I cannot 🤔

> cat ~/.tfswitch.toml
#bin = "$HOME/bin/terraform"
#log-level = "DEBUG"

> ll ~/tmp/test/
total 36864
drwx------  2 giermulnik giermulnik  4096 May  9 17:21 ./
drwxr-xr-x 10 giermulnik giermulnik 28672 May  9 17:21 ../

> tfswitch --version
17:23:47.071 INFO Reading configuration from "/home/giermulnik/.tfswitch.toml"
Version: v1.1.1

> tfswitch --default 1.8.1 -b ~/tmp/test/terraform
17:27:03.725 INFO Switched terraform to version "1.8.1"

> ll ~/tmp/test/terraform
lrwxrwxrwx 1 giermulnik giermulnik 52 May  9 17:27 /home/giermulnik/tmp/test/terraform -> /home/giermulnik/.terraform.versions/terraform_1.8.1*

@pszypowicz Might it be that you're using some previous version of tfswitch?

ps: the tfswitch -U can't be used as is nowadays as in example provided by @pszypowicz since it produces not only the version but also timestamp/logging level and escape chars used to make output colored.

Thanks for reporting. We're aware of this issue and it is being worked on. Please hold tight.

My bad as I didn't verify whether the issue is indeed in place =(
I'm closing this issue as it seems not related to v1.1.1.