You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dlab.apache.org by dm...@apache.org on 2019/07/17 08:59:44 UTC
[incubator-dlab] 02/02: [DLAB-795] Refactored terraform scripts
This is an automated email from the ASF dual-hosted git repository.
dmysakovets pushed a commit to branch DLAB-795
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
commit c2f722ca2e6d61a2e98b543fef0abd2b276e7e6b
Author: Dyoma33 <de...@gmail.com>
AuthorDate: Wed Jul 17 11:59:24 2019 +0300
[DLAB-795] Refactored terraform scripts
---
.../aws/computational_resources/main/main.tf | 150 ++++++++++-----------
.../aws/computational_resources/modules/ami/ami.tf | 18 +--
.../computational_resources/modules/common/iam.tf | 30 ++---
.../modules/common/network.tf | 40 +++---
.../modules/data_engine/instance.tf | 50 +++----
.../modules/emr/instance.tf | 34 ++---
.../modules/notebook/instance.tf | 26 ++--
7 files changed, 174 insertions(+), 174 deletions(-)
diff --git a/infrastructure-provisioning/terraform/aws/computational_resources/main/main.tf b/infrastructure-provisioning/terraform/aws/computational_resources/main/main.tf
index dc64e32..1fb08e5 100644
--- a/infrastructure-provisioning/terraform/aws/computational_resources/main/main.tf
+++ b/infrastructure-provisioning/terraform/aws/computational_resources/main/main.tf
@@ -1,97 +1,97 @@
provider "aws" {
- access_key = "${var.access_key_id}"
- secret_key = "${var.secret_access_key}"
- region = "${var.region}"
+ access_key = var.access_key_id
+ secret_key = var.secret_access_key
+ region = var.region
}
module "common" {
source = "../modules/common"
- sbn = "${var.service_base_name}"
- project_name = "${var.project_name}"
- project_tag = "${var.project_tag}"
- endpoint_tag = "${var.endpoint_tag}"
- user_tag = "${var.user_tag}"
- custom_tag = "${var.custom_tag}"
- notebook_name = "${var.notebook_name}"
- region = "${var.region}"
- zone = "${var.zone}"
- product = "${var.product_name}"
- vpc = "${var.vpc_id}"
- cidr_range = "${var.cidr_range}"
- traefik_cidr = "${var.traefik_cidr}"
- instance_type = "${var.instance_type}"
+ sbn = var.service_base_name
+ project_name = var.project_name
+ project_tag = var.project_tag
+ endpoint_tag = var.endpoint_tag
+ user_tag = var.user_tag
+ custom_tag = var.custom_tag
+ notebook_name = var.notebook_name
+ region = var.region
+ zone = var.zone
+ product = var.product_name
+ vpc = var.vpc_id
+ cidr_range = var.cidr_range
+ traefik_cidr = var.traefik_cidr
+ instance_type = var.instance_type
}
module "notebook" {
source = "../modules/notebook"
- sbn = "${var.service_base_name}"
- project_name = "${var.project_name}"
- project_tag = "${var.project_tag}"
- endpoint_tag = "${var.endpoint_tag}"
- user_tag = "${var.user_tag}"
- custom_tag = "${var.custom_tag}"
- notebook_name = "${var.notebook_name}"
- subnet_id = "${var.subnet_id}"
- nb-sg_id = "${var.nb-sg_id}"
- iam_profile_name = "${var.iam_profile_name}"
- product = "${var.product_name}"
- ami = "${var.ami}"
- instance_type = "${var.instance_type}"
- key_name = "${var.key_name}"
+ sbn = var.service_base_name
+ project_name = var.project_name
+ project_tag = var.project_tag
+ endpoint_tag = var.endpoint_tag
+ user_tag = var.user_tag
+ custom_tag = var.custom_tag
+ notebook_name = var.notebook_name
+ subnet_id = var.subnet_id
+ nb-sg_id = var.nb-sg_id
+ iam_profile_name = var.iam_profile_name
+ product = var.product_name
+ ami = var.ami
+ instance_type = var.instance_type
+ key_name = var.key_name
}
module "data_engine" {
source = "../modules/data_engine"
- sbn = "${var.service_base_name}"
- project_name = "${var.project_name}"
- project_tag = "${var.project_tag}"
- endpoint_tag = "${var.endpoint_tag}"
- user_tag = "${var.user_tag}"
- custom_tag = "${var.custom_tag}"
- notebook_name = "${var.notebook_name}"
- subnet_id = "${var.subnet_id}"
- nb-sg_id = "${var.nb-sg_id}"
- iam_profile_name = "${var.iam_profile_name}"
- product = "${var.product_name}"
- ami = "${var.ami}"
- instance_type = "${var.instance_type}"
- key_name = "${var.key_name}"
- cluster_name = "${var.cluster_name}"
- slave_count = "${var.slave_count}"
+ sbn = var.service_base_name
+ project_name = var.project_name
+ project_tag = var.project_tag
+ endpoint_tag = var.endpoint_tag
+ user_tag = var.user_tag
+ custom_tag = var.custom_tag
+ notebook_name = var.notebook_name
+ subnet_id = var.subnet_id
+ nb-sg_id = var.nb-sg_id
+ iam_profile_name = var.iam_profile_name
+ product = var.product_name
+ ami = var.ami
+ instance_type = var.instance_type
+ key_name = var.key_name
+ cluster_name = var.cluster_name
+ slave_count = var.slave_count
}
module "emr" {
source = "../modules/emr"
- sbn = "${var.service_base_name}"
- project_name = "${var.project_name}"
- project_tag = "${var.project_tag}"
- endpoint_tag = "${var.endpoint_tag}"
- user_tag = "${var.user_tag}"
- custom_tag = "${var.custom_tag}"
- notebook_name = "${var.notebook_name}"
- subnet_id = "${var.subnet_id}"
- nb-sg_id = "${var.nb-sg_id}"
- iam_profile_name = "${var.iam_profile_name}"
- product = "${var.product_name}"
- ami = "${var.ami}"
- emr_template = "${var.emr_template}"
- master_shape = "${var.master_shape}"
- slave_shape = "${var.slave_shape}"
- key_name = "${var.key_name}"
- cluster_name = "${var.cluster_name}"
- instance_count = "${var.instance_count}"
- bid_price = "${var.bid_price}"
+ sbn = var.service_base_name
+ project_name = var.project_name
+ project_tag = var.project_tag
+ endpoint_tag = var.endpoint_tag
+ user_tag = var.user_tag
+ custom_tag = var.custom_tag
+ notebook_name = var.notebook_name
+ subnet_id = var.subnet_id
+ nb-sg_id = var.nb-sg_id
+ iam_profile_name = var.iam_profile_name
+ product = var.product_name
+ ami = var.ami
+ emr_template = var.emr_template
+ master_shape = var.master_shape
+ slave_shape = var.slave_shape
+ key_name = var.key_name
+ cluster_name = var.cluster_name
+ instance_count = var.instance_count
+ bid_price = var.bid_price
}
module "ami" {
source = "../modules/ami"
- sbn = "${var.service_base_name}"
- project_name = "${var.project_name}"
- source_instance_id = "${var.source_instance_id}"
- project_tag = "${var.project_tag}"
- notebook_name = "${var.notebook_name}"
- product = "${var.product_name}"
- endpoint_tag = "${var.endpoint_tag}"
- user_tag = "${var.user_tag}"
- custom_tag = "${var.custom_tag}"
+ sbn = var.service_base_name
+ project_name = var.project_name
+ source_instance_id = var.source_instance_id
+ project_tag = var.project_tag
+ notebook_name = var.notebook_name
+ product = var.product_name
+ endpoint_tag = var.endpoint_tag
+ user_tag = var.user_tag
+ custom_tag = var.custom_tag
}
\ No newline at end of file
diff --git a/infrastructure-provisioning/terraform/aws/computational_resources/modules/ami/ami.tf b/infrastructure-provisioning/terraform/aws/computational_resources/modules/ami/ami.tf
index 30d150f..1c7117f 100644
--- a/infrastructure-provisioning/terraform/aws/computational_resources/modules/ami/ami.tf
+++ b/infrastructure-provisioning/terraform/aws/computational_resources/modules/ami/ami.tf
@@ -25,16 +25,16 @@ locals {
resource "aws_ami_from_instance" "ami" {
name = "${var.project_tag}-${var.notebook_name}-ami"
- source_instance_id = "${var.source_instance_id}"
+ source_instance_id = var.source_instance_id
tags {
- Name = "${local.ami_name}"
- "${var.sbn}-Tag" = "${local.ami_name}"
- Product = "${var.product}"
- Project_name = "${var.project_name}"
- Project_tag = "${var.project_tag}"
- Endpoint_tag = "${var.endpoint_tag}"
+ Name = local.ami_name
+ "${var.sbn}-Tag" = local.ami_name
+ Product = var.product
+ Project_name = var.project_name
+ Project_tag = var.project_tag
+ Endpoint_tag = var.endpoint_tag
"user:tag" = "${var.sbn}:${local.ami_name}"
- User_tag = "${var.user_tag}"
- Custom_tag = "${var.custom_tag}"
+ User_tag = var.user_tag
+ Custom_tag = var.custom_tag
}
}
\ No newline at end of file
diff --git a/infrastructure-provisioning/terraform/aws/computational_resources/modules/common/iam.tf b/infrastructure-provisioning/terraform/aws/computational_resources/modules/common/iam.tf
index dff7f3f..6624f30 100644
--- a/infrastructure-provisioning/terraform/aws/computational_resources/modules/common/iam.tf
+++ b/infrastructure-provisioning/terraform/aws/computational_resources/modules/common/iam.tf
@@ -26,7 +26,7 @@ locals {
}
resource "aws_iam_role" "nb_de_role" {
- name = "${local.role_name}"
+ name = local.role_name
assume_role_policy = <<EOF
{
"Version": "2012-10-17",
@@ -44,26 +44,26 @@ resource "aws_iam_role" "nb_de_role" {
EOF
tags = {
- Name = "${local.role_name}"
- Environment_tag = "${var.sbn}"
- "${var.sbn}-Tag" = "${local.role_name}"
- Product = "${var.product}"
- Project_name = "${var.project_name}"
- Project_tag = "${var.project_tag}"
- Endpoint_tag = "${var.endpoint_tag}"
+ Name = local.role_name
+ Environment_tag = var.sbn
+ "${var.sbn}-Tag" = local.role_name
+ Product = var.product
+ Project_name = var.project_name
+ Project_tag = var.project_tag
+ Endpoint_tag = var.endpoint_tag
"user:tag" = "${var.sbn}:${local.role_name}"
- User_tag = "${var.user_tag}"
- Custom_tag = "${var.custom_tag}"
+ User_tag = var.user_tag
+ Custom_tag = var.custom_tag
}
}
resource "aws_iam_instance_profile" "nb_profile" {
- name = "${local.role_profile}"
- role = "${aws_iam_role.nb_de_role.name}"
+ name = local.role_profile
+ role = aws_iam_role.nb_de_role.name
}
resource "aws_iam_policy" "strict_S3_policy" {
- name = "${local.policy_name}"
+ name = local.policy_name
description = "Strict Bucket only policy"
policy = <<EOF
{
@@ -113,6 +113,6 @@ EOF
}
resource "aws_iam_role_policy_attachment" "strict_S3_policy-attach" {
- role = "${aws_iam_role.nb_de_role.name}"
- policy_arn = "${aws_iam_policy.strict_S3_policy.arn}"
+ role = aws_iam_role.nb_de_role.name
+ policy_arn = aws_iam_policy.strict_S3_policy.arn
}
\ No newline at end of file
diff --git a/infrastructure-provisioning/terraform/aws/computational_resources/modules/common/network.tf b/infrastructure-provisioning/terraform/aws/computational_resources/modules/common/network.tf
index 7c9b713..297cf28 100644
--- a/infrastructure-provisioning/terraform/aws/computational_resources/modules/common/network.tf
+++ b/infrastructure-provisioning/terraform/aws/computational_resources/modules/common/network.tf
@@ -25,25 +25,25 @@ locals {
}
resource "aws_subnet" "subnet" {
- vpc_id = "${var.vpc}"
- cidr_block = "${var.cidr_range}"
+ vpc_id = var.vpc
+ cidr_block = var.cidr_range
tags = {
- Name = "${local.subnet_name}"
- "${var.sbn}-Tag" = "${local.subnet_name}"
- Product = "${var.product}"
- Project_name = "${var.project_name}"
- Project_tag = "${var.project_tag}"
- Endpoint_tag = "${var.endpoint_tag}"
+ Name = local.subnet_name
+ "${var.sbn}-Tag" = local.subnet_name
+ Product = var.product
+ Project_name = var.project_name
+ Project_tag = var.project_tag
+ Endpoint_tag = var.endpoint_tag
"user:tag" = "${var.sbn}:${local.subnet_name}"
- User_tag = "${var.user_tag}"
- Custom_tag = "${var.custom_tag}"
+ User_tag = var.user_tag
+ Custom_tag = var.custom_tag
}
}
resource "aws_security_group" "nb-sg" {
- name = "${local.sg_name}"
- vpc_id = "${var.vpc}"
+ name = local.sg_name
+ vpc_id = var.vpc
ingress {
from_port = 0
@@ -67,14 +67,14 @@ resource "aws_security_group" "nb-sg" {
}
tags = {
- Name = "${local.sg_name}"
- "${var.sbn}-Tag" = "${local.sg_name}"
- Product = "${var.product}"
- Project_name = "${var.project_name}"
- Project_tag = "${var.project_tag}"
- Endpoint_tag = "${var.endpoint_tag}"
+ Name = local.sg_name
+ "${var.sbn}-Tag" = local.sg_name
+ Product = var.product
+ Project_name = var.project_name
+ Project_tag = var.project_tag
+ Endpoint_tag = var.endpoint_tag
"user:tag" = "${var.sbn}:${local.sg_name}"
- User_tag = "${var.user_tag}"
- Custom_tag = "${var.custom_tag}"
+ User_tag = var.user_tag
+ Custom_tag = var.custom_tag
}
}
\ No newline at end of file
diff --git a/infrastructure-provisioning/terraform/aws/computational_resources/modules/data_engine/instance.tf b/infrastructure-provisioning/terraform/aws/computational_resources/modules/data_engine/instance.tf
index 6d7d3fe..7601e35 100644
--- a/infrastructure-provisioning/terraform/aws/computational_resources/modules/data_engine/instance.tf
+++ b/infrastructure-provisioning/terraform/aws/computational_resources/modules/data_engine/instance.tf
@@ -25,47 +25,47 @@ locals {
}
resource "aws_instance" "master" {
- ami = "${var.ami}"
- instance_type = "${var.instance_type}"
- key_name = "${var.key_name}"
- subnet_id = "${var.subnet_id}"
+ ami = var.ami
+ instance_type = var.instance_type
+ key_name = var.key_name
+ subnet_id = var.subnet_id
security_groups = ["${var.nb-sg_id}"]
- iam_instance_profile = "${var.iam_profile_name}"
+ iam_instance_profile = var.iam_profile_name
tags = {
Name = "${local.cluster_name}-m"
Type = "master"
- dataengine_notebook_name = "${local.notebook_name}"
+ dataengine_notebook_name = local.notebook_name
"${var.sbn}-Tag" = "${local.cluster_name}-m"
- Product = "${var.product}"
- Project_name = "${var.project_name}"
- Project_tag = "${var.project_tag}"
- User_tag = "${var.user_tag}"
- Endpoint_Tag = "${var.endpoint_tag}"
+ Product = var.product
+ Project_name = var.project_name
+ Project_tag = var.project_tag
+ User_tag = var.user_tag
+ Endpoint_Tag = var.endpoint_tag
"user:tag" = "${var.sbn}:${local.cluster_name}"
- Custom_Tag = "${var.custom_tag}"
+ Custom_Tag = var.custom_tag
}
}
resource "aws_instance" "slave" {
- count = "${var.slave_count}"
- ami = "${var.ami}"
- instance_type = "${var.instance_type}"
- key_name = "${var.key_name}"
- subnet_id = "${var.subnet_id}"
+ count = var.slave_count
+ ami = var.ami
+ instance_type = var.instance_type
+ key_name = var.key_name
+ subnet_id = var.subnet_id
security_groups = ["${var.nb-sg_id}"]
- iam_instance_profile = "${var.iam_profile_name}"
+ iam_instance_profile = var.iam_profile_name
tags = {
Name = "${local.cluster_name}-s${count.index + 1}"
Type = "slave"
- dataengine_notebook_name = "${local.notebook_name}"
+ dataengine_notebook_name = local.notebook_name
"${var.sbn}-Tag" = "${local.cluster_name}-s${count.index + 1}"
- Product = "${var.product}"
- Project_name = "${var.project_name}"
- Project_tag = "${var.project_tag}"
- User_tag = "${var.user_tag}"
- Endpoint_Tag = "${var.endpoint_tag}"
+ Product = var.product
+ Project_name = var.project_name
+ Project_tag = var.project_tag
+ User_tag = var.user_tag
+ Endpoint_Tag = var.endpoint_tag
"user:tag" = "${var.sbn}:${local.cluster_name}"
- Custom_Tag = "${var.custom_tag}"
+ Custom_Tag = var.custom_tag
}
}
\ No newline at end of file
diff --git a/infrastructure-provisioning/terraform/aws/computational_resources/modules/emr/instance.tf b/infrastructure-provisioning/terraform/aws/computational_resources/modules/emr/instance.tf
index 630834b..4a03b2d 100644
--- a/infrastructure-provisioning/terraform/aws/computational_resources/modules/emr/instance.tf
+++ b/infrastructure-provisioning/terraform/aws/computational_resources/modules/emr/instance.tf
@@ -25,26 +25,26 @@ locals {
}
resource "aws_emr_cluster" "cluster" {
- name = "${local.cluster_name}"
- release_label = "${var.emr_template}"
+ name = local.cluster_name
+ release_label = var.emr_template
applications = ["Spark"]
termination_protection = false
keep_job_flow_alive_when_no_steps = true
ec2_attributes {
- subnet_id = "${var.subnet_id}"
- emr_managed_master_security_group = "${var.nb-sg_id}"
- emr_managed_slave_security_group = "${var.nb-sg_id}"
+ subnet_id = var.subnet_id
+ emr_managed_master_security_group = var.nb-sg_id
+ emr_managed_slave_security_group = var.nb-sg_id
instance_profile = "arn:aws:iam::203753054073:instance-profile/EMR_EC2_DefaultRole"
}
master_instance_group {
- instance_type = "${var.master_shape}"
+ instance_type = var.master_shape
}
core_instance_group {
- instance_type = "${var.slave_shape}"
+ instance_type = var.slave_shape
instance_count = "${var.instance_count - 1}"
ebs_config {
@@ -59,17 +59,17 @@ resource "aws_emr_cluster" "cluster" {
ebs_root_volume_size = 100
tags = {
- ComputationalName = "${var.cluster_name}"
- Name = "${local.cluster_name}"
- Notebook = "${local.notebook_name}"
- Product = "${var.product}"
- "${var.sbn}-Tag" = "${local.cluster_name}"
- Project_name = "${var.project_name}"
- Project_tag = "${var.project_tag}"
- User_tag = "${var.user_tag}"
- Endpoint_Tag = "${var.endpoint_tag}"
+ ComputationalName = var.cluster_name
+ Name = local.cluster_name
+ Notebook = local.notebook_name
+ Product = var.product
+ "${var.sbn}-Tag" = local.cluster_name
+ Project_name = var.project_name
+ Project_tag = var.project_tag
+ User_tag = var.user_tag
+ Endpoint_Tag = var.endpoint_tag
"user:tag" = "${var.sbn}:${local.cluster_name}"
- Custom_Tag = "${var.custom_tag}"
+ Custom_Tag = var.custom_tag
}
bootstrap_action {
diff --git a/infrastructure-provisioning/terraform/aws/computational_resources/modules/notebook/instance.tf b/infrastructure-provisioning/terraform/aws/computational_resources/modules/notebook/instance.tf
index 11e8038..374d6da 100644
--- a/infrastructure-provisioning/terraform/aws/computational_resources/modules/notebook/instance.tf
+++ b/infrastructure-provisioning/terraform/aws/computational_resources/modules/notebook/instance.tf
@@ -24,21 +24,21 @@ locals {
}
resource "aws_instance" "notebook" {
- ami = "${var.ami}"
- instance_type = "${var.instance_type}"
- key_name = "${var.key_name}"
- subnet_id = "${var.subnet_id}"
+ ami = var.ami
+ instance_type = var.instance_type
+ key_name = var.key_name
+ subnet_id = var.subnet_id
security_groups = ["${var.nb-sg_id}"]
- iam_instance_profile = "${var.iam_profile_name}"
+ iam_instance_profile = var.iam_profile_name
tags = {
- Name = "${local.node_name}"
- "${var.sbn}-Tag" = "${local.node_name}"
- Project_name = "${var.project_name}"
- Project_tag = "${var.project_tag}"
- Endpoint_Tag = "${var.endpoint_tag}"
+ Name = local.node_name
+ "${var.sbn}-Tag" = local.node_name
+ Project_name = var.project_name
+ Project_tag = var.project_tag
+ Endpoint_Tag = var.endpoint_tag
"user:tag" = "${var.sbn}:${local.node_name}"
- Product = "${var.product}"
- User_Tag = "${var.user_tag}"
- Custom_Tag = "${var.custom_tag}"
+ Product = var.product
+ User_Tag = var.user_tag
+ Custom_Tag = var.custom_tag
}
}
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org