diff --git a/contrib/terraform/aws/create-infrastructure.tf b/contrib/terraform/aws/create-infrastructure.tf
index 7e03f7201764955ee0e38c7b6635e847a5576362..2d9850d4d2104fee938f37bca20c0ae73919dc56 100644
--- a/contrib/terraform/aws/create-infrastructure.tf
+++ b/contrib/terraform/aws/create-infrastructure.tf
@@ -3,9 +3,9 @@ terraform {
 }
 
 provider "aws" {
-  access_key = "${var.AWS_ACCESS_KEY_ID}"
-  secret_key = "${var.AWS_SECRET_ACCESS_KEY}"
-  region     = "${var.AWS_DEFAULT_REGION}"
+  access_key = var.AWS_ACCESS_KEY_ID
+  secret_key = var.AWS_SECRET_ACCESS_KEY
+  region     = var.AWS_DEFAULT_REGION
 }
 
 data "aws_availability_zones" "available" {}
@@ -18,30 +18,30 @@ data "aws_availability_zones" "available" {}
 module "aws-vpc" {
   source = "./modules/vpc"
 
-  aws_cluster_name         = "${var.aws_cluster_name}"
-  aws_vpc_cidr_block       = "${var.aws_vpc_cidr_block}"
-  aws_avail_zones          = "${slice(data.aws_availability_zones.available.names, 0, 2)}"
-  aws_cidr_subnets_private = "${var.aws_cidr_subnets_private}"
-  aws_cidr_subnets_public  = "${var.aws_cidr_subnets_public}"
-  default_tags             = "${var.default_tags}"
+  aws_cluster_name         = var.aws_cluster_name
+  aws_vpc_cidr_block       = var.aws_vpc_cidr_block
+  aws_avail_zones          = slice(data.aws_availability_zones.available.names, 0, 2)
+  aws_cidr_subnets_private = var.aws_cidr_subnets_private
+  aws_cidr_subnets_public  = var.aws_cidr_subnets_public
+  default_tags             = var.default_tags
 }
 
 module "aws-elb" {
   source = "./modules/elb"
 
-  aws_cluster_name      = "${var.aws_cluster_name}"
-  aws_vpc_id            = "${module.aws-vpc.aws_vpc_id}"
-  aws_avail_zones       = "${slice(data.aws_availability_zones.available.names, 0, 2)}"
-  aws_subnet_ids_public = "${module.aws-vpc.aws_subnet_ids_public}"
-  aws_elb_api_port      = "${var.aws_elb_api_port}"
-  k8s_secure_api_port   = "${var.k8s_secure_api_port}"
-  default_tags          = "${var.default_tags}"
+  aws_cluster_name      = var.aws_cluster_name
+  aws_vpc_id            = module.aws-vpc.aws_vpc_id
+  aws_avail_zones       = slice(data.aws_availability_zones.available.names, 0, 2)
+  aws_subnet_ids_public = module.aws-vpc.aws_subnet_ids_public
+  aws_elb_api_port      = var.aws_elb_api_port
+  k8s_secure_api_port   = var.k8s_secure_api_port
+  default_tags          = var.default_tags
 }
 
 module "aws-iam" {
   source = "./modules/iam"
 
-  aws_cluster_name = "${var.aws_cluster_name}"
+  aws_cluster_name = var.aws_cluster_name
 }
 
 /*
@@ -50,22 +50,22 @@ module "aws-iam" {
 */
 
 resource "aws_instance" "bastion-server" {
-  ami                         = "${data.aws_ami.distro.id}"
-  instance_type               = "${var.aws_bastion_size}"
-  count                       = "${length(var.aws_cidr_subnets_public)}"
+  ami                         = data.aws_ami.distro.id
+  instance_type               = var.aws_bastion_size
+  count                       = length(var.aws_cidr_subnets_public)
   associate_public_ip_address = true
-  availability_zone           = "${element(slice(data.aws_availability_zones.available.names, 0, 2), count.index)}"
-  subnet_id                   = "${element(module.aws-vpc.aws_subnet_ids_public, count.index)}"
+  availability_zone           = element(slice(data.aws_availability_zones.available.names, 0, 2), count.index)
+  subnet_id                   = element(module.aws-vpc.aws_subnet_ids_public, count.index)
 
-  vpc_security_group_ids = "${module.aws-vpc.aws_security_group}"
+  vpc_security_group_ids = module.aws-vpc.aws_security_group
 
-  key_name = "${var.AWS_SSH_KEY_NAME}"
+  key_name = var.AWS_SSH_KEY_NAME
 
-  tags = "${merge(var.default_tags, map(
+  tags = merge(var.default_tags, map(
     "Name", "kubernetes-${var.aws_cluster_name}-bastion-${count.index}",
     "Cluster", "${var.aws_cluster_name}",
     "Role", "bastion-${var.aws_cluster_name}-${count.index}"
-  ))}"
+  ))
 }
 
 /*
@@ -74,71 +74,71 @@ resource "aws_instance" "bastion-server" {
 */
 
 resource "aws_instance" "k8s-master" {
-  ami           = "${data.aws_ami.distro.id}"
-  instance_type = "${var.aws_kube_master_size}"
+  ami           = data.aws_ami.distro.id
+  instance_type = var.aws_kube_master_size
 
-  count = "${var.aws_kube_master_num}"
+  count = var.aws_kube_master_num
 
-  availability_zone = "${element(slice(data.aws_availability_zones.available.names, 0, 2), count.index)}"
-  subnet_id         = "${element(module.aws-vpc.aws_subnet_ids_private, count.index)}"
+  availability_zone = element(slice(data.aws_availability_zones.available.names, 0, 2), count.index)
+  subnet_id         = element(module.aws-vpc.aws_subnet_ids_private, count.index)
 
-  vpc_security_group_ids = "${module.aws-vpc.aws_security_group}"
+  vpc_security_group_ids = module.aws-vpc.aws_security_group
 
-  iam_instance_profile = "${module.aws-iam.kube-master-profile}"
-  key_name             = "${var.AWS_SSH_KEY_NAME}"
+  iam_instance_profile = module.aws-iam.kube-master-profile
+  key_name             = var.AWS_SSH_KEY_NAME
 
-  tags = "${merge(var.default_tags, map(
+  tags = merge(var.default_tags, map(
     "Name", "kubernetes-${var.aws_cluster_name}-master${count.index}",
     "kubernetes.io/cluster/${var.aws_cluster_name}", "member",
     "Role", "master"
-  ))}"
+  ))
 }
 
 resource "aws_elb_attachment" "attach_master_nodes" {
-  count    = "${var.aws_kube_master_num}"
-  elb      = "${module.aws-elb.aws_elb_api_id}"
-  instance = "${element(aws_instance.k8s-master.*.id, count.index)}"
+  count    = var.aws_kube_master_num
+  elb      = module.aws-elb.aws_elb_api_id
+  instance = element(aws_instance.k8s-master.*.id, count.index)
 }
 
 resource "aws_instance" "k8s-etcd" {
-  ami           = "${data.aws_ami.distro.id}"
-  instance_type = "${var.aws_etcd_size}"
+  ami           = data.aws_ami.distro.id
+  instance_type = var.aws_etcd_size
 
-  count = "${var.aws_etcd_num}"
+  count = var.aws_etcd_num
 
-  availability_zone = "${element(slice(data.aws_availability_zones.available.names, 0, 2), count.index)}"
-  subnet_id         = "${element(module.aws-vpc.aws_subnet_ids_private, count.index)}"
+  availability_zone = element(slice(data.aws_availability_zones.available.names, 0, 2), count.index)
+  subnet_id         = element(module.aws-vpc.aws_subnet_ids_private, count.index)
 
-  vpc_security_group_ids = "${module.aws-vpc.aws_security_group}"
+  vpc_security_group_ids = module.aws-vpc.aws_security_group
 
-  key_name = "${var.AWS_SSH_KEY_NAME}"
+  key_name = var.AWS_SSH_KEY_NAME
 
-  tags = "${merge(var.default_tags, map(
+  tags = merge(var.default_tags, map(
     "Name", "kubernetes-${var.aws_cluster_name}-etcd${count.index}",
     "kubernetes.io/cluster/${var.aws_cluster_name}", "member",
     "Role", "etcd"
-  ))}"
+  ))
 }
 
 resource "aws_instance" "k8s-worker" {
-  ami           = "${data.aws_ami.distro.id}"
-  instance_type = "${var.aws_kube_worker_size}"
+  ami           = data.aws_ami.distro.id
+  instance_type = var.aws_kube_worker_size
 
-  count = "${var.aws_kube_worker_num}"
+  count = var.aws_kube_worker_num
 
-  availability_zone = "${element(slice(data.aws_availability_zones.available.names, 0, 2), count.index)}"
-  subnet_id         = "${element(module.aws-vpc.aws_subnet_ids_private, count.index)}"
+  availability_zone = element(slice(data.aws_availability_zones.available.names, 0, 2), count.index)
+  subnet_id         = element(module.aws-vpc.aws_subnet_ids_private, count.index)
 
-  vpc_security_group_ids = "${module.aws-vpc.aws_security_group}"
+  vpc_security_group_ids = module.aws-vpc.aws_security_group
 
-  iam_instance_profile = "${module.aws-iam.kube-worker-profile}"
-  key_name             = "${var.AWS_SSH_KEY_NAME}"
+  iam_instance_profile = module.aws-iam.kube-worker-profile
+  key_name             = var.AWS_SSH_KEY_NAME
 
-  tags = "${merge(var.default_tags, map(
+  tags = merge(var.default_tags, map(
     "Name", "kubernetes-${var.aws_cluster_name}-worker${count.index}",
     "kubernetes.io/cluster/${var.aws_cluster_name}", "member",
     "Role", "worker"
-  ))}"
+  ))
 }
 
 /*
@@ -146,16 +146,16 @@ resource "aws_instance" "k8s-worker" {
 *
 */
 data "template_file" "inventory" {
-  template = "${file("${path.module}/templates/inventory.tpl")}"
+  template = file("${path.module}/templates/inventory.tpl")
 
   vars = {
-    public_ip_address_bastion = "${join("\n", formatlist("bastion ansible_host=%s", aws_instance.bastion-server.*.public_ip))}"
-    connection_strings_master = "${join("\n", formatlist("%s ansible_host=%s", aws_instance.k8s-master.*.private_dns, aws_instance.k8s-master.*.private_ip))}"
-    connection_strings_node   = "${join("\n", formatlist("%s ansible_host=%s", aws_instance.k8s-worker.*.private_dns, aws_instance.k8s-worker.*.private_ip))}"
-    connection_strings_etcd   = "${join("\n", formatlist("%s ansible_host=%s", aws_instance.k8s-etcd.*.private_dns, aws_instance.k8s-etcd.*.private_ip))}"
-    list_master               = "${join("\n", aws_instance.k8s-master.*.private_dns)}"
-    list_node                 = "${join("\n", aws_instance.k8s-worker.*.private_dns)}"
-    list_etcd                 = "${join("\n", aws_instance.k8s-etcd.*.private_dns)}"
+    public_ip_address_bastion = join("\n", formatlist("bastion ansible_host=%s", aws_instance.bastion-server.*.public_ip))
+    connection_strings_master = join("\n", formatlist("%s ansible_host=%s", aws_instance.k8s-master.*.private_dns, aws_instance.k8s-master.*.private_ip))
+    connection_strings_node   = join("\n", formatlist("%s ansible_host=%s", aws_instance.k8s-worker.*.private_dns, aws_instance.k8s-worker.*.private_ip))
+    connection_strings_etcd   = join("\n", formatlist("%s ansible_host=%s", aws_instance.k8s-etcd.*.private_dns, aws_instance.k8s-etcd.*.private_ip))
+    list_master               = join("\n", aws_instance.k8s-master.*.private_dns)
+    list_node                 = join("\n", aws_instance.k8s-worker.*.private_dns)
+    list_etcd                 = join("\n", aws_instance.k8s-etcd.*.private_dns)
     elb_api_fqdn              = "apiserver_loadbalancer_domain_name=\"${module.aws-elb.aws_elb_api_fqdn}\""
   }
 }
