Terraform - version differences - terraform

Why, when I run terraform -v do I get:
Terraform v0.9.6
Your version of Terraform is out of date! The latest version
is 0.9.7. You can update by downloading from www.terraform.io
i.e. implying the latest version is 0.9.7 BUT, at the time of this post (and when I ran the terraform -v command) https://www.terraform.io/ says 0.9.8 as does brew via http://brewformulas.org/Terraform

Install the required binary package (depending upon your OS) from Download page. https://github.com/hashicorp/terraform/releases
Unzip the .zip file to the bin directory as per your OS
For mac
unzip terraform_0.9.11_darwin_amd64.zip -d /usr/local/bin
Now check the terraform version:
terraform version
Terraform v0.9.1

Related

Where is terraform binary in Ubuntu after update?

I had terraform v0.14.5 installed on my Ubuntu Jenkins build node.
$ which terraform
/usr/local/bin/terraform
$ terraform -v
Terraform v0.14.5
Your version of Terraform is out of date! The latest version
is 1.2.7. You can update by downloading from https://www.terraform.io/downloads.html
So I followed APT Packages for Debian and Ubuntu to install the latest version, which is currently v1.2.7, and it installed successfully.
$ apt policy terraform
terraform:
Installed: 1.2.7
Candidate: 1.2.7
However, I still get
$ which terraform
/usr/local/bin/terraform
$ terraform -v
Terraform v0.14.5
Your version of Terraform is out of date! The latest version
is 1.2.7. You can update by downloading from https://www.terraform.io/downloads.html
How do I set the executable to the latest installed terraform version?
Try dpkg -L terraform, this will list all installed files from this package.
which looks for binaries in the PATH environment variable. If /usr/local/bin is before /usr/bin, then /usr/local/bin/terraform will always show up first.
E.g. my PATH variable has this order
$ echo $PATH
/home/olaf/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

How to upgrade Blobfuse to the latest version

We are using blobfuse version 1.0.2 and would like to upgrade it to latest version like 1.3.1. How we can upgrade it to latest version without uninstalling and reinstalling blobfuse ?
I see you may raise the issue in github here.
And the answer is that:
now 1.3.2 is the latest. At this time you can clone the source could and build it, command git clone https://github.com/Azure/azure-storage-fuse. It will create an azure-storage-fuse directory, if you run ./build.sh from this dir it will create a blobfuse binary in the build directory. you can mount just like an installed version Eg: ./build/blofuse ~/blobfusemntdir --tmp-path=< your path>

How to completely uninstall terraform v0.11.14 from ubuntu 18?

I want to completely remove terraform v0.11.14 from my ubuntu 18 and install the new version. I'm unable to find any document or articles on web about this..
See How to uninstall terraform and install newer version of terraform on windows 10 linux subsystem?
To install it you typically copy the binary to /usr/local/bin, so to uninstall it just delete the binary from the installation location. If you don't know the the location, just run 'which terraform' to find it.

How to uninstall terraform and install newer version of terraform on windows 10 linux subsystem?

i want to install a newer version of terrafrom 0.12.24 on windows 10 linux subsystem. i am new to using this interface and i am not sure how to do it
i installed terraform on Windows 10 linux subsystem using these commands
wget https://releases.hashicorp.com/terraform/0.11.13/terraform_0.11.13_linux_amd64.zip -O
terraform.zip;
unzip terraform.zip;
sudo mv terraform /usr/local/bin;
rm terraform.zip;
however this installed older version.. and when i ran some script it gave me this error.
Failed to load root config module: Error parsing terraform/local/terraform.tf: At 119:12: Unknown token: 119:12 IDENT file
To fix this i am planning to upgrade to newer version of terrafrom 0.12.24. could someone provide me with commands to uninstall and install newer version of terraform thanks.
This should install 0.12.24 version
wget https://releases.hashicorp.com/terraform/0.12.24/terraform_0.12.24_linux_amd64.zip
unzip terraform_0.12.24_linux_amd64.zip
sudo mv terraform_0.12.24_linux_amd64 /usr/local/bin
rm terraform_0.12.24_linux_amd64.zip
Let me explain what these steps are:
1) The link given along with wget is the downloadable link for the required package. wget helps in downloading it. I changed the version here as your required version.
2) unzip it
3) moved to /usr/local/bin folder.
4) Removing the zip as we have already copied the contents to bin folder
This is probably more appropriate as a comment but I do not yet have the reputation to do that. As of version 0.15.1, it unzipped only as "terraform", so line 3 in the above answer could just be:
sudo mv terraform /usr/local/bin
And this worked for me.

