fixes after beta testing

This commit is contained in:
Arsenii Petrovich 2019-02-24 03:16:07 +03:00
parent 7e87c3c91e
commit eb582ce199
10 changed files with 32 additions and 17 deletions

4
.gitignore vendored
View File

@ -7,6 +7,10 @@
*.terraform*
*terraform.tfstate.d*
*tfplan*
roles/main_infra/files/backend.tfvars
roles/main_infra/files/remote-backend-selector.tf
roles/main_infra/files/terraform.tfvars
# Sensitive information
/*.privkey

View File

@ -33,9 +33,10 @@
- name: Destroy S3 bucket
s3_bucket:
name: "{{ prefix }}-{{ bucket }}"
name: "{{ bucket }}"
state: absent
force: yes
- dynamodb_table:
name: "{{ prefix }}-{{ table }}"
name: "{{ dynamodb_table }}"
state: absent

View File

@ -1,2 +1,2 @@
prefix: "sokol"
table: "dynamo"
dynamodb_table: "dynamo"

View File

@ -1,6 +1,6 @@
- name: Create DynamoDB table
dynamodb_table:
name: "{{ table }}"
name: "{{ dynamodb_table }}"
hash_key_name: LockID
hash_key_type: STRING
read_capacity: 1

View File

@ -1,6 +1,6 @@
- name: Creating a keypair
ec2_key:
name: "{{ ec2_ssh_key_name }} "
name: "{{ ec2_ssh_key_name }}"
key_material: "{{ ec2_ssh_key_content }}"
force: true
when: ec2_ssh_key_content != ""

View File

@ -1,9 +1,13 @@
dynamodb_table: "poa-terraform-lock"
bucket: "poa-terraform-state"
terraform_location: "/usr/local/bin/terraform"
region: "us-east-1"
prefix: "sokol"
ec2_ssh_key_name: "sokol-test"
vpc_cidr: "10.0.0.0/16"
public_subnet_cidr: "10.0.0.0/24"
db_subnet_cidr: "10.0.1.0/24"
db_subnet_cidr: "10.0.2.0/16"
dns_zone_name: "poa.internal"
instance_type: "m5.xlarge"
root_block_size: 8

View File

@ -1,32 +1,31 @@
- name: Local or remote backend selector (remote)
template:
src: remote-backend-selector.tf.j2
dest: roles/terraform/files/remote-backend-selector.tf
dest: roles/main_infra/files/remote-backend-selector.tf
when:
- backend|bool == true
- name: Local or remote backend selector (local)
file:
state: absent
dest: roles/terraform/files/remote-backend-selector.tf
dest: roles/main_infra/files/remote-backend-selector.tf
when:
- backend | default ('false') | bool != true
- name: Generating variables file
template:
src: terraform.tfvars.j2
dest: roles/terraform/files/terraform.tfvars
dest: roles/main_infra/files/terraform.tfvars
- name: Generating backend file
template:
src: backend.tfvars.j2
dest: roles/terraform/files/backend.tfvars
dest: roles/main_infra/files/backend.tfvars
when: backend|bool == true
#Workaround since terraform module return unexpected error.
- name: Terraform provisioning
shell: "echo yes | {{ terraform_location }} {{ item }}"
register: output
args:
chdir: "roles/main_infra/files"
with_items:
@ -34,6 +33,12 @@
- plan
- apply
- name: Terraform output info into variable
shell: "{{ terraform_location }} output"
register: output
args:
chdir: "roles/main_infra/files"
- name: Output info from Terraform
debug:
var: output
var: output.stdout_lines

View File

@ -1,4 +1,4 @@
region = "{{ lookup('env','AWS_REGION') }}"
bucket = "{{ prefix }}-{{ bucket }}"
dynamodb_table = "{{ prefix }}-{{ dynamodb_table }}"
region = "{{ ansible_env.AWS_REGION }}"
bucket = "{{ bucket }}"
dynamodb_table = "{{ dynamodb_table }}"
key = "terraform.tfstate"

View File

@ -1,4 +1,4 @@
region = "{{ lookup('env','AWS_REGION') }}"
region = "{{ ansible_env.AWS_REGION }}"
prefix = "{{ prefix }}"
key_name = "{{ ec2_ssh_key_name }}"
vpc_cidr = "{{ vpc_cidr }}"

View File

@ -2,6 +2,7 @@
aws_s3:
bucket: "{{ bucket }}"
mode: create
permission: private
- name: Apply tags and versioning to create S3 bucket
s3_bucket:
@ -28,7 +29,7 @@
- name: Upload config to S3 bucket
aws_s3:
bucket: "{{ bucket }}"
object: localhost.yml
object: all.yml
src: "{{ playbook_dir }}/group_vars/all.yml"
mode: put
when: stat_result.stat.exists == True and upload_config_to_s3|bool == True