From 4f7265b25dc716485547d9629a38b843d01b25d1 Mon Sep 17 00:00:00 2001 From: "francesco.mangiacrapa" Date: Thu, 30 Nov 2023 16:29:06 +0100 Subject: [PATCH 1/7] Added generic_smartgears_service project and module --- .../.terraform.lock.hcl | 24 ++++++++ .../generic_smartgears_service.tf | 1 + .../generic_smartgears_service/inputs.tf | 61 +++++++++++++++++++ .../generic_smartgears_service/main.tf | 18 ++++++ .../generic_smartgears_service/provider.tf | 3 + .../generic_smartgears_service/variables.tf | 1 + .../generic_smartgears_service.tf | 26 ++++++++ .../variables_generic_smartgears_service.tf | 16 +++++ 8 files changed, 150 insertions(+) create mode 100644 openstack-tf/d4s-dev/generic_smartgears_service/.terraform.lock.hcl create mode 120000 openstack-tf/d4s-dev/generic_smartgears_service/generic_smartgears_service.tf create mode 100644 openstack-tf/d4s-dev/generic_smartgears_service/inputs.tf create mode 100644 openstack-tf/d4s-dev/generic_smartgears_service/main.tf create mode 100644 openstack-tf/d4s-dev/generic_smartgears_service/provider.tf create mode 120000 openstack-tf/d4s-dev/generic_smartgears_service/variables.tf create mode 100644 openstack-tf/modules/generic_smartgears_service/generic_smartgears_service.tf create mode 100644 openstack-tf/modules/generic_smartgears_service/variables_generic_smartgears_service.tf diff --git a/openstack-tf/d4s-dev/generic_smartgears_service/.terraform.lock.hcl b/openstack-tf/d4s-dev/generic_smartgears_service/.terraform.lock.hcl new file mode 100644 index 0000000..95c8b6a --- /dev/null +++ b/openstack-tf/d4s-dev/generic_smartgears_service/.terraform.lock.hcl @@ -0,0 +1,24 @@ +# This file is maintained automatically by "terraform init". +# Manual edits may be lost in future updates. + +provider "registry.terraform.io/terraform-provider-openstack/openstack" { + version = "1.53.0" + constraints = "~> 1.53.0" + hashes = [ + "h1:YLGvYkSuagyP5orUTyKNK+JhzS17EFTUDpZ5R5/fFv4=", + "zh:09da7ca98ffd3de7b9ce36c4c13446212a6e763ba1162be71b50f95d453cb68e", + "zh:14041bcbb87312411d88612056ed185650bfd01284b8ea0761ce8105a331708e", + "zh:35bf4c788fdbc17c8e40ebc7b33c7de4b45a2fa2efaa657b10f0e3bd37c9627f", + "zh:46ede8ef4cfa12d654c538afc1e1ec34a1f3e8eb4e986ee23dceae398b7176a6", + "zh:59675734990dab1e8d87997853ea75e8104bba730b3f5a7146ac735540c9d6bf", + "zh:6de52428849806498670e827b54810be7510a2a79449602c1aede4235a0ec036", + "zh:78b2a20601272afceffac8f8ca78a6b647b84196c0dd8dc710fae297f6be15a4", + "zh:7c41ed3a4fac09677e676ecf9f9edd1e38eef449e656cb01a848d2c799c6de8f", + "zh:852800228f4118a4aa6cfaa4468b851247cbed6f037fd204f08de69eb1edc149", + "zh:86d618e7f9a07d978b8bc4b190be350a00de64ec535f9c8f5dfe133542a55483", + "zh:963a9e72b66d8bcf43de9b14a674ae3ca3719ce2f829217f7a65b66fc3773397", + "zh:a8e72ab67795071bda61f99a6de3d2d40122fb51971768fd75e1324abe874ced", + "zh:ce1890cf3af17d569af3bc7673cec0a8f78e6f5d701767593f3d29c551f44848", + "zh:e6f1b96eb684f527a47f71923f268c86a36d7894751b31ee9e726d7502a639cd", + ] +} diff --git a/openstack-tf/d4s-dev/generic_smartgears_service/generic_smartgears_service.tf b/openstack-tf/d4s-dev/generic_smartgears_service/generic_smartgears_service.tf new file mode 120000 index 0000000..b8c2cf1 --- /dev/null +++ b/openstack-tf/d4s-dev/generic_smartgears_service/generic_smartgears_service.tf @@ -0,0 +1 @@ +../../modules/generic_smartgears_service/generic_smartgears_service.tf \ No newline at end of file diff --git a/openstack-tf/d4s-dev/generic_smartgears_service/inputs.tf b/openstack-tf/d4s-dev/generic_smartgears_service/inputs.tf new file mode 100644 index 0000000..2768fa6 --- /dev/null +++ b/openstack-tf/d4s-dev/generic_smartgears_service/inputs.tf @@ -0,0 +1,61 @@ + +#Default smartgears_service is EMPTY. Override it to create a proper smartegears plan + +# locals { +# tags = { +# security_group_default = var.security_group_list.default +# security_group_http_and_https_lb = var.security_group_list.http_and_https_from_the_load_balancers +# ubuntu_18_04_instance_uuid = var.ubuntu_1804.uuid +# } +# } + +# locals { +# security_groups_1 = toset([var.security_group_list.default, var.security_group_list.http_and_https_from_the_load_balancers]) +# } + + +# variable "security_groups" { +# type = set(string) +# default = ["${security_group_default}", var.security_group_list.http_and_https_from_the_load_balancers] +# } + + +variable "smartgears_service_instances_map" { + type = map(object({ + name = string + description = string + flavor = string + networks = list(string) + security_groups = list(string) + block_device_uuid = string + })) + default = { + geoportal_service = { + name = "geoportal-cms", + description = "The Geoportal instance", + flavor = "m1_large", + networks = ["d4s-dev-cloud-main", "postgresql-srv-net"], + security_groups = ["default", "http and https from the load balancers"] + block_device_uuid = "7ed6a2cd-2b07-482e-8ce4-f018dff16c89" #ubuntu_18_04.uuid of DEV + }, + # URI-Resolver instance 1 + uri_resolver_service_i1 = { + name = "data", + description = "The data instance", + flavor = "m1.medium", + networks = ["d4s-dev-cloud-main"], + security_groups = ["default", "http and https from the load balancers"] + block_device_uuid = "7ed6a2cd-2b07-482e-8ce4-f018dff16c89" #ubuntu_18_04.uuid of DEV + }, + # URI-Resolver instance 2 + uri_resolver_service_i2 = { + name = "data1", + description = "The data1 instance", + flavor = "m1.medium", + networks = ["d4s-dev-cloud-main"], + security_groups = ["default", "http and https from the load balancers"] + block_device_uuid = "7ed6a2cd-2b07-482e-8ce4-f018dff16c89" #ubuntu_18_04.uuid of DEV + } + } + +} diff --git a/openstack-tf/d4s-dev/generic_smartgears_service/main.tf b/openstack-tf/d4s-dev/generic_smartgears_service/main.tf new file mode 100644 index 0000000..e3df3d8 --- /dev/null +++ b/openstack-tf/d4s-dev/generic_smartgears_service/main.tf @@ -0,0 +1,18 @@ +# Define required providers +terraform { + required_version = ">= 0.14.0" + required_providers { + openstack = { + source = "terraform-provider-openstack/openstack" + version = "~> 1.53.0" + } + } +} + +data "terraform_remote_state" "privnet_dns_router" { + backend = "local" + + config = { + path = "../project-setup/terraform.tfstate" + } +} diff --git a/openstack-tf/d4s-dev/generic_smartgears_service/provider.tf b/openstack-tf/d4s-dev/generic_smartgears_service/provider.tf new file mode 100644 index 0000000..fa7a121 --- /dev/null +++ b/openstack-tf/d4s-dev/generic_smartgears_service/provider.tf @@ -0,0 +1,3 @@ +provider "openstack" { + cloud = "d4s-dev" +} diff --git a/openstack-tf/d4s-dev/generic_smartgears_service/variables.tf b/openstack-tf/d4s-dev/generic_smartgears_service/variables.tf new file mode 120000 index 0000000..be9f787 --- /dev/null +++ b/openstack-tf/d4s-dev/generic_smartgears_service/variables.tf @@ -0,0 +1 @@ +../../modules/common_variables/variables.tf \ No newline at end of file diff --git a/openstack-tf/modules/generic_smartgears_service/generic_smartgears_service.tf b/openstack-tf/modules/generic_smartgears_service/generic_smartgears_service.tf new file mode 100644 index 0000000..a729e85 --- /dev/null +++ b/openstack-tf/modules/generic_smartgears_service/generic_smartgears_service.tf @@ -0,0 +1,26 @@ +# Generic martgears_service instance +resource "openstack_compute_instance_v2" "smartgears_service" { + for_each = var.smartgears_service_instances_map + name = each.value.name + availability_zone_hints = var.availability_zones_names.availability_zone_no_gpu + flavor_name = each.value.flavor + key_pair = module.ssh_settings.ssh_key_name + security_groups = each.value.security_groups + block_device { + uuid = each.value.block_device_uuid + source_type = "image" + volume_size = 10 + boot_index = 0 + destination_type = "volume" + delete_on_termination = false + } + + dynamic "network" { + for_each = each.value.networks + content { + name = network.value + } + } + + user_data = file("${var.ubuntu1804_data_file}") +} diff --git a/openstack-tf/modules/generic_smartgears_service/variables_generic_smartgears_service.tf b/openstack-tf/modules/generic_smartgears_service/variables_generic_smartgears_service.tf new file mode 100644 index 0000000..dd761c8 --- /dev/null +++ b/openstack-tf/modules/generic_smartgears_service/variables_generic_smartgears_service.tf @@ -0,0 +1,16 @@ + +#Default smartgears_service is EMPTY. Override it to create a proper smartegears plan +variable "smartgears_service_instances_map" { + type = map(object({ + name = string + description = string + flavor = string + networks = list(string) + security_groups = list(string) + block_device_uuid = string + })) + default = { + smartgears_service = { name = "", description = "", flavor = "", networks = [], security_groups = [], block_device_uuid = "" } + } + +} From d9f15e68e6b5f23741271180e25b146987ba92c2 Mon Sep 17 00:00:00 2001 From: "francesco.mangiacrapa" Date: Thu, 30 Nov 2023 16:36:48 +0100 Subject: [PATCH 2/7] Only formatted the map of objects --- .../d4s-dev/geoserver/variables-geoserver.tf | 72 ++++++++++++++++--- 1 file changed, 63 insertions(+), 9 deletions(-) diff --git a/openstack-tf/d4s-dev/geoserver/variables-geoserver.tf b/openstack-tf/d4s-dev/geoserver/variables-geoserver.tf index 59e7ee4..265b335 100644 --- a/openstack-tf/d4s-dev/geoserver/variables-geoserver.tf +++ b/openstack-tf/d4s-dev/geoserver/variables-geoserver.tf @@ -16,15 +16,69 @@ variable "geoserver_instances_map" { vol_data_size = string })) default = { - geona = { name = "geoserver-geona", description = "Geoserver geona instance", flavor = "m1.xlarge", vol_data_name = "geoserver-geona_data_volume", vol_data_size = "50" } - esquiline = { name = "geoserver-esquiline", description = "Geoserver esquiline instance", flavor = "m2.small", vol_data_name = "geoserver-esquiline_data_volume", vol_data_size = "20" } - ariadne = { name = "geoserver-ariadne", description = "Geoserver ariadne instance", flavor = "m2.small", vol_data_name = "geoserver-ariadne_data_volume", vol_data_size = "20" } - grsf = { name = "geoserver-grsf", description = "Geoserver grsf instance", flavor = "m1.large", vol_data_name = "geoserver-grsf_data_volume", vol_data_size = "40" } - protectedareaimpactmaps = { name = "geoserver-protectedareaimpactmaps", description = "Geoserver protectedareaimpactmaps instance", flavor = "c1.large", vol_data_name = "geoserver-protectedareaimpactmaps_data_volume", vol_data_size = "70" } - sdi-lab = { name = "geoserver-sdi-lab", description = "Geoserver sdi-lab instance", flavor = "m1.large", vol_data_name = "geoserver-sdi-lab_data_volume", vol_data_size = "100" } - tunaatlas = { name = "geoserver-tunaatlas", description = "Geoserver tunaatlas instance", flavor = "m1.large", vol_data_name = "geoserver-tunaatlas_data_volume", vol_data_size = "60" } - wecafc-firms = { name = "geoserver-wecafc-firms", description = "Geoserver wecafc-firms instance", flavor = "m1.large", vol_data_name = "geoserver-wecafc-firms_data_volume", vol_data_size = "40" } - aquacultureatlas = { name = "geoserver-aquacultureatlas", description = "Geoserver aquacultureatlas instance", flavor = "m1.large", vol_data_name = "geoserver-aquacultureatlas_data_volume", vol_data_size = "50" } + geona = { + name = "geoserver-geona", + description = "Geoserver geona instance", + flavor = "m1.xlarge", + vol_data_name = "geoserver-geona_data_volume", + vol_data_size = "50" + } + esquiline = { + name = "geoserver-esquiline", + description = "Geoserver esquiline instance", + flavor = "m2.small", + vol_data_name = "geoserver-esquiline_data_volume", + vol_data_size = "20" + } + ariadne = { + name = "geoserver-ariadne", + description = "Geoserver ariadne instance", + flavor = "m2.small", + vol_data_name = "geoserver-ariadne_data_volume", + vol_data_size = "20" + } + grsf = { + name = "geoserver-grsf", + description = "Geoserver grsf instance", + flavor = "m1.large", + vol_data_name = "geoserver-grsf_data_volume", + vol_data_size = "40" + } + protectedareaimpactmaps = { + name = "geoserver-protectedareaimpactmaps", + description = "Geoserver protectedareaimpactmaps instance", + flavor = "c1.large", + vol_data_name = "geoserver-protectedareaimpactmaps_data_volume", + vol_data_size = "70" + } + sdi-lab = { + name = "geoserver-sdi-lab", + description = "Geoserver sdi-lab instance", + flavor = "m1.large", + vol_data_name = "geoserver-sdi-lab_data_volume", + vol_data_size = "100" + } + tunaatlas = { + name = "geoserver-tunaatlas", + description = "Geoserver tunaatlas instance", + flavor = "m1.large", + vol_data_name = "geoserver-tunaatlas_data_volume", + vol_data_size = "60" + } + wecafc-firms = { + name = "geoserver-wecafc-firms", + description = "Geoserver wecafc-firms instance", + flavor = "m1.large", + vol_data_name = "geoserver-wecafc-firms_data_volume", + vol_data_size = "40" + } + aquacultureatlas = { + name = "geoserver-aquacultureatlas", + description = "Geoserver aquacultureatlas instance", + flavor = "m1.large", + vol_data_name = "geoserver-aquacultureatlas_data_volume", + vol_data_size = "50" + } } } From 13a1c585344d75efbfad240a2f0ee95f77a6db01 Mon Sep 17 00:00:00 2001 From: "francesco.mangiacrapa" Date: Fri, 1 Dec 2023 17:49:38 +0100 Subject: [PATCH 3/7] Updated some comments --- .../generic_smartgears_service/inputs.tf | 37 +++++++++++ .../generic_smartgears_service.tf | 3 +- .../ssh-key-ref-outputs.tf.example | 12 ++++ .../modules/timescaledb/timescaledb.tf | 62 +++++++++---------- 4 files changed, 82 insertions(+), 32 deletions(-) create mode 100644 openstack-tf/modules/ssh-key-ref/ssh-key-ref-outputs.tf.example diff --git a/openstack-tf/d4s-dev/generic_smartgears_service/inputs.tf b/openstack-tf/d4s-dev/generic_smartgears_service/inputs.tf index 2768fa6..a6f74fb 100644 --- a/openstack-tf/d4s-dev/generic_smartgears_service/inputs.tf +++ b/openstack-tf/d4s-dev/generic_smartgears_service/inputs.tf @@ -20,6 +20,43 @@ # } +# locals { + +# smartgears_service_instances_map = { +# geoportal_service = { +# name = "geoportal-cms", +# description = "The Geoportal instance", +# flavor = "${var.flavor_list.m1_large}", +# networks = ["d4s-dev-cloud-main", "postgresql-srv-net"], +# security_groups = ["default", "http and https from the load balancers"] +# block_device_uuid = "7ed6a2cd-2b07-482e-8ce4-f018dff16c89" #ubuntu_18_04.uuid of DEV +# }, +# # URI-Resolver instance 1 +# uri_resolver_service_i1 = { +# name = "data", +# description = "The data instance", +# flavor = "m1.medium", +# networks = ["d4s-dev-cloud-main"], +# security_groups = ["default", "http and https from the load balancers"] +# block_device_uuid = "7ed6a2cd-2b07-482e-8ce4-f018dff16c89" #ubuntu_18_04.uuid of DEV +# } +# } +# } + + +# variable "smartgears_service_instances_map" { +# type = map(object({ +# name = string +# description = string +# flavor = string +# networks = list(string) +# security_groups = list(string) +# block_device_uuid = string +# })) +# default = local.smartgears_service_instances_map +# } + + variable "smartgears_service_instances_map" { type = map(object({ name = string diff --git a/openstack-tf/modules/generic_smartgears_service/generic_smartgears_service.tf b/openstack-tf/modules/generic_smartgears_service/generic_smartgears_service.tf index a729e85..31886ac 100644 --- a/openstack-tf/modules/generic_smartgears_service/generic_smartgears_service.tf +++ b/openstack-tf/modules/generic_smartgears_service/generic_smartgears_service.tf @@ -1,4 +1,4 @@ -# Generic martgears_service instance +# Generic smartgears_service instance resource "openstack_compute_instance_v2" "smartgears_service" { for_each = var.smartgears_service_instances_map name = each.value.name @@ -24,3 +24,4 @@ resource "openstack_compute_instance_v2" "smartgears_service" { user_data = file("${var.ubuntu1804_data_file}") } + diff --git a/openstack-tf/modules/ssh-key-ref/ssh-key-ref-outputs.tf.example b/openstack-tf/modules/ssh-key-ref/ssh-key-ref-outputs.tf.example new file mode 100644 index 0000000..f8210f8 --- /dev/null +++ b/openstack-tf/modules/ssh-key-ref/ssh-key-ref-outputs.tf.example @@ -0,0 +1,12 @@ +#This file must be renamed as 'ssh-key-ref-outputs.tf' +#replace the placeholders {YOUR_PRIVATE_KEYNAME} (without .pb) and {YOUR_KEYNAME} with proper values + +output "ssh_key_file" { + value = "~/.ssh/{YOUR_PRIVATE_KEYNAME}" + sensitive = true +} + +output "ssh_key_name" { + value = "{YOUR_KEYNAME}" + sensitive = false +} diff --git a/openstack-tf/modules/timescaledb/timescaledb.tf b/openstack-tf/modules/timescaledb/timescaledb.tf index 95bc8ff..6dbf285 100644 --- a/openstack-tf/modules/timescaledb/timescaledb.tf +++ b/openstack-tf/modules/timescaledb/timescaledb.tf @@ -1,27 +1,27 @@ # TimeScaleDB shared server # Network resource "openstack_networking_network_v2" "timescaledb_net" { - name = var.timescaledb_net.network_name - admin_state_up = "true" - external = "false" - description = var.timescaledb_net.network_description - dns_domain = var.dns_zone.zone_name - mtu = var.mtu_size + name = var.timescaledb_net.network_name + admin_state_up = "true" + external = "false" + description = var.timescaledb_net.network_description + dns_domain = var.dns_zone.zone_name + mtu = var.mtu_size port_security_enabled = true - shared = false - region = var.main_region + shared = false + region = var.main_region } # Subnet resource "openstack_networking_subnet_v2" "timescaledb_subnet" { name = "timescaledb-subnet" - description = "subnet used to connect to the shared TimeScaleDB service" + description = "subnet used to connect to the shared TimeScaleDB service" network_id = openstack_networking_network_v2.timescaledb_net.id cidr = var.timescaledb_net.network_cidr dns_nameservers = var.resolvers_ip - ip_version = 4 - enable_dhcp = true - no_gateway = true + ip_version = 4 + enable_dhcp = true + no_gateway = true allocation_pool { start = var.timescaledb_net.allocation_pool_start end = var.timescaledb_net.allocation_pool_end @@ -30,20 +30,20 @@ resource "openstack_networking_subnet_v2" "timescaledb_subnet" { # Security group resource "openstack_networking_secgroup_v2" "timescaledb_access" { - name = "access_to_the_timescaledb_service" - delete_default_rules = "true" - description = "Access the shared TimeScaleDB service using the dedicated network" + name = "access_to_the_timescaledb_service" + delete_default_rules = "true" + description = "Access the shared TimeScaleDB service using the dedicated network" } resource "openstack_networking_secgroup_rule_v2" "timescaledb_access_from_dedicated_subnet" { - security_group_id = openstack_networking_secgroup_v2.timescaledb_access.id - description = "Allow connections to port 5432 from the 192.168.11.0/24 network" - direction = "ingress" - ethertype = "IPv4" - protocol = "tcp" - port_range_min = 5432 - port_range_max = 5432 - remote_ip_prefix = var.timescaledb_net.network_cidr + security_group_id = openstack_networking_secgroup_v2.timescaledb_access.id + description = "Allow connections to port 5432 from the 192.168.11.0/24 network" + direction = "ingress" + ethertype = "IPv4" + protocol = "tcp" + port_range_min = 5432 + port_range_max = 5432 + remote_ip_prefix = var.timescaledb_net.network_cidr } resource "openstack_compute_servergroup_v2" "timescaledb_cluster" { @@ -53,12 +53,12 @@ resource "openstack_compute_servergroup_v2" "timescaledb_cluster" { # Instances with an additional block device resource "openstack_compute_instance_v2" "timescaledb_server" { - count = var.timescaledb_nodes_count - name = var.timescaledb_server_data.node_name + count = var.timescaledb_nodes_count + name = var.timescaledb_server_data.node_name availability_zone_hints = var.availability_zones_names.availability_zone_no_gpu - flavor_name = var.timescaledb_node_flavor - key_pair = var.ssh_key_file.name - security_groups = [var.default_security_group_name,openstack_networking_secgroup_v2.timescaledb_access.name] + flavor_name = var.timescaledb_node_flavor + key_pair = var.ssh_key_file.name + security_groups = [var.default_security_group_name, openstack_networking_secgroup_v2.timescaledb_access.name] scheduler_hints { group = openstack_compute_servergroup_v2.timescaledb_cluster.id } @@ -83,11 +83,11 @@ resource "openstack_compute_instance_v2" "timescaledb_server" { name = var.main_private_network.name } network { - name = var.timescaledb_net.network_name - fixed_ip_v4 = var.timescaledb_ip.*[count.index] + name = var.timescaledb_net.network_name + fixed_ip_v4 = var.timescaledb_ip.* [count.index] } - user_data = "${file("${var.ubuntu2204_data_file}")}" + user_data = file("${var.ubuntu2204_data_file}") depends_on = [openstack_networking_subnet_v2.timescaledb_subnet] } From 4eb97e4542b1fb5dd6220f1c827d54487e6821c7 Mon Sep 17 00:00:00 2001 From: "francesco.mangiacrapa" Date: Mon, 4 Dec 2023 11:01:16 +0100 Subject: [PATCH 4/7] Added geoportal and uri-resolver projects. Updated generic_smartgears_service --- .../generic_smartgears_service/variables.tf | 1 - .../.terraform.lock.hcl | 0 .../generic_smartgears_service.tf | 0 .../inputs.tf | 64 ++++++++----------- .../main.tf | 0 .../provider.tf | 0 .../d4s-dev/uri-resolver/.terraform.lock.hcl | 24 +++++++ .../generic_smartgears_service.tf | 1 + openstack-tf/d4s-dev/uri-resolver/inputs.tf | 33 ++++++++++ openstack-tf/d4s-dev/uri-resolver/main.tf | 19 ++++++ openstack-tf/d4s-dev/uri-resolver/provider.tf | 3 + .../generic_smartgears_service.tf | 14 +++- .../generic_smartgears_service/outputs.tf | 1 + 13 files changed, 117 insertions(+), 43 deletions(-) delete mode 120000 openstack-tf/d4s-dev/generic_smartgears_service/variables.tf rename openstack-tf/d4s-dev/{generic_smartgears_service => geoportal}/.terraform.lock.hcl (100%) rename openstack-tf/d4s-dev/{generic_smartgears_service => geoportal}/generic_smartgears_service.tf (100%) rename openstack-tf/d4s-dev/{generic_smartgears_service => geoportal}/inputs.tf (76%) rename openstack-tf/d4s-dev/{generic_smartgears_service => geoportal}/main.tf (100%) rename openstack-tf/d4s-dev/{generic_smartgears_service => geoportal}/provider.tf (100%) create mode 100644 openstack-tf/d4s-dev/uri-resolver/.terraform.lock.hcl create mode 120000 openstack-tf/d4s-dev/uri-resolver/generic_smartgears_service.tf create mode 100644 openstack-tf/d4s-dev/uri-resolver/inputs.tf create mode 100644 openstack-tf/d4s-dev/uri-resolver/main.tf create mode 100644 openstack-tf/d4s-dev/uri-resolver/provider.tf create mode 120000 openstack-tf/modules/generic_smartgears_service/outputs.tf diff --git a/openstack-tf/d4s-dev/generic_smartgears_service/variables.tf b/openstack-tf/d4s-dev/generic_smartgears_service/variables.tf deleted file mode 120000 index be9f787..0000000 --- a/openstack-tf/d4s-dev/generic_smartgears_service/variables.tf +++ /dev/null @@ -1 +0,0 @@ -../../modules/common_variables/variables.tf \ No newline at end of file diff --git a/openstack-tf/d4s-dev/generic_smartgears_service/.terraform.lock.hcl b/openstack-tf/d4s-dev/geoportal/.terraform.lock.hcl similarity index 100% rename from openstack-tf/d4s-dev/generic_smartgears_service/.terraform.lock.hcl rename to openstack-tf/d4s-dev/geoportal/.terraform.lock.hcl diff --git a/openstack-tf/d4s-dev/generic_smartgears_service/generic_smartgears_service.tf b/openstack-tf/d4s-dev/geoportal/generic_smartgears_service.tf similarity index 100% rename from openstack-tf/d4s-dev/generic_smartgears_service/generic_smartgears_service.tf rename to openstack-tf/d4s-dev/geoportal/generic_smartgears_service.tf diff --git a/openstack-tf/d4s-dev/generic_smartgears_service/inputs.tf b/openstack-tf/d4s-dev/geoportal/inputs.tf similarity index 76% rename from openstack-tf/d4s-dev/generic_smartgears_service/inputs.tf rename to openstack-tf/d4s-dev/geoportal/inputs.tf index a6f74fb..2468226 100644 --- a/openstack-tf/d4s-dev/generic_smartgears_service/inputs.tf +++ b/openstack-tf/d4s-dev/geoportal/inputs.tf @@ -1,3 +1,28 @@ +#The Geoportal Instance +variable "smartgears_service_instances_map" { + type = map(object({ + name = string + description = string + flavor = string + networks = list(string) + security_groups = list(string) + block_device_uuid = string + })) + default = { + # Geoportal instance + geoportal_service = { + name = "geoportal-cms", + description = "The Geoportal instance", + flavor = "m1_large", + networks = ["d4s-dev-cloud-main", "postgresql-srv-net"], + security_groups = ["default", "http and https from the load balancers"] + block_device_uuid = "7ed6a2cd-2b07-482e-8ce4-f018dff16c89" #ubuntu_18_04.uuid of DEV + } + } + +} + + #Default smartgears_service is EMPTY. Override it to create a proper smartegears plan @@ -57,42 +82,3 @@ # } -variable "smartgears_service_instances_map" { - type = map(object({ - name = string - description = string - flavor = string - networks = list(string) - security_groups = list(string) - block_device_uuid = string - })) - default = { - geoportal_service = { - name = "geoportal-cms", - description = "The Geoportal instance", - flavor = "m1_large", - networks = ["d4s-dev-cloud-main", "postgresql-srv-net"], - security_groups = ["default", "http and https from the load balancers"] - block_device_uuid = "7ed6a2cd-2b07-482e-8ce4-f018dff16c89" #ubuntu_18_04.uuid of DEV - }, - # URI-Resolver instance 1 - uri_resolver_service_i1 = { - name = "data", - description = "The data instance", - flavor = "m1.medium", - networks = ["d4s-dev-cloud-main"], - security_groups = ["default", "http and https from the load balancers"] - block_device_uuid = "7ed6a2cd-2b07-482e-8ce4-f018dff16c89" #ubuntu_18_04.uuid of DEV - }, - # URI-Resolver instance 2 - uri_resolver_service_i2 = { - name = "data1", - description = "The data1 instance", - flavor = "m1.medium", - networks = ["d4s-dev-cloud-main"], - security_groups = ["default", "http and https from the load balancers"] - block_device_uuid = "7ed6a2cd-2b07-482e-8ce4-f018dff16c89" #ubuntu_18_04.uuid of DEV - } - } - -} diff --git a/openstack-tf/d4s-dev/generic_smartgears_service/main.tf b/openstack-tf/d4s-dev/geoportal/main.tf similarity index 100% rename from openstack-tf/d4s-dev/generic_smartgears_service/main.tf rename to openstack-tf/d4s-dev/geoportal/main.tf diff --git a/openstack-tf/d4s-dev/generic_smartgears_service/provider.tf b/openstack-tf/d4s-dev/geoportal/provider.tf similarity index 100% rename from openstack-tf/d4s-dev/generic_smartgears_service/provider.tf rename to openstack-tf/d4s-dev/geoportal/provider.tf diff --git a/openstack-tf/d4s-dev/uri-resolver/.terraform.lock.hcl b/openstack-tf/d4s-dev/uri-resolver/.terraform.lock.hcl new file mode 100644 index 0000000..95c8b6a --- /dev/null +++ b/openstack-tf/d4s-dev/uri-resolver/.terraform.lock.hcl @@ -0,0 +1,24 @@ +# This file is maintained automatically by "terraform init". +# Manual edits may be lost in future updates. + +provider "registry.terraform.io/terraform-provider-openstack/openstack" { + version = "1.53.0" + constraints = "~> 1.53.0" + hashes = [ + "h1:YLGvYkSuagyP5orUTyKNK+JhzS17EFTUDpZ5R5/fFv4=", + "zh:09da7ca98ffd3de7b9ce36c4c13446212a6e763ba1162be71b50f95d453cb68e", + "zh:14041bcbb87312411d88612056ed185650bfd01284b8ea0761ce8105a331708e", + "zh:35bf4c788fdbc17c8e40ebc7b33c7de4b45a2fa2efaa657b10f0e3bd37c9627f", + "zh:46ede8ef4cfa12d654c538afc1e1ec34a1f3e8eb4e986ee23dceae398b7176a6", + "zh:59675734990dab1e8d87997853ea75e8104bba730b3f5a7146ac735540c9d6bf", + "zh:6de52428849806498670e827b54810be7510a2a79449602c1aede4235a0ec036", + "zh:78b2a20601272afceffac8f8ca78a6b647b84196c0dd8dc710fae297f6be15a4", + "zh:7c41ed3a4fac09677e676ecf9f9edd1e38eef449e656cb01a848d2c799c6de8f", + "zh:852800228f4118a4aa6cfaa4468b851247cbed6f037fd204f08de69eb1edc149", + "zh:86d618e7f9a07d978b8bc4b190be350a00de64ec535f9c8f5dfe133542a55483", + "zh:963a9e72b66d8bcf43de9b14a674ae3ca3719ce2f829217f7a65b66fc3773397", + "zh:a8e72ab67795071bda61f99a6de3d2d40122fb51971768fd75e1324abe874ced", + "zh:ce1890cf3af17d569af3bc7673cec0a8f78e6f5d701767593f3d29c551f44848", + "zh:e6f1b96eb684f527a47f71923f268c86a36d7894751b31ee9e726d7502a639cd", + ] +} diff --git a/openstack-tf/d4s-dev/uri-resolver/generic_smartgears_service.tf b/openstack-tf/d4s-dev/uri-resolver/generic_smartgears_service.tf new file mode 120000 index 0000000..b8c2cf1 --- /dev/null +++ b/openstack-tf/d4s-dev/uri-resolver/generic_smartgears_service.tf @@ -0,0 +1 @@ +../../modules/generic_smartgears_service/generic_smartgears_service.tf \ No newline at end of file diff --git a/openstack-tf/d4s-dev/uri-resolver/inputs.tf b/openstack-tf/d4s-dev/uri-resolver/inputs.tf new file mode 100644 index 0000000..f17202c --- /dev/null +++ b/openstack-tf/d4s-dev/uri-resolver/inputs.tf @@ -0,0 +1,33 @@ + +#The URI-Resolver instances +variable "smartgears_service_instances_map" { + type = map(object({ + name = string + description = string + flavor = string + networks = list(string) + security_groups = list(string) + block_device_uuid = string + })) + default = { + # URI-Resolver instance 1 + uri_resolver_service_i1 = { + name = "data", + description = "The data instance", + flavor = "m1.medium", + networks = ["d4s-dev-cloud-main"], + security_groups = ["default", "http and https from the load balancers"] + block_device_uuid = "7ed6a2cd-2b07-482e-8ce4-f018dff16c89" #ubuntu_18_04.uuid of DEV + }, + # URI-Resolver instance 2 + uri_resolver_service_i2 = { + name = "data1", + description = "The data1 instance", + flavor = "m1.medium", + networks = ["d4s-dev-cloud-main"], + security_groups = ["default", "http and https from the load balancers"] + block_device_uuid = "7ed6a2cd-2b07-482e-8ce4-f018dff16c89" #ubuntu_18_04.uuid of DEV + } + } + +} diff --git a/openstack-tf/d4s-dev/uri-resolver/main.tf b/openstack-tf/d4s-dev/uri-resolver/main.tf new file mode 100644 index 0000000..3290183 --- /dev/null +++ b/openstack-tf/d4s-dev/uri-resolver/main.tf @@ -0,0 +1,19 @@ +# Define required providers +terraform { + required_version = ">= 0.14.0" + required_providers { + openstack = { + source = "terraform-provider-openstack/openstack" + version = "~> 1.53.0" + } + } +} + +data "terraform_remote_state" "privnet_dns_router" { + backend = "local" + + config = { + path = "../project-setup/terraform.tfstate" + } +} + diff --git a/openstack-tf/d4s-dev/uri-resolver/provider.tf b/openstack-tf/d4s-dev/uri-resolver/provider.tf new file mode 100644 index 0000000..fa7a121 --- /dev/null +++ b/openstack-tf/d4s-dev/uri-resolver/provider.tf @@ -0,0 +1,3 @@ +provider "openstack" { + cloud = "d4s-dev" +} diff --git a/openstack-tf/modules/generic_smartgears_service/generic_smartgears_service.tf b/openstack-tf/modules/generic_smartgears_service/generic_smartgears_service.tf index 31886ac..c04c39d 100644 --- a/openstack-tf/modules/generic_smartgears_service/generic_smartgears_service.tf +++ b/openstack-tf/modules/generic_smartgears_service/generic_smartgears_service.tf @@ -1,8 +1,17 @@ # Generic smartgears_service instance + +module "ssh_settings" { + source = "../../modules/ssh-key-ref" +} + +module "common_variables" { + source = "../../modules/common_variables" +} + resource "openstack_compute_instance_v2" "smartgears_service" { for_each = var.smartgears_service_instances_map name = each.value.name - availability_zone_hints = var.availability_zones_names.availability_zone_no_gpu + availability_zone_hints = module.common_variables.availability_zone_no_gpu_name flavor_name = each.value.flavor key_pair = module.ssh_settings.ssh_key_name security_groups = each.value.security_groups @@ -22,6 +31,5 @@ resource "openstack_compute_instance_v2" "smartgears_service" { } } - user_data = file("${var.ubuntu1804_data_file}") + user_data = file("${module.common_variables.ubuntu1804_data_file}") } - diff --git a/openstack-tf/modules/generic_smartgears_service/outputs.tf b/openstack-tf/modules/generic_smartgears_service/outputs.tf new file mode 120000 index 0000000..d953b68 --- /dev/null +++ b/openstack-tf/modules/generic_smartgears_service/outputs.tf @@ -0,0 +1 @@ +../common_variables/outputs.tf \ No newline at end of file From 0e61ebb90699524a704899fad0d10e34eeeb098a Mon Sep 17 00:00:00 2001 From: "francesco.mangiacrapa" Date: Mon, 4 Dec 2023 12:17:20 +0100 Subject: [PATCH 5/7] removed unused symbolic link --- openstack-tf/modules/generic_smartgears_service/outputs.tf | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) mode change 120000 => 100644 openstack-tf/modules/generic_smartgears_service/outputs.tf diff --git a/openstack-tf/modules/generic_smartgears_service/outputs.tf b/openstack-tf/modules/generic_smartgears_service/outputs.tf deleted file mode 120000 index d953b68..0000000 --- a/openstack-tf/modules/generic_smartgears_service/outputs.tf +++ /dev/null @@ -1 +0,0 @@ -../common_variables/outputs.tf \ No newline at end of file diff --git a/openstack-tf/modules/generic_smartgears_service/outputs.tf b/openstack-tf/modules/generic_smartgears_service/outputs.tf new file mode 100644 index 0000000..5c320ee --- /dev/null +++ b/openstack-tf/modules/generic_smartgears_service/outputs.tf @@ -0,0 +1,4 @@ + +output "smartgears_service_instances_map" { + value = var.smartgears_service_instances_map +} From 88a15ee0999978072dedee6d3f36b0f7f5c7576b Mon Sep 17 00:00:00 2001 From: "francesco.mangiacrapa" Date: Mon, 4 Dec 2023 12:38:21 +0100 Subject: [PATCH 6/7] Used geoportal as module --- .../geoportal/generic_smartgears_service.tf | 1 - openstack-tf/d4s-dev/geoportal/inputs.tf | 87 +++---------------- openstack-tf/d4s-dev/geoportal/main.tf | 25 ++++++ .../terraform-provider.tf | 11 +++ 4 files changed, 49 insertions(+), 75 deletions(-) delete mode 120000 openstack-tf/d4s-dev/geoportal/generic_smartgears_service.tf create mode 100644 openstack-tf/modules/generic_smartgears_service/terraform-provider.tf diff --git a/openstack-tf/d4s-dev/geoportal/generic_smartgears_service.tf b/openstack-tf/d4s-dev/geoportal/generic_smartgears_service.tf deleted file mode 120000 index b8c2cf1..0000000 --- a/openstack-tf/d4s-dev/geoportal/generic_smartgears_service.tf +++ /dev/null @@ -1 +0,0 @@ -../../modules/generic_smartgears_service/generic_smartgears_service.tf \ No newline at end of file diff --git a/openstack-tf/d4s-dev/geoportal/inputs.tf b/openstack-tf/d4s-dev/geoportal/inputs.tf index 2468226..1b1fe04 100644 --- a/openstack-tf/d4s-dev/geoportal/inputs.tf +++ b/openstack-tf/d4s-dev/geoportal/inputs.tf @@ -1,74 +1,4 @@ -#The Geoportal Instance -variable "smartgears_service_instances_map" { - type = map(object({ - name = string - description = string - flavor = string - networks = list(string) - security_groups = list(string) - block_device_uuid = string - })) - default = { - # Geoportal instance - geoportal_service = { - name = "geoportal-cms", - description = "The Geoportal instance", - flavor = "m1_large", - networks = ["d4s-dev-cloud-main", "postgresql-srv-net"], - security_groups = ["default", "http and https from the load balancers"] - block_device_uuid = "7ed6a2cd-2b07-482e-8ce4-f018dff16c89" #ubuntu_18_04.uuid of DEV - } - } - -} - - - -#Default smartgears_service is EMPTY. Override it to create a proper smartegears plan - -# locals { -# tags = { -# security_group_default = var.security_group_list.default -# security_group_http_and_https_lb = var.security_group_list.http_and_https_from_the_load_balancers -# ubuntu_18_04_instance_uuid = var.ubuntu_1804.uuid -# } -# } - -# locals { -# security_groups_1 = toset([var.security_group_list.default, var.security_group_list.http_and_https_from_the_load_balancers]) -# } - - -# variable "security_groups" { -# type = set(string) -# default = ["${security_group_default}", var.security_group_list.http_and_https_from_the_load_balancers] -# } - - -# locals { - -# smartgears_service_instances_map = { -# geoportal_service = { -# name = "geoportal-cms", -# description = "The Geoportal instance", -# flavor = "${var.flavor_list.m1_large}", -# networks = ["d4s-dev-cloud-main", "postgresql-srv-net"], -# security_groups = ["default", "http and https from the load balancers"] -# block_device_uuid = "7ed6a2cd-2b07-482e-8ce4-f018dff16c89" #ubuntu_18_04.uuid of DEV -# }, -# # URI-Resolver instance 1 -# uri_resolver_service_i1 = { -# name = "data", -# description = "The data instance", -# flavor = "m1.medium", -# networks = ["d4s-dev-cloud-main"], -# security_groups = ["default", "http and https from the load balancers"] -# block_device_uuid = "7ed6a2cd-2b07-482e-8ce4-f018dff16c89" #ubuntu_18_04.uuid of DEV -# } -# } -# } - - +# #The Geoportal Instance # variable "smartgears_service_instances_map" { # type = map(object({ # name = string @@ -78,7 +8,16 @@ variable "smartgears_service_instances_map" { # security_groups = list(string) # block_device_uuid = string # })) -# default = local.smartgears_service_instances_map +# default = { +# # Geoportal instance +# geoportal_service = { +# name = "geoportal-cms", +# description = "The Geoportal instance", +# flavor = "m1_large", +# networks = ["d4s-dev-cloud-main", "postgresql-srv-net"], +# security_groups = ["default", "http and https from the load balancers"] +# block_device_uuid = "7ed6a2cd-2b07-482e-8ce4-f018dff16c89" #ubuntu_18_04.uuid of DEV +# } +# } + # } - - diff --git a/openstack-tf/d4s-dev/geoportal/main.tf b/openstack-tf/d4s-dev/geoportal/main.tf index e3df3d8..eabcff0 100644 --- a/openstack-tf/d4s-dev/geoportal/main.tf +++ b/openstack-tf/d4s-dev/geoportal/main.tf @@ -16,3 +16,28 @@ data "terraform_remote_state" "privnet_dns_router" { path = "../project-setup/terraform.tfstate" } } + + +module "smartgears_service_generic" { + source = "../../modules/generic_smartgears_service" + + smartgears_service_instances_map = { + geoportal_service = { + name = "geoportal-cms", + description = "The Geoportal instance", + flavor = "m1.medium", + networks = ["d4s-dev-cloud-main", "postgresql-srv-net"], + security_groups = ["default", "http and https from the load balancers"] + block_device_uuid = "7ed6a2cd-2b07-482e-8ce4-f018dff16c89" #ubuntu_18_04.uuid of DEV + }, + # URI-Resolver instance 1 + uri_resolver_service_i1 = { + name = "data", + description = "The data instance", + flavor = "m1.medium", + networks = ["d4s-dev-cloud-main"], + security_groups = ["default", "http and https from the load balancers"] + block_device_uuid = "7ed6a2cd-2b07-482e-8ce4-f018dff16c89" #ubuntu_18_04.uuid of DEV + } + } +} diff --git a/openstack-tf/modules/generic_smartgears_service/terraform-provider.tf b/openstack-tf/modules/generic_smartgears_service/terraform-provider.tf new file mode 100644 index 0000000..a4b36e6 --- /dev/null +++ b/openstack-tf/modules/generic_smartgears_service/terraform-provider.tf @@ -0,0 +1,11 @@ +# Define required providers +terraform { +required_version = ">= 0.14.0" + required_providers { + openstack = { + source = "terraform-provider-openstack/openstack" + version = "~> 1.53.0" + } + } +} + From 32c0d4630085ac975e892e9a0a0ec7851db7c6ce Mon Sep 17 00:00:00 2001 From: "francesco.mangiacrapa" Date: Mon, 4 Dec 2023 12:45:45 +0100 Subject: [PATCH 7/7] Passe uri-resolver to module within generic_smartgears_service --- openstack-tf/d4s-dev/geoportal/inputs.tf | 23 ------------- openstack-tf/d4s-dev/geoportal/main.tf | 9 ----- .../generic_smartgears_service.tf | 1 - openstack-tf/d4s-dev/uri-resolver/inputs.tf | 33 ------------------- openstack-tf/d4s-dev/uri-resolver/main.tf | 26 +++++++++++++++ 5 files changed, 26 insertions(+), 66 deletions(-) delete mode 100644 openstack-tf/d4s-dev/geoportal/inputs.tf delete mode 120000 openstack-tf/d4s-dev/uri-resolver/generic_smartgears_service.tf delete mode 100644 openstack-tf/d4s-dev/uri-resolver/inputs.tf diff --git a/openstack-tf/d4s-dev/geoportal/inputs.tf b/openstack-tf/d4s-dev/geoportal/inputs.tf deleted file mode 100644 index 1b1fe04..0000000 --- a/openstack-tf/d4s-dev/geoportal/inputs.tf +++ /dev/null @@ -1,23 +0,0 @@ -# #The Geoportal Instance -# variable "smartgears_service_instances_map" { -# type = map(object({ -# name = string -# description = string -# flavor = string -# networks = list(string) -# security_groups = list(string) -# block_device_uuid = string -# })) -# default = { -# # Geoportal instance -# geoportal_service = { -# name = "geoportal-cms", -# description = "The Geoportal instance", -# flavor = "m1_large", -# networks = ["d4s-dev-cloud-main", "postgresql-srv-net"], -# security_groups = ["default", "http and https from the load balancers"] -# block_device_uuid = "7ed6a2cd-2b07-482e-8ce4-f018dff16c89" #ubuntu_18_04.uuid of DEV -# } -# } - -# } diff --git a/openstack-tf/d4s-dev/geoportal/main.tf b/openstack-tf/d4s-dev/geoportal/main.tf index eabcff0..4755adb 100644 --- a/openstack-tf/d4s-dev/geoportal/main.tf +++ b/openstack-tf/d4s-dev/geoportal/main.tf @@ -29,15 +29,6 @@ module "smartgears_service_generic" { networks = ["d4s-dev-cloud-main", "postgresql-srv-net"], security_groups = ["default", "http and https from the load balancers"] block_device_uuid = "7ed6a2cd-2b07-482e-8ce4-f018dff16c89" #ubuntu_18_04.uuid of DEV - }, - # URI-Resolver instance 1 - uri_resolver_service_i1 = { - name = "data", - description = "The data instance", - flavor = "m1.medium", - networks = ["d4s-dev-cloud-main"], - security_groups = ["default", "http and https from the load balancers"] - block_device_uuid = "7ed6a2cd-2b07-482e-8ce4-f018dff16c89" #ubuntu_18_04.uuid of DEV } } } diff --git a/openstack-tf/d4s-dev/uri-resolver/generic_smartgears_service.tf b/openstack-tf/d4s-dev/uri-resolver/generic_smartgears_service.tf deleted file mode 120000 index b8c2cf1..0000000 --- a/openstack-tf/d4s-dev/uri-resolver/generic_smartgears_service.tf +++ /dev/null @@ -1 +0,0 @@ -../../modules/generic_smartgears_service/generic_smartgears_service.tf \ No newline at end of file diff --git a/openstack-tf/d4s-dev/uri-resolver/inputs.tf b/openstack-tf/d4s-dev/uri-resolver/inputs.tf deleted file mode 100644 index f17202c..0000000 --- a/openstack-tf/d4s-dev/uri-resolver/inputs.tf +++ /dev/null @@ -1,33 +0,0 @@ - -#The URI-Resolver instances -variable "smartgears_service_instances_map" { - type = map(object({ - name = string - description = string - flavor = string - networks = list(string) - security_groups = list(string) - block_device_uuid = string - })) - default = { - # URI-Resolver instance 1 - uri_resolver_service_i1 = { - name = "data", - description = "The data instance", - flavor = "m1.medium", - networks = ["d4s-dev-cloud-main"], - security_groups = ["default", "http and https from the load balancers"] - block_device_uuid = "7ed6a2cd-2b07-482e-8ce4-f018dff16c89" #ubuntu_18_04.uuid of DEV - }, - # URI-Resolver instance 2 - uri_resolver_service_i2 = { - name = "data1", - description = "The data1 instance", - flavor = "m1.medium", - networks = ["d4s-dev-cloud-main"], - security_groups = ["default", "http and https from the load balancers"] - block_device_uuid = "7ed6a2cd-2b07-482e-8ce4-f018dff16c89" #ubuntu_18_04.uuid of DEV - } - } - -} diff --git a/openstack-tf/d4s-dev/uri-resolver/main.tf b/openstack-tf/d4s-dev/uri-resolver/main.tf index 3290183..ac1cd99 100644 --- a/openstack-tf/d4s-dev/uri-resolver/main.tf +++ b/openstack-tf/d4s-dev/uri-resolver/main.tf @@ -17,3 +17,29 @@ data "terraform_remote_state" "privnet_dns_router" { } } + +module "smartgears_service_generic" { + source = "../../modules/generic_smartgears_service" + + smartgears_service_instances_map = { + uri_resolver_service_i1 = { + name = "data", + description = "The data instance", + flavor = "m1.medium", + networks = ["d4s-dev-cloud-main"], + security_groups = ["default", "http and https from the load balancers"] + block_device_uuid = "7ed6a2cd-2b07-482e-8ce4-f018dff16c89" #ubuntu_18_04.uuid of DEV + }, + # URI-Resolver instance 2 + uri_resolver_service_i2 = { + name = "data1", + description = "The data1 instance", + flavor = "m1.medium", + networks = ["d4s-dev-cloud-main"], + security_groups = ["default", "http and https from the load balancers"] + block_device_uuid = "7ed6a2cd-2b07-482e-8ce4-f018dff16c89" #ubuntu_18_04.uuid of DEV + } + } +} + +