Skip to content
Snippets Groups Projects
Commit c5ae08ac authored by Eesaan Atluri's avatar Eesaan Atluri
Browse files

Merge branch 'master' of gitlab.rc.uab.edu:atlurie/terraform-openstack into...

Merge branch 'master' of gitlab.rc.uab.edu:atlurie/terraform-openstack into feat-create-compute-node
parents e473d8e1 ec215bdb
No related tags found
No related merge requests found
File moved
# Terraform Openstack
This will create:
### This will create:
dmznet and dmzsubnet
- dmznet and dmzsubnet
borderrouter that connects dmznet to bright-external-flat-externalnet
- borderrouter that connects dmznet to bright-external-flat-externalnet
a floating ip address, and an instance coming off of dmznet
- a floating ip address, and an instance coming off of dmznet
clusternet off of dmznet instance
- clusternet off of dmznet instance
clustersubnet
eill connect instance to ood through ohpc and download software
- clustersubnet
will connect instance to ood through ohpc and download software
Make a new directory for Terraform:
### Make a new directory for Terraform:
`$mkdir terraform-first-instance`
- `$mkdir terraform-first-instance`
Install Terraform:
### Install Terraform:
`$brew install terraform`
- `$brew install terraform`
Unzip the file and make a path to your new directory:
### Unzip the file and make a path to your new directory using:
`$export TERRAFORM_DIR="$(pwd)/terraform-first-instance"`
- `$export TERRAFORM_DIR="$(pwd)/terraform-first-instance`
`$cp $HOME/Downloads/terraform_0.6.16_linux_amd64/terraform $TERRAFORM_DIR`
- `$cp $HOME/Downloads/terraform_0.6.16_linux_amd64/terraform $TERRAFORM_DIR`
Create a new application credintial in Openstack:
### Create a new application credintial in Openstack:
In Openstack, go to Identity - Application Credentials
- In Openstack, go to **Identity** -> **Application Credentials**
Click "Create Application Credential"
- Click "**Create Application Credential**"
Name the credential and add a description(Leave the rest blank. It is important not to add an expiration date.)
- Name the credential, add a description, and check the box making it unrestricted (Leave the rest blank. It is important not to add an expiration date.)
Open the credential rc file you have created, and change all OS_ to TF_. This will allow terraform to read and use these values.
- Download the credentials as an RC file.
Save the credential in your terraform-first-instance directory.
- Edit variables in credentials RC file to TF_ from OS_. Everything else stays the same.
Download RC File from Openstack(V3) and save it in your terraform-first-instance directory.
- Save credentials RC file in your terraform-first-instance directory.
Clone this repo into your terraform-first-instance directory:
`$git clone --recursive https://gitlab.rc.uab.edu/rrand11/terraform-openstack.git`
### Clone this repo into your terraform-first-instance directory using:
Source the openrc file and enter your password for openstack (you will only need to do this the very first time):
- `$git clone --recursive https://gitlab.rc.uab.edu/rrand11/terraform-openstack.git`
$source OPENRCFILENAME
### Source the RC file and initialize terraform:
Source the credential rc file and initialize terraform:
- `$source CREDENTIALRCFILENAME`
`$source CREDENTIALRCFILENAME`
- `$cd terraform-openstack`
`$cd terraform-openstack`
- `$terraform init`
`$terraform init`
### Write Terraform Plan to your terraform-first-instance directory and run that plan:
Write Terraform Plan to your terraform-first-instance directory and run that plan:
- `$terraform plan -out $HOME/terraform-first-instance/terraform-plan.tf`
`$terraform plan -out $HOME/terraform-first-instance/terraform-plan.tf`
**_(Note)_** `$terraform plan -out` writes the plan to a file and then `terraform apply` runs that plan.
#terraform plan -out writes the plan to a file and then terraform apply runs that plan
- `$terraform apply "$HOME/terraform-first-instance/terraform-plan.tf"`
`$terraform apply "$HOME/terraform-first-instance/terraform-plan.tf"`
### Destroy Terraform Instance:
Destroy Terraform Instance:
`$terraform destroy`
- `$terraform destroy`
......@@ -9,4 +9,3 @@ variable "flavor" {
variable "public-network-name" {
default = "bright-external-flat-externalnet"
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment