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