diff --git a/openstack-tf/d4s-production/project-setup/main.tf b/openstack-tf/d4s-production/project-setup/main.tf index 14c6056..2f0d8b2 100644 --- a/openstack-tf/d4s-production/project-setup/main.tf +++ b/openstack-tf/d4s-production/project-setup/main.tf @@ -14,6 +14,9 @@ provider "openstack" { # cloud = "ISTI-Cloud" } +module "common_variables" { + source = "../../modules/common_variables" +} # Main module module "main_private_net_and_dns_zone" { source = "../../modules/main_private_net_and_dns_zone" @@ -42,4 +45,144 @@ module "main_private_net_and_dns_zone" { name = "d4s-production-cloud-external-router" description = "D4Science Production main router" } + } + +output "dns_zone_id" { + value = module.main_private_net_and_dns_zone.dns_zone_id +} + +output "main_private_network_id" { + value = module.main_private_net_and_dns_zone.main_private_network_id +} + +output "main_subnet_network_id" { + value = module.main_private_net_and_dns_zone.main_subnet_network_id +} + +output "external_gateway_ip" { + value = module.main_private_net_and_dns_zone.external_gateway_ip +} + +# Module used + +output "main_region" { + value = module.common_variables.main_region +} + +output "external_network" { + value = module.common_variables.external_network +} + +output "external_network_id" { + value = module.common_variables.external_network.id +} + +output "floating_ip_pools" { + value = module.common_variables.floating_ip_pools + +} + +output "resolvers_ip" { + value = module.common_variables.resolvers_ip +} + +output "mtu_size" { + value = module.common_variables.mtu_size +} + +output "availability_zones_names" { + value = module.common_variables.availability_zones_names +} + +output "availability_zone_no_gpu_name" { + value = module.common_variables.availability_zones_names.availability_zone_no_gpu +} + +output "availability_zone_with_gpu_name" { + value = module.common_variables.availability_zones_names.availability_zone_with_gpu +} + +output "ssh_sources" { + value = module.common_variables.ssh_sources +} + +output "networks_with_d4s_services" { + value = module.common_variables.networks_with_d4s_services +} + +output "ubuntu_1804" { + value = module.common_variables.ubuntu_1804 +} + +output "ubuntu_2204" { + value = module.common_variables.ubuntu_2204 +} + +output "centos_7" { + value = module.common_variables.centos_7 +} + +output "almalinux_9" { + value = module.common_variables.almalinux_9 +} + +output "ubuntu1804_data_file" { + value = module.common_variables.ubuntu1804_data_file +} + +output "ubuntu2204_data_file" { + value = module.common_variables.ubuntu2204_data_file +} + +output "el7_data_file" { + value = module.common_variables.el7_data_file +} + +output "ssh_jump_proxy" { + value = module.common_variables.ssh_jump_proxy +} + +output "internal_ca_data" { + value = module.common_variables.internal_ca_data +} + +output "prometheus_server_data" { + value = module.common_variables.prometheus_server_data +} + +output "shared_postgresql_server_data" { + value = module.common_variables.shared_postgresql_server_data +} + +output "haproxy_l7_data" { + value = module.common_variables.haproxy_l7_data +} + +output "resource_registry_addresses" { + value = module.common_variables.resource_registry_addresses +} + +output "smartexecutor_addresses" { + value = module.common_variables.smartexecutor_addresses +} + +#Added by Francesco +output "policy_list" { + value = module.common_variables.policy_list +} + +#Added by Francesco +output "flavor_list" { + value = module.common_variables.flavor_list +} + +#Added by Francesco +output "security_group_list" { + value = module.common_variables.security_group_list +} + +#Added by Francesco +output "networks_list" { + value = module.common_variables.networks_list +} \ No newline at end of file diff --git a/openstack-tf/d4s-production/project-setup/outputs-production.tf b/openstack-tf/d4s-production/project-setup/outputs-production.tf new file mode 120000 index 0000000..5d70f9b --- /dev/null +++ b/openstack-tf/d4s-production/project-setup/outputs-production.tf @@ -0,0 +1 @@ +../variables/outputs-production.tf \ No newline at end of file diff --git a/openstack-tf/d4s-production/project-setup/terraform.tfstate b/openstack-tf/d4s-production/project-setup/terraform.tfstate index 7bdaa1e..ca721c4 100644 --- a/openstack-tf/d4s-production/project-setup/terraform.tfstate +++ b/openstack-tf/d4s-production/project-setup/terraform.tfstate @@ -1,24 +1,433 @@ { "version": 4, - "terraform_version": "1.6.3", - "serial": 9, + "terraform_version": "1.6.5", + "serial": 12, "lineage": "6d54ddff-c4ea-b8c7-3b92-53ed6c62db24", "outputs": { + "almalinux_9": { + "value": { + "name": "AlmaLinux-9.0-20220718", + "uuid": "541650fc-dd19-4f38-bb1d-7333ed9dd688" + }, + "type": [ + "map", + "string" + ] + }, + "availability_zone_no_gpu_name": { + "value": "cnr-isti-nova-a", + "type": "string" + }, + "availability_zone_with_gpu_name": { + "value": "cnr-isti-nova-gpu-a", + "type": "string" + }, + "availability_zones_names": { + "value": { + "availability_zone_no_gpu": "cnr-isti-nova-a", + "availability_zone_with_gpu": "cnr-isti-nova-gpu-a" + }, + "type": [ + "map", + "string" + ] + }, + "basic_services_ip": { + "value": { + "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" + }, + "type": [ + "map", + "string" + ] + }, + "centos_7": { + "value": { + "name": "CentOS-7", + "uuid": "f0187a99-64f6-462a-ab5f-ef52fe62f2ca" + }, + "type": [ + "map", + "string" + ] + }, + "default_security_group_name": { + "value": "default_for_all", + "type": "string" + }, + "dns_zone": { + "value": { + "description": "DNS primary zone for the d4s-production-cloud project", + "email": "postmaster@isti.cnr.it", + "ttl": "8600", + "zone_name": "cloud.d4science.org." + }, + "type": [ + "map", + "string" + ] + }, "dns_zone_id": { "value": "74135b34-1a9c-4c01-8cf0-22450a5660c4", "type": "string" }, - "external_gateway_ip": { - "value": "146.48.31.57", + "el7_data_file": { + "value": "../../openstack_vm_data_scripts/el7.sh", "type": "string" }, + "external_gateway_ip": { + "value": [ + { + "ip_address": "146.48.31.57", + "subnet_id": "57f87509-4016-46fb-b8c3-25fca7f72ccb" + } + ], + "type": [ + "list", + [ + "object", + { + "ip_address": "string", + "subnet_id": "string" + } + ] + ] + }, + "external_network": { + "value": { + "id": "1d2ff137-6ff7-4017-be2b-0d6c4af2353b", + "name": "external-network" + }, + "type": [ + "map", + "string" + ] + }, + "external_network_id": { + "value": "1d2ff137-6ff7-4017-be2b-0d6c4af2353b", + "type": "string" + }, + "external_router": { + "value": { + "description": "D4Science Production main router", + "id": "cc26064a-bb08-4c0b-929f-d0cb39f934a3", + "name": "d4s-production-cloud-external-router" + }, + "type": [ + "map", + "string" + ] + }, + "flavor_list": { + "value": { + "c1_large": "c1.large", + "c1_medium": "c1.medium", + "c1_small": "c1.small", + "m1_large": "m1.large", + "m1_medium": "m1.medium", + "m1_xlarge": "m1.xlarge", + "m2_large": "m2.large", + "m2_medium": "m2.medium", + "m2_small": "m2.small" + }, + "type": [ + "map", + "string" + ] + }, + "floating_ip_pools": { + "value": { + "main_public_ip_pool": "external-network" + }, + "type": [ + "map", + "string" + ] + }, + "haproxy_l7_data": { + "value": { + "flavor": "m1.medium", + "haproxy_1": "haproxy-l7-1", + "haproxy_2": "haproxy-l7-2", + "name": "main-haproxy-l7", + "vm_count": "2" + }, + "type": [ + "map", + "string" + ] + }, + "internal_ca_data": { + "value": { + "flavor": "m1.small", + "name": "ca" + }, + "type": [ + "map", + "string" + ] + }, + "main_haproxy_l7_ip": { + "value": [ + "10.1.40.11", + "10.1.40.12" + ], + "type": [ + "list", + "string" + ] + }, + "main_private_network": { + "value": { + "description": "D4Science Production private network (use this as the main network)", + "name": "d4s-production-cloud-main" + }, + "type": [ + "map", + "string" + ] + }, "main_private_network_id": { "value": "020df98d-ae72-452a-b376-3b6dc289acac", "type": "string" }, + "main_private_subnet": { + "value": { + "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" + }, + "type": [ + "map", + "string" + ] + }, + "main_region": { + "value": "isti_area_pi_1", + "type": "string" + }, "main_subnet_network_id": { "value": "5d7b83ad-e058-4a3a-bfd8-d20ba6d42e1a", "type": "string" + }, + "mtu_size": { + "value": 8942, + "type": "number" + }, + "networks_list": { + "value": { + "orientdb": "orientdb-net", + "orientdb_se": "orientdb-se-net", + "shared_postgresql": "postgresql-srv-net", + "swarm": "swarm-nfs-net", + "timescaledb": "timescaledb-net" + }, + "type": [ + "map", + "string" + ] + }, + "networks_with_d4s_services": { + "value": { + "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" + }, + "type": [ + "map", + "string" + ] + }, + "octavia_information": { + "value": { + "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" + }, + "type": [ + "map", + "string" + ] + }, + "os_project_data": { + "value": { + "id": "1b45adf388934758b56d0dfdb4bfacf3" + }, + "type": [ + "map", + "string" + ] + }, + "policy_list": { + "value": { + "affinity": "affinity", + "anti_affinity": "anti-affinity", + "soft_affinity": "soft-affinity", + "soft_anti_affinity": "soft-anti-affinity" + }, + "type": [ + "map", + "string" + ] + }, + "prometheus_server_data": { + "value": { + "flavor": "m1.medium", + "name": "prometheus", + "public_grafana_server_cidr": "146.48.122.132/32", + "vol_data_device": "/dev/vdb", + "vol_data_name": "prometheus-data", + "vol_data_size": "100" + }, + "type": [ + "map", + "string" + ] + }, + "resolvers_ip": { + "value": [ + "146.48.29.97", + "146.48.29.98", + "146.48.29.99" + ], + "type": [ + "list", + "string" + ] + }, + "resource_registry_addresses": { + "value": {}, + "type": [ + "map", + "string" + ] + }, + "security_group_list": { + "value": { + "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": "HAPROXY L7", + "http_and_https_from_the_load_balancers": "http and https from the load balancers", + "limited_HTTPS_access": "Limited HTTPS access", + "limited_SSH_access": "Limited SSH access", + "mongo": "mongo", + "orientdb_internal_docker_traffic": "orientdb_internal_docker_traffic", + "postgreSQL": "PostgreSQL service", + "public_HTTPS": "Public HTTPS" + }, + "type": [ + "map", + "string" + ] + }, + "shared_postgresql_server_data": { + "value": { + "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" + }, + "type": [ + "map", + "string" + ] + }, + "smartexecutor_addresses": { + "value": {}, + "type": [ + "map", + "string" + ] + }, + "ssh_jump_proxy": { + "value": { + "flavor": "m2.small", + "name": "ssh-jump-proxy" + }, + "type": [ + "map", + "string" + ] + }, + "ssh_sources": { + "value": { + "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" + }, + "type": [ + "map", + "string" + ] + }, + "ubuntu1804_data_file": { + "value": "../../openstack_vm_data_scripts/ubuntu1804.sh", + "type": "string" + }, + "ubuntu2204_data_file": { + "value": "../../openstack_vm_data_scripts/ubuntu2204.sh", + "type": "string" + }, + "ubuntu_1804": { + "value": { + "name": "Ubuntu-Bionic-18.04", + "user_data_file": "../../openstack_vm_data_scripts/ubuntu1804.sh", + "uuid": "7ed6a2cd-2b07-482e-8ce4-f018dff16c89" + }, + "type": [ + "map", + "string" + ] + }, + "ubuntu_2204": { + "value": { + "name": "Ubuntu-Jammy-22.04", + "user_data_file": "../../openstack_vm_data_scripts/ubuntu2204.sh", + "uuid": "54768889-8556-4be4-a2eb-82a4d9b34627" + }, + "type": [ + "map", + "string" + ] } }, "resources": [ @@ -71,13 +480,7 @@ "port_security_enabled": true, "qos_policy_id": "", "region": "isti_area_pi_1", - "segments": [ - { - "network_type": "geneve", - "physical_network": "", - "segmentation_id": 9704 - } - ], + "segments": [], "shared": false, "tags": [], "tenant_id": "1b45adf388934758b56d0dfdb4bfacf3", diff --git a/openstack-tf/d4s-production/project-setup/variables-production.tf b/openstack-tf/d4s-production/project-setup/variables-production.tf new file mode 120000 index 0000000..033bd2b --- /dev/null +++ b/openstack-tf/d4s-production/project-setup/variables-production.tf @@ -0,0 +1 @@ +../variables/variables-production.tf \ No newline at end of file