Upgrade Terraform version

I'm start using Terraform and I'm following the project updates on his Github repository.
I see new releases are available on releases section:
https://github.com/hashicorp/terraform/releases
I installed Terraform tool following the steps:
https://www.terraform.io/intro/getting-started/install.html
The new releases are a zip file with base code but I want to know how I can install it on my computer (OSX). What I downloaded when I installed for the first time was a zip file with just a "terraform" file as unix executable.
How I can generate this Unix executable from the zip available on the github releases section?
Any idea?
Thank you!
If you use Homebrew on MacOS already, you can install Terraform simply by
$ brew install terraform
and upgrade by
$ brew upgrade terraform
In fact, you might be interested in letting Homebrew also control other tools:
$ brew install awscli
$ brew install packer
$ brew cask install docker
$ brew cask install virtualbox
$ brew cask install vagrant
There are packages for each OS available on the Downloads Page.
Pick the appropriate package for your OS and download the zip file.
Extract the contents of the zip file, which should be a single terraform binary, into some reasonable location that's in your PATH (e.g. /usr/local/bin).
Add execute permissions: e.g. chmod u+x /usr/local/bin/terraform.
Run terraform and make sure you see the help text.
You could download the binary :
wget https://releases.hashicorp.com/terraform/${TERRAFORM_VERSION}/terraform_${TERRAFORM_VERSION}_linux_amd64.zip
then :
unzip terraform_${TERRAFORM_VERSION}_linux_amd64.zip
then :
mv terraform /usr/local/bin/
make sure to change ${TERRAFORM_VERSION} by the version you want to install
exemple :
0.13.2
**TLDR:
for Installation - brew install terraform
for Upgrade - brew upgrade terraform
for Verification - terraform --version
i'm new to using terraform, but to use terraform with multiple versions i use tfenv as terraform version manager
tfenv command
$ tfenv
tfenv 2.2.3
Usage: tfenv <command> [<options>]
Commands:
install Install a specific version of Terraform
use Switch a version to use
uninstall Uninstall a specific version of Terraform
list List all installed versions
list-remote List all installable versions
version-name Print current version
init Update environment to use tfenv correctly.
pin Write the current active version to ./.terraform-version
terraform currently i use
$ terraform -version
Terraform v1.1.9
on linux_amd64
list of terraform i have
$ tfenv list
1.2.0-rc2
* 1.1.9 (set by /home/takimi/.tfenv/version)
change terraform version
$ tfenv use 1.2.0-rc2
and if you want to use another terraform version you just install it with command tfenv install <terraform version>
Adding this response for the sake of completeness.
Hashicorp came up with their own brew taps for all Hashicorp products for MacOS platforms.
to upgrade ...
brew upgrade hashicorp/tap/{vault|consul|nomad|terraform|packer}
to install ...
brew install hashicorp/tap/{vault|consul|nomad|terraform|packer}
Reference : https://www.hashicorp.com/blog/announcing-hashicorp-homebrew-tap
This is detailed in the repository README under 'Developing Terraform' HERE
Essentially...
Ensure you've installed the GO programming language (version 1.7+ at the time of writing).
Create a GO workspace directory.
Create the $GOPATH environment variable pointing to the GO workspace directory you just created.
Add $GOPATH/bin to your $PATH
Clone the Terraform repo (or extract zip) to $GOPATH/src/github.com/hashicorp/terraform
Run make dev within the Terraform repo.
The Terraform binary should be created in $GOPATH/bin
I would recommend you follow the steps in the README as opposed to what I've written above it's comprehensive and may change.
You shouldn't need to do any of this unless your actively developing Terraform, otherwise stick with the installation method in the getting started guide.
To work with multiple Terraform versions, I'm using tfswitch. This allows you to switch between the terraform versions which makes things much easier.
You can find the documentation here.
I was able to use this tool to manage terraform versions: https://github.com/Zordrak/tfenv. The first step was to remove the existing installation with: rm '/usr/local/bin/terraform'
You could use something like asdf or tfenv to manage the terraform binaries.
Gives you the advantage of having the option to use different version per project if required.
$sudo apt-get upgrade
it will work in linux if you have setup right path for terraform

Resources