@@ -166,6 +166,6 @@ resource "null_resource" "inventories" {
   }
 
   triggers = {
-    template = "${data.template_file.inventory.rendered}"
+    template = data.template_file.inventory.rendered
   }
 }
diff --git a/contrib/terraform/aws/modules/elb/main.tf b/contrib/terraform/aws/modules/elb/main.tf
index f47d27336821be4b08403aeba79717bd3f92f6c9..c465eecd0f5e669521656c5bded260e0f0726bb2 100644
--- a/contrib/terraform/aws/modules/elb/main.tf
+++ b/contrib/terraform/aws/modules/elb/main.tf
@@ -1,19 +1,19 @@
 resource "aws_security_group" "aws-elb" {
   name   = "kubernetes-${var.aws_cluster_name}-securitygroup-elb"
-  vpc_id = "${var.aws_vpc_id}"
+  vpc_id = var.aws_vpc_id
 
-  tags = "${merge(var.default_tags, map(
+  tags = merge(var.default_tags, map(
     "Name", "kubernetes-${var.aws_cluster_name}-securitygroup-elb"
-  ))}"
+  ))
 }
 
 resource "aws_security_group_rule" "aws-allow-api-access" {
   type              = "ingress"
-  from_port         = "${var.aws_elb_api_port}"
-  to_port           = "${var.k8s_secure_api_port}"
+  from_port         = var.aws_elb_api_port
+  to_port           = var.k8s_secure_api_port
   protocol          = "TCP"
   cidr_blocks       = ["0.0.0.0/0"]
-  security_group_id = "${aws_security_group.aws-elb.id}"
+  security_group_id = aws_security_group.aws-elb.id
 }
 
 resource "aws_security_group_rule" "aws-allow-api-egress" {
@@ -22,19 +22,19 @@ resource "aws_security_group_rule" "aws-allow-api-egress" {
   to_port           = 65535
   protocol          = "TCP"
   cidr_blocks       = ["0.0.0.0/0"]
-  security_group_id = "${aws_security_group.aws-elb.id}"
+  security_group_id = aws_security_group.aws-elb.id
 }
 
 # Create a new AWS ELB for K8S API
 resource "aws_elb" "aws-elb-api" {
   name            = "kubernetes-elb-${var.aws_cluster_name}"
   subnets         = var.aws_subnet_ids_public
-  security_groups = ["${aws_security_group.aws-elb.id}"]
+  security_groups = [aws_security_group.aws-elb.id]
 
   listener {
-    instance_port     = "${var.k8s_secure_api_port}"
+    instance_port     = var.k8s_secure_api_port
     instance_protocol = "tcp"
-    lb_port           = "${var.aws_elb_api_port}"
+    lb_port           = var.aws_elb_api_port
     lb_protocol       = "tcp"
   }
 
@@ -51,7 +51,7 @@ resource "aws_elb" "aws-elb-api" {
   connection_draining         = true
   connection_draining_timeout = 400
 
-  tags = "${merge(var.default_tags, map(
+  tags = merge(var.default_tags, map(
     "Name", "kubernetes-${var.aws_cluster_name}-elb-api"
-  ))}"
+  ))
 }
diff --git a/contrib/terraform/aws/modules/elb/outputs.tf b/contrib/terraform/aws/modules/elb/outputs.tf
index 3f3d790e30ad9b308570d866e1829a2ae0a4547d..185b10525f27e72e559a070046cdd26f67d8faaa 100644
--- a/contrib/terraform/aws/modules/elb/outputs.tf
+++ b/contrib/terraform/aws/modules/elb/outputs.tf
@@ -1,7 +1,7 @@
 output "aws_elb_api_id" {
-  value = "${aws_elb.aws-elb-api.id}"
+  value = aws_elb.aws-elb-api.id
 }
 
 output "aws_elb_api_fqdn" {
-  value = "${aws_elb.aws-elb-api.dns_name}"
+  value = aws_elb.aws-elb-api.dns_name
 }
diff --git a/contrib/terraform/aws/modules/iam/main.tf b/contrib/terraform/aws/modules/iam/main.tf
index 6fa233e4968c992840764864516af6b21a51902b..1dc3c3a6a86c5fc6eb37d440377f249831d017b2 100644
--- a/contrib/terraform/aws/modules/iam/main.tf
+++ b/contrib/terraform/aws/modules/iam/main.tf
@@ -42,7 +42,7 @@ EOF
 
 resource "aws_iam_role_policy" "kube-master" {
   name = "kubernetes-${var.aws_cluster_name}-master"
-  role = "${aws_iam_role.kube-master.id}"
+  role = aws_iam_role.kube-master.id
 
   policy = <<EOF
 {
@@ -77,7 +77,7 @@ EOF
 
 resource "aws_iam_role_policy" "kube-worker" {
   name = "kubernetes-${var.aws_cluster_name}-node"
-  role = "${aws_iam_role.kube-worker.id}"
+  role = aws_iam_role.kube-worker.id
 
   policy = <<EOF
 {
@@ -132,10 +132,10 @@ EOF
 
 resource "aws_iam_instance_profile" "kube-master" {
   name = "kube_${var.aws_cluster_name}_master_profile"
-  role = "${aws_iam_role.kube-master.name}"
+  role = aws_iam_role.kube-master.name
 }
 
 resource "aws_iam_instance_profile" "kube-worker" {
   name = "kube_${var.aws_cluster_name}_node_profile"
-  role = "${aws_iam_role.kube-worker.name}"
+  role = aws_iam_role.kube-worker.name
 }
diff --git a/contrib/terraform/aws/modules/iam/outputs.tf b/contrib/terraform/aws/modules/iam/outputs.tf
index c82e9f6b25e5f80646610be8a7eb074e4fadd6d3..e8a276617779d58f04eae95a77e15b2b45c88f6e 100644
--- a/contrib/terraform/aws/modules/iam/outputs.tf
+++ b/contrib/terraform/aws/modules/iam/outputs.tf
@@ -1,7 +1,7 @@
 output "kube-master-profile" {
-  value = "${aws_iam_instance_profile.kube-master.name}"
+  value = aws_iam_instance_profile.kube-master.name
 }
 
 output "kube-worker-profile" {
-  value = "${aws_iam_instance_profile.kube-worker.name}"
+  value = aws_iam_instance_profile.kube-worker.name
 }
diff --git a/contrib/terraform/aws/modules/vpc/main.tf b/contrib/terraform/aws/modules/vpc/main.tf
index 946f3352d3c0cdeab4affe7f461be0f2cbd209cc..77601d2671e9df0be710b4c52cd6ee5d130d63e6 100644
--- a/contrib/terraform/aws/modules/vpc/main.tf
+++ b/contrib/terraform/aws/modules/vpc/main.tf
@@ -1,55 +1,55 @@
 resource "aws_vpc" "cluster-vpc" {
-  cidr_block = "${var.aws_vpc_cidr_block}"
+  cidr_block = var.aws_vpc_cidr_block
 
   #DNS Related Entries
   enable_dns_support   = true
   enable_dns_hostnames = true
 
-  tags = "${merge(var.default_tags, map(
+  tags = merge(var.default_tags, map(
     "Name", "kubernetes-${var.aws_cluster_name}-vpc"
-  ))}"
+  ))
 }
 
 resource "aws_eip" "cluster-nat-eip" {
-  count = "${length(var.aws_cidr_subnets_public)}"
+  count = length(var.aws_cidr_subnets_public)
   vpc   = true
 }
 
 resource "aws_internet_gateway" "cluster-vpc-internetgw" {
-  vpc_id = "${aws_vpc.cluster-vpc.id}"
+  vpc_id = aws_vpc.cluster-vpc.id
 
-  tags = "${merge(var.default_tags, map(
+  tags = merge(var.default_tags, map(
     "Name", "kubernetes-${var.aws_cluster_name}-internetgw"
-  ))}"
+  ))
 }
 
 resource "aws_subnet" "cluster-vpc-subnets-public" {
-  vpc_id            = "${aws_vpc.cluster-vpc.id}"
-  count             = "${length(var.aws_avail_zones)}"
-  availability_zone = "${element(var.aws_avail_zones, count.index)}"
-  cidr_block        = "${element(var.aws_cidr_subnets_public, count.index)}"
+  vpc_id            = aws_vpc.cluster-vpc.id
+  count             = length(var.aws_avail_zones)
+  availability_zone = element(var.aws_avail_zones, count.index)
+  cidr_block        = element(var.aws_cidr_subnets_public, count.index)
 
-  tags = "${merge(var.default_tags, map(
+  tags = merge(var.default_tags, map(
     "Name", "kubernetes-${var.aws_cluster_name}-${element(var.aws_avail_zones, count.index)}-public",
     "kubernetes.io/cluster/${var.aws_cluster_name}", "member"
-  ))}"
+  ))
 }
 
 resource "aws_nat_gateway" "cluster-nat-gateway" {
-  count         = "${length(var.aws_cidr_subnets_public)}"
-  allocation_id = "${element(aws_eip.cluster-nat-eip.*.id, count.index)}"
-  subnet_id     = "${element(aws_subnet.cluster-vpc-subnets-public.*.id, count.index)}"
+  count         = length(var.aws_cidr_subnets_public)
+  allocation_id = element(aws_eip.cluster-nat-eip.*.id, count.index)
+  subnet_id     = element(aws_subnet.cluster-vpc-subnets-public.*.id, count.index)
 }
 
 resource "aws_subnet" "cluster-vpc-subnets-private" {
-  vpc_id            = "${aws_vpc.cluster-vpc.id}"
-  count             = "${length(var.aws_avail_zones)}"
-  availability_zone = "${element(var.aws_avail_zones, count.index)}"
-  cidr_block        = "${element(var.aws_cidr_subnets_private, count.index)}"
+  vpc_id            = aws_vpc.cluster-vpc.id
+  count             = length(var.aws_avail_zones)
+  availability_zone = element(var.aws_avail_zones, count.index)
+  cidr_block        = element(var.aws_cidr_subnets_private, count.index)
 
-  tags = "${merge(var.default_tags, map(
+  tags = merge(var.default_tags, map(
     "Name", "kubernetes-${var.aws_cluster_name}-${element(var.aws_avail_zones, count.index)}-private"
-  ))}"
+  ))
 }
 
 #Routing in VPC
