diff --git a/openstack-tf/d4s-production/storagehub/main.tf b/openstack-tf/d4s-production/storagehub/main.tf new file mode 100644 index 0000000..53aae7e --- /dev/null +++ b/openstack-tf/d4s-production/storagehub/main.tf @@ -0,0 +1,177 @@ +# 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" + } +} + +# +# Uses common_variables as module +# +module "common_variables" { + source = "../../modules/common_variables" +} + +# Module used +module "ssh_settings" { + source = "../../modules/ssh-key-ref" +} + +resource "openstack_blockstorage_volume_v3" "storagehub_prod_data_volume" { + count = 2 + name = format("storagehub%01d_data_volume", count.index + 1) + size = "120" +} + +resource "openstack_blockstorage_volume_v3" "storagehub_prod_temp_volume" { + count = 2 + name = format("storagehub%01d_temp_volume", count.index + 1) + size = "80" +} + +# Instances +resource "openstack_compute_instance_v2" "storagehub1_prod" { + name = "storagehub1" + availability_zone_hints = module.common_variables.availability_zone_no_gpu_name + flavor_name = module.common_variables.flavor_list.m1_xlarge + key_pair = module.ssh_settings.ssh_key_name + security_groups = [data.terraform_remote_state.privnet_dns_router.outputs.default_security_group_name, data.terraform_remote_state.privnet_dns_router.outputs.security_group_list.http_and_https_from_the_load_balancers] + block_device { + uuid = module.common_variables.ubuntu_1804.uuid + source_type = "image" + volume_size = 40 + boot_index = 0 + destination_type = "volume" + delete_on_termination = false + } + + # Creates the networks according to input networks + dynamic "network" { + for_each = toset([data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.name, module.common_variables.networks_list.shared_postgresql]) + content { + name = network.value + } + } + + + # user_data script used + user_data = file("${module.common_variables.ubuntu_1804.user_data_file}") + # Do not replace the instance when the ssh key changes + lifecycle { + ignore_changes = [ + # Ignore changes to tags, e.g. because a management agent + # updates these based on some ruleset managed elsewhere. + key_pair, user_data, network + ] + } +} + +resource "openstack_compute_instance_v2" "storagehub2_prod" { + name = "storagehub2" + availability_zone_hints = module.common_variables.availability_zone_no_gpu_name + flavor_name = module.common_variables.flavor_list.m1_xlarge + key_pair = module.ssh_settings.ssh_key_name + security_groups = [data.terraform_remote_state.privnet_dns_router.outputs.default_security_group_name, data.terraform_remote_state.privnet_dns_router.outputs.security_group_list.http_and_https_from_the_load_balancers] + block_device { + uuid = module.common_variables.ubuntu_1804.uuid + source_type = "image" + volume_size = 40 + boot_index = 0 + destination_type = "volume" + delete_on_termination = false + } + + # Creates the networks according to input networks + dynamic "network" { + for_each = toset([data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.name, module.common_variables.networks_list.shared_postgresql]) + content { + name = network.value + } + } + + + # user_data script used + user_data = file("${module.common_variables.ubuntu_1804.user_data_file}") + # Do not replace the instance when the ssh key changes + lifecycle { + ignore_changes = [ + # Ignore changes to tags, e.g. because a management agent + # updates these based on some ruleset managed elsewhere. + key_pair, user_data, network + ] + } +} + + + +resource "openstack_compute_volume_attach_v2" "storagehub1_attach_1" { + instance_id = openstack_compute_instance_v2.storagehub1_prod.id + volume_id = openstack_blockstorage_volume_v3.storagehub_prod_data_volume.0.id + device = "/dev/vdb" +} + +resource "openstack_compute_volume_attach_v2" "storagehub1_attach_2" { + instance_id = openstack_compute_instance_v2.storagehub1_prod.id + volume_id = openstack_blockstorage_volume_v3.storagehub_prod_temp_volume.0.id + device = "/dev/vdc" + + depends_on = [openstack_compute_volume_attach_v2.storagehub1_attach_1] +} + +resource "openstack_compute_volume_attach_v2" "storagehub2_attach_1" { + instance_id = openstack_compute_instance_v2.storagehub2_prod.id + volume_id = openstack_blockstorage_volume_v3.storagehub_prod_data_volume.1.id + device = "/dev/vdb" +} + +resource "openstack_compute_volume_attach_v2" "storagehub2_attach_2" { + instance_id = openstack_compute_instance_v2.storagehub2_prod.id + volume_id = openstack_blockstorage_volume_v3.storagehub_prod_temp_volume.1.id + device = "/dev/vdc" + + depends_on = [openstack_compute_volume_attach_v2.storagehub2_attach_1] +} + + + +locals { + cname_target = "main-lb.${data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name}" +} + +# +# Add DNS record/s +# +module "dns_records_create" { + source = "../../modules/dns_resources" + + dns_resources_map = { + storagehub1 = { + zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id + name = join(".", ["storagehub1", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name]) + description = "StorageHub1" + ttl = 8600 + type = "CNAME" + records = [local.cname_target] + }, + storagehub2 = { + zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id + name = join(".", ["storagehub2", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name]) + description = "StorageHub2" + ttl = 8600 + type = "CNAME" + records = [local.cname_target] + } + } +} \ No newline at end of file diff --git a/openstack-tf/d4s-production/storagehub/provider.tf b/openstack-tf/d4s-production/storagehub/provider.tf new file mode 100644 index 0000000..ca8de74 --- /dev/null +++ b/openstack-tf/d4s-production/storagehub/provider.tf @@ -0,0 +1,3 @@ +provider "openstack" { + cloud = "d4s-production" +} diff --git a/openstack-tf/d4s-production/storagehub/terraform.tfstate b/openstack-tf/d4s-production/storagehub/terraform.tfstate new file mode 100644 index 0000000..87efc94 --- /dev/null +++ b/openstack-tf/d4s-production/storagehub/terraform.tfstate @@ -0,0 +1,874 @@ +{ + "version": 4, + "terraform_version": "1.6.4", + "serial": 12, + "lineage": "2fcb0d7a-4633-fecf-ab9f-0551f8d16805", + "outputs": {}, + "resources": [ + { + "mode": "data", + "type": "terraform_remote_state", + "name": "privnet_dns_router", + "provider": "provider[\"terraform.io/builtin/terraform\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "backend": "local", + "config": { + "value": { + "path": "../project-setup/terraform.tfstate" + }, + "type": [ + "object", + { + "path": "string" + } + ] + }, + "defaults": null, + "outputs": { + "value": { + "almalinux_9": { + "name": "AlmaLinux-9.0-20220718", + "uuid": "541650fc-dd19-4f38-bb1d-7333ed9dd688" + }, + "availability_zone_no_gpu_name": "cnr-isti-nova-a", + "availability_zone_with_gpu_name": "cnr-isti-nova-gpu-a", + "availability_zones_names": { + "availability_zone_no_gpu": "cnr-isti-nova-a", + "availability_zone_with_gpu": "cnr-isti-nova-gpu-a" + }, + "basic_services_ip": { + "ca": "10.1.40.4", + "ca_cidr": "10.1.40.4/32", + "haproxy_l7_1": "10.1.40.11", + "haproxy_l7_1_cidr": "10.1.40.11/32", + "haproxy_l7_2": "10.1.40.12", + "haproxy_l7_2_cidr": "10.1.40.12/32", + "octavia_main": "10.1.40.20", + "octavia_main_cidr": "10.1.40.20/32", + "prometheus": "10.1.40.10", + "prometheus_cidr": "10.1.40.10/32", + "ssh_jump": "10.1.40.5", + "ssh_jump_cidr": "10.1.40.5/32" + }, + "centos_7": { + "name": "CentOS-7", + "uuid": "f0187a99-64f6-462a-ab5f-ef52fe62f2ca" + }, + "default_security_group_name": "default_for_all", + "dns_zone": { + "description": "DNS primary zone for the d4s-production-cloud project", + "email": "postmaster@isti.cnr.it", + "ttl": "8600", + "zone_name": "cloud.d4science.org." + }, + "dns_zone_id": "74135b34-1a9c-4c01-8cf0-22450a5660c4", + "el7_data_file": "../../openstack_vm_data_scripts/el7.sh", + "external_gateway_ip": [ + { + "ip_address": "146.48.31.57", + "subnet_id": "57f87509-4016-46fb-b8c3-25fca7f72ccb" + } + ], + "external_network": { + "id": "1d2ff137-6ff7-4017-be2b-0d6c4af2353b", + "name": "external-network" + }, + "external_network_id": "1d2ff137-6ff7-4017-be2b-0d6c4af2353b", + "external_router": { + "description": "D4Science Production main router", + "id": "cc26064a-bb08-4c0b-929f-d0cb39f934a3", + "name": "d4s-production-cloud-external-router" + }, + "flavor_list": { + "c1_large": "c1.large", + "c1_medium": "c1.medium", + "c1_small": "c1.small", + "c2_large": "c2.large", + "m1_large": "m1.large", + "m1_medium": "m1.medium", + "m1_xlarge": "m1.xlarge", + "m1_xxl": "m1.xxl", + "m2_large": "m2.large", + "m2_medium": "m2.medium", + "m2_small": "m2.small", + "m3_large": "m3.large" + }, + "floating_ip_pools": { + "main_public_ip_pool": "external-network" + }, + "haproxy_l7_data": { + "flavor": "m1.medium", + "haproxy_1": "haproxy-l7-1", + "haproxy_2": "haproxy-l7-2", + "name": "main-haproxy-l7", + "vm_count": "2" + }, + "internal_ca_data": { + "flavor": "m1.small", + "name": "ca" + }, + "main_haproxy_l7_ip": [ + "10.1.40.11", + "10.1.40.12" + ], + "main_private_network": { + "description": "D4Science Production private network (use this as the main network)", + "name": "d4s-production-cloud-main" + }, + "main_private_network_id": "020df98d-ae72-452a-b376-3b6dc289acac", + "main_private_subnet": { + "allocation_end": "10.1.47.254", + "allocation_start": "10.1.41.100", + "cidr": "10.1.40.0/21", + "description": "D4Science Production main private subnet", + "gateway_ip": "10.1.40.1", + "name": "d4s-production-cloud-main-subnet" + }, + "main_region": "isti_area_pi_1", + "main_subnet_network_id": "5d7b83ad-e058-4a3a-bfd8-d20ba6d42e1a", + "mtu_size": 8942, + "networks_list": { + "cassandra": "cassandra-net", + "orientdb": "orientdb-net", + "orientdb_se": "orientdb-se-net", + "shared_postgresql": "postgresql-srv-net", + "swarm": "swarm-nfs-net", + "timescaledb": "timescaledb-net" + }, + "networks_with_d4s_services": { + "garr_ct1_net": "90.147.166.0/23", + "garr_na_net": "90.147.152.0/24", + "garr_pa1_net": "90.147.188.0/23", + "infrascience_net": "146.48.122.0/23", + "isti_net": "146.48.80.0/21", + "s2i2s_net": "146.48.28.0/22" + }, + "nfs_share_no_ingress_secgroup_id": "167e4897-f776-4cbd-986f-77313aa68af2", + "octavia_information": { + "main_lb_description": "Main L4 load balancer for the D4Science production", + "main_lb_hostname": "main-lb", + "main_lb_name": "d4s-production-cloud-l4-load-balancer", + "octavia_flavor": "octavia_amphora-mvcpu-ha", + "octavia_flavor_id": "394988b5-6603-4a1e-a939-8e177c6681c7", + "swarm_lb_name": "d4s-production-cloud-l4-swarm-load-balancer" + }, + "os_project_data": { + "id": "1b45adf388934758b56d0dfdb4bfacf3" + }, + "policy_list": { + "affinity": "affinity", + "anti_affinity": "anti-affinity", + "soft_affinity": "soft-affinity", + "soft_anti_affinity": "soft-anti-affinity" + }, + "prometheus_server_data": { + "flavor": "m1.medium", + "name": "prometheus", + "public_grafana_server_cidr": "146.48.28.103/32", + "vol_data_device": "/dev/vdb", + "vol_data_name": "prometheus-data", + "vol_data_size": "100" + }, + "resolvers_ip": [ + "146.48.29.97", + "146.48.29.98", + "146.48.29.99" + ], + "resource_registry_addresses": {}, + "security_group_list": { + "acaland": "acaland's dev machine", + "access_to_orientdb": "access_to_orientdb", + "access_to_orientdb_se": "access_to_orientdb_se", + "access_to_the_timescaledb_service": "access_to_the_timescaledb_service", + "cassandra": "Cassandra", + "dataminer-publish": "dataminer-publish", + "debugging_from_jump_node": "debugging_from_jump_node", + "default": "default", + "docker_swarm": "Docker Swarm", + "docker_swarm_NFS": "Docker Swarm NFS", + "haproxy": "traffic_from_main_lb_to_haproxy_l7", + "http_and_https_from_the_load_balancers": "traffic_from_the_main_load_balancers", + "limited_HTTPS_access": "restricted_web_service", + "limited_SSH_access": "Limited SSH access", + "mongo": "mongo", + "nfs_share_no_ingress": "nfs_share_no_ingress", + "orientdb_internal_docker_traffic": "orientdb_internal_docker_traffic", + "postgreSQL": "PostgreSQL service", + "public_HTTPS": "Public HTTPS" + }, + "shared_postgresql_server_data": { + "allocation_pool_end": "192.168.3.254", + "allocation_pool_start": "192.168.0.100", + "flavor": "m1.medium", + "name": "shared-postgresql-server", + "network_cidr": "192.168.0.0/22", + "network_description": "Network used to communicate with the shared postgresql service", + "network_name": "postgresql-srv-net", + "server_cidr": "192.168.0.5/22", + "server_ip": "192.168.0.5", + "vol_data_device": "/dev/vdb", + "vol_data_name": "shared-postgresql-data", + "vol_data_size": "100" + }, + "smartexecutor_addresses": {}, + "ssh_jump_proxy": { + "flavor": "m2.small", + "name": "ssh-jump-proxy" + }, + "ssh_sources": { + "d4s_vpn_1_cidr": "146.48.122.27/32", + "d4s_vpn_2_cidr": "146.48.122.49/32", + "infrascience_net_cidr": "146.48.122.0/23", + "s2i2s_vpn_1_cidr": "146.48.28.10/32", + "s2i2s_vpn_2_cidr": "146.48.28.11/32", + "shell_d4s_cidr": "146.48.122.95/32" + }, + "storage_nfs_network_id": "5f4023cc-4016-404c-94e5-86220095fbaf", + "storage_nfs_subnet_id": "6ff0f9e8-0e74-4cc3-a268-7ed4af435696", + "ubuntu1804_data_file": "../../openstack_vm_data_scripts/ubuntu1804.sh", + "ubuntu2204_data_file": "../../openstack_vm_data_scripts/ubuntu2204.sh", + "ubuntu_1804": { + "name": "Ubuntu-Bionic-18.04", + "user_data_file": "../../openstack_vm_data_scripts/ubuntu1804.sh", + "uuid": "7ed6a2cd-2b07-482e-8ce4-f018dff16c89" + }, + "ubuntu_2204": { + "name": "Ubuntu-Jammy-22.04", + "user_data_file": "../../openstack_vm_data_scripts/ubuntu2204.sh", + "uuid": "54768889-8556-4be4-a2eb-82a4d9b34627" + } + }, + "type": [ + "object", + { + "almalinux_9": [ + "map", + "string" + ], + "availability_zone_no_gpu_name": "string", + "availability_zone_with_gpu_name": "string", + "availability_zones_names": [ + "map", + "string" + ], + "basic_services_ip": [ + "map", + "string" + ], + "centos_7": [ + "map", + "string" + ], + "default_security_group_name": "string", + "dns_zone": [ + "map", + "string" + ], + "dns_zone_id": "string", + "el7_data_file": "string", + "external_gateway_ip": [ + "list", + [ + "object", + { + "ip_address": "string", + "subnet_id": "string" + } + ] + ], + "external_network": [ + "map", + "string" + ], + "external_network_id": "string", + "external_router": [ + "map", + "string" + ], + "flavor_list": [ + "map", + "string" + ], + "floating_ip_pools": [ + "map", + "string" + ], + "haproxy_l7_data": [ + "map", + "string" + ], + "internal_ca_data": [ + "map", + "string" + ], + "main_haproxy_l7_ip": [ + "list", + "string" + ], + "main_private_network": [ + "map", + "string" + ], + "main_private_network_id": "string", + "main_private_subnet": [ + "map", + "string" + ], + "main_region": "string", + "main_subnet_network_id": "string", + "mtu_size": "number", + "networks_list": [ + "map", + "string" + ], + "networks_with_d4s_services": [ + "map", + "string" + ], + "nfs_share_no_ingress_secgroup_id": "string", + "octavia_information": [ + "map", + "string" + ], + "os_project_data": [ + "map", + "string" + ], + "policy_list": [ + "map", + "string" + ], + "prometheus_server_data": [ + "map", + "string" + ], + "resolvers_ip": [ + "list", + "string" + ], + "resource_registry_addresses": [ + "map", + "string" + ], + "security_group_list": [ + "map", + "string" + ], + "shared_postgresql_server_data": [ + "map", + "string" + ], + "smartexecutor_addresses": [ + "map", + "string" + ], + "ssh_jump_proxy": [ + "map", + "string" + ], + "ssh_sources": [ + "map", + "string" + ], + "storage_nfs_network_id": "string", + "storage_nfs_subnet_id": "string", + "ubuntu1804_data_file": "string", + "ubuntu2204_data_file": "string", + "ubuntu_1804": [ + "map", + "string" + ], + "ubuntu_2204": [ + "map", + "string" + ] + } + ] + }, + "workspace": null + }, + "sensitive_attributes": [] + } + ] + }, + { + "mode": "managed", + "type": "openstack_blockstorage_volume_v3", + "name": "storagehub_prod_data_volume", + "provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]", + "instances": [ + { + "index_key": 0, + "schema_version": 0, + "attributes": { + "attachment": [], + "availability_zone": "nova", + "consistency_group_id": null, + "description": "", + "enable_online_resize": null, + "id": "9287ce45-8c5e-461c-950c-769765f8ec4d", + "image_id": null, + "metadata": {}, + "multiattach": null, + "name": "storagehub1_data_volume", + "region": "isti_area_pi_1", + "scheduler_hints": [], + "size": 120, + "snapshot_id": "", + "source_replica": null, + "source_vol_id": "", + "timeouts": null, + "volume_type": "cephUnencrypted" + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwfX0=" + }, + { + "index_key": 1, + "schema_version": 0, + "attributes": { + "attachment": [], + "availability_zone": "nova", + "consistency_group_id": null, + "description": "", + "enable_online_resize": null, + "id": "392e7062-f02c-483f-a8c5-6caffa7ce201", + "image_id": null, + "metadata": {}, + "multiattach": null, + "name": "storagehub2_data_volume", + "region": "isti_area_pi_1", + "scheduler_hints": [], + "size": 120, + "snapshot_id": "", + "source_replica": null, + "source_vol_id": "", + "timeouts": null, + "volume_type": "cephUnencrypted" + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwfX0=" + } + ] + }, + { + "mode": "managed", + "type": "openstack_blockstorage_volume_v3", + "name": "storagehub_prod_temp_volume", + "provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]", + "instances": [ + { + "index_key": 0, + "schema_version": 0, + "attributes": { + "attachment": [], + "availability_zone": "nova", + "consistency_group_id": null, + "description": "", + "enable_online_resize": null, + "id": "08a1870c-2867-44ad-81c3-de0ed1b851d1", + "image_id": null, + "metadata": {}, + "multiattach": null, + "name": "storagehub1_temp_volume", + "region": "isti_area_pi_1", + "scheduler_hints": [], + "size": 80, + "snapshot_id": "", + "source_replica": null, + "source_vol_id": "", + "timeouts": null, + "volume_type": "cephUnencrypted" + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwfX0=" + }, + { + "index_key": 1, + "schema_version": 0, + "attributes": { + "attachment": [], + "availability_zone": "nova", + "consistency_group_id": null, + "description": "", + "enable_online_resize": null, + "id": "4072259f-11c2-4ef7-b149-be1a04b4ca12", + "image_id": null, + "metadata": {}, + "multiattach": null, + "name": "storagehub2_temp_volume", + "region": "isti_area_pi_1", + "scheduler_hints": [], + "size": 80, + "snapshot_id": "", + "source_replica": null, + "source_vol_id": "", + "timeouts": null, + "volume_type": "cephUnencrypted" + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwfX0=" + } + ] + }, + { + "mode": "managed", + "type": "openstack_compute_instance_v2", + "name": "storagehub1_prod", + "provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "access_ip_v4": "10.1.43.226", + "access_ip_v6": "", + "admin_pass": null, + "all_metadata": {}, + "all_tags": [], + "availability_zone": "cnr-isti-nova-a", + "availability_zone_hints": "cnr-isti-nova-a", + "block_device": [ + { + "boot_index": 0, + "delete_on_termination": false, + "destination_type": "volume", + "device_type": "", + "disk_bus": "", + "guest_format": "", + "multiattach": false, + "source_type": "image", + "uuid": "7ed6a2cd-2b07-482e-8ce4-f018dff16c89", + "volume_size": 40, + "volume_type": "" + } + ], + "config_drive": null, + "created": "2024-02-06 16:25:56 +0000 UTC", + "flavor_id": "14", + "flavor_name": "m1.xlarge", + "floating_ip": null, + "force_delete": false, + "id": "9daff67b-8a3b-4c7e-8cdd-0fc21cf25599", + "image_id": "Attempt to boot from volume - no image supplied", + "image_name": null, + "key_pair": "Giancarlo Panichi", + "metadata": null, + "name": "storagehub1", + "network": [ + { + "access_network": false, + "fixed_ip_v4": "10.1.43.226", + "fixed_ip_v6": "", + "floating_ip": "", + "mac": "fa:16:3e:e0:a7:20", + "name": "d4s-production-cloud-main", + "port": "", + "uuid": "020df98d-ae72-452a-b376-3b6dc289acac" + }, + { + "access_network": false, + "fixed_ip_v4": "192.168.3.96", + "fixed_ip_v6": "", + "floating_ip": "", + "mac": "fa:16:3e:46:89:c3", + "name": "postgresql-srv-net", + "port": "", + "uuid": "f6450bc8-1345-4b52-8f34-2903c0cca7f8" + } + ], + "network_mode": null, + "personality": [], + "power_state": "active", + "region": "isti_area_pi_1", + "scheduler_hints": [], + "security_groups": [ + "default_for_all", + "traffic_from_the_main_load_balancers" + ], + "stop_before_destroy": false, + "tags": null, + "timeouts": null, + "updated": "2024-02-06 16:26:45 +0000 UTC", + "user_data": "47d4769e61324c305c4b70ed6673de4fad84150d", + "vendor_options": [], + "volume": [] + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxODAwMDAwMDAwMDAwLCJkZWxldGUiOjE4MDAwMDAwMDAwMDAsInVwZGF0ZSI6MTgwMDAwMDAwMDAwMH19", + "dependencies": [ + "data.terraform_remote_state.privnet_dns_router" + ] + } + ] + }, + { + "mode": "managed", + "type": "openstack_compute_instance_v2", + "name": "storagehub2_prod", + "provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "access_ip_v4": "10.1.43.88", + "access_ip_v6": "", + "admin_pass": null, + "all_metadata": {}, + "all_tags": [], + "availability_zone": "cnr-isti-nova-a", + "availability_zone_hints": "cnr-isti-nova-a", + "block_device": [ + { + "boot_index": 0, + "delete_on_termination": false, + "destination_type": "volume", + "device_type": "", + "disk_bus": "", + "guest_format": "", + "multiattach": false, + "source_type": "image", + "uuid": "7ed6a2cd-2b07-482e-8ce4-f018dff16c89", + "volume_size": 40, + "volume_type": "" + } + ], + "config_drive": null, + "created": "2024-02-06 16:25:57 +0000 UTC", + "flavor_id": "14", + "flavor_name": "m1.xlarge", + "floating_ip": null, + "force_delete": false, + "id": "3aa1326a-773a-4f19-8fdb-b4c691d6b251", + "image_id": "Attempt to boot from volume - no image supplied", + "image_name": null, + "key_pair": "Giancarlo Panichi", + "metadata": null, + "name": "storagehub2", + "network": [ + { + "access_network": false, + "fixed_ip_v4": "10.1.43.88", + "fixed_ip_v6": "", + "floating_ip": "", + "mac": "fa:16:3e:90:9d:d3", + "name": "d4s-production-cloud-main", + "port": "", + "uuid": "020df98d-ae72-452a-b376-3b6dc289acac" + }, + { + "access_network": false, + "fixed_ip_v4": "192.168.1.37", + "fixed_ip_v6": "", + "floating_ip": "", + "mac": "fa:16:3e:31:18:89", + "name": "postgresql-srv-net", + "port": "", + "uuid": "f6450bc8-1345-4b52-8f34-2903c0cca7f8" + } + ], + "network_mode": null, + "personality": [], + "power_state": "active", + "region": "isti_area_pi_1", + "scheduler_hints": [], + "security_groups": [ + "default_for_all", + "traffic_from_the_main_load_balancers" + ], + "stop_before_destroy": false, + "tags": null, + "timeouts": null, + "updated": "2024-02-06 16:26:48 +0000 UTC", + "user_data": "47d4769e61324c305c4b70ed6673de4fad84150d", + "vendor_options": [], + "volume": [] + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxODAwMDAwMDAwMDAwLCJkZWxldGUiOjE4MDAwMDAwMDAwMDAsInVwZGF0ZSI6MTgwMDAwMDAwMDAwMH19", + "dependencies": [ + "data.terraform_remote_state.privnet_dns_router" + ] + } + ] + }, + { + "mode": "managed", + "type": "openstack_compute_volume_attach_v2", + "name": "storagehub1_attach_1", + "provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "device": "/dev/vdb", + "id": "9daff67b-8a3b-4c7e-8cdd-0fc21cf25599/9287ce45-8c5e-461c-950c-769765f8ec4d", + "instance_id": "9daff67b-8a3b-4c7e-8cdd-0fc21cf25599", + "multiattach": null, + "region": "isti_area_pi_1", + "timeouts": null, + "vendor_options": [], + "volume_id": "9287ce45-8c5e-461c-950c-769765f8ec4d" + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwfX0=", + "dependencies": [ + "data.terraform_remote_state.privnet_dns_router", + "openstack_blockstorage_volume_v3.storagehub_prod_data_volume", + "openstack_compute_instance_v2.storagehub1_prod" + ] + } + ] + }, + { + "mode": "managed", + "type": "openstack_compute_volume_attach_v2", + "name": "storagehub1_attach_2", + "provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "device": "/dev/vdc", + "id": "9daff67b-8a3b-4c7e-8cdd-0fc21cf25599/08a1870c-2867-44ad-81c3-de0ed1b851d1", + "instance_id": "9daff67b-8a3b-4c7e-8cdd-0fc21cf25599", + "multiattach": null, + "region": "isti_area_pi_1", + "timeouts": null, + "vendor_options": [], + "volume_id": "08a1870c-2867-44ad-81c3-de0ed1b851d1" + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwfX0=", + "dependencies": [ + "data.terraform_remote_state.privnet_dns_router", + "openstack_blockstorage_volume_v3.storagehub_prod_data_volume", + "openstack_blockstorage_volume_v3.storagehub_prod_temp_volume", + "openstack_compute_instance_v2.storagehub1_prod", + "openstack_compute_volume_attach_v2.storagehub1_attach_1" + ] + } + ] + }, + { + "mode": "managed", + "type": "openstack_compute_volume_attach_v2", + "name": "storagehub2_attach_1", + "provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "device": "/dev/vdb", + "id": "3aa1326a-773a-4f19-8fdb-b4c691d6b251/392e7062-f02c-483f-a8c5-6caffa7ce201", + "instance_id": "3aa1326a-773a-4f19-8fdb-b4c691d6b251", + "multiattach": null, + "region": "isti_area_pi_1", + "timeouts": null, + "vendor_options": [], + "volume_id": "392e7062-f02c-483f-a8c5-6caffa7ce201" + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwfX0=", + "dependencies": [ + "data.terraform_remote_state.privnet_dns_router", + "openstack_blockstorage_volume_v3.storagehub_prod_data_volume", + "openstack_compute_instance_v2.storagehub2_prod" + ] + } + ] + }, + { + "mode": "managed", + "type": "openstack_compute_volume_attach_v2", + "name": "storagehub2_attach_2", + "provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "device": "/dev/vdc", + "id": "3aa1326a-773a-4f19-8fdb-b4c691d6b251/4072259f-11c2-4ef7-b149-be1a04b4ca12", + "instance_id": "3aa1326a-773a-4f19-8fdb-b4c691d6b251", + "multiattach": null, + "region": "isti_area_pi_1", + "timeouts": null, + "vendor_options": [], + "volume_id": "4072259f-11c2-4ef7-b149-be1a04b4ca12" + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwfX0=", + "dependencies": [ + "data.terraform_remote_state.privnet_dns_router", + "openstack_blockstorage_volume_v3.storagehub_prod_data_volume", + "openstack_blockstorage_volume_v3.storagehub_prod_temp_volume", + "openstack_compute_instance_v2.storagehub2_prod", + "openstack_compute_volume_attach_v2.storagehub2_attach_1" + ] + } + ] + }, + { + "module": "module.dns_records_create", + "mode": "managed", + "type": "openstack_dns_recordset_v2", + "name": "add_dns_recordset", + "provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]", + "instances": [ + { + "index_key": "storagehub1", + "schema_version": 0, + "attributes": { + "description": "StorageHub1", + "disable_status_check": false, + "id": "74135b34-1a9c-4c01-8cf0-22450a5660c4/b8117071-183e-4a99-825a-e14406d9b76e", + "name": "storagehub1.cloud.d4science.org.", + "project_id": "1b45adf388934758b56d0dfdb4bfacf3", + "records": [ + "main-lb.cloud.d4science.org." + ], + "region": "isti_area_pi_1", + "timeouts": null, + "ttl": 8600, + "type": "CNAME", + "value_specs": null, + "zone_id": "74135b34-1a9c-4c01-8cf0-22450a5660c4" + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH19", + "dependencies": [ + "data.terraform_remote_state.privnet_dns_router" + ] + }, + { + "index_key": "storagehub2", + "schema_version": 0, + "attributes": { + "description": "StorageHub2", + "disable_status_check": false, + "id": "74135b34-1a9c-4c01-8cf0-22450a5660c4/2406ed41-990b-426d-96d4-287a5fad4f6a", + "name": "storagehub2.cloud.d4science.org.", + "project_id": "1b45adf388934758b56d0dfdb4bfacf3", + "records": [ + "main-lb.cloud.d4science.org." + ], + "region": "isti_area_pi_1", + "timeouts": null, + "ttl": 8600, + "type": "CNAME", + "value_specs": null, + "zone_id": "74135b34-1a9c-4c01-8cf0-22450a5660c4" + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH19", + "dependencies": [ + "data.terraform_remote_state.privnet_dns_router" + ] + } + ] + } + ], + "check_results": null +}