@@ -57,53 +57,53 @@ resource "aws_subnet" "cluster-vpc-subnets-private" {
 #TODO: Do we need two routing tables for each subnet for redundancy or is one enough?
 
 resource "aws_route_table" "kubernetes-public" {
-  vpc_id = "${aws_vpc.cluster-vpc.id}"
+  vpc_id = aws_vpc.cluster-vpc.id
 
   route {
     cidr_block = "0.0.0.0/0"
-    gateway_id = "${aws_internet_gateway.cluster-vpc-internetgw.id}"
+    gateway_id = aws_internet_gateway.cluster-vpc-internetgw.id
   }
 
-  tags = "${merge(var.default_tags, map(
+  tags = merge(var.default_tags, map(
     "Name", "kubernetes-${var.aws_cluster_name}-routetable-public"
-  ))}"
+  ))
 }
 
 resource "aws_route_table" "kubernetes-private" {
-  count  = "${length(var.aws_cidr_subnets_private)}"
-  vpc_id = "${aws_vpc.cluster-vpc.id}"
+  count  = length(var.aws_cidr_subnets_private)
+  vpc_id = aws_vpc.cluster-vpc.id
 
   route {
     cidr_block     = "0.0.0.0/0"
-    nat_gateway_id = "${element(aws_nat_gateway.cluster-nat-gateway.*.id, count.index)}"
+    nat_gateway_id = element(aws_nat_gateway.cluster-nat-gateway.*.id, count.index)
   }
 
-  tags = "${merge(var.default_tags, map(
+  tags = merge(var.default_tags, map(
     "Name", "kubernetes-${var.aws_cluster_name}-routetable-private-${count.index}"
-  ))}"
+  ))
 }
 
 resource "aws_route_table_association" "kubernetes-public" {
-  count          = "${length(var.aws_cidr_subnets_public)}"
-  subnet_id      = "${element(aws_subnet.cluster-vpc-subnets-public.*.id, count.index)}"
-  route_table_id = "${aws_route_table.kubernetes-public.id}"
+  count          = length(var.aws_cidr_subnets_public)
+  subnet_id      = element(aws_subnet.cluster-vpc-subnets-public.*.id, count.index)
+  route_table_id = aws_route_table.kubernetes-public.id
 }
 
 resource "aws_route_table_association" "kubernetes-private" {
-  count          = "${length(var.aws_cidr_subnets_private)}"
-  subnet_id      = "${element(aws_subnet.cluster-vpc-subnets-private.*.id, count.index)}"
-  route_table_id = "${element(aws_route_table.kubernetes-private.*.id, count.index)}"
+  count          = length(var.aws_cidr_subnets_private)
+  subnet_id      = element(aws_subnet.cluster-vpc-subnets-private.*.id, count.index)
+  route_table_id = element(aws_route_table.kubernetes-private.*.id, count.index)
 }
 
 #Kubernetes Security Groups
 
 resource "aws_security_group" "kubernetes" {
   name   = "kubernetes-${var.aws_cluster_name}-securitygroup"
-  vpc_id = "${aws_vpc.cluster-vpc.id}"
+  vpc_id = aws_vpc.cluster-vpc.id
 
-  tags = "${merge(var.default_tags, map(
+  tags = merge(var.default_tags, map(
     "Name", "kubernetes-${var.aws_cluster_name}-securitygroup"
-  ))}"
+  ))
 }
 
 resource "aws_security_group_rule" "allow-all-ingress" {
@@ -111,8 +111,8 @@ resource "aws_security_group_rule" "allow-all-ingress" {
   from_port         = 0
   to_port           = 65535
   protocol          = "-1"
-  cidr_blocks       = ["${var.aws_vpc_cidr_block}"]
-  security_group_id = "${aws_security_group.kubernetes.id}"
+  cidr_blocks       = [var.aws_vpc_cidr_block]
+  security_group_id = aws_security_group.kubernetes.id
 }
 
 resource "aws_security_group_rule" "allow-all-egress" {
@@ -121,7 +121,7 @@ resource "aws_security_group_rule" "allow-all-egress" {
   to_port           = 65535
   protocol          = "-1"
   cidr_blocks       = ["0.0.0.0/0"]
-  security_group_id = "${aws_security_group.kubernetes.id}"
+  security_group_id = aws_security_group.kubernetes.id
 }
 
 resource "aws_security_group_rule" "allow-ssh-connections" {
@@ -130,5 +130,5 @@ resource "aws_security_group_rule" "allow-ssh-connections" {
   to_port           = 22
   protocol          = "TCP"
   cidr_blocks       = ["0.0.0.0/0"]
-  security_group_id = "${aws_security_group.kubernetes.id}"
+  security_group_id = aws_security_group.kubernetes.id
 }
diff --git a/contrib/terraform/aws/modules/vpc/outputs.tf b/contrib/terraform/aws/modules/vpc/outputs.tf
index ab4d800595f5e21b81281fa55b58e1be867aa0b0..6cbc60a0a0ceb10f731bf3971c53185c678a4b7f 100644
--- a/contrib/terraform/aws/modules/vpc/outputs.tf
+++ b/contrib/terraform/aws/modules/vpc/outputs.tf
@@ -1,5 +1,5 @@
 output "aws_vpc_id" {
-  value = "${aws_vpc.cluster-vpc.id}"
+  value = aws_vpc.cluster-vpc.id
 }
 
 output "aws_subnet_ids_private" {
@@ -15,5 +15,5 @@ output "aws_security_group" {
 }
 
 output "default_tags" {
-  value = "${var.default_tags}"
+  value = var.default_tags
 }
diff --git a/contrib/terraform/aws/output.tf b/contrib/terraform/aws/output.tf
index 6fefd711a58d7b43c6fb9392b17caf880e72c1a2..35e6e27a72f1514dd9fcecf461968dcf7d8da6be 100644
--- a/contrib/terraform/aws/output.tf
+++ b/contrib/terraform/aws/output.tf
@@ -1,17 +1,17 @@
 output "bastion_ip" {
-  value = "${join("\n", aws_instance.bastion-server.*.public_ip)}"
+  value = join("\n", aws_instance.bastion-server.*.public_ip)
 }
 
 output "masters" {
-  value = "${join("\n", aws_instance.k8s-master.*.private_ip)}"
+  value = join("\n", aws_instance.k8s-master.*.private_ip)
 }
 
 output "workers" {
-  value = "${join("\n", aws_instance.k8s-worker.*.private_ip)}"
+  value = join("\n", aws_instance.k8s-worker.*.private_ip)
 }
 
 output "etcd" {
-  value = "${join("\n", aws_instance.k8s-etcd.*.private_ip)}"
+  value = join("\n", aws_instance.k8s-etcd.*.private_ip)
 }
 
 output "aws_elb_api_fqdn" {
@@ -19,9 +19,9 @@ output "aws_elb_api_fqdn" {
 }
 
 output "inventory" {
-  value = "${data.template_file.inventory.rendered}"
+  value = data.template_file.inventory.rendered
 }
 
 output "default_tags" {
-  value = "${var.default_tags}"
+  value = var.default_tags
 }
diff --git a/contrib/terraform/openstack/kubespray.tf b/contrib/terraform/openstack/kubespray.tf
index 511027479cac1f45d4245a7576ff088abb315178..dda3bf201993d934b4dd40f282a9b062d8fba44f 100644
--- a/contrib/terraform/openstack/kubespray.tf
+++ b/contrib/terraform/openstack/kubespray.tf
@@ -5,102 +5,102 @@ provider "openstack" {
 module "network" {
   source = "./modules/network"
 
-  external_net       = "${var.external_net}"
-  network_name       = "${var.network_name}"
-  subnet_cidr        = "${var.subnet_cidr}"
-  cluster_name       = "${var.cluster_name}"
-  dns_nameservers    = "${var.dns_nameservers}"
-  network_dns_domain = "${var.network_dns_domain}"
-  use_neutron        = "${var.use_neutron}"
-  router_id          = "${var.router_id}"
+  external_net       = var.external_net
+  network_name       = var.network_name
+  subnet_cidr        = var.subnet_cidr
+  cluster_name       = var.cluster_name
+  dns_nameservers    = var.dns_nameservers
+  network_dns_domain = var.network_dns_domain
+  use_neutron        = var.use_neutron
+  router_id          = var.router_id
 }
 
 module "ips" {
   source = "./modules/ips"
 
-  number_of_k8s_masters         = "${var.number_of_k8s_masters}"
-  number_of_k8s_masters_no_etcd = "${var.number_of_k8s_masters_no_etcd}"
-  number_of_k8s_nodes           = "${var.number_of_k8s_nodes}"
-  floatingip_pool               = "${var.floatingip_pool}"
-  number_of_bastions            = "${var.number_of_bastions}"
-  external_net                  = "${var.external_net}"
-  network_name                  = "${var.network_name}"
-  router_id                     = "${module.network.router_id}"
-  k8s_nodes                     = "${var.k8s_nodes}"
+  number_of_k8s_masters         = var.number_of_k8s_masters
+  number_of_k8s_masters_no_etcd = var.number_of_k8s_masters_no_etcd
+  number_of_k8s_nodes           = var.number_of_k8s_nodes
+  floatingip_pool               = var.floatingip_pool
+  number_of_bastions            = var.number_of_bastions
+  external_net                  = var.external_net
+  network_name                  = var.network_name
+  router_id                     = module.network.router_id
+  k8s_nodes                     = var.k8s_nodes
 }
 
 module "compute" {
   source = "./modules/compute"
 
-  cluster_name                                 = "${var.cluster_name}"
-  az_list                                      = "${var.az_list}"
-  az_list_node                                 = "${var.az_list_node}"
-  number_of_k8s_masters                        = "${var.number_of_k8s_masters}"
-  number_of_k8s_masters_no_etcd                = "${var.number_of_k8s_masters_no_etcd}"
-  number_of_etcd                               = "${var.number_of_etcd}"
-  number_of_k8s_masters_no_floating_ip         = "${var.number_of_k8s_masters_no_floating_ip}"
-  number_of_k8s_masters_no_floating_ip_no_etcd = "${var.number_of_k8s_masters_no_floating_ip_no_etcd}"
-  number_of_k8s_nodes                          = "${var.number_of_k8s_nodes}"
-  number_of_bastions                           = "${var.number_of_bastions}"
-  number_of_k8s_nodes_no_floating_ip           = "${var.number_of_k8s_nodes_no_floating_ip}"
-  number_of_gfs_nodes_no_floating_ip           = "${var.number_of_gfs_nodes_no_floating_ip}"
-  k8s_nodes                                    = "${var.k8s_nodes}"
-  bastion_root_volume_size_in_gb               = "${var.bastion_root_volume_size_in_gb}"
-  etcd_root_volume_size_in_gb                  = "${var.etcd_root_volume_size_in_gb}"
-  master_root_volume_size_in_gb                = "${var.master_root_volume_size_in_gb}"
-  node_root_volume_size_in_gb                  = "${var.node_root_volume_size_in_gb}"
-  gfs_root_volume_size_in_gb                   = "${var.gfs_root_volume_size_in_gb}"
-  gfs_volume_size_in_gb                        = "${var.gfs_volume_size_in_gb}"
-  public_key_path                              = "${var.public_key_path}"
-  image                                        = "${var.image}"
-  image_gfs                                    = "${var.image_gfs}"
-  ssh_user                                     = "${var.ssh_user}"
-  ssh_user_gfs                                 = "${var.ssh_user_gfs}"
-  flavor_k8s_master                            = "${var.flavor_k8s_master}"
-  flavor_k8s_node                              = "${var.flavor_k8s_node}"
-  flavor_etcd                                  = "${var.flavor_etcd}"
-  flavor_gfs_node                              = "${var.flavor_gfs_node}"
-  network_name                                 = "${var.network_name}"
-  flavor_bastion                               = "${var.flavor_bastion}"
-  k8s_master_fips                              = "${module.ips.k8s_master_fips}"
-  k8s_master_no_etcd_fips                      = "${module.ips.k8s_master_no_etcd_fips}"
-  k8s_node_fips                                = "${module.ips.k8s_node_fips}"
-  k8s_nodes_fips                               = "${module.ips.k8s_nodes_fips}"
-  bastion_fips                                 = "${module.ips.bastion_fips}"
-  bastion_allowed_remote_ips                   = "${var.bastion_allowed_remote_ips}"
-  master_allowed_remote_ips                    = "${var.master_allowed_remote_ips}"
-  k8s_allowed_remote_ips                       = "${var.k8s_allowed_remote_ips}"
-  k8s_allowed_egress_ips                       = "${var.k8s_allowed_egress_ips}"
-  supplementary_master_groups                  = "${var.supplementary_master_groups}"
-  supplementary_node_groups                    = "${var.supplementary_node_groups}"
-  worker_allowed_ports                         = "${var.worker_allowed_ports}"
-  wait_for_floatingip                          = "${var.wait_for_floatingip}"
-  use_access_ip                                = "${var.use_access_ip}"
-  use_server_groups                            = "${var.use_server_groups}"
+  cluster_name                                 = var.cluster_name
+  az_list                                      = var.az_list
+  az_list_node                                 = var.az_list_node
+  number_of_k8s_masters                        = var.number_of_k8s_masters
+  number_of_k8s_masters_no_etcd                = var.number_of_k8s_masters_no_etcd
+  number_of_etcd                               = var.number_of_etcd
+  number_of_k8s_masters_no_floating_ip         = var.number_of_k8s_masters_no_floating_ip
+  number_of_k8s_masters_no_floating_ip_no_etcd = var.number_of_k8s_masters_no_floating_ip_no_etcd
+  number_of_k8s_nodes                          = var.number_of_k8s_nodes
+  number_of_bastions                           = var.number_of_bastions
+  number_of_k8s_nodes_no_floating_ip           = var.number_of_k8s_nodes_no_floating_ip
+  number_of_gfs_nodes_no_floating_ip           = var.number_of_gfs_nodes_no_floating_ip
+  k8s_nodes                                    = var.k8s_nodes
+  bastion_root_volume_size_in_gb               = var.bastion_root_volume_size_in_gb
+  etcd_root_volume_size_in_gb                  = var.etcd_root_volume_size_in_gb
+  master_root_volume_size_in_gb                = var.master_root_volume_size_in_gb
+  node_root_volume_size_in_gb                  = var.node_root_volume_size_in_gb
+  gfs_root_volume_size_in_gb                   = var.gfs_root_volume_size_in_gb
+  gfs_volume_size_in_gb                        = var.gfs_volume_size_in_gb
+  public_key_path                              = var.public_key_path
+  image                                        = var.image
+  image_gfs                                    = var.image_gfs
+  ssh_user                                     = var.ssh_user
+  ssh_user_gfs                                 = var.ssh_user_gfs
+  flavor_k8s_master                            = var.flavor_k8s_master
+  flavor_k8s_node                              = var.flavor_k8s_node
+  flavor_etcd                                  = var.flavor_etcd
+  flavor_gfs_node                              = var.flavor_gfs_node
+  network_name                                 = var.network_name
+  flavor_bastion                               = var.flavor_bastion
+  k8s_master_fips                              = module.ips.k8s_master_fips
+  k8s_master_no_etcd_fips                      = module.ips.k8s_master_no_etcd_fips
+  k8s_node_fips                                = module.ips.k8s_node_fips
+  k8s_nodes_fips                               = module.ips.k8s_nodes_fips
+  bastion_fips                                 = module.ips.bastion_fips
+  bastion_allowed_remote_ips                   = var.bastion_allowed_remote_ips
+  master_allowed_remote_ips                    = var.master_allowed_remote_ips
+  k8s_allowed_remote_ips                       = var.k8s_allowed_remote_ips
+  k8s_allowed_egress_ips                       = var.k8s_allowed_egress_ips
+  supplementary_master_groups                  = var.supplementary_master_groups
+  supplementary_node_groups                    = var.supplementary_node_groups
+  worker_allowed_ports                         = var.worker_allowed_ports
+  wait_for_floatingip                          = var.wait_for_floatingip
+  use_access_ip                                = var.use_access_ip
+  use_server_groups                            = var.use_server_groups
 
-  network_id = "${module.network.router_id}"
+  network_id = module.network.router_id
 }
 
 output "private_subnet_id" {
-  value = "${module.network.subnet_id}"
+  value = module.network.subnet_id
 }
 
 output "floating_network_id" {
-  value = "${var.external_net}"
+  value = var.external_net
 }
 
 output "router_id" {
-  value = "${module.network.router_id}"
+  value = module.network.router_id
 }
 
 output "k8s_master_fips" {
-  value = "${concat(module.ips.k8s_master_fips, module.ips.k8s_master_no_etcd_fips)}"
+  value = concat(module.ips.k8s_master_fips, module.ips.k8s_master_no_etcd_fips)
 }
 
 output "k8s_node_fips" {
-  value = "${var.number_of_k8s_nodes > 0 ? module.ips.k8s_node_fips : [for key, value in module.ips.k8s_nodes_fips : value.address]}"
+  value = var.number_of_k8s_nodes > 0 ? module.ips.k8s_node_fips : [for key, value in module.ips.k8s_nodes_fips : value.address]
 }
 
 output "bastion_fips" {
-  value = "${module.ips.bastion_fips}"
+  value = module.ips.bastion_fips
 }
diff --git a/contrib/terraform/openstack/modules/compute/main.tf b/contrib/terraform/openstack/modules/compute/main.tf
index 8be6346c45c55fb409309794ab35ecbeb169f32a..3e3238a3e3f3a3b6fe3b4fe79446da8f73f9a3ad 100644
--- a/contrib/terraform/openstack/modules/compute/main.tf
+++ b/contrib/terraform/openstack/modules/compute/main.tf
@@ -1,14 +1,14 @@
 data "openstack_images_image_v2" "vm_image" {
-  name = "${var.image}"
+  name = var.image
 }
 
 data "openstack_images_image_v2" "gfs_image" {
-  name = "${var.image_gfs == "" ? var.image : var.image_gfs}"
+  name = var.image_gfs == "" ? var.image : var.image_gfs
 }
 
 resource "openstack_compute_keypair_v2" "k8s" {
   name       = "kubernetes-${var.cluster_name}"
-  public_key = "${chomp(file(var.public_key_path))}"
+  public_key = chomp(file(var.public_key_path))
 }
 
 resource "openstack_networking_secgroup_v2" "k8s_master" {
@@ -18,32 +18,32 @@ resource "openstack_networking_secgroup_v2" "k8s_master" {
 }
 
 resource "openstack_networking_secgroup_rule_v2" "k8s_master" {
-  count             = "${length(var.master_allowed_remote_ips)}"
+  count             = length(var.master_allowed_remote_ips)
   direction         = "ingress"
   ethertype         = "IPv4"
   protocol          = "tcp"
   port_range_min    = "6443"
   port_range_max    = "6443"
-  remote_ip_prefix  = "${var.master_allowed_remote_ips[count.index]}"
-  security_group_id = "${openstack_networking_secgroup_v2.k8s_master.id}"
+  remote_ip_prefix  = var.master_allowed_remote_ips[count.index]
+  security_group_id = openstack_networking_secgroup_v2.k8s_master.id
 }
 
 resource "openstack_networking_secgroup_v2" "bastion" {
   name                 = "${var.cluster_name}-bastion"
-  count                = "${var.number_of_bastions != "" ? 1 : 0}"
+  count                = var.number_of_bastions != "" ? 1 : 0
   description          = "${var.cluster_name} - Bastion Server"
   delete_default_rules = true
 }
 
 resource "openstack_networking_secgroup_rule_v2" "bastion" {
-  count             = "${var.number_of_bastions != "" ? length(var.bastion_allowed_remote_ips) : 0}"
+  count             = var.number_of_bastions != "" ? length(var.bastion_allowed_remote_ips) : 0
   direction         = "ingress"
   ethertype         = "IPv4"
   protocol          = "tcp"
   port_range_min    = "22"
   port_range_max    = "22"
-  remote_ip_prefix  = "${var.bastion_allowed_remote_ips[count.index]}"
-  security_group_id = "${openstack_networking_secgroup_v2.bastion[0].id}"
+  remote_ip_prefix  = var.bastion_allowed_remote_ips[count.index]
+  security_group_id = openstack_networking_secgroup_v2.bastion[0].id
 }
 
 resource "openstack_networking_secgroup_v2" "k8s" {
@@ -55,27 +55,27 @@ resource "openstack_networking_secgroup_v2" "k8s" {
 resource "openstack_networking_secgroup_rule_v2" "k8s" {
   direction         = "ingress"
   ethertype         = "IPv4"
-  remote_group_id   = "${openstack_networking_secgroup_v2.k8s.id}"
-  security_group_id = "${openstack_networking_secgroup_v2.k8s.id}"
+  remote_group_id   = openstack_networking_secgroup_v2.k8s.id
+  security_group_id = openstack_networking_secgroup_v2.k8s.id
 }
 
 resource "openstack_networking_secgroup_rule_v2" "k8s_allowed_remote_ips" {
-  count             = "${length(var.k8s_allowed_remote_ips)}"
+  count             = length(var.k8s_allowed_remote_ips)
   direction         = "ingress"
   ethertype         = "IPv4"
   protocol          = "tcp"
   port_range_min    = "22"
   port_range_max    = "22"
-  remote_ip_prefix  = "${var.k8s_allowed_remote_ips[count.index]}"
-  security_group_id = "${openstack_networking_secgroup_v2.k8s.id}"
+  remote_ip_prefix  = var.k8s_allowed_remote_ips[count.index]
+  security_group_id = openstack_networking_secgroup_v2.k8s.id
 }
 
 resource "openstack_networking_secgroup_rule_v2" "egress" {
-  count             = "${length(var.k8s_allowed_egress_ips)}"
+  count             = length(var.k8s_allowed_egress_ips)
   direction         = "egress"
   ethertype         = "IPv4"
-  remote_ip_prefix  = "${var.k8s_allowed_egress_ips[count.index]}"
-  security_group_id = "${openstack_networking_secgroup_v2.k8s.id}"
+  remote_ip_prefix  = var.k8s_allowed_egress_ips[count.index]
+  security_group_id = openstack_networking_secgroup_v2.k8s.id
 }
 
 resource "openstack_networking_secgroup_v2" "worker" {
@@ -85,14 +85,14 @@ resource "openstack_networking_secgroup_v2" "worker" {
 }
 
 resource "openstack_networking_secgroup_rule_v2" "worker" {
-  count             = "${length(var.worker_allowed_ports)}"
+  count             = length(var.worker_allowed_ports)
   direction         = "ingress"
   ethertype         = "IPv4"
-  protocol          = "${lookup(var.worker_allowed_ports[count.index], "protocol", "tcp")}"
-  port_range_min    = "${lookup(var.worker_allowed_ports[count.index], "port_range_min")}"
-  port_range_max    = "${lookup(var.worker_allowed_ports[count.index], "port_range_max")}"
-  remote_ip_prefix  = "${lookup(var.worker_allowed_ports[count.index], "remote_ip_prefix", "0.0.0.0/0")}"
-  security_group_id = "${openstack_networking_secgroup_v2.worker.id}"
+  protocol          = lookup(var.worker_allowed_ports[count.index], "protocol", "tcp")
+  port_range_min    = lookup(var.worker_allowed_ports[count.index], "port_range_min")
+  port_range_max    = lookup(var.worker_allowed_ports[count.index], "port_range_max")
+  remote_ip_prefix  = lookup(var.worker_allowed_ports[count.index], "remote_ip_prefix", "0.0.0.0/0")
+  security_group_id = openstack_networking_secgroup_v2.worker.id
 }
 
 resource "openstack_compute_servergroup_v2" "k8s_master" {
@@ -115,17 +115,17 @@ resource "openstack_compute_servergroup_v2" "k8s_etcd" {
 
 resource "openstack_compute_instance_v2" "bastion" {
   name       = "${var.cluster_name}-bastion-${count.index + 1}"
-  count      = "${var.number_of_bastions}"
-  image_name = "${var.image}"
-  flavor_id  = "${var.flavor_bastion}"
-  key_pair   = "${openstack_compute_keypair_v2.k8s.name}"
+  count      = var.number_of_bastions
+  image_name = var.image
+  flavor_id  = var.flavor_bastion
+  key_pair   = openstack_compute_keypair_v2.k8s.name
 
   dynamic "block_device" {
     for_each = var.bastion_root_volume_size_in_gb > 0 ? [var.image] : []
     content {
-      uuid                  = "${data.openstack_images_image_v2.vm_image.id}"
+      uuid                  = data.openstack_images_image_v2.vm_image.id
       source_type           = "image"
-      volume_size           = "${var.bastion_root_volume_size_in_gb}"
+      volume_size           = var.bastion_root_volume_size_in_gb
       boot_index            = 0
       destination_type      = "volume"
       delete_on_termination = true
@@ -133,18 +133,18 @@ resource "openstack_compute_instance_v2" "bastion" {
   }
 
   network {
-    name = "${var.network_name}"
+    name = var.network_name
   }
 
-  security_groups = ["${openstack_networking_secgroup_v2.k8s.name}",
-    "${element(openstack_networking_secgroup_v2.bastion.*.name, count.index)}",
+  security_groups = [openstack_networking_secgroup_v2.k8s.name,
+    element(openstack_networking_secgroup_v2.bastion.*.name, count.index),
   ]
 
   metadata = {
-    ssh_user         = "${var.ssh_user}"
+    ssh_user         = var.ssh_user
     kubespray_groups = "bastion"
-    depends_on       = "${var.network_id}"
-    use_access_ip    = "${var.use_access_ip}"
+    depends_on       = var.network_id
+    use_access_ip    = var.use_access_ip
   }
 
   provisioner "local-exec" {
@@ -154,19 +154,19 @@ resource "openstack_compute_instance_v2" "bastion" {
 
 resource "openstack_compute_instance_v2" "k8s_master" {
   name              = "${var.cluster_name}-k8s-master-${count.index + 1}"
-  count             = "${var.number_of_k8s_masters}"
-  availability_zone = "${element(var.az_list, count.index)}"
-  image_name        = "${var.image}"
-  flavor_id         = "${var.flavor_k8s_master}"
-  key_pair          = "${openstack_compute_keypair_v2.k8s.name}"
+  count             = var.number_of_k8s_masters
+  availability_zone = element(var.az_list, count.index)
+  image_name        = var.image
+  flavor_id         = var.flavor_k8s_master
+  key_pair          = openstack_compute_keypair_v2.k8s.name
 
 
   dynamic "block_device" {
     for_each = var.master_root_volume_size_in_gb > 0 ? [var.image] : []
     content {
-      uuid                  = "${data.openstack_images_image_v2.vm_image.id}"
+      uuid                  = data.openstack_images_image_v2.vm_image.id
       source_type           = "image"
-      volume_size           = "${var.master_root_volume_size_in_gb}"
+      volume_size           = var.master_root_volume_size_in_gb
       boot_index            = 0
       destination_type      = "volume"
       delete_on_termination = true
@@ -174,25 +174,25 @@ resource "openstack_compute_instance_v2" "k8s_master" {
   }
 
   network {
-    name = "${var.network_name}"
+    name = var.network_name
   }
 
-  security_groups = ["${openstack_networking_secgroup_v2.k8s_master.name}",
-    "${openstack_networking_secgroup_v2.k8s.name}",
+  security_groups = [openstack_networking_secgroup_v2.k8s_master.name,
+    openstack_networking_secgroup_v2.k8s.name,
   ]
 
   dynamic "scheduler_hints" {
     for_each = var.use_server_groups ? [openstack_compute_servergroup_v2.k8s_master[0]] : []
     content {
-      group = "${openstack_compute_servergroup_v2.k8s_master[0].id}"
+      group = openstack_compute_servergroup_v2.k8s_master[0].id
     }
   }
 
   metadata = {
-    ssh_user         = "${var.ssh_user}"
+    ssh_user         = var.ssh_user
     kubespray_groups = "etcd,kube-master,${var.supplementary_master_groups},k8s-cluster,vault"
-    depends_on       = "${var.network_id}"
-    use_access_ip    = "${var.use_access_ip}"
+    depends_on       = var.network_id
+    use_access_ip    = var.use_access_ip
   }
 
   provisioner "local-exec" {
@@ -202,19 +202,19 @@ resource "openstack_compute_instance_v2" "k8s_master" {
 
 resource "openstack_compute_instance_v2" "k8s_master_no_etcd" {
   name              = "${var.cluster_name}-k8s-master-ne-${count.index + 1}"
-  count             = "${var.number_of_k8s_masters_no_etcd}"
-  availability_zone = "${element(var.az_list, count.index)}"
-  image_name        = "${var.image}"
-  flavor_id         = "${var.flavor_k8s_master}"
-  key_pair          = "${openstack_compute_keypair_v2.k8s.name}"
+  count             = var.number_of_k8s_masters_no_etcd
+  availability_zone = element(var.az_list, count.index)
+  image_name        = var.image
+  flavor_id         = var.flavor_k8s_master
+  key_pair          = openstack_compute_keypair_v2.k8s.name
 
 
   dynamic "block_device" {
     for_each = var.master_root_volume_size_in_gb > 0 ? [var.image] : []
     content {
-      uuid                  = "${data.openstack_images_image_v2.vm_image.id}"
+      uuid                  = data.openstack_images_image_v2.vm_image.id
       source_type           = "image"
-      volume_size           = "${var.master_root_volume_size_in_gb}"
+      volume_size           = var.master_root_volume_size_in_gb
       boot_index            = 0
       destination_type      = "volume"
       delete_on_termination = true
@@ -222,25 +222,25 @@ resource "openstack_compute_instance_v2" "k8s_master_no_etcd" {
   }
 
   network {
-    name = "${var.network_name}"
+    name = var.network_name
   }
 
-  security_groups = ["${openstack_networking_secgroup_v2.k8s_master.name}",
-    "${openstack_networking_secgroup_v2.k8s.name}",
+  security_groups = [openstack_networking_secgroup_v2.k8s_master.name,
+    openstack_networking_secgroup_v2.k8s.name,
   ]
 
   dynamic "scheduler_hints" {
     for_each = var.use_server_groups ? [openstack_compute_servergroup_v2.k8s_master[0]] : []
     content {
-      group = "${openstack_compute_servergroup_v2.k8s_master[0].id}"
+      group = openstack_compute_servergroup_v2.k8s_master[0].id
     }
   }
 
   metadata = {
-    ssh_user         = "${var.ssh_user}"
+    ssh_user         = var.ssh_user
     kubespray_groups = "kube-master,${var.supplementary_master_groups},k8s-cluster,vault"
-    depends_on       = "${var.network_id}"
-    use_access_ip    = "${var.use_access_ip}"
+    depends_on       = var.network_id
+    use_access_ip    = var.use_access_ip
   }
 
   provisioner "local-exec" {
@@ -250,18 +250,18 @@ resource "openstack_compute_instance_v2" "k8s_master_no_etcd" {
 
 resource "openstack_compute_instance_v2" "etcd" {
   name              = "${var.cluster_name}-etcd-${count.index + 1}"
-  count             = "${var.number_of_etcd}"
-  availability_zone = "${element(var.az_list, count.index)}"
-  image_name        = "${var.image}"
-  flavor_id         = "${var.flavor_etcd}"
-  key_pair          = "${openstack_compute_keypair_v2.k8s.name}"
+  count             = var.number_of_etcd
+  availability_zone = element(var.az_list, count.index)
+  image_name        = var.image
+  flavor_id         = var.flavor_etcd
+  key_pair          = openstack_compute_keypair_v2.k8s.name
 
   dynamic "block_device" {
     for_each = var.etcd_root_volume_size_in_gb > 0 ? [var.image] : []
     content {
-      uuid                  = "${data.openstack_images_image_v2.vm_image.id}"
+      uuid                  = data.openstack_images_image_v2.vm_image.id
       source_type           = "image"
-      volume_size           = "${var.etcd_root_volume_size_in_gb}"
+      volume_size           = var.etcd_root_volume_size_in_gb
       boot_index            = 0
       destination_type      = "volume"
       delete_on_termination = true
@@ -269,40 +269,40 @@ resource "openstack_compute_instance_v2" "etcd" {
   }
 
   network {
-    name = "${var.network_name}"
+    name = var.network_name
   }
 
-  security_groups = ["${openstack_networking_secgroup_v2.k8s.name}"]
+  security_groups = [openstack_networking_secgroup_v2.k8s.name]
 
   dynamic "scheduler_hints" {
     for_each = var.use_server_groups ? [openstack_compute_servergroup_v2.k8s_etcd[0]] : []
     content {
-      group = "${openstack_compute_servergroup_v2.k8s_etcd[0].id}"
+      group = openstack_compute_servergroup_v2.k8s_etcd[0].id
     }
   }
 
   metadata = {
-    ssh_user         = "${var.ssh_user}"
+    ssh_user         = var.ssh_user
     kubespray_groups = "etcd,vault,no-floating"
-    depends_on       = "${var.network_id}"
-    use_access_ip    = "${var.use_access_ip}"
+    depends_on       = var.network_id
+    use_access_ip    = var.use_access_ip
   }
 }
 
 resource "openstack_compute_instance_v2" "k8s_master_no_floating_ip" {
   name              = "${var.cluster_name}-k8s-master-nf-${count.index + 1}"
-  count             = "${var.number_of_k8s_masters_no_floating_ip}"
-  availability_zone = "${element(var.az_list, count.index)}"
-  image_name        = "${var.image}"
-  flavor_id         = "${var.flavor_k8s_master}"
-  key_pair          = "${openstack_compute_keypair_v2.k8s.name}"
+  count             = var.number_of_k8s_masters_no_floating_ip
+  availability_zone = element(var.az_list, count.index)
+  image_name        = var.image
+  flavor_id         = var.flavor_k8s_master
+  key_pair          = openstack_compute_keypair_v2.k8s.name
 
   dynamic "block_device" {
     for_each = var.master_root_volume_size_in_gb > 0 ? [var.image] : []
     content {
-      uuid                  = "${data.openstack_images_image_v2.vm_image.id}"
+      uuid                  = data.openstack_images_image_v2.vm_image.id
       source_type           = "image"
-      volume_size           = "${var.master_root_volume_size_in_gb}"
+      volume_size           = var.master_root_volume_size_in_gb
       boot_index            = 0
       destination_type      = "volume"
       delete_on_termination = true
@@ -310,42 +310,42 @@ resource "openstack_compute_instance_v2" "k8s_master_no_floating_ip" {
   }
 
   network {
-    name = "${var.network_name}"
+    name = var.network_name
   }
 
-  security_groups = ["${openstack_networking_secgroup_v2.k8s_master.name}",
-    "${openstack_networking_secgroup_v2.k8s.name}",
+  security_groups = [openstack_networking_secgroup_v2.k8s_master.name,
+    openstack_networking_secgroup_v2.k8s.name,
   ]
 
   dynamic "scheduler_hints" {
     for_each = var.use_server_groups ? [openstack_compute_servergroup_v2.k8s_master[0]] : []
     content {
-      group = "${openstack_compute_servergroup_v2.k8s_master[0].id}"
+      group = openstack_compute_servergroup_v2.k8s_master[0].id
     }
   }
 
   metadata = {
-    ssh_user         = "${var.ssh_user}"
+    ssh_user         = var.ssh_user
     kubespray_groups = "etcd,kube-master,${var.supplementary_master_groups},k8s-cluster,vault,no-floating"
-    depends_on       = "${var.network_id}"
-    use_access_ip    = "${var.use_access_ip}"
+    depends_on       = var.network_id
+    use_access_ip    = var.use_access_ip
   }
 }
 
 resource "openstack_compute_instance_v2" "k8s_master_no_floating_ip_no_etcd" {
   name              = "${var.cluster_name}-k8s-master-ne-nf-${count.index + 1}"
-  count             = "${var.number_of_k8s_masters_no_floating_ip_no_etcd}"
-  availability_zone = "${element(var.az_list, count.index)}"
-  image_name        = "${var.image}"
-  flavor_id         = "${var.flavor_k8s_master}"
-  key_pair          = "${openstack_compute_keypair_v2.k8s.name}"
+  count             = var.number_of_k8s_masters_no_floating_ip_no_etcd
+  availability_zone = element(var.az_list, count.index)
+  image_name        = var.image
+  flavor_id         = var.flavor_k8s_master
+  key_pair          = openstack_compute_keypair_v2.k8s.name
 
   dynamic "block_device" {
     for_each = var.master_root_volume_size_in_gb > 0 ? [var.image] : []
     content {
-      uuid                  = "${data.openstack_images_image_v2.vm_image.id}"
+      uuid                  = data.openstack_images_image_v2.vm_image.id
       source_type           = "image"
-      volume_size           = "${var.master_root_volume_size_in_gb}"
+      volume_size           = var.master_root_volume_size_in_gb
       boot_index            = 0
       destination_type      = "volume"
       delete_on_termination = true
@@ -353,42 +353,42 @@ resource "openstack_compute_instance_v2" "k8s_master_no_floating_ip_no_etcd" {
   }
 
   network {
-    name = "${var.network_name}"
+    name = var.network_name
   }
 
-  security_groups = ["${openstack_networking_secgroup_v2.k8s_master.name}",
-    "${openstack_networking_secgroup_v2.k8s.name}",
+  security_groups = [openstack_networking_secgroup_v2.k8s_master.name,
+    openstack_networking_secgroup_v2.k8s.name,
   ]
 
   dynamic "scheduler_hints" {
     for_each = var.use_server_groups ? [openstack_compute_servergroup_v2.k8s_master[0]] : []
     content {
-      group = "${openstack_compute_servergroup_v2.k8s_master[0].id}"
+      group = openstack_compute_servergroup_v2.k8s_master[0].id
     }
   }
 
   metadata = {
-    ssh_user         = "${var.ssh_user}"
+    ssh_user         = var.ssh_user
     kubespray_groups = "kube-master,${var.supplementary_master_groups},k8s-cluster,vault,no-floating"
-    depends_on       = "${var.network_id}"
-    use_access_ip    = "${var.use_access_ip}"
+    depends_on       = var.network_id
+    use_access_ip    = var.use_access_ip
   }
 }
 
 resource "openstack_compute_instance_v2" "k8s_node" {
   name              = "${var.cluster_name}-k8s-node-${count.index + 1}"
-  count             = "${var.number_of_k8s_nodes}"
-  availability_zone = "${element(var.az_list_node, count.index)}"
-  image_name        = "${var.image}"
-  flavor_id         = "${var.flavor_k8s_node}"
-  key_pair          = "${openstack_compute_keypair_v2.k8s.name}"
+  count             = var.number_of_k8s_nodes
+  availability_zone = element(var.az_list_node, count.index)
+  image_name        = var.image
+  flavor_id         = var.flavor_k8s_node
+  key_pair          = openstack_compute_keypair_v2.k8s.name
 
   dynamic "block_device" {
     for_each = var.node_root_volume_size_in_gb > 0 ? [var.image] : []
     content {
-      uuid                  = "${data.openstack_images_image_v2.vm_image.id}"
+      uuid                  = data.openstack_images_image_v2.vm_image.id
       source_type           = "image"
-      volume_size           = "${var.node_root_volume_size_in_gb}"
+      volume_size           = var.node_root_volume_size_in_gb
       boot_index            = 0
       destination_type      = "volume"
       delete_on_termination = true
@@ -396,25 +396,25 @@ resource "openstack_compute_instance_v2" "k8s_node" {
   }
 
   network {
-    name = "${var.network_name}"
+    name = var.network_name
   }
 
-  security_groups = ["${openstack_networking_secgroup_v2.k8s.name}",
-    "${openstack_networking_secgroup_v2.worker.name}",
+  security_groups = [openstack_networking_secgroup_v2.k8s.name,
+    openstack_networking_secgroup_v2.worker.name,
   ]
 
   dynamic "scheduler_hints" {
     for_each = var.use_server_groups ? [openstack_compute_servergroup_v2.k8s_node[0]] : []
     content {
-      group = "${openstack_compute_servergroup_v2.k8s_node[0].id}"
+      group = openstack_compute_servergroup_v2.k8s_node[0].id
     }
   }
 
   metadata = {
-    ssh_user         = "${var.ssh_user}"
+    ssh_user         = var.ssh_user
     kubespray_groups = "kube-node,k8s-cluster,${var.supplementary_node_groups}"
-    depends_on       = "${var.network_id}"
-    use_access_ip    = "${var.use_access_ip}"
+    depends_on       = var.network_id
+    use_access_ip    = var.use_access_ip
   }
 
   provisioner "local-exec" {
@@ -424,18 +424,18 @@ resource "openstack_compute_instance_v2" "k8s_node" {
 
 resource "openstack_compute_instance_v2" "k8s_node_no_floating_ip" {
   name              = "${var.cluster_name}-k8s-node-nf-${count.index + 1}"
-  count             = "${var.number_of_k8s_nodes_no_floating_ip}"
-  availability_zone = "${element(var.az_list_node, count.index)}"
-  image_name        = "${var.image}"
-  flavor_id         = "${var.flavor_k8s_node}"
-  key_pair          = "${openstack_compute_keypair_v2.k8s.name}"
+  count             = var.number_of_k8s_nodes_no_floating_ip
+  availability_zone = element(var.az_list_node, count.index)
+  image_name        = var.image
+  flavor_id         = var.flavor_k8s_node
+  key_pair          = openstack_compute_keypair_v2.k8s.name
 
   dynamic "block_device" {
     for_each = var.node_root_volume_size_in_gb > 0 ? [var.image] : []
     content {
-      uuid                  = "${data.openstack_images_image_v2.vm_image.id}"
+      uuid                  = data.openstack_images_image_v2.vm_image.id
       source_type           = "image"
-      volume_size           = "${var.node_root_volume_size_in_gb}"
+      volume_size           = var.node_root_volume_size_in_gb
       boot_index            = 0
       destination_type      = "volume"
       delete_on_termination = true
@@ -443,42 +443,42 @@ resource "openstack_compute_instance_v2" "k8s_node_no_floating_ip" {
   }
 
   network {
-    name = "${var.network_name}"
+    name = var.network_name
   }
 
-  security_groups = ["${openstack_networking_secgroup_v2.k8s.name}",
-    "${openstack_networking_secgroup_v2.worker.name}",
+  security_groups = [openstack_networking_secgroup_v2.k8s.name,
+    openstack_networking_secgroup_v2.worker.name,
   ]
 
   dynamic "scheduler_hints" {
     for_each = var.use_server_groups ? [openstack_compute_servergroup_v2.k8s_node[0]] : []
     content {
-      group = "${openstack_compute_servergroup_v2.k8s_node[0].id}"
+      group = openstack_compute_servergroup_v2.k8s_node[0].id
     }
   }
 
   metadata = {
-    ssh_user         = "${var.ssh_user}"
+    ssh_user         = var.ssh_user
     kubespray_groups = "kube-node,k8s-cluster,no-floating,${var.supplementary_node_groups}"
-    depends_on       = "${var.network_id}"
-    use_access_ip    = "${var.use_access_ip}"
+    depends_on       = var.network_id
+    use_access_ip    = var.use_access_ip
   }
 }
 
 resource "openstack_compute_instance_v2" "k8s_nodes" {
   for_each          = var.number_of_k8s_nodes == 0 && var.number_of_k8s_nodes_no_floating_ip == 0 ? var.k8s_nodes : {}
   name              = "${var.cluster_name}-k8s-node-${each.key}"
-  availability_zone = "${each.value.az}"
-  image_name        = "${var.image}"
-  flavor_id         = "${each.value.flavor}"
-  key_pair          = "${openstack_compute_keypair_v2.k8s.name}"
+  availability_zone = each.value.az
+  image_name        = var.image
+  flavor_id         = each.value.flavor
+  key_pair          = openstack_compute_keypair_v2.k8s.name
 
   dynamic "block_device" {
     for_each = var.node_root_volume_size_in_gb > 0 ? [var.image] : []
     content {
-      uuid                  = "${data.openstack_images_image_v2.vm_image.id}"
+      uuid                  = data.openstack_images_image_v2.vm_image.id
       source_type           = "image"
-      volume_size           = "${var.node_root_volume_size_in_gb}"
+      volume_size           = var.node_root_volume_size_in_gb
       boot_index            = 0
       destination_type      = "volume"
       delete_on_termination = true
@@ -486,25 +486,25 @@ resource "openstack_compute_instance_v2" "k8s_nodes" {
   }
 
   network {
-    name = "${var.network_name}"
+    name = var.network_name
   }
 
-  security_groups = ["${openstack_networking_secgroup_v2.k8s.name}",
-    "${openstack_networking_secgroup_v2.worker.name}",
+  security_groups = [openstack_networking_secgroup_v2.k8s.name,
+    openstack_networking_secgroup_v2.worker.name,
   ]
 
   dynamic "scheduler_hints" {
     for_each = var.use_server_groups ? [openstack_compute_servergroup_v2.k8s_node[0]] : []
     content {
-      group = "${openstack_compute_servergroup_v2.k8s_node[0].id}"
+      group = openstack_compute_servergroup_v2.k8s_node[0].id
     }
   }
 
   metadata = {
-    ssh_user         = "${var.ssh_user}"
+    ssh_user         = var.ssh_user
     kubespray_groups = "kube-node,k8s-cluster,%{if each.value.floating_ip == false}no-floating,%{endif}${var.supplementary_node_groups}"
-    depends_on       = "${var.network_id}"
-    use_access_ip    = "${var.use_access_ip}"
+    depends_on       = var.network_id
+    use_access_ip    = var.use_access_ip
   }
 
   provisioner "local-exec" {
@@ -514,18 +514,18 @@ resource "openstack_compute_instance_v2" "k8s_nodes" {
 
 resource "openstack_compute_instance_v2" "glusterfs_node_no_floating_ip" {
   name              = "${var.cluster_name}-gfs-node-nf-${count.index + 1}"
-  count             = "${var.number_of_gfs_nodes_no_floating_ip}"
-  availability_zone = "${element(var.az_list, count.index)}"
-  image_name        = "${var.image_gfs}"
-  flavor_id         = "${var.flavor_gfs_node}"
-  key_pair          = "${openstack_compute_keypair_v2.k8s.name}"
+  count             = var.number_of_gfs_nodes_no_floating_ip
+  availability_zone = element(var.az_list, count.index)
+  image_name        = var.image_gfs
+  flavor_id         = var.flavor_gfs_node
+  key_pair          = openstack_compute_keypair_v2.k8s.name
 
   dynamic "block_device" {
     for_each = var.gfs_root_volume_size_in_gb > 0 ? [var.image] : []
     content {
-      uuid                  = "${data.openstack_images_image_v2.vm_image.id}"
+      uuid                  = data.openstack_images_image_v2.vm_image.id
       source_type           = "image"
-      volume_size           = "${var.gfs_root_volume_size_in_gb}"
+      volume_size           = var.gfs_root_volume_size_in_gb
       boot_index            = 0
       destination_type      = "volume"
       delete_on_termination = true
@@ -533,70 +533,70 @@ resource "openstack_compute_instance_v2" "glusterfs_node_no_floating_ip" {
   }
 
   network {
-    name = "${var.network_name}"
+    name = var.network_name
   }
 
-  security_groups = ["${openstack_networking_secgroup_v2.k8s.name}"]
+  security_groups = [openstack_networking_secgroup_v2.k8s.name]
 
   dynamic "scheduler_hints" {
     for_each = var.use_server_groups ? [openstack_compute_servergroup_v2.k8s_node[0]] : []
     content {
-      group = "${openstack_compute_servergroup_v2.k8s_node[0].id}"
+      group = openstack_compute_servergroup_v2.k8s_node[0].id
     }
   }
 
   metadata = {
-    ssh_user         = "${var.ssh_user_gfs}"
+    ssh_user         = var.ssh_user_gfs
     kubespray_groups = "gfs-cluster,network-storage,no-floating"
-    depends_on       = "${var.network_id}"
-    use_access_ip    = "${var.use_access_ip}"
+    depends_on       = var.network_id
+    use_access_ip    = var.use_access_ip
   }
 }
 
 resource "openstack_compute_floatingip_associate_v2" "bastion" {
-  count                 = "${var.number_of_bastions}"
-  floating_ip           = "${var.bastion_fips[count.index]}"
-  instance_id           = "${element(openstack_compute_instance_v2.bastion.*.id, count.index)}"
-  wait_until_associated = "${var.wait_for_floatingip}"
+  count                 = var.number_of_bastions
+  floating_ip           = var.bastion_fips[count.index]
+  instance_id           = element(openstack_compute_instance_v2.bastion.*.id, count.index)
+  wait_until_associated = var.wait_for_floatingip
 }
 
 
 resource "openstack_compute_floatingip_associate_v2" "k8s_master" {
-  count                 = "${var.number_of_k8s_masters}"
-  instance_id           = "${element(openstack_compute_instance_v2.k8s_master.*.id, count.index)}"
-  floating_ip           = "${var.k8s_master_fips[count.index]}"
-  wait_until_associated = "${var.wait_for_floatingip}"
+  count                 = var.number_of_k8s_masters
+  instance_id           = element(openstack_compute_instance_v2.k8s_master.*.id, count.index)
+  floating_ip           = var.k8s_master_fips[count.index]
+  wait_until_associated = var.wait_for_floatingip
 }
 
 resource "openstack_compute_floatingip_associate_v2" "k8s_master_no_etcd" {
-  count       = "${var.master_root_volume_size_in_gb == 0 ? var.number_of_k8s_masters_no_etcd : 0}"
-  instance_id = "${element(openstack_compute_instance_v2.k8s_master_no_etcd.*.id, count.index)}"
-  floating_ip = "${var.k8s_master_no_etcd_fips[count.index]}"
+  count       = var.master_root_volume_size_in_gb == 0 ? var.number_of_k8s_masters_no_etcd : 0
+  instance_id = element(openstack_compute_instance_v2.k8s_master_no_etcd.*.id, count.index)
+  floating_ip = var.k8s_master_no_etcd_fips[count.index]
 }
 
 resource "openstack_compute_floatingip_associate_v2" "k8s_node" {
-  count                 = "${var.node_root_volume_size_in_gb == 0 ? var.number_of_k8s_nodes : 0}"
-  floating_ip           = "${var.k8s_node_fips[count.index]}"
-  instance_id           = "${element(openstack_compute_instance_v2.k8s_node[*].id, count.index)}"
-  wait_until_associated = "${var.wait_for_floatingip}"
+  count                 = var.node_root_volume_size_in_gb == 0 ? var.number_of_k8s_nodes : 0
+  floating_ip           = var.k8s_node_fips[count.index]
+  instance_id           = element(openstack_compute_instance_v2.k8s_node[*].id, count.index)
+  wait_until_associated = var.wait_for_floatingip
 }
 
 resource "openstack_compute_floatingip_associate_v2" "k8s_nodes" {
   for_each              = var.number_of_k8s_nodes == 0 && var.number_of_k8s_nodes_no_floating_ip == 0 ? { for key, value in var.k8s_nodes : key => value if value.floating_ip } : {}
-  floating_ip           = "${var.k8s_nodes_fips[each.key].address}"
-  instance_id           = "${openstack_compute_instance_v2.k8s_nodes[each.key].id}"
-  wait_until_associated = "${var.wait_for_floatingip}"
+  floating_ip           = var.k8s_nodes_fips[each.key].address
+  instance_id           = openstack_compute_instance_v2.k8s_nodes[each.key].id
+  wait_until_associated = var.wait_for_floatingip
 }
 
 resource "openstack_blockstorage_volume_v2" "glusterfs_volume" {
   name        = "${var.cluster_name}-glusterfs_volume-${count.index + 1}"
-  count       = "${var.gfs_root_volume_size_in_gb == 0 ? var.number_of_gfs_nodes_no_floating_ip : 0}"
+  count       = var.gfs_root_volume_size_in_gb == 0 ? var.number_of_gfs_nodes_no_floating_ip : 0
   description = "Non-ephemeral volume for GlusterFS"
-  size        = "${var.gfs_volume_size_in_gb}"
+  size        = var.gfs_volume_size_in_gb
 }
 
 resource "openstack_compute_volume_attach_v2" "glusterfs_volume" {
-  count       = "${var.gfs_root_volume_size_in_gb == 0 ? var.number_of_gfs_nodes_no_floating_ip : 0}"
-  instance_id = "${element(openstack_compute_instance_v2.glusterfs_node_no_floating_ip.*.id, count.index)}"
-  volume_id   = "${element(openstack_blockstorage_volume_v2.glusterfs_volume.*.id, count.index)}"
+  count       = var.gfs_root_volume_size_in_gb == 0 ? var.number_of_gfs_nodes_no_floating_ip : 0
+  instance_id = element(openstack_compute_instance_v2.glusterfs_node_no_floating_ip.*.id, count.index)
+  volume_id   = element(openstack_blockstorage_volume_v2.glusterfs_volume.*.id, count.index)
 }
diff --git a/contrib/terraform/openstack/modules/ips/main.tf b/contrib/terraform/openstack/modules/ips/main.tf
index 15f6f1f050bb7a66a8ba416c11ba2c55f7d7f733..7950045c1b5859092c36817eba44244e2ab17006 100644
--- a/contrib/terraform/openstack/modules/ips/main.tf
+++ b/contrib/terraform/openstack/modules/ips/main.tf
@@ -1,36 +1,36 @@
 resource "null_resource" "dummy_dependency" {
   triggers = {
-    dependency_id = "${var.router_id}"
+    dependency_id = var.router_id
   }
 }
 
 resource "openstack_networking_floatingip_v2" "k8s_master" {
-  count      = "${var.number_of_k8s_masters}"
-  pool       = "${var.floatingip_pool}"
-  depends_on = ["null_resource.dummy_dependency"]
+  count      = var.number_of_k8s_masters
+  pool       = var.floatingip_pool
+  depends_on = [null_resource.dummy_dependency]
 }
 
 resource "openstack_networking_floatingip_v2" "k8s_master_no_etcd" {
-  count      = "${var.number_of_k8s_masters_no_etcd}"
-  pool       = "${var.floatingip_pool}"
-  depends_on = ["null_resource.dummy_dependency"]
+  count      = var.number_of_k8s_masters_no_etcd
+  pool       = var.floatingip_pool
+  depends_on = [null_resource.dummy_dependency]
 }
 
 resource "openstack_networking_floatingip_v2" "k8s_node" {
-  count      = "${var.number_of_k8s_nodes}"
-  pool       = "${var.floatingip_pool}"
-  depends_on = ["null_resource.dummy_dependency"]
+  count      = var.number_of_k8s_nodes
+  pool       = var.floatingip_pool
+  depends_on = [null_resource.dummy_dependency]
 }
 
 resource "openstack_networking_floatingip_v2" "bastion" {
-  count      = "${var.number_of_bastions}"
-  pool       = "${var.floatingip_pool}"
-  depends_on = ["null_resource.dummy_dependency"]
+  count      = var.number_of_bastions
+  pool       = var.floatingip_pool
+  depends_on = [null_resource.dummy_dependency]
 }
 
 resource "openstack_networking_floatingip_v2" "k8s_nodes" {
   for_each   = var.number_of_k8s_nodes == 0 ? { for key, value in var.k8s_nodes : key => value if value.floating_ip } : {}
-  pool       = "${var.floatingip_pool}"
-  depends_on = ["null_resource.dummy_dependency"]
+  pool       = var.floatingip_pool
+  depends_on = [null_resource.dummy_dependency]
 }
 
diff --git a/contrib/terraform/openstack/modules/ips/outputs.tf b/contrib/terraform/openstack/modules/ips/outputs.tf
index f74e1c93016800eb091728a98915f3e38f16faed..a8bf044b20216a73d053ef9018bdd16a5193fca3 100644
--- a/contrib/terraform/openstack/modules/ips/outputs.tf
+++ b/contrib/terraform/openstack/modules/ips/outputs.tf
@@ -1,19 +1,19 @@
 output "k8s_master_fips" {
-  value = "${openstack_networking_floatingip_v2.k8s_master[*].address}"
+  value = openstack_networking_floatingip_v2.k8s_master[*].address
 }
 
 output "k8s_master_no_etcd_fips" {
-  value = "${openstack_networking_floatingip_v2.k8s_master_no_etcd[*].address}"
+  value = openstack_networking_floatingip_v2.k8s_master_no_etcd[*].address
 }
 
 output "k8s_node_fips" {
-  value = "${openstack_networking_floatingip_v2.k8s_node[*].address}"
+  value = openstack_networking_floatingip_v2.k8s_node[*].address
 }
 
 output "k8s_nodes_fips" {
-  value = "${openstack_networking_floatingip_v2.k8s_nodes}"
+  value = openstack_networking_floatingip_v2.k8s_nodes
 }
 
 output "bastion_fips" {
-  value = "${openstack_networking_floatingip_v2.bastion[*].address}"
+  value = openstack_networking_floatingip_v2.bastion[*].address
 }
diff --git a/contrib/terraform/openstack/modules/network/main.tf b/contrib/terraform/openstack/modules/network/main.tf
index 3b1f3986c1d5ec18d83a37fb02c4ba3372abb757..ec97322f8cf28e3083d0c1019eab57dc3d7f844c 100644
--- a/contrib/terraform/openstack/modules/network/main.tf
+++ b/contrib/terraform/openstack/modules/network/main.tf
@@ -1,33 +1,33 @@
 resource "openstack_networking_router_v2" "k8s" {
   name                = "${var.cluster_name}-router"
-  count               = "${var.use_neutron}" == 1 && "${var.router_id}" == null ? 1 : 0
+  count               = var.use_neutron == 1 && var.router_id == null ? 1 : 0
   admin_state_up      = "true"
-  external_network_id = "${var.external_net}"
+  external_network_id = var.external_net
 }
 
 data "openstack_networking_router_v2" "k8s" {
-  router_id = "${var.router_id}"
-  count     = "${var.use_neutron}" == 1 && "${var.router_id}" != null ? 1 : 0
+  router_id = var.router_id
+  count     = var.use_neutron == 1 && var.router_id != null ? 1 : 0
 }
 
 resource "openstack_networking_network_v2" "k8s" {
-  name           = "${var.network_name}"
-  count          = "${var.use_neutron}"
-  dns_domain     = var.network_dns_domain != null ? "${var.network_dns_domain}" : null
+  name           = var.network_name
+  count          = var.use_neutron
+  dns_domain     = var.network_dns_domain != null ? var.network_dns_domain : null
   admin_state_up = "true"
 }
 
 resource "openstack_networking_subnet_v2" "k8s" {
   name            = "${var.cluster_name}-internal-network"
-  count           = "${var.use_neutron}"
-  network_id      = "${openstack_networking_network_v2.k8s[count.index].id}"
-  cidr            = "${var.subnet_cidr}"
+  count           = var.use_neutron
+  network_id      = openstack_networking_network_v2.k8s[count.index].id
+  cidr            = var.subnet_cidr
   ip_version      = 4
-  dns_nameservers = "${var.dns_nameservers}"
+  dns_nameservers = var.dns_nameservers
 }
 
 resource "openstack_networking_router_interface_v2" "k8s" {
-  count     = "${var.use_neutron}"
+  count     = var.use_neutron
   router_id = "%{if openstack_networking_router_v2.k8s != []}${openstack_networking_router_v2.k8s[count.index].id}%{else}${var.router_id}%{endif}"
-  subnet_id = "${openstack_networking_subnet_v2.k8s[count.index].id}"
+  subnet_id = openstack_networking_subnet_v2.k8s[count.index].id
 }
diff --git a/contrib/terraform/openstack/modules/network/outputs.tf b/contrib/terraform/openstack/modules/network/outputs.tf
index 5b62c75bbbe62c1308ab976f31f8c69859282456..fed9d654b3820cdf411b54abc7a2fac4addcce1a 100644
--- a/contrib/terraform/openstack/modules/network/outputs.tf
+++ b/contrib/terraform/openstack/modules/network/outputs.tf
@@ -3,9 +3,9 @@ output "router_id" {
 }
 
 output "router_internal_port_id" {
-  value = "${element(concat(openstack_networking_router_interface_v2.k8s.*.id, [""]), 0)}"
+  value = element(concat(openstack_networking_router_interface_v2.k8s.*.id, [""]), 0)
 }
 
 output "subnet_id" {
-  value = "${element(concat(openstack_networking_subnet_v2.k8s.*.id, [""]), 0)}"
+  value = element(concat(openstack_networking_subnet_v2.k8s.*.id, [""]), 0)
 }