Compare commits
198 Commits
feature/26
...
main
Author | SHA1 | Date |
---|---|---|
Antonio Calanducci | 0149137e82 | |
Antonio Calanducci | f9cb5ccc1a | |
Antonio Calanducci | 7987219fa5 | |
Antonio Calanducci | 954c2e2229 | |
Giancarlo Panichi | 2d70c409f9 | |
Giancarlo Panichi | b51677c0b7 | |
Giancarlo Panichi | 0d90a25d48 | |
Giancarlo Panichi | 9e6891733c | |
Giancarlo Panichi | 6dc65018c2 | |
Giancarlo Panichi | 43418c2a0c | |
Giancarlo Panichi | d693a68dad | |
Andrea Dell'Amico | 73161f2071 | |
Giancarlo Panichi | a494d283f9 | |
Marco Procaccini | 75d73502d4 | |
Giancarlo Panichi | e8bafeeaac | |
Andrea Dell'Amico | eeb703d8ae | |
Andrea Dell'Amico | 7deabd2633 | |
Andrea Dell'Amico | 4980f0ca33 | |
Andrea Dell'Amico | b5e666e8e3 | |
Marco Procaccini | c38b2b3b29 | |
Marco Procaccini | 455790e15b | |
Marco Procaccini | 14d713c6fd | |
Marco Procaccini | 63e1478d5b | |
Marco Procaccini | 211198e2ee | |
Antonio Calanducci | 6cabc5631f | |
Antonio Calanducci | e2ef4da000 | |
Marco Procaccini | 5f93ed0af2 | |
Marco Procaccini | e51fe2f5e4 | |
Andrea Dell'Amico | 7fc04aa770 | |
Marco Procaccini | 15de6381bd | |
Marco Procaccini | 573d156a1a | |
Marco Procaccini | 7b8e09796d | |
Giancarlo Panichi | b95dfefe80 | |
Giancarlo Panichi | 875de807a1 | |
Marco Procaccini | 747950287b | |
Giancarlo Panichi | 1e2b3b3df0 | |
Andrea Dell'Amico | 12f8cfd540 | |
Andrea Dell'Amico | 617fc043b9 | |
Andrea Dell'Amico | bdd7def962 | |
Andrea Dell'Amico | 0f3657dd57 | |
Marco Procaccini | a6f396f86c | |
Antonio Calanducci | 055837555d | |
Antonio Calanducci | 92d648a782 | |
Andrea Dell'Amico | 52df91d983 | |
Andrea Dell'Amico | dbdee08c44 | |
Andrea Dell'Amico | e28b7ed747 | |
Andrea Dell'Amico | 380a173632 | |
Andrea Dell'Amico | 7e16e70be9 | |
Giancarlo Panichi | 78d96bcae1 | |
Giancarlo Panichi | 33db28370b | |
Giancarlo Panichi | 1d125ce504 | |
Andrea Dell'Amico | de011f40d5 | |
Giancarlo Panichi | d04758fea7 | |
Giancarlo Panichi | 04bf96d957 | |
Giancarlo Panichi | 2355136f59 | |
Giancarlo Panichi | 813097bde3 | |
Giancarlo Panichi | 59a7a2d2df | |
Alfredo Oliviero | 055fa0be10 | |
Andrea Dell'Amico | c1d2408ae8 | |
Andrea Dell'Amico | e164eacf0d | |
Giancarlo Panichi | ecdee82253 | |
Andrea Dell'Amico | 7356dd8a50 | |
Andrea Dell'Amico | c64e3be555 | |
Andrea Dell'Amico | 2cd86e3b7f | |
Andrea Dell'Amico | 5cef75cd2a | |
Andrea Dell'Amico | 703ef4da39 | |
Andrea Dell'Amico | 9ec3095aab | |
Andrea Dell'Amico | e91c8419b4 | |
Andrea Dell'Amico | 3497ebb3c9 | |
Andrea Dell'Amico | 6180c1f9db | |
Andrea Dell'Amico | a28657c300 | |
Andrea Dell'Amico | c3ef9453ea | |
Giancarlo Panichi | 129878d111 | |
Giancarlo Panichi | 812b128dbd | |
Andrea Dell'Amico | 2bd632462d | |
Giancarlo Panichi | 47a3844d57 | |
Andrea Dell'Amico | bc1d5e5281 | |
Andrea Dell'Amico | 4874c96c02 | |
Antonio Calanducci | e2305629fd | |
Andrea Dell'Amico | 4c2175f26d | |
Andrea Dell'Amico | 947d0e68c1 | |
Andrea Dell'Amico | 28919e4d7f | |
Andrea Dell'Amico | a1b21fb06d | |
Giancarlo Panichi | 2b598fbef4 | |
Andrea Dell'Amico | 66812fb3c2 | |
Andrea Dell'Amico | 2b76a1b38e | |
Andrea Dell'Amico | 9229d112ab | |
Andrea Dell'Amico | c7d923ee90 | |
Giancarlo Panichi | 6dfdf42e30 | |
Giancarlo Panichi | 13f5384652 | |
Giancarlo Panichi | 30a112f8db | |
Giancarlo Panichi | a1f121aa35 | |
Andrea Dell'Amico | d50bff95bc | |
Andrea Dell'Amico | d253ca51ee | |
Andrea Dell'Amico | f1e3fb26ee | |
Andrea Dell'Amico | ae79f34b92 | |
Andrea Dell'Amico | d94ba84149 | |
Andrea Dell'Amico | 0e8f6d3653 | |
Andrea Dell'Amico | aafde5a308 | |
Giancarlo Panichi | deae3baa38 | |
Andrea Dell'Amico | 4c381a5059 | |
Andrea Dell'Amico | 4049730c23 | |
Andrea Dell'Amico | b4e18cdef4 | |
Giancarlo Panichi | 105b840628 | |
Giancarlo Panichi | dc6910d711 | |
Giancarlo Panichi | 79ab1c58d3 | |
Giancarlo Panichi | bca283b4df | |
Andrea Dell'Amico | d781591a82 | |
Andrea Dell'Amico | 5b2b419cb0 | |
Giancarlo Panichi | a3066e0e53 | |
Andrea Dell'Amico | 3c04dace24 | |
Andrea Dell'Amico | c23c8c3f74 | |
Antonio Calanducci | d78bedb0f5 | |
Antonio Calanducci | de6291936b | |
Andrea Dell'Amico | dcf1677e3a | |
Andrea Dell'Amico | 8b71341eef | |
Andrea Dell'Amico | 02d65992cd | |
Andrea Dell'Amico | 1951f4fdf3 | |
Andrea Dell'Amico | 5493908641 | |
Andrea Dell'Amico | 5c8fdfb305 | |
Andrea Dell'Amico | 3996cd0d54 | |
Marco Procaccini | d872995840 | |
Marco Procaccini | 4f7ee3b8ea | |
Marco Procaccini | 4931767df7 | |
Marco Procaccini | e979042e83 | |
Luca Frosini | 81ebb70d04 | |
Andrea Dell'Amico | 75c6d4e9b1 | |
Andrea Dell'Amico | 89892d29b4 | |
Andrea Dell'Amico | e930a2d8f0 | |
Luca Frosini | ac9bbdc2e3 | |
Andrea Dell'Amico | 26efafdfd5 | |
Andrea Dell'Amico | e7ec7726c8 | |
Andrea Dell'Amico | 03a62144a7 | |
Andrea Dell'Amico | c0a6b56150 | |
Andrea Dell'Amico | 8b05c335dd | |
Andrea Dell'Amico | 7204c84c36 | |
Giancarlo Panichi | 74e62730fe | |
Giancarlo Panichi | cdf653c293 | |
Giancarlo Panichi | c56cf21862 | |
Giancarlo Panichi | d3a7219766 | |
Andrea Dell'Amico | 4a9a96186b | |
Andrea Dell'Amico | 128586a63d | |
Andrea Dell'Amico | d66efc4b8f | |
Andrea Dell'Amico | 64f78b2ca5 | |
Giancarlo Panichi | f7aea54a8d | |
Giancarlo Panichi | a0583c6ede | |
Giancarlo Panichi | e3eb37ad30 | |
Giancarlo Panichi | c01ab61bf7 | |
Giancarlo Panichi | 675b8aebad | |
Giancarlo Panichi | e90ac474f3 | |
Giancarlo Panichi | 67b9720579 | |
Giancarlo Panichi | 73a0ef566a | |
Andrea Dell'Amico | 0c746b807a | |
Giancarlo Panichi | 887bf54393 | |
Giancarlo Panichi | ae09c220a5 | |
Andrea Dell'Amico | 8b69d03a73 | |
Andrea Dell'Amico | b44b80108a | |
Giancarlo Panichi | 29225b27d3 | |
Giancarlo Panichi | 8a52dd1bbd | |
Giancarlo Panichi | 6db6c0cc96 | |
Giancarlo Panichi | 2ee09cda73 | |
Giancarlo Panichi | 3b6d088b45 | |
Giancarlo Panichi | f9f4280964 | |
Giancarlo Panichi | a924670f21 | |
Andrea Dell'Amico | ace1f66e85 | |
Andrea Dell'Amico | 4267a5b1d0 | |
Andrea Dell'Amico | 8004f8bdf8 | |
Giancarlo Panichi | 09b1a6666f | |
Giancarlo Panichi | 6d9946cef4 | |
Andrea Dell'Amico | 134035acd0 | |
Andrea Dell'Amico | f2c51abfae | |
Giancarlo Panichi | a4a7feefef | |
Francesco Mangiacrapa | aea78fe1e6 | |
Francesco Mangiacrapa | d238b1d48a | |
Andrea Dell'Amico | dfcb50a591 | |
Francesco Mangiacrapa | aa6f61631c | |
Andrea Dell'Amico | 15a757cda9 | |
Giancarlo Panichi | ed0aae9193 | |
Giancarlo Panichi | a7cdac378a | |
Giancarlo Panichi | fea258ce73 | |
Giancarlo Panichi | 420a8ff4ec | |
Giancarlo Panichi | 6378bc9f1a | |
Andrea Dell'Amico | 04cfbffcc2 | |
Giancarlo Panichi | 3c43bc19a6 | |
Giancarlo Panichi | f7f1e5c99a | |
Giancarlo Panichi | d764f2a9a4 | |
Andrea Dell'Amico | b5c10f29c0 | |
Giancarlo Panichi | d137dc08a8 | |
Giancarlo Panichi | 61cfd620a9 | |
Giancarlo Panichi | e905311290 | |
Ahmed Salah Tawfik Ibrahim | d60addbe6d | |
Giancarlo Panichi | a837085f39 | |
Andrea Dell'Amico | 4a59deaffe | |
Andrea Dell'Amico | 896540b09b | |
Giancarlo Panichi | bbd8fbd779 | |
Giancarlo Panichi | f63c6b6170 | |
Giancarlo Panichi | 6dd09b8bdd | |
Giancarlo Panichi | 97ae76b956 |
|
@ -1,6 +1,7 @@
|
||||||
# ---> Terraform
|
# ---> Terraform
|
||||||
# Local .terraform directories
|
# Local .terraform directories
|
||||||
**/.terraform/*
|
**/.terraform/*
|
||||||
|
**/.terraform.lock.hcl
|
||||||
|
|
||||||
# .tfstate files
|
# .tfstate files
|
||||||
# *.tfstate
|
# *.tfstate
|
||||||
|
@ -46,3 +47,4 @@ terraform.rc
|
||||||
*.lock.hcl
|
*.lock.hcl
|
||||||
|
|
||||||
.project
|
.project
|
||||||
|
openstack-tf/modules/ssh-key-ref/terraform.tfstate
|
||||||
|
|
|
@ -0,0 +1,98 @@
|
||||||
|
# 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"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Instances
|
||||||
|
resource "openstack_compute_instance_v2" "access_service_dev" {
|
||||||
|
name = "access"
|
||||||
|
availability_zone_hints = module.common_variables.availability_zone_no_gpu_name
|
||||||
|
flavor_name = module.common_variables.flavor_list.m1_medium
|
||||||
|
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 = 30
|
||||||
|
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])
|
||||||
|
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
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
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 = {
|
||||||
|
access_service_dev = {
|
||||||
|
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||||
|
name = join(".", ["access", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||||
|
description = "Access access"
|
||||||
|
ttl = 8600
|
||||||
|
type = "CNAME"
|
||||||
|
records = [local.cname_target]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,512 @@
|
||||||
|
{
|
||||||
|
"version": 4,
|
||||||
|
"terraform_version": "1.7.4",
|
||||||
|
"serial": 25,
|
||||||
|
"lineage": "b02df62e-fde6-6c33-ed5c-624a54e2b07d",
|
||||||
|
"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.29.247",
|
||||||
|
"ca_cidr": "10.1.29.247/32",
|
||||||
|
"haproxy_l7_1": "10.1.28.50",
|
||||||
|
"haproxy_l7_1_cidr": "10.1.28.50/32",
|
||||||
|
"haproxy_l7_2": "10.1.30.241",
|
||||||
|
"haproxy_l7_2_cidr": "10.1.30.241/32",
|
||||||
|
"octavia_main": "10.1.28.227",
|
||||||
|
"octavia_main_cidr": "10.1.28.227/32",
|
||||||
|
"prometheus": "10.1.30.129",
|
||||||
|
"prometheus_cidr": "10.1.30.129/32",
|
||||||
|
"ssh_jump": "10.1.29.164",
|
||||||
|
"ssh_jump_cidr": "10.1.29.164/32"
|
||||||
|
},
|
||||||
|
"centos_7": {
|
||||||
|
"name": "CentOS-7",
|
||||||
|
"uuid": "f0187a99-64f6-462a-ab5f-ef52fe62f2ca"
|
||||||
|
},
|
||||||
|
"default_security_group_name": "default",
|
||||||
|
"dns_zone": {
|
||||||
|
"description": "DNS primary zone for the d4s-dev-cloud project",
|
||||||
|
"email": "postmaster@isti.cnr.it",
|
||||||
|
"ttl": "8600",
|
||||||
|
"zone_name": "cloud-dev.d4science.org."
|
||||||
|
},
|
||||||
|
"dns_zone_id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488",
|
||||||
|
"el7_data_file": "../../openstack_vm_data_scripts/el7.sh",
|
||||||
|
"external_gateway_ip": [
|
||||||
|
{
|
||||||
|
"ip_address": "146.48.31.109",
|
||||||
|
"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 DEV main router",
|
||||||
|
"id": "2ae28c5f-036b-45db-bc9f-5bab8fa3e914",
|
||||||
|
"name": "d4s-dev-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.28.50",
|
||||||
|
"10.1.30.241"
|
||||||
|
],
|
||||||
|
"main_private_network": {
|
||||||
|
"description": "D4Science DEV private network (use this as the main network)",
|
||||||
|
"name": "d4s-dev-cloud-main"
|
||||||
|
},
|
||||||
|
"main_private_network_id": "e0af5eba-f24a-4d0d-8184-bc654b980c4a",
|
||||||
|
"main_private_subnet": {
|
||||||
|
"allocation_end": "10.1.31.254",
|
||||||
|
"allocation_start": "10.1.28.30",
|
||||||
|
"cidr": "10.1.28.0/22",
|
||||||
|
"description": "D4Science DEV main private subnet",
|
||||||
|
"gateway_ip": "10.1.28.1",
|
||||||
|
"name": "d4s-dev-cloud-sub"
|
||||||
|
},
|
||||||
|
"main_region": "isti_area_pi_1",
|
||||||
|
"main_subnet_network_id": "2aa977f2-80b4-447c-a6b0-dfa06bf68751",
|
||||||
|
"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": "5887da8d-e362-4509-93ac-8a70bf8baef9",
|
||||||
|
"octavia_information": {
|
||||||
|
"main_lb_description": "Main L4 load balancer for the D4Science DEV",
|
||||||
|
"main_lb_hostname": "main-lb",
|
||||||
|
"main_lb_name": "lb-dev-l4",
|
||||||
|
"octavia_flavor": "octavia_amphora-mvcpu-ha",
|
||||||
|
"octavia_flavor_id": "394988b5-6603-4a1e-a939-8e177c6681c7"
|
||||||
|
},
|
||||||
|
"os_project_data": {
|
||||||
|
"id": "e8f8ca72f30648a8b389b4e745ac83a9"
|
||||||
|
},
|
||||||
|
"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_compute_instance_v2",
|
||||||
|
"name": "access_service_dev",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"access_ip_v4": "10.1.29.106",
|
||||||
|
"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": 30,
|
||||||
|
"volume_type": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"config_drive": null,
|
||||||
|
"created": "2024-03-14 17:22:40 +0000 UTC",
|
||||||
|
"flavor_id": "4",
|
||||||
|
"flavor_name": "m1.medium",
|
||||||
|
"floating_ip": null,
|
||||||
|
"force_delete": false,
|
||||||
|
"id": "613569ae-36aa-4440-96b9-0bfc760d2334",
|
||||||
|
"image_id": "Attempt to boot from volume - no image supplied",
|
||||||
|
"image_name": null,
|
||||||
|
"key_pair": "Marco Procaccini",
|
||||||
|
"metadata": null,
|
||||||
|
"name": "access",
|
||||||
|
"network": [
|
||||||
|
{
|
||||||
|
"access_network": false,
|
||||||
|
"fixed_ip_v4": "10.1.29.106",
|
||||||
|
"fixed_ip_v6": "",
|
||||||
|
"floating_ip": "",
|
||||||
|
"mac": "fa:16:3e:06:7c:be",
|
||||||
|
"name": "d4s-dev-cloud-main",
|
||||||
|
"port": "",
|
||||||
|
"uuid": "e0af5eba-f24a-4d0d-8184-bc654b980c4a"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"network_mode": null,
|
||||||
|
"personality": [],
|
||||||
|
"power_state": "active",
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"scheduler_hints": [],
|
||||||
|
"security_groups": [
|
||||||
|
"default",
|
||||||
|
"traffic_from_the_main_load_balancers"
|
||||||
|
],
|
||||||
|
"stop_before_destroy": false,
|
||||||
|
"tags": null,
|
||||||
|
"timeouts": null,
|
||||||
|
"updated": "2024-03-14 17:23:20 +0000 UTC",
|
||||||
|
"user_data": "47d4769e61324c305c4b70ed6673de4fad84150d",
|
||||||
|
"vendor_options": [],
|
||||||
|
"volume": []
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxODAwMDAwMDAwMDAwLCJkZWxldGUiOjE4MDAwMDAwMDAwMDAsInVwZGF0ZSI6MTgwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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": "access_service_dev",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"description": "Access access",
|
||||||
|
"disable_status_check": false,
|
||||||
|
"id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488/1df31040-e622-47eb-ba04-3351851009a4",
|
||||||
|
"name": "access.cloud-dev.d4science.org.",
|
||||||
|
"project_id": "e8f8ca72f30648a8b389b4e745ac83a9",
|
||||||
|
"records": [
|
||||||
|
"main-lb.cloud-dev.d4science.org."
|
||||||
|
],
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"timeouts": null,
|
||||||
|
"ttl": 8600,
|
||||||
|
"type": "CNAME",
|
||||||
|
"value_specs": null,
|
||||||
|
"zone_id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488"
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"check_results": null
|
||||||
|
}
|
|
@ -0,0 +1,65 @@
|
||||||
|
# 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 "instance_without_data_volume" {
|
||||||
|
source = "../../modules/instance_without_data_volume"
|
||||||
|
|
||||||
|
instances_without_data_volume_map = {
|
||||||
|
auth_d = {
|
||||||
|
name = "auth-d",
|
||||||
|
description = "This instance is a Authorization service",
|
||||||
|
flavor = module.common_variables.flavor_list.m1_medium,
|
||||||
|
networks = [data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.name, module.common_variables.networks_list.shared_postgresql],
|
||||||
|
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],
|
||||||
|
server_groups_ids = [],
|
||||||
|
image_ref = module.common_variables.ubuntu_1804
|
||||||
|
image_volume_size = 20
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
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 = {
|
||||||
|
auth-d = {
|
||||||
|
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||||
|
name = join(".", ["auth-d", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||||
|
description = "Authorization auth-d"
|
||||||
|
ttl = 8600
|
||||||
|
type = "CNAME"
|
||||||
|
records = [local.cname_target]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
provider "openstack" {
|
||||||
|
cloud = "d4s-dev"
|
||||||
|
}
|
|
@ -0,0 +1,524 @@
|
||||||
|
{
|
||||||
|
"version": 4,
|
||||||
|
"terraform_version": "1.6.4",
|
||||||
|
"serial": 8,
|
||||||
|
"lineage": "5c181534-e215-5b78-32e5-7901710ee61a",
|
||||||
|
"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.29.247",
|
||||||
|
"ca_cidr": "10.1.29.247/32",
|
||||||
|
"haproxy_l7_1": "10.1.28.50",
|
||||||
|
"haproxy_l7_1_cidr": "10.1.28.50/32",
|
||||||
|
"haproxy_l7_2": "10.1.30.241",
|
||||||
|
"haproxy_l7_2_cidr": "10.1.30.241/32",
|
||||||
|
"octavia_main": "10.1.28.227",
|
||||||
|
"octavia_main_cidr": "10.1.28.227/32",
|
||||||
|
"prometheus": "10.1.30.129",
|
||||||
|
"prometheus_cidr": "10.1.30.129/32",
|
||||||
|
"ssh_jump": "10.1.29.164",
|
||||||
|
"ssh_jump_cidr": "10.1.29.164/32"
|
||||||
|
},
|
||||||
|
"centos_7": {
|
||||||
|
"name": "CentOS-7",
|
||||||
|
"uuid": "f0187a99-64f6-462a-ab5f-ef52fe62f2ca"
|
||||||
|
},
|
||||||
|
"default_security_group_name": "default",
|
||||||
|
"dns_zone": {
|
||||||
|
"description": "DNS primary zone for the d4s-dev-cloud project",
|
||||||
|
"email": "postmaster@isti.cnr.it",
|
||||||
|
"ttl": "8600",
|
||||||
|
"zone_name": "cloud-dev.d4science.org."
|
||||||
|
},
|
||||||
|
"dns_zone_id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488",
|
||||||
|
"el7_data_file": "../../openstack_vm_data_scripts/el7.sh",
|
||||||
|
"external_gateway_ip": [
|
||||||
|
{
|
||||||
|
"ip_address": "146.48.31.109",
|
||||||
|
"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 DEV main router",
|
||||||
|
"id": "2ae28c5f-036b-45db-bc9f-5bab8fa3e914",
|
||||||
|
"name": "d4s-dev-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.28.50",
|
||||||
|
"10.1.30.241"
|
||||||
|
],
|
||||||
|
"main_private_network": {
|
||||||
|
"description": "D4Science DEV private network (use this as the main network)",
|
||||||
|
"name": "d4s-dev-cloud-main"
|
||||||
|
},
|
||||||
|
"main_private_network_id": "e0af5eba-f24a-4d0d-8184-bc654b980c4a",
|
||||||
|
"main_private_subnet": {
|
||||||
|
"allocation_end": "10.1.31.254",
|
||||||
|
"allocation_start": "10.1.28.30",
|
||||||
|
"cidr": "10.1.28.0/22",
|
||||||
|
"description": "D4Science DEV main private subnet",
|
||||||
|
"gateway_ip": "10.1.28.1",
|
||||||
|
"name": "d4s-dev-cloud-sub"
|
||||||
|
},
|
||||||
|
"main_region": "isti_area_pi_1",
|
||||||
|
"main_subnet_network_id": "2aa977f2-80b4-447c-a6b0-dfa06bf68751",
|
||||||
|
"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": "5887da8d-e362-4509-93ac-8a70bf8baef9",
|
||||||
|
"octavia_information": {
|
||||||
|
"main_lb_description": "Main L4 load balancer for the D4Science DEV",
|
||||||
|
"main_lb_hostname": "main-lb",
|
||||||
|
"main_lb_name": "lb-dev-l4",
|
||||||
|
"octavia_flavor": "octavia_amphora-mvcpu-ha",
|
||||||
|
"octavia_flavor_id": "394988b5-6603-4a1e-a939-8e177c6681c7"
|
||||||
|
},
|
||||||
|
"os_project_data": {
|
||||||
|
"id": "e8f8ca72f30648a8b389b4e745ac83a9"
|
||||||
|
},
|
||||||
|
"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": []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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": "auth-d",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"description": "Authorization auth-d",
|
||||||
|
"disable_status_check": false,
|
||||||
|
"id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488/a597f62b-bceb-4e26-917d-dc685743e84e",
|
||||||
|
"name": "auth-d.cloud-dev.d4science.org.",
|
||||||
|
"project_id": "e8f8ca72f30648a8b389b4e745ac83a9",
|
||||||
|
"records": [
|
||||||
|
"main-lb.cloud-dev.d4science.org."
|
||||||
|
],
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"timeouts": null,
|
||||||
|
"ttl": 8600,
|
||||||
|
"type": "CNAME",
|
||||||
|
"value_specs": null,
|
||||||
|
"zone_id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488"
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "module.instance_without_data_volume",
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_compute_instance_v2",
|
||||||
|
"name": "smartgears_service",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"index_key": "auth_d",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"access_ip_v4": "10.1.28.143",
|
||||||
|
"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": 20,
|
||||||
|
"volume_type": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"config_drive": null,
|
||||||
|
"created": "2024-02-15 17:29:24 +0000 UTC",
|
||||||
|
"flavor_id": "4",
|
||||||
|
"flavor_name": "m1.medium",
|
||||||
|
"floating_ip": null,
|
||||||
|
"force_delete": false,
|
||||||
|
"id": "a9cf8e63-53db-4dad-94b9-2c7ae30bb055",
|
||||||
|
"image_id": "Attempt to boot from volume - no image supplied",
|
||||||
|
"image_name": null,
|
||||||
|
"key_pair": "Giancarlo Panichi",
|
||||||
|
"metadata": null,
|
||||||
|
"name": "auth-d",
|
||||||
|
"network": [
|
||||||
|
{
|
||||||
|
"access_network": false,
|
||||||
|
"fixed_ip_v4": "10.1.28.143",
|
||||||
|
"fixed_ip_v6": "",
|
||||||
|
"floating_ip": "",
|
||||||
|
"mac": "fa:16:3e:8d:06:39",
|
||||||
|
"name": "d4s-dev-cloud-main",
|
||||||
|
"port": "",
|
||||||
|
"uuid": "e0af5eba-f24a-4d0d-8184-bc654b980c4a"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"access_network": false,
|
||||||
|
"fixed_ip_v4": "192.168.2.189",
|
||||||
|
"fixed_ip_v6": "",
|
||||||
|
"floating_ip": "",
|
||||||
|
"mac": "fa:16:3e:77:b6:6a",
|
||||||
|
"name": "postgresql-srv-net",
|
||||||
|
"port": "",
|
||||||
|
"uuid": "00422a4a-4b8b-4c85-acf9-ef733df842b9"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"network_mode": null,
|
||||||
|
"personality": [],
|
||||||
|
"power_state": "active",
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"scheduler_hints": [],
|
||||||
|
"security_groups": [
|
||||||
|
"default",
|
||||||
|
"traffic_from_the_main_load_balancers"
|
||||||
|
],
|
||||||
|
"stop_before_destroy": false,
|
||||||
|
"tags": [],
|
||||||
|
"timeouts": null,
|
||||||
|
"updated": "2024-02-15 17:30:07 +0000 UTC",
|
||||||
|
"user_data": "47d4769e61324c305c4b70ed6673de4fad84150d",
|
||||||
|
"vendor_options": [],
|
||||||
|
"volume": []
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxODAwMDAwMDAwMDAwLCJkZWxldGUiOjE4MDAwMDAwMDAwMDAsInVwZGF0ZSI6MTgwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"check_results": null
|
||||||
|
}
|
|
@ -0,0 +1,76 @@
|
||||||
|
# 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"
|
||||||
|
}
|
||||||
|
|
||||||
|
locals {
|
||||||
|
cname_target = "swarm-lb.${data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name}"
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# We only manage the DNS records, for the services behind HAProxy
|
||||||
|
#
|
||||||
|
module "dns_records_create" {
|
||||||
|
source = "../../modules/dns_resources"
|
||||||
|
|
||||||
|
dns_resources_map = {
|
||||||
|
|
||||||
|
vremodeler-dev = {
|
||||||
|
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||||
|
name = join(".", ["vremodeler", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||||
|
description = "Vremodeler dev"
|
||||||
|
ttl = 8600
|
||||||
|
type = "CNAME"
|
||||||
|
records = [local.cname_target]
|
||||||
|
}
|
||||||
|
|
||||||
|
netme-sobigdata = {
|
||||||
|
name = join(".", ["netme-sobigdata", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||||
|
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||||
|
records = [local.cname_target]
|
||||||
|
type = "CNAME"
|
||||||
|
description = "SoBigData NetMe service"
|
||||||
|
ttl = 8600
|
||||||
|
}
|
||||||
|
|
||||||
|
ontotagme-sobigdata = {
|
||||||
|
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||||
|
name = join(".", ["ontotagme-sobigdata", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||||
|
description = "SoBigData OntoTagme service"
|
||||||
|
ttl = 8600
|
||||||
|
type = "CNAME"
|
||||||
|
records = [local.cname_target]
|
||||||
|
}
|
||||||
|
|
||||||
|
shinyproxy-dev = {
|
||||||
|
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||||
|
name = join(".", ["shinyproxy", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||||
|
description = "Shinyproxy DEV instance"
|
||||||
|
ttl = 8600
|
||||||
|
type = "CNAME"
|
||||||
|
records = [local.cname_target]
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
provider "openstack" {
|
||||||
|
cloud = "d4s-dev"
|
||||||
|
}
|
|
@ -0,0 +1,507 @@
|
||||||
|
{
|
||||||
|
"version": 4,
|
||||||
|
"terraform_version": "1.7.5",
|
||||||
|
"serial": 10,
|
||||||
|
"lineage": "ab6b1d6a-298d-8238-5cb5-61ea6b858172",
|
||||||
|
"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.29.247",
|
||||||
|
"ca_cidr": "10.1.29.247/32",
|
||||||
|
"haproxy_l7_1": "10.1.28.50",
|
||||||
|
"haproxy_l7_1_cidr": "10.1.28.50/32",
|
||||||
|
"haproxy_l7_2": "10.1.30.241",
|
||||||
|
"haproxy_l7_2_cidr": "10.1.30.241/32",
|
||||||
|
"octavia_main": "10.1.28.227",
|
||||||
|
"octavia_main_cidr": "10.1.28.227/32",
|
||||||
|
"prometheus": "10.1.30.129",
|
||||||
|
"prometheus_cidr": "10.1.30.129/32",
|
||||||
|
"ssh_jump": "10.1.29.164",
|
||||||
|
"ssh_jump_cidr": "10.1.29.164/32"
|
||||||
|
},
|
||||||
|
"centos_7": {
|
||||||
|
"name": "CentOS-7",
|
||||||
|
"uuid": "f0187a99-64f6-462a-ab5f-ef52fe62f2ca"
|
||||||
|
},
|
||||||
|
"default_security_group_name": "default",
|
||||||
|
"dns_zone": {
|
||||||
|
"description": "DNS primary zone for the d4s-dev-cloud project",
|
||||||
|
"email": "postmaster@isti.cnr.it",
|
||||||
|
"ttl": "8600",
|
||||||
|
"zone_name": "cloud-dev.d4science.org."
|
||||||
|
},
|
||||||
|
"dns_zone_id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488",
|
||||||
|
"el7_data_file": "../../openstack_vm_data_scripts/el7.sh",
|
||||||
|
"external_gateway_ip": [
|
||||||
|
{
|
||||||
|
"ip_address": "146.48.31.109",
|
||||||
|
"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 DEV main router",
|
||||||
|
"id": "2ae28c5f-036b-45db-bc9f-5bab8fa3e914",
|
||||||
|
"name": "d4s-dev-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.28.50",
|
||||||
|
"10.1.30.241"
|
||||||
|
],
|
||||||
|
"main_private_network": {
|
||||||
|
"description": "D4Science DEV private network (use this as the main network)",
|
||||||
|
"name": "d4s-dev-cloud-main"
|
||||||
|
},
|
||||||
|
"main_private_network_id": "e0af5eba-f24a-4d0d-8184-bc654b980c4a",
|
||||||
|
"main_private_subnet": {
|
||||||
|
"allocation_end": "10.1.31.254",
|
||||||
|
"allocation_start": "10.1.28.30",
|
||||||
|
"cidr": "10.1.28.0/22",
|
||||||
|
"description": "D4Science DEV main private subnet",
|
||||||
|
"gateway_ip": "10.1.28.1",
|
||||||
|
"name": "d4s-dev-cloud-sub"
|
||||||
|
},
|
||||||
|
"main_region": "isti_area_pi_1",
|
||||||
|
"main_subnet_network_id": "2aa977f2-80b4-447c-a6b0-dfa06bf68751",
|
||||||
|
"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": "5887da8d-e362-4509-93ac-8a70bf8baef9",
|
||||||
|
"octavia_information": {
|
||||||
|
"main_lb_description": "Main L4 load balancer for the D4Science DEV",
|
||||||
|
"main_lb_hostname": "main-lb",
|
||||||
|
"main_lb_name": "lb-dev-l4",
|
||||||
|
"octavia_flavor": "octavia_amphora-mvcpu-ha",
|
||||||
|
"octavia_flavor_id": "394988b5-6603-4a1e-a939-8e177c6681c7"
|
||||||
|
},
|
||||||
|
"os_project_data": {
|
||||||
|
"id": "e8f8ca72f30648a8b389b4e745ac83a9"
|
||||||
|
},
|
||||||
|
"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": []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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": "netme-sobigdata",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"description": "SoBigData NetMe service",
|
||||||
|
"disable_status_check": false,
|
||||||
|
"id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488/11ec2f93-2424-40aa-af83-492572e2c280",
|
||||||
|
"name": "netme-sobigdata.cloud-dev.d4science.org.",
|
||||||
|
"project_id": "e8f8ca72f30648a8b389b4e745ac83a9",
|
||||||
|
"records": [
|
||||||
|
"swarm-lb.cloud-dev.d4science.org."
|
||||||
|
],
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"timeouts": null,
|
||||||
|
"ttl": 8600,
|
||||||
|
"type": "CNAME",
|
||||||
|
"value_specs": null,
|
||||||
|
"zone_id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488"
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"index_key": "ontotagme-sobigdata",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"description": "SoBigData OntoTagme service",
|
||||||
|
"disable_status_check": false,
|
||||||
|
"id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488/4a2411a1-638f-49c2-8c8b-f29d4bc5aba9",
|
||||||
|
"name": "ontotagme-sobigdata.cloud-dev.d4science.org.",
|
||||||
|
"project_id": "e8f8ca72f30648a8b389b4e745ac83a9",
|
||||||
|
"records": [
|
||||||
|
"swarm-lb.cloud-dev.d4science.org."
|
||||||
|
],
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"timeouts": null,
|
||||||
|
"ttl": 8600,
|
||||||
|
"type": "CNAME",
|
||||||
|
"value_specs": null,
|
||||||
|
"zone_id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488"
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"index_key": "shinyproxy-dev",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"description": "Shinyproxy DEV instance",
|
||||||
|
"disable_status_check": false,
|
||||||
|
"id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488/ddc4bca3-bb9c-44db-bac3-dbddae71a3a3",
|
||||||
|
"name": "shinyproxy.cloud-dev.d4science.org.",
|
||||||
|
"project_id": "e8f8ca72f30648a8b389b4e745ac83a9",
|
||||||
|
"records": [
|
||||||
|
"swarm-lb.cloud-dev.d4science.org."
|
||||||
|
],
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"timeouts": null,
|
||||||
|
"ttl": 8600,
|
||||||
|
"type": "CNAME",
|
||||||
|
"value_specs": null,
|
||||||
|
"zone_id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488"
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"index_key": "vremodeler-dev",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"description": "Vremodeler dev",
|
||||||
|
"disable_status_check": false,
|
||||||
|
"id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488/9bf82d9a-38f9-4d73-a0cd-1b3bce167c06",
|
||||||
|
"name": "vremodeler.cloud-dev.d4science.org.",
|
||||||
|
"project_id": "e8f8ca72f30648a8b389b4e745ac83a9",
|
||||||
|
"records": [
|
||||||
|
"swarm-lb.cloud-dev.d4science.org."
|
||||||
|
],
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"timeouts": null,
|
||||||
|
"ttl": 8600,
|
||||||
|
"type": "CNAME",
|
||||||
|
"value_specs": null,
|
||||||
|
"zone_id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488"
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"check_results": null
|
||||||
|
}
|
|
@ -2,23 +2,23 @@
|
||||||
# Manual edits may be lost in future updates.
|
# Manual edits may be lost in future updates.
|
||||||
|
|
||||||
provider "registry.terraform.io/terraform-provider-openstack/openstack" {
|
provider "registry.terraform.io/terraform-provider-openstack/openstack" {
|
||||||
version = "1.53.0"
|
version = "2.0.0"
|
||||||
constraints = "~> 1.53.0"
|
constraints = ">= 1.54.0"
|
||||||
hashes = [
|
hashes = [
|
||||||
"h1:YLGvYkSuagyP5orUTyKNK+JhzS17EFTUDpZ5R5/fFv4=",
|
"h1:raN7bKNdWwlAUprknjprlcP8/YluslrdVtyO+YI4PHs=",
|
||||||
"zh:09da7ca98ffd3de7b9ce36c4c13446212a6e763ba1162be71b50f95d453cb68e",
|
"zh:17dcb07e1af0bf5dfa0aa280a7ad450dffcd4c2b2fba91088eb5ec191ad8a0a0",
|
||||||
"zh:14041bcbb87312411d88612056ed185650bfd01284b8ea0761ce8105a331708e",
|
"zh:2546f047d34f4372e4eb10db5ba23a45a8952327ae94d15371b2432ba477404e",
|
||||||
"zh:35bf4c788fdbc17c8e40ebc7b33c7de4b45a2fa2efaa657b10f0e3bd37c9627f",
|
"zh:257a96029772251de0ce039483d565744e28e902904a60cb2e1d0af91b09d74d",
|
||||||
"zh:46ede8ef4cfa12d654c538afc1e1ec34a1f3e8eb4e986ee23dceae398b7176a6",
|
"zh:29d71f2a9d74701965a19ad1623d46bfe624e7d58c261075acad04bef373b579",
|
||||||
"zh:59675734990dab1e8d87997853ea75e8104bba730b3f5a7146ac735540c9d6bf",
|
"zh:30e759253fb7df4d24de8e248ff5f0f038c6e54b82377c70bc19815443476eb6",
|
||||||
"zh:6de52428849806498670e827b54810be7510a2a79449602c1aede4235a0ec036",
|
"zh:383d8286588b0ccd02062373ee7812ad583775b7d1ef09112716ebf3a6f257cd",
|
||||||
"zh:78b2a20601272afceffac8f8ca78a6b647b84196c0dd8dc710fae297f6be15a4",
|
"zh:533beb32a7d355f5ecfc249eb40a9800061dd2590960c48910d7ab8a711495ef",
|
||||||
"zh:7c41ed3a4fac09677e676ecf9f9edd1e38eef449e656cb01a848d2c799c6de8f",
|
"zh:5f52cfb93aabf766d6781f66b9cee8b9126a52a330e16c6eadd1b52e8c251870",
|
||||||
"zh:852800228f4118a4aa6cfaa4468b851247cbed6f037fd204f08de69eb1edc149",
|
"zh:6720f59ade2db328d8e3d37ac4bd588a186379d6c29ebd76761fca916a230ddc",
|
||||||
"zh:86d618e7f9a07d978b8bc4b190be350a00de64ec535f9c8f5dfe133542a55483",
|
"zh:725c285c6e979d9564ae0c6017587e65ca6727733cb6fdf0af57047e0f89cb00",
|
||||||
"zh:963a9e72b66d8bcf43de9b14a674ae3ca3719ce2f829217f7a65b66fc3773397",
|
"zh:739ec820139bdd742743c892f0c123b3ef4c0288ed33739380ed362cdcb49085",
|
||||||
"zh:a8e72ab67795071bda61f99a6de3d2d40122fb51971768fd75e1324abe874ced",
|
"zh:7d223f9e986a8ece51f86143d01f2c7d805c55dce1090e53059d8a38e1121de4",
|
||||||
"zh:ce1890cf3af17d569af3bc7673cec0a8f78e6f5d701767593f3d29c551f44848",
|
"zh:9d682904a5346febb820f7d1290d3a5bd09761c0427c9854c3248d222ce970c2",
|
||||||
"zh:e6f1b96eb684f527a47f71923f268c86a36d7894751b31ee9e726d7502a639cd",
|
"zh:f06515d93af460abc39e7713089f9fe714bcb25315582628ecb0b1af7a2a6e2f",
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@ terraform {
|
||||||
required_providers {
|
required_providers {
|
||||||
openstack = {
|
openstack = {
|
||||||
source = "terraform-provider-openstack/openstack"
|
source = "terraform-provider-openstack/openstack"
|
||||||
version = "~> 1.53.0"
|
version = ">= 1.54.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -16,7 +16,6 @@ data "terraform_remote_state" "privnet_dns_router" {
|
||||||
path = "../project-setup/terraform.tfstate"
|
path = "../project-setup/terraform.tfstate"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
# Uses common_variables as module
|
# Uses common_variables as module
|
||||||
#
|
#
|
||||||
|
@ -24,33 +23,45 @@ module "common_variables" {
|
||||||
source = "../../modules/common_variables"
|
source = "../../modules/common_variables"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#
|
|
||||||
# Creates the server group "sdi-geo"
|
|
||||||
#
|
|
||||||
resource "openstack_compute_servergroup_v2" "sdi_geo_server_group" {
|
|
||||||
name = "sdi-geo"
|
|
||||||
policies = [module.common_variables.policy_list.soft_anti_affinity]
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
module "instance_with_data_volume" {
|
module "instance_with_data_volume" {
|
||||||
source = "../../modules/instance_with_data_volume"
|
source = "../../modules/instance_with_data_volume"
|
||||||
|
|
||||||
instances_with_data_volume_map = {
|
instances_with_data_volume_map = {
|
||||||
geonetwork_1 = {
|
geonetwork_next = {
|
||||||
name = "geonetwork-1",
|
name = "geonetwork-next",
|
||||||
description = "This instance serves geonetwork service",
|
description = "This instance serves geonetwork service",
|
||||||
flavor = module.common_variables.flavor_list.m1_medium,
|
flavor = module.common_variables.flavor_list.m1_medium,
|
||||||
networks = [data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.name, module.common_variables.networks_list.shared_postgresql],
|
networks = [data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.name, module.common_variables.networks_list.shared_postgresql],
|
||||||
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],
|
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],
|
||||||
server_groups_ids = [openstack_compute_servergroup_v2.sdi_geo_server_group.id],
|
server_groups_ids = [],
|
||||||
image_ref = module.common_variables.ubuntu_1804
|
image_ref = module.common_variables.ubuntu_1804
|
||||||
volume = {
|
volume = {
|
||||||
name = "geonetwork_1_data_volume",
|
name = "geonetwork_next_data_volume",
|
||||||
size = "30",
|
size = "20",
|
||||||
device = "/dev/vdb"
|
device = "/dev/vdb"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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 = {
|
||||||
|
geonetwork-next = {
|
||||||
|
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||||
|
name = join(".", ["geonetwork-next", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||||
|
description = "Geonetwork geonetwork-next"
|
||||||
|
ttl = 8600
|
||||||
|
type = "CNAME"
|
||||||
|
records = [local.cname_target]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,254 +0,0 @@
|
||||||
{
|
|
||||||
"version": 4,
|
|
||||||
"terraform_version": "1.6.4",
|
|
||||||
"serial": 5,
|
|
||||||
"lineage": "e3a2cae2-4c05-25e0-9e16-4616ea0bd8d4",
|
|
||||||
"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": {
|
|
||||||
"dns_zone_id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488",
|
|
||||||
"external_gateway_ip": "146.48.31.109",
|
|
||||||
"main_private_network_id": "e0af5eba-f24a-4d0d-8184-bc654b980c4a",
|
|
||||||
"main_subnet_network_id": "2aa977f2-80b4-447c-a6b0-dfa06bf68751"
|
|
||||||
},
|
|
||||||
"type": [
|
|
||||||
"object",
|
|
||||||
{
|
|
||||||
"dns_zone_id": "string",
|
|
||||||
"external_gateway_ip": "string",
|
|
||||||
"main_private_network_id": "string",
|
|
||||||
"main_subnet_network_id": "string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"workspace": null
|
|
||||||
},
|
|
||||||
"sensitive_attributes": []
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"mode": "managed",
|
|
||||||
"type": "openstack_compute_servergroup_v2",
|
|
||||||
"name": "sdi_geo_server_group",
|
|
||||||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
|
||||||
"instances": [
|
|
||||||
{
|
|
||||||
"schema_version": 0,
|
|
||||||
"attributes": {
|
|
||||||
"id": "39b5a9fa-8c3b-40d9-8d8a-e595d47358f5",
|
|
||||||
"members": [],
|
|
||||||
"name": "sdi-geo",
|
|
||||||
"policies": [
|
|
||||||
"soft-anti-affinity"
|
|
||||||
],
|
|
||||||
"region": "isti_area_pi_1",
|
|
||||||
"rules": [
|
|
||||||
{
|
|
||||||
"max_server_per_host": 0
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"value_specs": null
|
|
||||||
},
|
|
||||||
"sensitive_attributes": [],
|
|
||||||
"private": "bnVsbA=="
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"module": "module.instance_with_data_volume",
|
|
||||||
"mode": "managed",
|
|
||||||
"type": "openstack_blockstorage_volume_v3",
|
|
||||||
"name": "instance_data_volume",
|
|
||||||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
|
||||||
"instances": [
|
|
||||||
{
|
|
||||||
"index_key": "geonetwork_1",
|
|
||||||
"schema_version": 0,
|
|
||||||
"attributes": {
|
|
||||||
"attachment": [],
|
|
||||||
"availability_zone": "nova",
|
|
||||||
"consistency_group_id": null,
|
|
||||||
"description": "",
|
|
||||||
"enable_online_resize": null,
|
|
||||||
"id": "e89ec101-eab3-4291-a192-47aa2542cde7",
|
|
||||||
"image_id": null,
|
|
||||||
"metadata": {},
|
|
||||||
"multiattach": null,
|
|
||||||
"name": "geonetwork_1_data_volume",
|
|
||||||
"region": "isti_area_pi_1",
|
|
||||||
"scheduler_hints": [],
|
|
||||||
"size": 30,
|
|
||||||
"snapshot_id": "",
|
|
||||||
"source_replica": null,
|
|
||||||
"source_vol_id": "",
|
|
||||||
"timeouts": null,
|
|
||||||
"volume_type": "cephUnencrypted"
|
|
||||||
},
|
|
||||||
"sensitive_attributes": [],
|
|
||||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwfX0=",
|
|
||||||
"dependencies": [
|
|
||||||
"openstack_compute_servergroup_v2.sdi_geo_server_group"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"module": "module.instance_with_data_volume",
|
|
||||||
"mode": "managed",
|
|
||||||
"type": "openstack_compute_instance_v2",
|
|
||||||
"name": "instance_with_data_volume",
|
|
||||||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
|
||||||
"instances": [
|
|
||||||
{
|
|
||||||
"index_key": "geonetwork_1",
|
|
||||||
"schema_version": 0,
|
|
||||||
"attributes": {
|
|
||||||
"access_ip_v4": "10.1.28.82",
|
|
||||||
"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": 10,
|
|
||||||
"volume_type": ""
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"config_drive": null,
|
|
||||||
"created": "2023-12-11 10:25:30 +0000 UTC",
|
|
||||||
"flavor_id": "4",
|
|
||||||
"flavor_name": "m1.medium",
|
|
||||||
"floating_ip": null,
|
|
||||||
"force_delete": false,
|
|
||||||
"id": "ce706ddc-cd05-45fc-bfff-b46839c91604",
|
|
||||||
"image_id": "Attempt to boot from volume - no image supplied",
|
|
||||||
"image_name": null,
|
|
||||||
"key_pair": "Giancarlo Panichi",
|
|
||||||
"metadata": null,
|
|
||||||
"name": "geonetwork-1",
|
|
||||||
"network": [
|
|
||||||
{
|
|
||||||
"access_network": false,
|
|
||||||
"fixed_ip_v4": "10.1.28.82",
|
|
||||||
"fixed_ip_v6": "",
|
|
||||||
"floating_ip": "",
|
|
||||||
"mac": "fa:16:3e:bf:64:1d",
|
|
||||||
"name": "d4s-dev-cloud-main",
|
|
||||||
"port": "",
|
|
||||||
"uuid": "e0af5eba-f24a-4d0d-8184-bc654b980c4a"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"access_network": false,
|
|
||||||
"fixed_ip_v4": "192.168.2.223",
|
|
||||||
"fixed_ip_v6": "",
|
|
||||||
"floating_ip": "",
|
|
||||||
"mac": "fa:16:3e:f5:c3:88",
|
|
||||||
"name": "postgresql-srv-net",
|
|
||||||
"port": "",
|
|
||||||
"uuid": "00422a4a-4b8b-4c85-acf9-ef733df842b9"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"network_mode": null,
|
|
||||||
"personality": [],
|
|
||||||
"power_state": "active",
|
|
||||||
"region": "isti_area_pi_1",
|
|
||||||
"scheduler_hints": [
|
|
||||||
{
|
|
||||||
"additional_properties": null,
|
|
||||||
"build_near_host_ip": "",
|
|
||||||
"different_cell": [],
|
|
||||||
"different_host": [],
|
|
||||||
"group": "39b5a9fa-8c3b-40d9-8d8a-e595d47358f5",
|
|
||||||
"query": [],
|
|
||||||
"same_host": [],
|
|
||||||
"target_cell": ""
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"security_groups": [
|
|
||||||
"default",
|
|
||||||
"http and https from the load balancers"
|
|
||||||
],
|
|
||||||
"stop_before_destroy": false,
|
|
||||||
"tags": null,
|
|
||||||
"timeouts": null,
|
|
||||||
"updated": "2023-12-11 10:26:05 +0000 UTC",
|
|
||||||
"user_data": "47d4769e61324c305c4b70ed6673de4fad84150d",
|
|
||||||
"vendor_options": [],
|
|
||||||
"volume": []
|
|
||||||
},
|
|
||||||
"sensitive_attributes": [],
|
|
||||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxODAwMDAwMDAwMDAwLCJkZWxldGUiOjE4MDAwMDAwMDAwMDAsInVwZGF0ZSI6MTgwMDAwMDAwMDAwMH19",
|
|
||||||
"dependencies": [
|
|
||||||
"openstack_compute_servergroup_v2.sdi_geo_server_group"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"module": "module.instance_with_data_volume",
|
|
||||||
"mode": "managed",
|
|
||||||
"type": "openstack_compute_volume_attach_v2",
|
|
||||||
"name": "attach_volume",
|
|
||||||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
|
||||||
"instances": [
|
|
||||||
{
|
|
||||||
"index_key": "geonetwork_1",
|
|
||||||
"schema_version": 0,
|
|
||||||
"attributes": {
|
|
||||||
"device": "/dev/vdb",
|
|
||||||
"id": "ce706ddc-cd05-45fc-bfff-b46839c91604/e89ec101-eab3-4291-a192-47aa2542cde7",
|
|
||||||
"instance_id": "ce706ddc-cd05-45fc-bfff-b46839c91604",
|
|
||||||
"multiattach": null,
|
|
||||||
"region": "isti_area_pi_1",
|
|
||||||
"timeouts": null,
|
|
||||||
"vendor_options": [],
|
|
||||||
"volume_id": "e89ec101-eab3-4291-a192-47aa2542cde7"
|
|
||||||
},
|
|
||||||
"sensitive_attributes": [],
|
|
||||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwfX0=",
|
|
||||||
"dependencies": [
|
|
||||||
"module.instance_with_data_volume.openstack_blockstorage_volume_v3.instance_data_volume",
|
|
||||||
"module.instance_with_data_volume.openstack_compute_instance_v2.instance_with_data_volume",
|
|
||||||
"openstack_compute_servergroup_v2.sdi_geo_server_group"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"check_results": null
|
|
||||||
}
|
|
|
@ -2,24 +2,23 @@
|
||||||
# Manual edits may be lost in future updates.
|
# Manual edits may be lost in future updates.
|
||||||
|
|
||||||
provider "registry.terraform.io/terraform-provider-openstack/openstack" {
|
provider "registry.terraform.io/terraform-provider-openstack/openstack" {
|
||||||
version = "1.53.0"
|
version = "2.0.0"
|
||||||
constraints = "~> 1.53.0"
|
constraints = ">= 1.54.0"
|
||||||
hashes = [
|
hashes = [
|
||||||
"h1:YLGvYkSuagyP5orUTyKNK+JhzS17EFTUDpZ5R5/fFv4=",
|
"h1:raN7bKNdWwlAUprknjprlcP8/YluslrdVtyO+YI4PHs=",
|
||||||
"h1:ZSJPqrlaHQ3sj7wyJuPSG+NblFZbAA6Y0d3GjSJf3o8=",
|
"zh:17dcb07e1af0bf5dfa0aa280a7ad450dffcd4c2b2fba91088eb5ec191ad8a0a0",
|
||||||
"zh:09da7ca98ffd3de7b9ce36c4c13446212a6e763ba1162be71b50f95d453cb68e",
|
"zh:2546f047d34f4372e4eb10db5ba23a45a8952327ae94d15371b2432ba477404e",
|
||||||
"zh:14041bcbb87312411d88612056ed185650bfd01284b8ea0761ce8105a331708e",
|
"zh:257a96029772251de0ce039483d565744e28e902904a60cb2e1d0af91b09d74d",
|
||||||
"zh:35bf4c788fdbc17c8e40ebc7b33c7de4b45a2fa2efaa657b10f0e3bd37c9627f",
|
"zh:29d71f2a9d74701965a19ad1623d46bfe624e7d58c261075acad04bef373b579",
|
||||||
"zh:46ede8ef4cfa12d654c538afc1e1ec34a1f3e8eb4e986ee23dceae398b7176a6",
|
"zh:30e759253fb7df4d24de8e248ff5f0f038c6e54b82377c70bc19815443476eb6",
|
||||||
"zh:59675734990dab1e8d87997853ea75e8104bba730b3f5a7146ac735540c9d6bf",
|
"zh:383d8286588b0ccd02062373ee7812ad583775b7d1ef09112716ebf3a6f257cd",
|
||||||
"zh:6de52428849806498670e827b54810be7510a2a79449602c1aede4235a0ec036",
|
"zh:533beb32a7d355f5ecfc249eb40a9800061dd2590960c48910d7ab8a711495ef",
|
||||||
"zh:78b2a20601272afceffac8f8ca78a6b647b84196c0dd8dc710fae297f6be15a4",
|
"zh:5f52cfb93aabf766d6781f66b9cee8b9126a52a330e16c6eadd1b52e8c251870",
|
||||||
"zh:7c41ed3a4fac09677e676ecf9f9edd1e38eef449e656cb01a848d2c799c6de8f",
|
"zh:6720f59ade2db328d8e3d37ac4bd588a186379d6c29ebd76761fca916a230ddc",
|
||||||
"zh:852800228f4118a4aa6cfaa4468b851247cbed6f037fd204f08de69eb1edc149",
|
"zh:725c285c6e979d9564ae0c6017587e65ca6727733cb6fdf0af57047e0f89cb00",
|
||||||
"zh:86d618e7f9a07d978b8bc4b190be350a00de64ec535f9c8f5dfe133542a55483",
|
"zh:739ec820139bdd742743c892f0c123b3ef4c0288ed33739380ed362cdcb49085",
|
||||||
"zh:963a9e72b66d8bcf43de9b14a674ae3ca3719ce2f829217f7a65b66fc3773397",
|
"zh:7d223f9e986a8ece51f86143d01f2c7d805c55dce1090e53059d8a38e1121de4",
|
||||||
"zh:a8e72ab67795071bda61f99a6de3d2d40122fb51971768fd75e1324abe874ced",
|
"zh:9d682904a5346febb820f7d1290d3a5bd09761c0427c9854c3248d222ce970c2",
|
||||||
"zh:ce1890cf3af17d569af3bc7673cec0a8f78e6f5d701767593f3d29c551f44848",
|
"zh:f06515d93af460abc39e7713089f9fe714bcb25315582628ecb0b1af7a2a6e2f",
|
||||||
"zh:e6f1b96eb684f527a47f71923f268c86a36d7894751b31ee9e726d7502a639cd",
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@ terraform {
|
||||||
required_providers {
|
required_providers {
|
||||||
openstack = {
|
openstack = {
|
||||||
source = "terraform-provider-openstack/openstack"
|
source = "terraform-provider-openstack/openstack"
|
||||||
version = "~> 1.53.0"
|
version = ">= 1.54.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -24,31 +24,80 @@ module "common_variables" {
|
||||||
source = "../../modules/common_variables"
|
source = "../../modules/common_variables"
|
||||||
}
|
}
|
||||||
|
|
||||||
#
|
# Module used
|
||||||
# Creates the server group "geoserver"
|
module "ssh_settings" {
|
||||||
#
|
source = "../../modules/ssh-key-ref"
|
||||||
resource "openstack_compute_servergroup_v2" "geoserver_server_group" {
|
|
||||||
name = "geoserver"
|
|
||||||
policies = [module.common_variables.policy_list.soft_anti_affinity]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
module "instance_with_data_volume" {
|
# Volumes
|
||||||
source = "../../modules/instance_with_data_volume"
|
resource "openstack_blockstorage_volume_v3" "geoserver_2_dev_data_volume" {
|
||||||
|
name = "geoserver_2_data_volume"
|
||||||
|
size = "20"
|
||||||
|
}
|
||||||
|
|
||||||
instances_with_data_volume_map = {
|
|
||||||
geoserver_2 = {
|
# Geoservers
|
||||||
name = "geoserver-2",
|
resource "openstack_compute_instance_v2" "geoserver_2_dev" {
|
||||||
description = "Geoserver instance",
|
name = "geoserver-2"
|
||||||
flavor = module.common_variables.flavor_list.m1_large,
|
availability_zone_hints = module.common_variables.availability_zone_no_gpu_name
|
||||||
networks = [data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.name, module.common_variables.networks_list.shared_postgresql],
|
flavor_name = "c1.medium"
|
||||||
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],
|
key_pair = module.ssh_settings.ssh_key_name
|
||||||
server_groups_ids = [openstack_compute_servergroup_v2.geoserver_server_group.id],
|
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]
|
||||||
image_ref = module.common_variables.ubuntu_1804,
|
block_device {
|
||||||
volume = {
|
uuid = module.common_variables.ubuntu_2404.uuid
|
||||||
name = "geoserver_2_data_volume",
|
source_type = "image"
|
||||||
size = "50",
|
volume_size = 10
|
||||||
device = "/dev/vdb"
|
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_2404.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" "geoserver_2_dev_attach" {
|
||||||
|
instance_id = openstack_compute_instance_v2.geoserver_2_dev.id
|
||||||
|
volume_id = openstack_blockstorage_volume_v3.geoserver_2_dev_data_volume.id
|
||||||
|
device = "/dev/vdb"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
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 = {
|
||||||
|
geoserver-2 = {
|
||||||
|
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||||
|
name = join(".", ["geoserver-2", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||||
|
description = "Geoserver geoserver-2"
|
||||||
|
ttl = 8600
|
||||||
|
type = "CNAME"
|
||||||
|
records = [local.cname_target]
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -0,0 +1,586 @@
|
||||||
|
{
|
||||||
|
"version": 4,
|
||||||
|
"terraform_version": "1.6.4",
|
||||||
|
"serial": 7,
|
||||||
|
"lineage": "ee9a7e77-5d61-f866-c3d3-dbb0ae8bdf59",
|
||||||
|
"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.29.247",
|
||||||
|
"ca_cidr": "10.1.29.247/32",
|
||||||
|
"haproxy_l7_1": "10.1.28.50",
|
||||||
|
"haproxy_l7_1_cidr": "10.1.28.50/32",
|
||||||
|
"haproxy_l7_2": "10.1.30.241",
|
||||||
|
"haproxy_l7_2_cidr": "10.1.30.241/32",
|
||||||
|
"octavia_main": "10.1.28.227",
|
||||||
|
"octavia_main_cidr": "10.1.28.227/32",
|
||||||
|
"prometheus": "10.1.30.129",
|
||||||
|
"prometheus_cidr": "10.1.30.129/32",
|
||||||
|
"ssh_jump": "10.1.29.164",
|
||||||
|
"ssh_jump_cidr": "10.1.29.164/32"
|
||||||
|
},
|
||||||
|
"centos_7": {
|
||||||
|
"name": "CentOS-7",
|
||||||
|
"uuid": "f0187a99-64f6-462a-ab5f-ef52fe62f2ca"
|
||||||
|
},
|
||||||
|
"default_security_group_name": "default",
|
||||||
|
"dns_zone": {
|
||||||
|
"description": "DNS primary zone for the d4s-dev-cloud project",
|
||||||
|
"email": "postmaster@isti.cnr.it",
|
||||||
|
"ttl": "8600",
|
||||||
|
"zone_name": "cloud-dev.d4science.org."
|
||||||
|
},
|
||||||
|
"dns_zone_id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488",
|
||||||
|
"el7_data_file": "../../openstack_vm_data_scripts/el7.sh",
|
||||||
|
"external_gateway_ip": [
|
||||||
|
{
|
||||||
|
"ip_address": "146.48.31.109",
|
||||||
|
"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 DEV main router",
|
||||||
|
"id": "2ae28c5f-036b-45db-bc9f-5bab8fa3e914",
|
||||||
|
"name": "d4s-dev-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.28.50",
|
||||||
|
"10.1.30.241"
|
||||||
|
],
|
||||||
|
"main_private_network": {
|
||||||
|
"description": "D4Science DEV private network (use this as the main network)",
|
||||||
|
"name": "d4s-dev-cloud-main"
|
||||||
|
},
|
||||||
|
"main_private_network_id": "e0af5eba-f24a-4d0d-8184-bc654b980c4a",
|
||||||
|
"main_private_subnet": {
|
||||||
|
"allocation_end": "10.1.31.254",
|
||||||
|
"allocation_start": "10.1.28.30",
|
||||||
|
"cidr": "10.1.28.0/22",
|
||||||
|
"description": "D4Science DEV main private subnet",
|
||||||
|
"gateway_ip": "10.1.28.1",
|
||||||
|
"name": "d4s-dev-cloud-sub"
|
||||||
|
},
|
||||||
|
"main_region": "isti_area_pi_1",
|
||||||
|
"main_subnet_network_id": "2aa977f2-80b4-447c-a6b0-dfa06bf68751",
|
||||||
|
"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": "5887da8d-e362-4509-93ac-8a70bf8baef9",
|
||||||
|
"octavia_information": {
|
||||||
|
"main_lb_description": "Main L4 load balancer for the D4Science DEV",
|
||||||
|
"main_lb_hostname": "main-lb",
|
||||||
|
"main_lb_name": "lb-dev-l4",
|
||||||
|
"octavia_flavor": "octavia_amphora-mvcpu-ha",
|
||||||
|
"octavia_flavor_id": "394988b5-6603-4a1e-a939-8e177c6681c7"
|
||||||
|
},
|
||||||
|
"os_project_data": {
|
||||||
|
"id": "e8f8ca72f30648a8b389b4e745ac83a9"
|
||||||
|
},
|
||||||
|
"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": "geoserver_2_dev_data_volume",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"attachment": [
|
||||||
|
{
|
||||||
|
"device": "/dev/vdb",
|
||||||
|
"id": "5cdb6111-a3f2-4c18-b62c-e93f7519b93b",
|
||||||
|
"instance_id": "fcd233c4-a5b5-4c03-bd43-f3b3415907f1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"availability_zone": "nova",
|
||||||
|
"backup_id": "",
|
||||||
|
"consistency_group_id": null,
|
||||||
|
"description": "",
|
||||||
|
"enable_online_resize": null,
|
||||||
|
"id": "5cdb6111-a3f2-4c18-b62c-e93f7519b93b",
|
||||||
|
"image_id": null,
|
||||||
|
"metadata": {},
|
||||||
|
"name": "geoserver_2_data_volume",
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"scheduler_hints": [],
|
||||||
|
"size": 20,
|
||||||
|
"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": "geoserver_2_dev",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"access_ip_v4": "10.1.29.51",
|
||||||
|
"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": "fc3f705d-3cf5-4866-8ef6-ff6e2cdd4075",
|
||||||
|
"volume_size": 10,
|
||||||
|
"volume_type": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"config_drive": null,
|
||||||
|
"created": "2024-07-26 09:24:10 +0000 UTC",
|
||||||
|
"flavor_id": "5",
|
||||||
|
"flavor_name": "c1.medium",
|
||||||
|
"force_delete": false,
|
||||||
|
"id": "fcd233c4-a5b5-4c03-bd43-f3b3415907f1",
|
||||||
|
"image_id": "Attempt to boot from volume - no image supplied",
|
||||||
|
"image_name": null,
|
||||||
|
"key_pair": "Giancarlo Panichi",
|
||||||
|
"metadata": null,
|
||||||
|
"name": "geoserver-2",
|
||||||
|
"network": [
|
||||||
|
{
|
||||||
|
"access_network": false,
|
||||||
|
"fixed_ip_v4": "10.1.29.51",
|
||||||
|
"fixed_ip_v6": "",
|
||||||
|
"mac": "fa:16:3e:27:72:51",
|
||||||
|
"name": "d4s-dev-cloud-main",
|
||||||
|
"port": "",
|
||||||
|
"uuid": "e0af5eba-f24a-4d0d-8184-bc654b980c4a"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"access_network": false,
|
||||||
|
"fixed_ip_v4": "192.168.2.201",
|
||||||
|
"fixed_ip_v6": "",
|
||||||
|
"mac": "fa:16:3e:5a:38:15",
|
||||||
|
"name": "postgresql-srv-net",
|
||||||
|
"port": "",
|
||||||
|
"uuid": "00422a4a-4b8b-4c85-acf9-ef733df842b9"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"network_mode": null,
|
||||||
|
"personality": [],
|
||||||
|
"power_state": "active",
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"scheduler_hints": [],
|
||||||
|
"security_groups": [
|
||||||
|
"default",
|
||||||
|
"traffic_from_the_main_load_balancers"
|
||||||
|
],
|
||||||
|
"stop_before_destroy": false,
|
||||||
|
"tags": [],
|
||||||
|
"timeouts": null,
|
||||||
|
"updated": "2024-07-26 09:29:15 +0000 UTC",
|
||||||
|
"user_data": "",
|
||||||
|
"vendor_options": []
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxODAwMDAwMDAwMDAwLCJkZWxldGUiOjE4MDAwMDAwMDAwMDAsInVwZGF0ZSI6MTgwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_compute_volume_attach_v2",
|
||||||
|
"name": "geoserver_2_dev_attach",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"device": "/dev/vdb",
|
||||||
|
"id": "fcd233c4-a5b5-4c03-bd43-f3b3415907f1/5cdb6111-a3f2-4c18-b62c-e93f7519b93b",
|
||||||
|
"instance_id": "fcd233c4-a5b5-4c03-bd43-f3b3415907f1",
|
||||||
|
"multiattach": null,
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"tag": null,
|
||||||
|
"timeouts": null,
|
||||||
|
"vendor_options": [],
|
||||||
|
"volume_id": "5cdb6111-a3f2-4c18-b62c-e93f7519b93b"
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwfX0=",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router",
|
||||||
|
"openstack_blockstorage_volume_v3.geoserver_2_dev_data_volume",
|
||||||
|
"openstack_compute_instance_v2.geoserver_2_dev"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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": "geoserver-2",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"description": "Geoserver geoserver-2",
|
||||||
|
"disable_status_check": false,
|
||||||
|
"id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488/bedb2f86-18a5-4bf4-a424-08ed18c9bd8b",
|
||||||
|
"name": "geoserver-2.cloud-dev.d4science.org.",
|
||||||
|
"project_id": "e8f8ca72f30648a8b389b4e745ac83a9",
|
||||||
|
"records": [
|
||||||
|
"main-lb.cloud-dev.d4science.org."
|
||||||
|
],
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"timeouts": null,
|
||||||
|
"ttl": 8600,
|
||||||
|
"type": "CNAME",
|
||||||
|
"value_specs": null,
|
||||||
|
"zone_id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488"
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"check_results": null
|
||||||
|
}
|
|
@ -0,0 +1,92 @@
|
||||||
|
# Define required providers
|
||||||
|
terraform {
|
||||||
|
required_version = ">= 0.14.0"
|
||||||
|
required_providers {
|
||||||
|
openstack = {
|
||||||
|
source = "terraform-provider-openstack/openstack"
|
||||||
|
version = ">= 1.54.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"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Instances
|
||||||
|
resource "openstack_compute_instance_v2" "icproxy1_dev" {
|
||||||
|
name = "registry1"
|
||||||
|
availability_zone_hints = module.common_variables.availability_zone_no_gpu_name
|
||||||
|
flavor_name = "m1.medium"
|
||||||
|
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 = 10
|
||||||
|
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])
|
||||||
|
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
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
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 = {
|
||||||
|
icproxy1-dev = {
|
||||||
|
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||||
|
name = join(".", ["registry1", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||||
|
description = "ICProxy 1"
|
||||||
|
ttl = 8600
|
||||||
|
type = "CNAME"
|
||||||
|
records = [local.cname_target]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
provider "openstack" {
|
||||||
|
cloud = "d4s-dev"
|
||||||
|
}
|
|
@ -0,0 +1,509 @@
|
||||||
|
{
|
||||||
|
"version": 4,
|
||||||
|
"terraform_version": "1.6.4",
|
||||||
|
"serial": 3,
|
||||||
|
"lineage": "77fc36f5-2d41-5382-7849-e0318df84e95",
|
||||||
|
"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.29.247",
|
||||||
|
"ca_cidr": "10.1.29.247/32",
|
||||||
|
"haproxy_l7_1": "10.1.28.50",
|
||||||
|
"haproxy_l7_1_cidr": "10.1.28.50/32",
|
||||||
|
"haproxy_l7_2": "10.1.30.241",
|
||||||
|
"haproxy_l7_2_cidr": "10.1.30.241/32",
|
||||||
|
"octavia_main": "10.1.28.227",
|
||||||
|
"octavia_main_cidr": "10.1.28.227/32",
|
||||||
|
"prometheus": "10.1.30.129",
|
||||||
|
"prometheus_cidr": "10.1.30.129/32",
|
||||||
|
"ssh_jump": "10.1.29.164",
|
||||||
|
"ssh_jump_cidr": "10.1.29.164/32"
|
||||||
|
},
|
||||||
|
"centos_7": {
|
||||||
|
"name": "CentOS-7",
|
||||||
|
"uuid": "f0187a99-64f6-462a-ab5f-ef52fe62f2ca"
|
||||||
|
},
|
||||||
|
"default_security_group_name": "default",
|
||||||
|
"dns_zone": {
|
||||||
|
"description": "DNS primary zone for the d4s-dev-cloud project",
|
||||||
|
"email": "postmaster@isti.cnr.it",
|
||||||
|
"ttl": "8600",
|
||||||
|
"zone_name": "cloud-dev.d4science.org."
|
||||||
|
},
|
||||||
|
"dns_zone_id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488",
|
||||||
|
"el7_data_file": "../../openstack_vm_data_scripts/el7.sh",
|
||||||
|
"external_gateway_ip": [
|
||||||
|
{
|
||||||
|
"ip_address": "146.48.31.109",
|
||||||
|
"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 DEV main router",
|
||||||
|
"id": "2ae28c5f-036b-45db-bc9f-5bab8fa3e914",
|
||||||
|
"name": "d4s-dev-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.28.50",
|
||||||
|
"10.1.30.241"
|
||||||
|
],
|
||||||
|
"main_private_network": {
|
||||||
|
"description": "D4Science DEV private network (use this as the main network)",
|
||||||
|
"name": "d4s-dev-cloud-main"
|
||||||
|
},
|
||||||
|
"main_private_network_id": "e0af5eba-f24a-4d0d-8184-bc654b980c4a",
|
||||||
|
"main_private_subnet": {
|
||||||
|
"allocation_end": "10.1.31.254",
|
||||||
|
"allocation_start": "10.1.28.30",
|
||||||
|
"cidr": "10.1.28.0/22",
|
||||||
|
"description": "D4Science DEV main private subnet",
|
||||||
|
"gateway_ip": "10.1.28.1",
|
||||||
|
"name": "d4s-dev-cloud-sub"
|
||||||
|
},
|
||||||
|
"main_region": "isti_area_pi_1",
|
||||||
|
"main_subnet_network_id": "2aa977f2-80b4-447c-a6b0-dfa06bf68751",
|
||||||
|
"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": "5887da8d-e362-4509-93ac-8a70bf8baef9",
|
||||||
|
"octavia_information": {
|
||||||
|
"main_lb_description": "Main L4 load balancer for the D4Science DEV",
|
||||||
|
"main_lb_hostname": "main-lb",
|
||||||
|
"main_lb_name": "lb-dev-l4",
|
||||||
|
"octavia_flavor": "octavia_amphora-mvcpu-ha",
|
||||||
|
"octavia_flavor_id": "394988b5-6603-4a1e-a939-8e177c6681c7"
|
||||||
|
},
|
||||||
|
"os_project_data": {
|
||||||
|
"id": "e8f8ca72f30648a8b389b4e745ac83a9"
|
||||||
|
},
|
||||||
|
"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_compute_instance_v2",
|
||||||
|
"name": "icproxy1_dev",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"access_ip_v4": "10.1.30.29",
|
||||||
|
"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": 10,
|
||||||
|
"volume_type": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"config_drive": null,
|
||||||
|
"created": "2024-07-29 12:19:23 +0000 UTC",
|
||||||
|
"flavor_id": "4",
|
||||||
|
"flavor_name": "m1.medium",
|
||||||
|
"force_delete": false,
|
||||||
|
"id": "8e779980-105f-433e-952f-539a1e1d8c4c",
|
||||||
|
"image_id": "Attempt to boot from volume - no image supplied",
|
||||||
|
"image_name": null,
|
||||||
|
"key_pair": "Giancarlo Panichi",
|
||||||
|
"metadata": null,
|
||||||
|
"name": "registry1",
|
||||||
|
"network": [
|
||||||
|
{
|
||||||
|
"access_network": false,
|
||||||
|
"fixed_ip_v4": "10.1.30.29",
|
||||||
|
"fixed_ip_v6": "",
|
||||||
|
"mac": "fa:16:3e:f0:e1:7a",
|
||||||
|
"name": "d4s-dev-cloud-main",
|
||||||
|
"port": "",
|
||||||
|
"uuid": "e0af5eba-f24a-4d0d-8184-bc654b980c4a"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"network_mode": null,
|
||||||
|
"personality": [],
|
||||||
|
"power_state": "active",
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"scheduler_hints": [],
|
||||||
|
"security_groups": [
|
||||||
|
"default",
|
||||||
|
"traffic_from_the_main_load_balancers"
|
||||||
|
],
|
||||||
|
"stop_before_destroy": false,
|
||||||
|
"tags": null,
|
||||||
|
"timeouts": null,
|
||||||
|
"updated": "2024-07-29 12:20:18 +0000 UTC",
|
||||||
|
"user_data": "47d4769e61324c305c4b70ed6673de4fad84150d",
|
||||||
|
"vendor_options": []
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxODAwMDAwMDAwMDAwLCJkZWxldGUiOjE4MDAwMDAwMDAwMDAsInVwZGF0ZSI6MTgwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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": "icproxy1-dev",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"description": "ICProxy 1",
|
||||||
|
"disable_status_check": false,
|
||||||
|
"id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488/dade7d41-a74b-489c-ae67-660f49ea3b7c",
|
||||||
|
"name": "registry1.cloud-dev.d4science.org.",
|
||||||
|
"project_id": "e8f8ca72f30648a8b389b4e745ac83a9",
|
||||||
|
"records": [
|
||||||
|
"main-lb.cloud-dev.d4science.org."
|
||||||
|
],
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"timeouts": null,
|
||||||
|
"ttl": 8600,
|
||||||
|
"type": "CNAME",
|
||||||
|
"value_specs": null,
|
||||||
|
"zone_id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488"
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"check_results": null
|
||||||
|
}
|
|
@ -4,7 +4,7 @@ terraform {
|
||||||
required_providers {
|
required_providers {
|
||||||
openstack = {
|
openstack = {
|
||||||
source = "terraform-provider-openstack/openstack"
|
source = "terraform-provider-openstack/openstack"
|
||||||
version = "~> 1.53.0"
|
# version = "~> 1.53.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -24,33 +24,14 @@ module "common_variables" {
|
||||||
source = "../../modules/common_variables"
|
source = "../../modules/common_variables"
|
||||||
}
|
}
|
||||||
|
|
||||||
#
|
module "keycloak" {
|
||||||
# Creates the server group "keycloak"
|
source = "../../modules/keycloak"
|
||||||
# Even in dev because this service is crucial the server group is
|
keycloak_recordsets = {
|
||||||
# created with anti-affinity policy
|
keycloak_main_record = {
|
||||||
#
|
name = join(".", ["accounts", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name]),
|
||||||
resource "openstack_compute_servergroup_v2" "keycloak_server_group" {
|
description = "Keycloak dev endpoint"
|
||||||
name = "keycloak"
|
|
||||||
policies = [module.common_variables.policy_list.anti_affinity]
|
|
||||||
}
|
|
||||||
|
|
||||||
# Creating object bucket to store avatars
|
|
||||||
resource "openstack_objectstorage_container_v1" "keycloak_1" {
|
|
||||||
name = "keycloak"
|
|
||||||
}
|
|
||||||
|
|
||||||
module "instance_without_data_volume" {
|
|
||||||
source = "../../modules/instance_without_data_volume"
|
|
||||||
|
|
||||||
instances_without_data_volume_map = {
|
|
||||||
keycloak = {
|
|
||||||
name = "keycloak",
|
|
||||||
description = "This instance serves keycloak service",
|
|
||||||
flavor = module.common_variables.flavor_list.m1_medium,
|
|
||||||
networks = [data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.name, module.common_variables.networks_list.shared_postgresql],
|
|
||||||
security_groups = [data.terraform_remote_state.privnet_dns_router.outputs.security_group_list.default, data.terraform_remote_state.privnet_dns_router.outputs.security_group_list.http_and_https_from_the_load_balancers],
|
|
||||||
server_groups_ids = [],
|
|
||||||
image_ref = data.terraform_remote_state.privnet_dns_router.outputs.ubuntu_2204
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
keycloak_object_store = "keycloak-data-dev"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"version": 4,
|
"version": 4,
|
||||||
"terraform_version": "1.6.5",
|
"terraform_version": "1.7.5",
|
||||||
"serial": 7,
|
"serial": 36,
|
||||||
"lineage": "2d09d087-e2e3-bb5d-0474-c09dfa4c7145",
|
"lineage": "2d09d087-e2e3-bb5d-0474-c09dfa4c7145",
|
||||||
"outputs": {},
|
"outputs": {},
|
||||||
"resources": [
|
"resources": [
|
||||||
|
@ -86,12 +86,15 @@
|
||||||
"c1_large": "c1.large",
|
"c1_large": "c1.large",
|
||||||
"c1_medium": "c1.medium",
|
"c1_medium": "c1.medium",
|
||||||
"c1_small": "c1.small",
|
"c1_small": "c1.small",
|
||||||
|
"c2_large": "c2.large",
|
||||||
"m1_large": "m1.large",
|
"m1_large": "m1.large",
|
||||||
"m1_medium": "m1.medium",
|
"m1_medium": "m1.medium",
|
||||||
"m1_xlarge": "m1.xlarge",
|
"m1_xlarge": "m1.xlarge",
|
||||||
|
"m1_xxl": "m1.xxl",
|
||||||
"m2_large": "m2.large",
|
"m2_large": "m2.large",
|
||||||
"m2_medium": "m2.medium",
|
"m2_medium": "m2.medium",
|
||||||
"m2_small": "m2.small"
|
"m2_small": "m2.small",
|
||||||
|
"m3_large": "m3.large"
|
||||||
},
|
},
|
||||||
"floating_ip_pools": {
|
"floating_ip_pools": {
|
||||||
"main_public_ip_pool": "external-network"
|
"main_public_ip_pool": "external-network"
|
||||||
|
@ -128,6 +131,7 @@
|
||||||
"main_subnet_network_id": "2aa977f2-80b4-447c-a6b0-dfa06bf68751",
|
"main_subnet_network_id": "2aa977f2-80b4-447c-a6b0-dfa06bf68751",
|
||||||
"mtu_size": 8942,
|
"mtu_size": 8942,
|
||||||
"networks_list": {
|
"networks_list": {
|
||||||
|
"cassandra": "cassandra-net",
|
||||||
"orientdb": "orientdb-net",
|
"orientdb": "orientdb-net",
|
||||||
"orientdb_se": "orientdb-se-net",
|
"orientdb_se": "orientdb-se-net",
|
||||||
"shared_postgresql": "postgresql-srv-net",
|
"shared_postgresql": "postgresql-srv-net",
|
||||||
|
@ -142,6 +146,7 @@
|
||||||
"isti_net": "146.48.80.0/21",
|
"isti_net": "146.48.80.0/21",
|
||||||
"s2i2s_net": "146.48.28.0/22"
|
"s2i2s_net": "146.48.28.0/22"
|
||||||
},
|
},
|
||||||
|
"nfs_share_no_ingress_secgroup_id": "5887da8d-e362-4509-93ac-8a70bf8baef9",
|
||||||
"octavia_information": {
|
"octavia_information": {
|
||||||
"main_lb_description": "Main L4 load balancer for the D4Science DEV",
|
"main_lb_description": "Main L4 load balancer for the D4Science DEV",
|
||||||
"main_lb_hostname": "main-lb",
|
"main_lb_hostname": "main-lb",
|
||||||
|
@ -161,7 +166,7 @@
|
||||||
"prometheus_server_data": {
|
"prometheus_server_data": {
|
||||||
"flavor": "m1.medium",
|
"flavor": "m1.medium",
|
||||||
"name": "prometheus",
|
"name": "prometheus",
|
||||||
"public_grafana_server_cidr": "146.48.122.132/32",
|
"public_grafana_server_cidr": "146.48.28.103/32",
|
||||||
"vol_data_device": "/dev/vdb",
|
"vol_data_device": "/dev/vdb",
|
||||||
"vol_data_name": "prometheus-data",
|
"vol_data_name": "prometheus-data",
|
||||||
"vol_data_size": "100"
|
"vol_data_size": "100"
|
||||||
|
@ -183,11 +188,12 @@
|
||||||
"default": "default",
|
"default": "default",
|
||||||
"docker_swarm": "Docker Swarm",
|
"docker_swarm": "Docker Swarm",
|
||||||
"docker_swarm_NFS": "Docker Swarm NFS",
|
"docker_swarm_NFS": "Docker Swarm NFS",
|
||||||
"haproxy": "HAPROXY L7",
|
"haproxy": "traffic_from_main_lb_to_haproxy_l7",
|
||||||
"http_and_https_from_the_load_balancers": "http and https from the load balancers",
|
"http_and_https_from_the_load_balancers": "traffic_from_the_main_load_balancers",
|
||||||
"limited_HTTPS_access": "Limited HTTPS access",
|
"limited_HTTPS_access": "restricted_web_service",
|
||||||
"limited_SSH_access": "Limited SSH access",
|
"limited_SSH_access": "Limited SSH access",
|
||||||
"mongo": "mongo",
|
"mongo": "mongo",
|
||||||
|
"nfs_share_no_ingress": "nfs_share_no_ingress",
|
||||||
"orientdb_internal_docker_traffic": "orientdb_internal_docker_traffic",
|
"orientdb_internal_docker_traffic": "orientdb_internal_docker_traffic",
|
||||||
"postgreSQL": "PostgreSQL service",
|
"postgreSQL": "PostgreSQL service",
|
||||||
"public_HTTPS": "Public HTTPS"
|
"public_HTTPS": "Public HTTPS"
|
||||||
|
@ -219,6 +225,8 @@
|
||||||
"s2i2s_vpn_2_cidr": "146.48.28.11/32",
|
"s2i2s_vpn_2_cidr": "146.48.28.11/32",
|
||||||
"shell_d4s_cidr": "146.48.122.95/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",
|
"ubuntu1804_data_file": "../../openstack_vm_data_scripts/ubuntu1804.sh",
|
||||||
"ubuntu2204_data_file": "../../openstack_vm_data_scripts/ubuntu2204.sh",
|
"ubuntu2204_data_file": "../../openstack_vm_data_scripts/ubuntu2204.sh",
|
||||||
"ubuntu_1804": {
|
"ubuntu_1804": {
|
||||||
|
@ -319,6 +327,7 @@
|
||||||
"map",
|
"map",
|
||||||
"string"
|
"string"
|
||||||
],
|
],
|
||||||
|
"nfs_share_no_ingress_secgroup_id": "string",
|
||||||
"octavia_information": [
|
"octavia_information": [
|
||||||
"map",
|
"map",
|
||||||
"string"
|
"string"
|
||||||
|
@ -363,6 +372,8 @@
|
||||||
"map",
|
"map",
|
||||||
"string"
|
"string"
|
||||||
],
|
],
|
||||||
|
"storage_nfs_network_id": "string",
|
||||||
|
"storage_nfs_subnet_id": "string",
|
||||||
"ubuntu1804_data_file": "string",
|
"ubuntu1804_data_file": "string",
|
||||||
"ubuntu2204_data_file": "string",
|
"ubuntu2204_data_file": "string",
|
||||||
"ubuntu_1804": [
|
"ubuntu_1804": [
|
||||||
|
@ -383,73 +394,406 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"mode": "managed",
|
"module": "module.keycloak",
|
||||||
"type": "openstack_compute_servergroup_v2",
|
"mode": "data",
|
||||||
"name": "keycloak_server_group",
|
"type": "terraform_remote_state",
|
||||||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
"name": "privnet_dns_router",
|
||||||
|
"provider": "provider[\"terraform.io/builtin/terraform\"]",
|
||||||
"instances": [
|
"instances": [
|
||||||
{
|
{
|
||||||
"schema_version": 0,
|
"schema_version": 0,
|
||||||
"attributes": {
|
"attributes": {
|
||||||
"id": "9bb60610-a2ba-433b-a7c6-6c0bb3d47089",
|
"backend": "local",
|
||||||
"members": [],
|
"config": {
|
||||||
"name": "keycloak",
|
"value": {
|
||||||
"policies": [
|
"path": "../project-setup/terraform.tfstate"
|
||||||
"anti-affinity"
|
},
|
||||||
],
|
"type": [
|
||||||
"region": "isti_area_pi_1",
|
"object",
|
||||||
"rules": [
|
{
|
||||||
{
|
"path": "string"
|
||||||
"max_server_per_host": 0
|
}
|
||||||
}
|
]
|
||||||
],
|
},
|
||||||
"value_specs": null
|
"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.29.247",
|
||||||
|
"ca_cidr": "10.1.29.247/32",
|
||||||
|
"haproxy_l7_1": "10.1.28.50",
|
||||||
|
"haproxy_l7_1_cidr": "10.1.28.50/32",
|
||||||
|
"haproxy_l7_2": "10.1.30.241",
|
||||||
|
"haproxy_l7_2_cidr": "10.1.30.241/32",
|
||||||
|
"octavia_main": "10.1.28.227",
|
||||||
|
"octavia_main_cidr": "10.1.28.227/32",
|
||||||
|
"prometheus": "10.1.30.129",
|
||||||
|
"prometheus_cidr": "10.1.30.129/32",
|
||||||
|
"ssh_jump": "10.1.29.164",
|
||||||
|
"ssh_jump_cidr": "10.1.29.164/32"
|
||||||
|
},
|
||||||
|
"centos_7": {
|
||||||
|
"name": "CentOS-7",
|
||||||
|
"uuid": "f0187a99-64f6-462a-ab5f-ef52fe62f2ca"
|
||||||
|
},
|
||||||
|
"default_security_group_name": "default",
|
||||||
|
"dns_zone": {
|
||||||
|
"description": "DNS primary zone for the d4s-dev-cloud project",
|
||||||
|
"email": "postmaster@isti.cnr.it",
|
||||||
|
"ttl": "8600",
|
||||||
|
"zone_name": "cloud-dev.d4science.org."
|
||||||
|
},
|
||||||
|
"dns_zone_id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488",
|
||||||
|
"el7_data_file": "../../openstack_vm_data_scripts/el7.sh",
|
||||||
|
"external_gateway_ip": [
|
||||||
|
{
|
||||||
|
"ip_address": "146.48.31.109",
|
||||||
|
"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 DEV main router",
|
||||||
|
"id": "2ae28c5f-036b-45db-bc9f-5bab8fa3e914",
|
||||||
|
"name": "d4s-dev-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.28.50",
|
||||||
|
"10.1.30.241"
|
||||||
|
],
|
||||||
|
"main_private_network": {
|
||||||
|
"description": "D4Science DEV private network (use this as the main network)",
|
||||||
|
"name": "d4s-dev-cloud-main"
|
||||||
|
},
|
||||||
|
"main_private_network_id": "e0af5eba-f24a-4d0d-8184-bc654b980c4a",
|
||||||
|
"main_private_subnet": {
|
||||||
|
"allocation_end": "10.1.31.254",
|
||||||
|
"allocation_start": "10.1.28.30",
|
||||||
|
"cidr": "10.1.28.0/22",
|
||||||
|
"description": "D4Science DEV main private subnet",
|
||||||
|
"gateway_ip": "10.1.28.1",
|
||||||
|
"name": "d4s-dev-cloud-sub"
|
||||||
|
},
|
||||||
|
"main_region": "isti_area_pi_1",
|
||||||
|
"main_subnet_network_id": "2aa977f2-80b4-447c-a6b0-dfa06bf68751",
|
||||||
|
"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": "5887da8d-e362-4509-93ac-8a70bf8baef9",
|
||||||
|
"octavia_information": {
|
||||||
|
"main_lb_description": "Main L4 load balancer for the D4Science DEV",
|
||||||
|
"main_lb_hostname": "main-lb",
|
||||||
|
"main_lb_name": "lb-dev-l4",
|
||||||
|
"octavia_flavor": "octavia_amphora-mvcpu-ha",
|
||||||
|
"octavia_flavor_id": "394988b5-6603-4a1e-a939-8e177c6681c7"
|
||||||
|
},
|
||||||
|
"os_project_data": {
|
||||||
|
"id": "e8f8ca72f30648a8b389b4e745ac83a9"
|
||||||
|
},
|
||||||
|
"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": [],
|
"sensitive_attributes": []
|
||||||
"private": "bnVsbA=="
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"mode": "managed",
|
"module": "module.keycloak",
|
||||||
"type": "openstack_objectstorage_container_v1",
|
|
||||||
"name": "keycloak_1",
|
|
||||||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
|
||||||
"instances": [
|
|
||||||
{
|
|
||||||
"schema_version": 1,
|
|
||||||
"attributes": {
|
|
||||||
"container_read": null,
|
|
||||||
"container_sync_key": null,
|
|
||||||
"container_sync_to": null,
|
|
||||||
"container_write": null,
|
|
||||||
"content_type": null,
|
|
||||||
"force_destroy": null,
|
|
||||||
"id": "keycloak",
|
|
||||||
"metadata": null,
|
|
||||||
"name": "keycloak",
|
|
||||||
"region": "isti_area_pi_1",
|
|
||||||
"storage_policy": "default-placement",
|
|
||||||
"versioning": false,
|
|
||||||
"versioning_legacy": []
|
|
||||||
},
|
|
||||||
"sensitive_attributes": [],
|
|
||||||
"private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ=="
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"module": "module.instance_without_data_volume",
|
|
||||||
"mode": "managed",
|
"mode": "managed",
|
||||||
"type": "openstack_compute_instance_v2",
|
"type": "openstack_compute_instance_v2",
|
||||||
"name": "smartgears_service",
|
"name": "keycloak",
|
||||||
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
"instances": [
|
"instances": [
|
||||||
{
|
{
|
||||||
"index_key": "keycloak",
|
"index_key": 0,
|
||||||
"schema_version": 0,
|
"schema_version": 0,
|
||||||
"attributes": {
|
"attributes": {
|
||||||
"access_ip_v4": "10.1.28.218",
|
"access_ip_v4": "10.1.31.104",
|
||||||
"access_ip_v6": "",
|
"access_ip_v6": "",
|
||||||
"admin_pass": null,
|
"admin_pass": null,
|
||||||
"all_metadata": {},
|
"all_metadata": {},
|
||||||
|
@ -472,34 +816,34 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"config_drive": null,
|
"config_drive": null,
|
||||||
"created": "2023-12-14 15:47:39 +0000 UTC",
|
"created": "2024-03-22 14:02:30 +0000 UTC",
|
||||||
"flavor_id": "4",
|
"flavor_id": "4",
|
||||||
"flavor_name": "m1.medium",
|
"flavor_name": "m1.medium",
|
||||||
"floating_ip": null,
|
"floating_ip": null,
|
||||||
"force_delete": false,
|
"force_delete": false,
|
||||||
"id": "40dfb5fb-ec19-4f51-9fd6-1b1be47f66bb",
|
"id": "1d087839-d883-4e25-a2ee-a596640e3dff",
|
||||||
"image_id": "Attempt to boot from volume - no image supplied",
|
"image_id": "Attempt to boot from volume - no image supplied",
|
||||||
"image_name": null,
|
"image_name": null,
|
||||||
"key_pair": "mauromugnaini",
|
"key_pair": "adellam",
|
||||||
"metadata": null,
|
"metadata": null,
|
||||||
"name": "keycloak",
|
"name": "keycloak-01",
|
||||||
"network": [
|
"network": [
|
||||||
{
|
{
|
||||||
"access_network": false,
|
"access_network": false,
|
||||||
"fixed_ip_v4": "10.1.28.218",
|
"fixed_ip_v4": "10.1.31.104",
|
||||||
"fixed_ip_v6": "",
|
"fixed_ip_v6": "",
|
||||||
"floating_ip": "",
|
"floating_ip": "",
|
||||||
"mac": "fa:16:3e:ca:dc:34",
|
"mac": "fa:16:3e:21:8f:df",
|
||||||
"name": "d4s-dev-cloud-main",
|
"name": "d4s-dev-cloud-main",
|
||||||
"port": "",
|
"port": "",
|
||||||
"uuid": "e0af5eba-f24a-4d0d-8184-bc654b980c4a"
|
"uuid": "e0af5eba-f24a-4d0d-8184-bc654b980c4a"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"access_network": false,
|
"access_network": false,
|
||||||
"fixed_ip_v4": "192.168.2.143",
|
"fixed_ip_v4": "192.168.2.101",
|
||||||
"fixed_ip_v6": "",
|
"fixed_ip_v6": "",
|
||||||
"floating_ip": "",
|
"floating_ip": "",
|
||||||
"mac": "fa:16:3e:76:7c:b5",
|
"mac": "fa:16:3e:f8:d3:0b",
|
||||||
"name": "postgresql-srv-net",
|
"name": "postgresql-srv-net",
|
||||||
"port": "",
|
"port": "",
|
||||||
"uuid": "00422a4a-4b8b-4c85-acf9-ef733df842b9"
|
"uuid": "00422a4a-4b8b-4c85-acf9-ef733df842b9"
|
||||||
|
@ -509,26 +853,383 @@
|
||||||
"personality": [],
|
"personality": [],
|
||||||
"power_state": "active",
|
"power_state": "active",
|
||||||
"region": "isti_area_pi_1",
|
"region": "isti_area_pi_1",
|
||||||
"scheduler_hints": [],
|
"scheduler_hints": [
|
||||||
|
{
|
||||||
|
"additional_properties": {},
|
||||||
|
"build_near_host_ip": "",
|
||||||
|
"different_cell": [],
|
||||||
|
"different_host": [],
|
||||||
|
"group": "23506021-0871-472e-b8f2-199ccdca8ec7",
|
||||||
|
"query": [],
|
||||||
|
"same_host": [],
|
||||||
|
"target_cell": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
"security_groups": [
|
"security_groups": [
|
||||||
"default",
|
"default",
|
||||||
"http and https from the load balancers"
|
"keycloak_cluster_traffic",
|
||||||
|
"traffic_to_keycloak_from_the_main_load_balancers"
|
||||||
],
|
],
|
||||||
"stop_before_destroy": false,
|
"stop_before_destroy": false,
|
||||||
"tags": null,
|
"tags": [],
|
||||||
"timeouts": null,
|
"timeouts": null,
|
||||||
"updated": "2023-12-14 15:48:18 +0000 UTC",
|
"updated": "2024-03-22 14:04:26 +0000 UTC",
|
||||||
"user_data": "bb83b25fd1219aa1b850ece9be8d7b0f31714608",
|
"user_data": "47d4769e61324c305c4b70ed6673de4fad84150d",
|
||||||
"vendor_options": [],
|
"vendor_options": [],
|
||||||
"volume": []
|
"volume": []
|
||||||
},
|
},
|
||||||
"sensitive_attributes": [],
|
"sensitive_attributes": [],
|
||||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxODAwMDAwMDAwMDAwLCJkZWxldGUiOjE4MDAwMDAwMDAwMDAsInVwZGF0ZSI6MTgwMDAwMDAwMDAwMH19",
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxODAwMDAwMDAwMDAwLCJkZWxldGUiOjE4MDAwMDAwMDAwMDAsInVwZGF0ZSI6MTgwMDAwMDAwMDAwMH19",
|
||||||
"dependencies": [
|
"dependencies": [
|
||||||
"data.terraform_remote_state.privnet_dns_router"
|
"module.keycloak.data.terraform_remote_state.privnet_dns_router",
|
||||||
|
"module.keycloak.openstack_compute_servergroup_v2.keycloak_server_group",
|
||||||
|
"module.keycloak.openstack_networking_secgroup_v2.keycloak_cluster_traffic",
|
||||||
|
"module.keycloak.openstack_networking_secgroup_v2.traffic_from_haproxy_to_keycloak"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "module.keycloak",
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_compute_servergroup_v2",
|
||||||
|
"name": "keycloak_server_group",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"id": "23506021-0871-472e-b8f2-199ccdca8ec7",
|
||||||
|
"members": [
|
||||||
|
"1d087839-d883-4e25-a2ee-a596640e3dff"
|
||||||
|
],
|
||||||
|
"name": "keycloak",
|
||||||
|
"policies": [
|
||||||
|
"soft-anti-affinity"
|
||||||
|
],
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"max_server_per_host": 0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"value_specs": null
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "bnVsbA=="
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "module.keycloak",
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_dns_recordset_v2",
|
||||||
|
"name": "keycloak_dns_recordset",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"index_key": "keycloak_main_record",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"description": "Keycloak dev endpoint",
|
||||||
|
"disable_status_check": false,
|
||||||
|
"id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488/197bb339-e445-47e2-828b-e1b6b4da8368",
|
||||||
|
"name": "accounts.cloud-dev.d4science.org.",
|
||||||
|
"project_id": "e8f8ca72f30648a8b389b4e745ac83a9",
|
||||||
|
"records": [
|
||||||
|
"main-lb.cloud-dev.d4science.org."
|
||||||
|
],
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"timeouts": null,
|
||||||
|
"ttl": 8600,
|
||||||
|
"type": "CNAME",
|
||||||
|
"value_specs": null,
|
||||||
|
"zone_id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488"
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router",
|
||||||
|
"module.keycloak.data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "module.keycloak",
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_networking_secgroup_rule_v2",
|
||||||
|
"name": "haproxy-l7-8443",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"index_key": "10.1.28.50",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"description": "HTTPS traffic from HAPROXY L7 to Keycloak",
|
||||||
|
"direction": "ingress",
|
||||||
|
"ethertype": "IPv4",
|
||||||
|
"id": "ebc725ed-0133-46f4-a26c-498bfb4798b6",
|
||||||
|
"port_range_max": 9443,
|
||||||
|
"port_range_min": 9443,
|
||||||
|
"protocol": "tcp",
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"remote_group_id": "",
|
||||||
|
"remote_ip_prefix": "10.1.28.50/32",
|
||||||
|
"security_group_id": "cbbd4036-e1c4-43ac-80cd-24d3fbbef692",
|
||||||
|
"tenant_id": "e8f8ca72f30648a8b389b4e745ac83a9",
|
||||||
|
"timeouts": null
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiZGVsZXRlIjo2MDAwMDAwMDAwMDB9fQ==",
|
||||||
|
"dependencies": [
|
||||||
|
"module.keycloak.data.terraform_remote_state.privnet_dns_router",
|
||||||
|
"module.keycloak.openstack_networking_secgroup_v2.traffic_from_haproxy_to_keycloak"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"index_key": "10.1.30.241",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"description": "HTTPS traffic from HAPROXY L7 to Keycloak",
|
||||||
|
"direction": "ingress",
|
||||||
|
"ethertype": "IPv4",
|
||||||
|
"id": "21b774d6-b0f2-4b2e-841e-32f5cb2e842a",
|
||||||
|
"port_range_max": 9443,
|
||||||
|
"port_range_min": 9443,
|
||||||
|
"protocol": "tcp",
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"remote_group_id": "",
|
||||||
|
"remote_ip_prefix": "10.1.30.241/32",
|
||||||
|
"security_group_id": "cbbd4036-e1c4-43ac-80cd-24d3fbbef692",
|
||||||
|
"tenant_id": "e8f8ca72f30648a8b389b4e745ac83a9",
|
||||||
|
"timeouts": null
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiZGVsZXRlIjo2MDAwMDAwMDAwMDB9fQ==",
|
||||||
|
"dependencies": [
|
||||||
|
"module.keycloak.data.terraform_remote_state.privnet_dns_router",
|
||||||
|
"module.keycloak.openstack_networking_secgroup_v2.traffic_from_haproxy_to_keycloak"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "module.keycloak",
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_networking_secgroup_rule_v2",
|
||||||
|
"name": "igmp_egress_between_keycloak_nodes",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"description": "Egress IGMP traffic between keycloak nodes",
|
||||||
|
"direction": "egress",
|
||||||
|
"ethertype": "IPv4",
|
||||||
|
"id": "0856a12c-f897-43a8-bdaa-91355930f1c0",
|
||||||
|
"port_range_max": 0,
|
||||||
|
"port_range_min": 0,
|
||||||
|
"protocol": "igmp",
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"remote_group_id": "",
|
||||||
|
"remote_ip_prefix": "0.0.0.0/0",
|
||||||
|
"security_group_id": "6d68b513-7ecd-43da-9cee-8f82b567049c",
|
||||||
|
"tenant_id": "e8f8ca72f30648a8b389b4e745ac83a9",
|
||||||
|
"timeouts": null
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiZGVsZXRlIjo2MDAwMDAwMDAwMDB9fQ==",
|
||||||
|
"dependencies": [
|
||||||
|
"module.keycloak.openstack_networking_secgroup_v2.keycloak_cluster_traffic"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "module.keycloak",
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_networking_secgroup_rule_v2",
|
||||||
|
"name": "igmp_ingress_between_keycloak_nodes",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"description": "Ingress IGMP traffic between keycloak nodes",
|
||||||
|
"direction": "ingress",
|
||||||
|
"ethertype": "IPv4",
|
||||||
|
"id": "3f6419b5-8079-4445-80dd-5bb259705664",
|
||||||
|
"port_range_max": 0,
|
||||||
|
"port_range_min": 0,
|
||||||
|
"protocol": "igmp",
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"remote_group_id": "",
|
||||||
|
"remote_ip_prefix": "0.0.0.0/0",
|
||||||
|
"security_group_id": "6d68b513-7ecd-43da-9cee-8f82b567049c",
|
||||||
|
"tenant_id": "e8f8ca72f30648a8b389b4e745ac83a9",
|
||||||
|
"timeouts": null
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiZGVsZXRlIjo2MDAwMDAwMDAwMDB9fQ==",
|
||||||
|
"dependencies": [
|
||||||
|
"module.keycloak.openstack_networking_secgroup_v2.keycloak_cluster_traffic"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "module.keycloak",
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_networking_secgroup_rule_v2",
|
||||||
|
"name": "tcp_traffic_between_keycloak_nodes",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"index_key": 0,
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"description": "TCP traffic between keycloak nodes",
|
||||||
|
"direction": "ingress",
|
||||||
|
"ethertype": "IPv4",
|
||||||
|
"id": "399505c1-e0d3-4077-85d7-e000a46dfa8e",
|
||||||
|
"port_range_max": 0,
|
||||||
|
"port_range_min": 0,
|
||||||
|
"protocol": "tcp",
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"remote_group_id": "",
|
||||||
|
"remote_ip_prefix": "10.1.31.104/32",
|
||||||
|
"security_group_id": "6d68b513-7ecd-43da-9cee-8f82b567049c",
|
||||||
|
"tenant_id": "e8f8ca72f30648a8b389b4e745ac83a9",
|
||||||
|
"timeouts": null
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiZGVsZXRlIjo2MDAwMDAwMDAwMDB9fQ==",
|
||||||
|
"dependencies": [
|
||||||
|
"module.keycloak.data.terraform_remote_state.privnet_dns_router",
|
||||||
|
"module.keycloak.openstack_compute_instance_v2.keycloak",
|
||||||
|
"module.keycloak.openstack_compute_servergroup_v2.keycloak_server_group",
|
||||||
|
"module.keycloak.openstack_networking_secgroup_v2.keycloak_cluster_traffic",
|
||||||
|
"module.keycloak.openstack_networking_secgroup_v2.traffic_from_haproxy_to_keycloak"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "module.keycloak",
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_networking_secgroup_rule_v2",
|
||||||
|
"name": "udp_traffic_between_keycloak_nodes",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"index_key": 0,
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"description": "UDP traffic between keycloak nodes",
|
||||||
|
"direction": "ingress",
|
||||||
|
"ethertype": "IPv4",
|
||||||
|
"id": "88c61a79-d86f-4f07-a0a7-91f0033b242a",
|
||||||
|
"port_range_max": 0,
|
||||||
|
"port_range_min": 0,
|
||||||
|
"protocol": "udp",
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"remote_group_id": "",
|
||||||
|
"remote_ip_prefix": "10.1.31.104/32",
|
||||||
|
"security_group_id": "6d68b513-7ecd-43da-9cee-8f82b567049c",
|
||||||
|
"tenant_id": "e8f8ca72f30648a8b389b4e745ac83a9",
|
||||||
|
"timeouts": null
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiZGVsZXRlIjo2MDAwMDAwMDAwMDB9fQ==",
|
||||||
|
"dependencies": [
|
||||||
|
"module.keycloak.data.terraform_remote_state.privnet_dns_router",
|
||||||
|
"module.keycloak.openstack_compute_instance_v2.keycloak",
|
||||||
|
"module.keycloak.openstack_compute_servergroup_v2.keycloak_server_group",
|
||||||
|
"module.keycloak.openstack_networking_secgroup_v2.keycloak_cluster_traffic",
|
||||||
|
"module.keycloak.openstack_networking_secgroup_v2.traffic_from_haproxy_to_keycloak"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "module.keycloak",
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_networking_secgroup_v2",
|
||||||
|
"name": "keycloak_cluster_traffic",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"all_tags": [],
|
||||||
|
"delete_default_rules": true,
|
||||||
|
"description": "Traffic between the keycloak cluster nodes",
|
||||||
|
"id": "6d68b513-7ecd-43da-9cee-8f82b567049c",
|
||||||
|
"name": "keycloak_cluster_traffic",
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"tags": [],
|
||||||
|
"tenant_id": "e8f8ca72f30648a8b389b4e745ac83a9",
|
||||||
|
"timeouts": null
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiZGVsZXRlIjo2MDAwMDAwMDAwMDB9fQ=="
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "module.keycloak",
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_networking_secgroup_v2",
|
||||||
|
"name": "traffic_from_haproxy_to_keycloak",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"all_tags": [],
|
||||||
|
"delete_default_rules": true,
|
||||||
|
"description": "Allow traffic from the main L7 HAPROXY load balancers to keycloak",
|
||||||
|
"id": "cbbd4036-e1c4-43ac-80cd-24d3fbbef692",
|
||||||
|
"name": "traffic_to_keycloak_from_the_main_load_balancers",
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"tags": [],
|
||||||
|
"tenant_id": "e8f8ca72f30648a8b389b4e745ac83a9",
|
||||||
|
"timeouts": null
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiZGVsZXRlIjo2MDAwMDAwMDAwMDB9fQ=="
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "module.keycloak",
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_objectstorage_container_v1",
|
||||||
|
"name": "keycloak_1",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"schema_version": 1,
|
||||||
|
"attributes": {
|
||||||
|
"container_read": null,
|
||||||
|
"container_sync_key": null,
|
||||||
|
"container_sync_to": null,
|
||||||
|
"container_write": null,
|
||||||
|
"content_type": null,
|
||||||
|
"force_destroy": false,
|
||||||
|
"id": "keycloak-data-dev",
|
||||||
|
"metadata": null,
|
||||||
|
"name": "keycloak-data-dev",
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"storage_policy": "default-placement",
|
||||||
|
"versioning": false,
|
||||||
|
"versioning_legacy": []
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ=="
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"check_results": null
|
"check_results": null
|
||||||
|
|
|
@ -0,0 +1,55 @@
|
||||||
|
# NFS shares required by the CCP
|
||||||
|
# Create a NFS share for the repository data
|
||||||
|
#
|
||||||
|
resource "openstack_sharedfilesystem_share_v2" "ccp_dev_repository_data" {
|
||||||
|
name = "ccp_dev_repository_data"
|
||||||
|
description = "NFS share for the CCP repository data"
|
||||||
|
share_proto = "NFS"
|
||||||
|
size = 5
|
||||||
|
}
|
||||||
|
|
||||||
|
# Allow access to the NFS share
|
||||||
|
resource "openstack_sharedfilesystem_share_access_v2" "ccp_dev_repository_nfs_access" {
|
||||||
|
for_each = var.swarm_manila_interfaces_ip
|
||||||
|
share_id = openstack_sharedfilesystem_share_v2.ccp_dev_repository_data.id
|
||||||
|
access_type = "ip"
|
||||||
|
access_to = each.value
|
||||||
|
access_level = "rw"
|
||||||
|
}
|
||||||
|
|
||||||
|
# NFS shares required by the CCP
|
||||||
|
# Create a NFS share for the method logs
|
||||||
|
#
|
||||||
|
resource "openstack_sharedfilesystem_share_v2" "ccp_dev_methods_logs" {
|
||||||
|
name = "ccp_dev_method_logs"
|
||||||
|
description = "NFS share for the CCP method logs"
|
||||||
|
share_proto = "NFS"
|
||||||
|
size = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# Allow access to the NFS share
|
||||||
|
resource "openstack_sharedfilesystem_share_access_v2" "ccp_dev_methods_logs_nfs_access" {
|
||||||
|
for_each = var.swarm_manila_interfaces_ip
|
||||||
|
share_id = openstack_sharedfilesystem_share_v2.ccp_dev_methods_logs.id
|
||||||
|
access_type = "ip"
|
||||||
|
access_to = each.value
|
||||||
|
access_level = "rw"
|
||||||
|
}
|
||||||
|
|
||||||
|
output "ccp_dev_repository_data" {
|
||||||
|
value = openstack_sharedfilesystem_share_v2.ccp_dev_repository_data
|
||||||
|
}
|
||||||
|
|
||||||
|
output "ccp_dev_repository_data_nfs_acls" {
|
||||||
|
value = openstack_sharedfilesystem_share_access_v2.ccp_dev_repository_nfs_access
|
||||||
|
sensitive = true
|
||||||
|
}
|
||||||
|
|
||||||
|
output "ccp_dev_methods_logs" {
|
||||||
|
value = openstack_sharedfilesystem_share_v2.ccp_dev_methods_logs
|
||||||
|
}
|
||||||
|
|
||||||
|
output "ccp_dev_methods_logs_access_nfs_acls" {
|
||||||
|
value = openstack_sharedfilesystem_share_access_v2.ccp_dev_methods_logs_nfs_access
|
||||||
|
sensitive = true
|
||||||
|
}
|
|
@ -0,0 +1,51 @@
|
||||||
|
# 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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# data "terraform_remote_state" "main_infrastructure" {
|
||||||
|
# backend = "local"
|
||||||
|
|
||||||
|
# config = {
|
||||||
|
# path = "../basic-infrastructure/terraform.tfstate"
|
||||||
|
# }
|
||||||
|
# }
|
||||||
|
|
||||||
|
# SSH settings
|
||||||
|
module "ssh_settings" {
|
||||||
|
source = "../../modules/ssh-key-ref"
|
||||||
|
}
|
||||||
|
#
|
||||||
|
# Uses common_variables as module
|
||||||
|
#
|
||||||
|
module "common_variables" {
|
||||||
|
source = "../../modules/common_variables"
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "swarm_manila_interfaces_ip" {
|
||||||
|
type = map(string)
|
||||||
|
default = {
|
||||||
|
"mgr_1" = "172.17.2.74"
|
||||||
|
"mgr_2" = "172.17.3.218"
|
||||||
|
"mgr_3" = "172.17.2.230"
|
||||||
|
"worker_1" = "172.17.0.166"
|
||||||
|
"worker_2" = "172.17.2.171"
|
||||||
|
"worker_3" = "172.17.0.146"
|
||||||
|
"worker_4" = "172.17.1.195"
|
||||||
|
"worker_5" = "172.17.2.187"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
provider "openstack" {
|
||||||
|
cloud = "d4s-dev"
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"version": 4,
|
"version": 4,
|
||||||
"terraform_version": "1.6.5",
|
"terraform_version": "1.6.6",
|
||||||
"serial": 8,
|
"serial": 14,
|
||||||
"lineage": "194691ec-f344-4bd2-98ae-cbd15e9c9cdf",
|
"lineage": "194691ec-f344-4bd2-98ae-cbd15e9c9cdf",
|
||||||
"outputs": {
|
"outputs": {
|
||||||
"almalinux_9": {
|
"almalinux_9": {
|
||||||
|
@ -134,12 +134,15 @@
|
||||||
"c1_large": "c1.large",
|
"c1_large": "c1.large",
|
||||||
"c1_medium": "c1.medium",
|
"c1_medium": "c1.medium",
|
||||||
"c1_small": "c1.small",
|
"c1_small": "c1.small",
|
||||||
|
"c2_large": "c2.large",
|
||||||
"m1_large": "m1.large",
|
"m1_large": "m1.large",
|
||||||
"m1_medium": "m1.medium",
|
"m1_medium": "m1.medium",
|
||||||
"m1_xlarge": "m1.xlarge",
|
"m1_xlarge": "m1.xlarge",
|
||||||
|
"m1_xxl": "m1.xxl",
|
||||||
"m2_large": "m2.large",
|
"m2_large": "m2.large",
|
||||||
"m2_medium": "m2.medium",
|
"m2_medium": "m2.medium",
|
||||||
"m2_small": "m2.small"
|
"m2_small": "m2.small",
|
||||||
|
"m3_large": "m3.large"
|
||||||
},
|
},
|
||||||
"type": [
|
"type": [
|
||||||
"map",
|
"map",
|
||||||
|
@ -230,6 +233,7 @@
|
||||||
},
|
},
|
||||||
"networks_list": {
|
"networks_list": {
|
||||||
"value": {
|
"value": {
|
||||||
|
"cassandra": "cassandra-net",
|
||||||
"orientdb": "orientdb-net",
|
"orientdb": "orientdb-net",
|
||||||
"orientdb_se": "orientdb-se-net",
|
"orientdb_se": "orientdb-se-net",
|
||||||
"shared_postgresql": "postgresql-srv-net",
|
"shared_postgresql": "postgresql-srv-net",
|
||||||
|
@ -255,6 +259,10 @@
|
||||||
"string"
|
"string"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"nfs_share_no_ingress_secgroup_id": {
|
||||||
|
"value": "5887da8d-e362-4509-93ac-8a70bf8baef9",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
"octavia_information": {
|
"octavia_information": {
|
||||||
"value": {
|
"value": {
|
||||||
"main_lb_description": "Main L4 load balancer for the D4Science DEV",
|
"main_lb_description": "Main L4 load balancer for the D4Science DEV",
|
||||||
|
@ -293,7 +301,7 @@
|
||||||
"value": {
|
"value": {
|
||||||
"flavor": "m1.medium",
|
"flavor": "m1.medium",
|
||||||
"name": "prometheus",
|
"name": "prometheus",
|
||||||
"public_grafana_server_cidr": "146.48.122.132/32",
|
"public_grafana_server_cidr": "146.48.28.103/32",
|
||||||
"vol_data_device": "/dev/vdb",
|
"vol_data_device": "/dev/vdb",
|
||||||
"vol_data_name": "prometheus-data",
|
"vol_data_name": "prometheus-data",
|
||||||
"vol_data_size": "100"
|
"vol_data_size": "100"
|
||||||
|
@ -333,11 +341,12 @@
|
||||||
"default": "default",
|
"default": "default",
|
||||||
"docker_swarm": "Docker Swarm",
|
"docker_swarm": "Docker Swarm",
|
||||||
"docker_swarm_NFS": "Docker Swarm NFS",
|
"docker_swarm_NFS": "Docker Swarm NFS",
|
||||||
"haproxy": "HAPROXY L7",
|
"haproxy": "traffic_from_main_lb_to_haproxy_l7",
|
||||||
"http_and_https_from_the_load_balancers": "http and https from the load balancers",
|
"http_and_https_from_the_load_balancers": "traffic_from_the_main_load_balancers",
|
||||||
"limited_HTTPS_access": "Limited HTTPS access",
|
"limited_HTTPS_access": "restricted_web_service",
|
||||||
"limited_SSH_access": "Limited SSH access",
|
"limited_SSH_access": "Limited SSH access",
|
||||||
"mongo": "mongo",
|
"mongo": "mongo",
|
||||||
|
"nfs_share_no_ingress": "nfs_share_no_ingress",
|
||||||
"orientdb_internal_docker_traffic": "orientdb_internal_docker_traffic",
|
"orientdb_internal_docker_traffic": "orientdb_internal_docker_traffic",
|
||||||
"postgreSQL": "PostgreSQL service",
|
"postgreSQL": "PostgreSQL service",
|
||||||
"public_HTTPS": "Public HTTPS"
|
"public_HTTPS": "Public HTTPS"
|
||||||
|
@ -398,6 +407,14 @@
|
||||||
"string"
|
"string"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"storage_nfs_network_id": {
|
||||||
|
"value": "5f4023cc-4016-404c-94e5-86220095fbaf",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"storage_nfs_subnet_id": {
|
||||||
|
"value": "6ff0f9e8-0e74-4cc3-a268-7ed4af435696",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
"ubuntu1804_data_file": {
|
"ubuntu1804_data_file": {
|
||||||
"value": "../../openstack_vm_data_scripts/ubuntu1804.sh",
|
"value": "../../openstack_vm_data_scripts/ubuntu1804.sh",
|
||||||
"type": "string"
|
"type": "string"
|
||||||
|
@ -593,6 +610,61 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_networking_secgroup_rule_v2",
|
||||||
|
"name": "egress_ipv4_allowed",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"description": "Allow the egress traffic from the NFS port",
|
||||||
|
"direction": "egress",
|
||||||
|
"ethertype": "IPv4",
|
||||||
|
"id": "b6f234e2-db03-4b25-899d-725217796ae0",
|
||||||
|
"port_range_max": 0,
|
||||||
|
"port_range_min": 0,
|
||||||
|
"protocol": "",
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"remote_group_id": "",
|
||||||
|
"remote_ip_prefix": "0.0.0.0/0",
|
||||||
|
"security_group_id": "5887da8d-e362-4509-93ac-8a70bf8baef9",
|
||||||
|
"tenant_id": "e8f8ca72f30648a8b389b4e745ac83a9",
|
||||||
|
"timeouts": null
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiZGVsZXRlIjo2MDAwMDAwMDAwMDB9fQ==",
|
||||||
|
"dependencies": [
|
||||||
|
"openstack_networking_secgroup_v2.nfs_share_no_ingress"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_networking_secgroup_v2",
|
||||||
|
"name": "nfs_share_no_ingress",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"all_tags": [],
|
||||||
|
"delete_default_rules": true,
|
||||||
|
"description": "Security rule that must be assigned to the NFS ports",
|
||||||
|
"id": "5887da8d-e362-4509-93ac-8a70bf8baef9",
|
||||||
|
"name": "nfs_share_no_ingress",
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"tags": [],
|
||||||
|
"tenant_id": "e8f8ca72f30648a8b389b4e745ac83a9",
|
||||||
|
"timeouts": null
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiZGVsZXRlIjo2MDAwMDAwMDAwMDB9fQ=="
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"mode": "managed",
|
"mode": "managed",
|
||||||
"type": "openstack_networking_subnet_v2",
|
"type": "openstack_networking_subnet_v2",
|
||||||
|
|
|
@ -0,0 +1,97 @@
|
||||||
|
# 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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# SSH settings
|
||||||
|
module "ssh_settings" {
|
||||||
|
source = "../../modules/ssh-key-ref"
|
||||||
|
}
|
||||||
|
#
|
||||||
|
# Uses common_variables as module
|
||||||
|
#
|
||||||
|
module "common_variables" {
|
||||||
|
source = "../../modules/common_variables"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Create a NFS share
|
||||||
|
resource "openstack_sharedfilesystem_share_v2" "redmine_dev" {
|
||||||
|
name = "redmine_dev_nfs_share"
|
||||||
|
description = "NFS share for the dev redmine"
|
||||||
|
share_proto = "NFS"
|
||||||
|
size = 5
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "openstack_networking_port_v2" "redmine_nfs_port" {
|
||||||
|
name = "redmine_nfs_port"
|
||||||
|
network_id = data.terraform_remote_state.privnet_dns_router.outputs.storage_nfs_network_id
|
||||||
|
admin_state_up = "true"
|
||||||
|
fixed_ip {
|
||||||
|
subnet_id = data.terraform_remote_state.privnet_dns_router.outputs.storage_nfs_subnet_id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "openstack_networking_port_secgroup_associate_v2" "redmine_nfs_port_secgroup" {
|
||||||
|
port_id = openstack_networking_port_v2.redmine_nfs_port.id
|
||||||
|
security_group_ids = [
|
||||||
|
data.terraform_remote_state.privnet_dns_router.outputs.nfs_share_no_ingress_secgroup_id
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "openstack_compute_instance_v2" "redmine" {
|
||||||
|
name = "redmine-dev"
|
||||||
|
availability_zone_hints = module.common_variables.availability_zones_names.availability_zone_no_gpu
|
||||||
|
flavor_name = module.common_variables.flavor_list.m1_medium
|
||||||
|
key_pair = module.ssh_settings.ssh_key_name
|
||||||
|
security_groups = [data.terraform_remote_state.privnet_dns_router.outputs.security_group_list.default, data.terraform_remote_state.privnet_dns_router.outputs.security_group_list.http_and_https_from_the_load_balancers, data.terraform_remote_state.privnet_dns_router.outputs.security_group_list.nfs_share_no_ingress]
|
||||||
|
block_device {
|
||||||
|
uuid = data.terraform_remote_state.privnet_dns_router.outputs.ubuntu_2204.uuid
|
||||||
|
source_type = "image"
|
||||||
|
volume_size = 20
|
||||||
|
boot_index = 0
|
||||||
|
destination_type = "volume"
|
||||||
|
delete_on_termination = true
|
||||||
|
}
|
||||||
|
network {
|
||||||
|
name = data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.name
|
||||||
|
}
|
||||||
|
network {
|
||||||
|
name = module.common_variables.shared_postgresql_server_data.network_name
|
||||||
|
}
|
||||||
|
user_data = file("${data.terraform_remote_state.privnet_dns_router.outputs.ubuntu2204_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_interface_attach_v2" "nfs_port_to_redmine" {
|
||||||
|
instance_id = openstack_compute_instance_v2.redmine.id
|
||||||
|
port_id = openstack_networking_port_v2.redmine_nfs_port.id
|
||||||
|
}
|
||||||
|
|
||||||
|
# Allow access to the NFS share
|
||||||
|
resource "openstack_sharedfilesystem_share_access_v2" "redmine_dev_nfs_share_access" {
|
||||||
|
share_id = openstack_sharedfilesystem_share_v2.redmine_dev.id
|
||||||
|
access_type = "ip"
|
||||||
|
access_to = openstack_compute_interface_attach_v2.nfs_port_to_redmine.fixed_ip
|
||||||
|
access_level = "rw"
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
output "nfs_port_data" {
|
||||||
|
value = openstack_compute_interface_attach_v2.nfs_port_to_redmine
|
||||||
|
}
|
||||||
|
|
||||||
|
output "redmine_nfs_volume_data" {
|
||||||
|
value = openstack_sharedfilesystem_share_v2.redmine_dev
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
provider "openstack" {
|
||||||
|
cloud = "d4s-dev"
|
||||||
|
}
|
|
@ -0,0 +1,792 @@
|
||||||
|
{
|
||||||
|
"version": 4,
|
||||||
|
"terraform_version": "1.6.6",
|
||||||
|
"serial": 19,
|
||||||
|
"lineage": "e609cf3f-5517-b905-f141-3e44c69a358a",
|
||||||
|
"outputs": {
|
||||||
|
"nfs_port_data": {
|
||||||
|
"value": {
|
||||||
|
"fixed_ip": "172.17.2.12",
|
||||||
|
"id": "3ba0a5f7-9eea-4986-ad9c-404ba2237857/effe8e41-22eb-4348-944f-cebd19b8957f",
|
||||||
|
"instance_id": "3ba0a5f7-9eea-4986-ad9c-404ba2237857",
|
||||||
|
"network_id": "5f4023cc-4016-404c-94e5-86220095fbaf",
|
||||||
|
"port_id": "effe8e41-22eb-4348-944f-cebd19b8957f",
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"timeouts": null
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"object",
|
||||||
|
{
|
||||||
|
"fixed_ip": "string",
|
||||||
|
"id": "string",
|
||||||
|
"instance_id": "string",
|
||||||
|
"network_id": "string",
|
||||||
|
"port_id": "string",
|
||||||
|
"region": "string",
|
||||||
|
"timeouts": [
|
||||||
|
"object",
|
||||||
|
{
|
||||||
|
"create": "string",
|
||||||
|
"delete": "string"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"redmine_nfs_volume_data": {
|
||||||
|
"value": {
|
||||||
|
"all_metadata": {},
|
||||||
|
"availability_zone": "nova",
|
||||||
|
"description": "NFS share for the dev redmine",
|
||||||
|
"export_locations": [
|
||||||
|
{
|
||||||
|
"path": "172.17.0.7:/volumes/_nogroup/24e94d6a-2d45-4852-bb24-1602881df2f3/5c12125e-4336-483a-9bac-bbfc83b084c9",
|
||||||
|
"preferred": "false"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"has_replicas": false,
|
||||||
|
"host": "",
|
||||||
|
"id": "42900a39-6251-441f-b535-0b18931c4cf3",
|
||||||
|
"is_public": false,
|
||||||
|
"metadata": null,
|
||||||
|
"name": "redmine_dev_nfs_share",
|
||||||
|
"project_id": "e8f8ca72f30648a8b389b4e745ac83a9",
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"replication_type": "",
|
||||||
|
"share_network_id": "",
|
||||||
|
"share_proto": "NFS",
|
||||||
|
"share_server_id": "",
|
||||||
|
"share_type": "default",
|
||||||
|
"size": 5,
|
||||||
|
"snapshot_id": "",
|
||||||
|
"timeouts": null
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"object",
|
||||||
|
{
|
||||||
|
"all_metadata": [
|
||||||
|
"map",
|
||||||
|
"string"
|
||||||
|
],
|
||||||
|
"availability_zone": "string",
|
||||||
|
"description": "string",
|
||||||
|
"export_locations": [
|
||||||
|
"list",
|
||||||
|
[
|
||||||
|
"object",
|
||||||
|
{
|
||||||
|
"path": "string",
|
||||||
|
"preferred": "string"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"has_replicas": "bool",
|
||||||
|
"host": "string",
|
||||||
|
"id": "string",
|
||||||
|
"is_public": "bool",
|
||||||
|
"metadata": [
|
||||||
|
"map",
|
||||||
|
"string"
|
||||||
|
],
|
||||||
|
"name": "string",
|
||||||
|
"project_id": "string",
|
||||||
|
"region": "string",
|
||||||
|
"replication_type": "string",
|
||||||
|
"share_network_id": "string",
|
||||||
|
"share_proto": "string",
|
||||||
|
"share_server_id": "string",
|
||||||
|
"share_type": "string",
|
||||||
|
"size": "number",
|
||||||
|
"snapshot_id": "string",
|
||||||
|
"timeouts": [
|
||||||
|
"object",
|
||||||
|
{
|
||||||
|
"create": "string",
|
||||||
|
"delete": "string",
|
||||||
|
"update": "string"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"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.29.247",
|
||||||
|
"ca_cidr": "10.1.29.247/32",
|
||||||
|
"haproxy_l7_1": "10.1.28.50",
|
||||||
|
"haproxy_l7_1_cidr": "10.1.28.50/32",
|
||||||
|
"haproxy_l7_2": "10.1.30.241",
|
||||||
|
"haproxy_l7_2_cidr": "10.1.30.241/32",
|
||||||
|
"octavia_main": "10.1.28.227",
|
||||||
|
"octavia_main_cidr": "10.1.28.227/32",
|
||||||
|
"prometheus": "10.1.30.129",
|
||||||
|
"prometheus_cidr": "10.1.30.129/32",
|
||||||
|
"ssh_jump": "10.1.29.164",
|
||||||
|
"ssh_jump_cidr": "10.1.29.164/32"
|
||||||
|
},
|
||||||
|
"centos_7": {
|
||||||
|
"name": "CentOS-7",
|
||||||
|
"uuid": "f0187a99-64f6-462a-ab5f-ef52fe62f2ca"
|
||||||
|
},
|
||||||
|
"default_security_group_name": "default",
|
||||||
|
"dns_zone": {
|
||||||
|
"description": "DNS primary zone for the d4s-dev-cloud project",
|
||||||
|
"email": "postmaster@isti.cnr.it",
|
||||||
|
"ttl": "8600",
|
||||||
|
"zone_name": "cloud-dev.d4science.org."
|
||||||
|
},
|
||||||
|
"dns_zone_id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488",
|
||||||
|
"el7_data_file": "../../openstack_vm_data_scripts/el7.sh",
|
||||||
|
"external_gateway_ip": [
|
||||||
|
{
|
||||||
|
"ip_address": "146.48.31.109",
|
||||||
|
"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 DEV main router",
|
||||||
|
"id": "2ae28c5f-036b-45db-bc9f-5bab8fa3e914",
|
||||||
|
"name": "d4s-dev-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.28.50",
|
||||||
|
"10.1.30.241"
|
||||||
|
],
|
||||||
|
"main_private_network": {
|
||||||
|
"description": "D4Science DEV private network (use this as the main network)",
|
||||||
|
"name": "d4s-dev-cloud-main"
|
||||||
|
},
|
||||||
|
"main_private_network_id": "e0af5eba-f24a-4d0d-8184-bc654b980c4a",
|
||||||
|
"main_private_subnet": {
|
||||||
|
"allocation_end": "10.1.31.254",
|
||||||
|
"allocation_start": "10.1.28.30",
|
||||||
|
"cidr": "10.1.28.0/22",
|
||||||
|
"description": "D4Science DEV main private subnet",
|
||||||
|
"gateway_ip": "10.1.28.1",
|
||||||
|
"name": "d4s-dev-cloud-sub"
|
||||||
|
},
|
||||||
|
"main_region": "isti_area_pi_1",
|
||||||
|
"main_subnet_network_id": "2aa977f2-80b4-447c-a6b0-dfa06bf68751",
|
||||||
|
"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": "5887da8d-e362-4509-93ac-8a70bf8baef9",
|
||||||
|
"octavia_information": {
|
||||||
|
"main_lb_description": "Main L4 load balancer for the D4Science DEV",
|
||||||
|
"main_lb_hostname": "main-lb",
|
||||||
|
"main_lb_name": "lb-dev-l4",
|
||||||
|
"octavia_flavor": "octavia_amphora-mvcpu-ha",
|
||||||
|
"octavia_flavor_id": "394988b5-6603-4a1e-a939-8e177c6681c7"
|
||||||
|
},
|
||||||
|
"os_project_data": {
|
||||||
|
"id": "e8f8ca72f30648a8b389b4e745ac83a9"
|
||||||
|
},
|
||||||
|
"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_compute_instance_v2",
|
||||||
|
"name": "redmine",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"access_ip_v4": "10.1.31.204",
|
||||||
|
"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": true,
|
||||||
|
"destination_type": "volume",
|
||||||
|
"device_type": "",
|
||||||
|
"disk_bus": "",
|
||||||
|
"guest_format": "",
|
||||||
|
"multiattach": false,
|
||||||
|
"source_type": "image",
|
||||||
|
"uuid": "54768889-8556-4be4-a2eb-82a4d9b34627",
|
||||||
|
"volume_size": 20,
|
||||||
|
"volume_type": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"config_drive": null,
|
||||||
|
"created": "2024-01-31 15:04:07 +0000 UTC",
|
||||||
|
"flavor_id": "4",
|
||||||
|
"flavor_name": "m1.medium",
|
||||||
|
"floating_ip": null,
|
||||||
|
"force_delete": false,
|
||||||
|
"id": "3ba0a5f7-9eea-4986-ad9c-404ba2237857",
|
||||||
|
"image_id": "Attempt to boot from volume - no image supplied",
|
||||||
|
"image_name": null,
|
||||||
|
"key_pair": "adellam",
|
||||||
|
"metadata": null,
|
||||||
|
"name": "redmine-dev",
|
||||||
|
"network": [
|
||||||
|
{
|
||||||
|
"access_network": false,
|
||||||
|
"fixed_ip_v4": "10.1.31.204",
|
||||||
|
"fixed_ip_v6": "",
|
||||||
|
"floating_ip": "",
|
||||||
|
"mac": "fa:16:3e:4e:a5:f3",
|
||||||
|
"name": "d4s-dev-cloud-main",
|
||||||
|
"port": "",
|
||||||
|
"uuid": "e0af5eba-f24a-4d0d-8184-bc654b980c4a"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"access_network": false,
|
||||||
|
"fixed_ip_v4": "192.168.2.99",
|
||||||
|
"fixed_ip_v6": "",
|
||||||
|
"floating_ip": "",
|
||||||
|
"mac": "fa:16:3e:b0:51:28",
|
||||||
|
"name": "postgresql-srv-net",
|
||||||
|
"port": "",
|
||||||
|
"uuid": "00422a4a-4b8b-4c85-acf9-ef733df842b9"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"network_mode": null,
|
||||||
|
"personality": [],
|
||||||
|
"power_state": "active",
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"scheduler_hints": [],
|
||||||
|
"security_groups": [
|
||||||
|
"default",
|
||||||
|
"nfs_share_no_ingress",
|
||||||
|
"traffic_from_the_main_load_balancers"
|
||||||
|
],
|
||||||
|
"stop_before_destroy": false,
|
||||||
|
"tags": null,
|
||||||
|
"timeouts": null,
|
||||||
|
"updated": "2024-01-31 15:04:56 +0000 UTC",
|
||||||
|
"user_data": "bb83b25fd1219aa1b850ece9be8d7b0f31714608",
|
||||||
|
"vendor_options": [],
|
||||||
|
"volume": []
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxODAwMDAwMDAwMDAwLCJkZWxldGUiOjE4MDAwMDAwMDAwMDAsInVwZGF0ZSI6MTgwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_compute_interface_attach_v2",
|
||||||
|
"name": "nfs_port_to_redmine",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"fixed_ip": "172.17.2.12",
|
||||||
|
"id": "3ba0a5f7-9eea-4986-ad9c-404ba2237857/effe8e41-22eb-4348-944f-cebd19b8957f",
|
||||||
|
"instance_id": "3ba0a5f7-9eea-4986-ad9c-404ba2237857",
|
||||||
|
"network_id": "5f4023cc-4016-404c-94e5-86220095fbaf",
|
||||||
|
"port_id": "effe8e41-22eb-4348-944f-cebd19b8957f",
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"timeouts": null
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwfX0=",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router",
|
||||||
|
"openstack_compute_instance_v2.redmine",
|
||||||
|
"openstack_networking_port_v2.redmine_nfs_port"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_networking_port_secgroup_associate_v2",
|
||||||
|
"name": "redmine_nfs_port_secgroup",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"all_security_group_ids": [
|
||||||
|
"5887da8d-e362-4509-93ac-8a70bf8baef9",
|
||||||
|
"d1fc7c78-6426-4a18-b369-09fcf4fe6edf"
|
||||||
|
],
|
||||||
|
"enforce": false,
|
||||||
|
"id": "effe8e41-22eb-4348-944f-cebd19b8957f",
|
||||||
|
"port_id": "effe8e41-22eb-4348-944f-cebd19b8957f",
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"security_group_ids": [
|
||||||
|
"5887da8d-e362-4509-93ac-8a70bf8baef9"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "bnVsbA==",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router",
|
||||||
|
"openstack_networking_port_v2.redmine_nfs_port"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_networking_port_v2",
|
||||||
|
"name": "redmine_nfs_port",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"admin_state_up": true,
|
||||||
|
"all_fixed_ips": [
|
||||||
|
"172.17.2.12"
|
||||||
|
],
|
||||||
|
"all_security_group_ids": [
|
||||||
|
"5887da8d-e362-4509-93ac-8a70bf8baef9",
|
||||||
|
"d1fc7c78-6426-4a18-b369-09fcf4fe6edf"
|
||||||
|
],
|
||||||
|
"all_tags": [],
|
||||||
|
"allowed_address_pairs": [],
|
||||||
|
"binding": [
|
||||||
|
{
|
||||||
|
"host_id": "",
|
||||||
|
"profile": "",
|
||||||
|
"vif_details": {},
|
||||||
|
"vif_type": "",
|
||||||
|
"vnic_type": "normal"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "",
|
||||||
|
"device_id": "fa11c8b2-18d7-4688-a6f1-0ab78d6399ec",
|
||||||
|
"device_owner": "compute:cnr-isti-nova-a",
|
||||||
|
"dns_assignment": [
|
||||||
|
{
|
||||||
|
"fqdn": "host-172-17-2-12.openstacklocal.",
|
||||||
|
"hostname": "host-172-17-2-12",
|
||||||
|
"ip_address": "172.17.2.12"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dns_name": "",
|
||||||
|
"extra_dhcp_option": [],
|
||||||
|
"fixed_ip": [
|
||||||
|
{
|
||||||
|
"ip_address": "",
|
||||||
|
"subnet_id": "6ff0f9e8-0e74-4cc3-a268-7ed4af435696"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"id": "effe8e41-22eb-4348-944f-cebd19b8957f",
|
||||||
|
"mac_address": "fa:16:3e:f5:57:88",
|
||||||
|
"name": "redmine_nfs_port",
|
||||||
|
"network_id": "5f4023cc-4016-404c-94e5-86220095fbaf",
|
||||||
|
"no_fixed_ip": null,
|
||||||
|
"no_security_groups": null,
|
||||||
|
"port_security_enabled": true,
|
||||||
|
"qos_policy_id": "",
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"security_group_ids": null,
|
||||||
|
"tags": [],
|
||||||
|
"tenant_id": "e8f8ca72f30648a8b389b4e745ac83a9",
|
||||||
|
"timeouts": null,
|
||||||
|
"value_specs": null
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwfX0=",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_sharedfilesystem_share_access_v2",
|
||||||
|
"name": "redmine_dev_nfs_share_access",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"access_key": "",
|
||||||
|
"access_level": "rw",
|
||||||
|
"access_to": "172.17.2.12",
|
||||||
|
"access_type": "ip",
|
||||||
|
"id": "dec8bf74-c50d-4841-a278-3786b12b591f",
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"share_id": "42900a39-6251-441f-b535-0b18931c4cf3",
|
||||||
|
"state": "active",
|
||||||
|
"timeouts": null
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router",
|
||||||
|
"openstack_compute_instance_v2.redmine",
|
||||||
|
"openstack_compute_interface_attach_v2.nfs_port_to_redmine",
|
||||||
|
"openstack_networking_port_v2.redmine_nfs_port",
|
||||||
|
"openstack_sharedfilesystem_share_v2.redmine_dev"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_sharedfilesystem_share_v2",
|
||||||
|
"name": "redmine_dev",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"all_metadata": {},
|
||||||
|
"availability_zone": "nova",
|
||||||
|
"description": "NFS share for the dev redmine",
|
||||||
|
"export_locations": [
|
||||||
|
{
|
||||||
|
"path": "172.17.0.7:/volumes/_nogroup/24e94d6a-2d45-4852-bb24-1602881df2f3/5c12125e-4336-483a-9bac-bbfc83b084c9",
|
||||||
|
"preferred": "false"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"has_replicas": false,
|
||||||
|
"host": "",
|
||||||
|
"id": "42900a39-6251-441f-b535-0b18931c4cf3",
|
||||||
|
"is_public": false,
|
||||||
|
"metadata": null,
|
||||||
|
"name": "redmine_dev_nfs_share",
|
||||||
|
"project_id": "e8f8ca72f30648a8b389b4e745ac83a9",
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"replication_type": "",
|
||||||
|
"share_network_id": "",
|
||||||
|
"share_proto": "NFS",
|
||||||
|
"share_server_id": "",
|
||||||
|
"share_type": "default",
|
||||||
|
"size": 5,
|
||||||
|
"snapshot_id": "",
|
||||||
|
"timeouts": null
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH19"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"check_results": null
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
# 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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module "common_variables" {
|
||||||
|
source = "../../modules/common_variables"
|
||||||
|
}
|
||||||
|
|
||||||
|
module "variables" {
|
||||||
|
source = "../variables"
|
||||||
|
}
|
||||||
|
|
||||||
|
module "ssh_keys" {
|
||||||
|
source = "../../modules/ssh_keys"
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
provider "openstack" {
|
||||||
|
cloud = "d4s-dev"
|
||||||
|
}
|
|
@ -0,0 +1,429 @@
|
||||||
|
{
|
||||||
|
"version": 4,
|
||||||
|
"terraform_version": "1.7.4",
|
||||||
|
"serial": 3,
|
||||||
|
"lineage": "48e9b647-6c03-4b28-7033-9e1d40b3795d",
|
||||||
|
"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.29.247",
|
||||||
|
"ca_cidr": "10.1.29.247/32",
|
||||||
|
"haproxy_l7_1": "10.1.28.50",
|
||||||
|
"haproxy_l7_1_cidr": "10.1.28.50/32",
|
||||||
|
"haproxy_l7_2": "10.1.30.241",
|
||||||
|
"haproxy_l7_2_cidr": "10.1.30.241/32",
|
||||||
|
"octavia_main": "10.1.28.227",
|
||||||
|
"octavia_main_cidr": "10.1.28.227/32",
|
||||||
|
"prometheus": "10.1.30.129",
|
||||||
|
"prometheus_cidr": "10.1.30.129/32",
|
||||||
|
"ssh_jump": "10.1.29.164",
|
||||||
|
"ssh_jump_cidr": "10.1.29.164/32"
|
||||||
|
},
|
||||||
|
"centos_7": {
|
||||||
|
"name": "CentOS-7",
|
||||||
|
"uuid": "f0187a99-64f6-462a-ab5f-ef52fe62f2ca"
|
||||||
|
},
|
||||||
|
"default_security_group_name": "default",
|
||||||
|
"dns_zone": {
|
||||||
|
"description": "DNS primary zone for the d4s-dev-cloud project",
|
||||||
|
"email": "postmaster@isti.cnr.it",
|
||||||
|
"ttl": "8600",
|
||||||
|
"zone_name": "cloud-dev.d4science.org."
|
||||||
|
},
|
||||||
|
"dns_zone_id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488",
|
||||||
|
"el7_data_file": "../../openstack_vm_data_scripts/el7.sh",
|
||||||
|
"external_gateway_ip": [
|
||||||
|
{
|
||||||
|
"ip_address": "146.48.31.109",
|
||||||
|
"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 DEV main router",
|
||||||
|
"id": "2ae28c5f-036b-45db-bc9f-5bab8fa3e914",
|
||||||
|
"name": "d4s-dev-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.28.50",
|
||||||
|
"10.1.30.241"
|
||||||
|
],
|
||||||
|
"main_private_network": {
|
||||||
|
"description": "D4Science DEV private network (use this as the main network)",
|
||||||
|
"name": "d4s-dev-cloud-main"
|
||||||
|
},
|
||||||
|
"main_private_network_id": "e0af5eba-f24a-4d0d-8184-bc654b980c4a",
|
||||||
|
"main_private_subnet": {
|
||||||
|
"allocation_end": "10.1.31.254",
|
||||||
|
"allocation_start": "10.1.28.30",
|
||||||
|
"cidr": "10.1.28.0/22",
|
||||||
|
"description": "D4Science DEV main private subnet",
|
||||||
|
"gateway_ip": "10.1.28.1",
|
||||||
|
"name": "d4s-dev-cloud-sub"
|
||||||
|
},
|
||||||
|
"main_region": "isti_area_pi_1",
|
||||||
|
"main_subnet_network_id": "2aa977f2-80b4-447c-a6b0-dfa06bf68751",
|
||||||
|
"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": "5887da8d-e362-4509-93ac-8a70bf8baef9",
|
||||||
|
"octavia_information": {
|
||||||
|
"main_lb_description": "Main L4 load balancer for the D4Science DEV",
|
||||||
|
"main_lb_hostname": "main-lb",
|
||||||
|
"main_lb_name": "lb-dev-l4",
|
||||||
|
"octavia_flavor": "octavia_amphora-mvcpu-ha",
|
||||||
|
"octavia_flavor_id": "394988b5-6603-4a1e-a939-8e177c6681c7"
|
||||||
|
},
|
||||||
|
"os_project_data": {
|
||||||
|
"id": "e8f8ca72f30648a8b389b4e745ac83a9"
|
||||||
|
},
|
||||||
|
"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": []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "module.ssh_keys",
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_compute_keypair_v2",
|
||||||
|
"name": "initial_ssh_key",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"fingerprint": "c8:e0:f5:3d:5b:31:5e:f0:bf:e2:d6:b7:e5:1b:8a:6a",
|
||||||
|
"id": "Marco Procaccini",
|
||||||
|
"name": "Marco Procaccini",
|
||||||
|
"private_key": "",
|
||||||
|
"public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCWabEzyFoWbwIkxq3Y9GF2VuRAfglZZxDwvyRgQEAeohF0ue+whk9fN91gI58hW8hEiW3RBt6R1Stp9Gk9lTzKpqtP591A0UsStGTt7D2cXbOS+X2Hj3uAeKwYmtV2AB4l5xzEluK2adWBSBpMZW+pqSjd6ifLR0TsiRcZ9LSaoa3aAqxv55pmeVrlETi9qMvJi083g72LOO/8k02Ea1VAstBoJ1niyaQ69sqVZDTvUSsjjUSla1AxA2cAS/5wjhHOlcuRdxqxuEmqYaCgexmKcRUYoFOWYnYU2iHgi9Ksg2NEr4tn6tQnNKlk7qD3OgIgoyGKhwOxq/Vap5nlO/DGJ6eQbGoK+27SqV9QrM8bj4Et23diTCfUfS96OyLGBjRYAPG50POUtpgXfn/RjhGS8rX4QMKM0ZysAWFAxUMDNFobE9ieXNTrLFh4f9cpVKN0aGooBak4gAdKiAwdqv+Q3DGrBYoz0m7crKUN/hWdXq57B2FaJUVTf/rIzK+cThE= marco@procpc\n",
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"user_id": "",
|
||||||
|
"value_specs": null
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"type": "get_attr",
|
||||||
|
"value": "public_key"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"private": "bnVsbA=="
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"check_results": null
|
||||||
|
}
|
|
@ -0,0 +1,107 @@
|
||||||
|
# Define required providers
|
||||||
|
terraform {
|
||||||
|
required_version = ">= 0.14.0"
|
||||||
|
required_providers {
|
||||||
|
openstack = {
|
||||||
|
source = "terraform-provider-openstack/openstack"
|
||||||
|
version = ">= 1.54.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_3_dev_data_volume" {
|
||||||
|
name = "storagehub_3_data_volume"
|
||||||
|
size = "25"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Instances 3
|
||||||
|
resource "openstack_compute_instance_v2" "storagehub_3_dev" {
|
||||||
|
name = "storagehub-3"
|
||||||
|
availability_zone_hints = module.common_variables.availability_zone_no_gpu_name
|
||||||
|
flavor_name = "m1.medium"
|
||||||
|
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_2404.uuid
|
||||||
|
source_type = "image"
|
||||||
|
volume_size = 10
|
||||||
|
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_2404.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" "storagehub_3_dev_attach" {
|
||||||
|
instance_id = openstack_compute_instance_v2.storagehub_3_dev.id
|
||||||
|
volume_id = openstack_blockstorage_volume_v3.storagehub_3_dev_data_volume.id
|
||||||
|
device = "/dev/vdb"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
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 = {
|
||||||
|
storagehub-3 = {
|
||||||
|
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||||
|
name = join(".", ["storagehub-3", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||||
|
description = "StorageHub 3"
|
||||||
|
ttl = 8600
|
||||||
|
type = "CNAME"
|
||||||
|
records = [local.cname_target]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
provider "openstack" {
|
||||||
|
cloud = "d4s-dev"
|
||||||
|
}
|
|
@ -0,0 +1,586 @@
|
||||||
|
{
|
||||||
|
"version": 4,
|
||||||
|
"terraform_version": "1.6.4",
|
||||||
|
"serial": 15,
|
||||||
|
"lineage": "7ae19997-17fe-7f03-9bcb-e326176791ba",
|
||||||
|
"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.29.247",
|
||||||
|
"ca_cidr": "10.1.29.247/32",
|
||||||
|
"haproxy_l7_1": "10.1.28.50",
|
||||||
|
"haproxy_l7_1_cidr": "10.1.28.50/32",
|
||||||
|
"haproxy_l7_2": "10.1.30.241",
|
||||||
|
"haproxy_l7_2_cidr": "10.1.30.241/32",
|
||||||
|
"octavia_main": "10.1.28.227",
|
||||||
|
"octavia_main_cidr": "10.1.28.227/32",
|
||||||
|
"prometheus": "10.1.30.129",
|
||||||
|
"prometheus_cidr": "10.1.30.129/32",
|
||||||
|
"ssh_jump": "10.1.29.164",
|
||||||
|
"ssh_jump_cidr": "10.1.29.164/32"
|
||||||
|
},
|
||||||
|
"centos_7": {
|
||||||
|
"name": "CentOS-7",
|
||||||
|
"uuid": "f0187a99-64f6-462a-ab5f-ef52fe62f2ca"
|
||||||
|
},
|
||||||
|
"default_security_group_name": "default",
|
||||||
|
"dns_zone": {
|
||||||
|
"description": "DNS primary zone for the d4s-dev-cloud project",
|
||||||
|
"email": "postmaster@isti.cnr.it",
|
||||||
|
"ttl": "8600",
|
||||||
|
"zone_name": "cloud-dev.d4science.org."
|
||||||
|
},
|
||||||
|
"dns_zone_id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488",
|
||||||
|
"el7_data_file": "../../openstack_vm_data_scripts/el7.sh",
|
||||||
|
"external_gateway_ip": [
|
||||||
|
{
|
||||||
|
"ip_address": "146.48.31.109",
|
||||||
|
"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 DEV main router",
|
||||||
|
"id": "2ae28c5f-036b-45db-bc9f-5bab8fa3e914",
|
||||||
|
"name": "d4s-dev-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.28.50",
|
||||||
|
"10.1.30.241"
|
||||||
|
],
|
||||||
|
"main_private_network": {
|
||||||
|
"description": "D4Science DEV private network (use this as the main network)",
|
||||||
|
"name": "d4s-dev-cloud-main"
|
||||||
|
},
|
||||||
|
"main_private_network_id": "e0af5eba-f24a-4d0d-8184-bc654b980c4a",
|
||||||
|
"main_private_subnet": {
|
||||||
|
"allocation_end": "10.1.31.254",
|
||||||
|
"allocation_start": "10.1.28.30",
|
||||||
|
"cidr": "10.1.28.0/22",
|
||||||
|
"description": "D4Science DEV main private subnet",
|
||||||
|
"gateway_ip": "10.1.28.1",
|
||||||
|
"name": "d4s-dev-cloud-sub"
|
||||||
|
},
|
||||||
|
"main_region": "isti_area_pi_1",
|
||||||
|
"main_subnet_network_id": "2aa977f2-80b4-447c-a6b0-dfa06bf68751",
|
||||||
|
"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": "5887da8d-e362-4509-93ac-8a70bf8baef9",
|
||||||
|
"octavia_information": {
|
||||||
|
"main_lb_description": "Main L4 load balancer for the D4Science DEV",
|
||||||
|
"main_lb_hostname": "main-lb",
|
||||||
|
"main_lb_name": "lb-dev-l4",
|
||||||
|
"octavia_flavor": "octavia_amphora-mvcpu-ha",
|
||||||
|
"octavia_flavor_id": "394988b5-6603-4a1e-a939-8e177c6681c7"
|
||||||
|
},
|
||||||
|
"os_project_data": {
|
||||||
|
"id": "e8f8ca72f30648a8b389b4e745ac83a9"
|
||||||
|
},
|
||||||
|
"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_3_dev_data_volume",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"attachment": [
|
||||||
|
{
|
||||||
|
"device": "/dev/vdb",
|
||||||
|
"id": "760379aa-ba97-4d23-9e84-e10ddb7aae88",
|
||||||
|
"instance_id": "28fafca3-13db-48ce-8453-ae5a1bfd8640"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"availability_zone": "nova",
|
||||||
|
"backup_id": "",
|
||||||
|
"consistency_group_id": null,
|
||||||
|
"description": "",
|
||||||
|
"enable_online_resize": null,
|
||||||
|
"id": "760379aa-ba97-4d23-9e84-e10ddb7aae88",
|
||||||
|
"image_id": null,
|
||||||
|
"metadata": {},
|
||||||
|
"name": "storagehub_3_data_volume",
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"scheduler_hints": [],
|
||||||
|
"size": 25,
|
||||||
|
"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": "storagehub_3_dev",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"access_ip_v4": "10.1.30.146",
|
||||||
|
"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": "fc3f705d-3cf5-4866-8ef6-ff6e2cdd4075",
|
||||||
|
"volume_size": 10,
|
||||||
|
"volume_type": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"config_drive": null,
|
||||||
|
"created": "2024-07-19 15:43:11 +0000 UTC",
|
||||||
|
"flavor_id": "4",
|
||||||
|
"flavor_name": "m1.medium",
|
||||||
|
"force_delete": false,
|
||||||
|
"id": "28fafca3-13db-48ce-8453-ae5a1bfd8640",
|
||||||
|
"image_id": "Attempt to boot from volume - no image supplied",
|
||||||
|
"image_name": null,
|
||||||
|
"key_pair": "Giancarlo Panichi",
|
||||||
|
"metadata": null,
|
||||||
|
"name": "storagehub-3",
|
||||||
|
"network": [
|
||||||
|
{
|
||||||
|
"access_network": false,
|
||||||
|
"fixed_ip_v4": "10.1.30.146",
|
||||||
|
"fixed_ip_v6": "",
|
||||||
|
"mac": "fa:16:3e:58:5b:29",
|
||||||
|
"name": "d4s-dev-cloud-main",
|
||||||
|
"port": "",
|
||||||
|
"uuid": "e0af5eba-f24a-4d0d-8184-bc654b980c4a"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"access_network": false,
|
||||||
|
"fixed_ip_v4": "192.168.2.6",
|
||||||
|
"fixed_ip_v6": "",
|
||||||
|
"mac": "fa:16:3e:82:98:4e",
|
||||||
|
"name": "postgresql-srv-net",
|
||||||
|
"port": "",
|
||||||
|
"uuid": "00422a4a-4b8b-4c85-acf9-ef733df842b9"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"network_mode": null,
|
||||||
|
"personality": [],
|
||||||
|
"power_state": "active",
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"scheduler_hints": [],
|
||||||
|
"security_groups": [
|
||||||
|
"default",
|
||||||
|
"traffic_from_the_main_load_balancers"
|
||||||
|
],
|
||||||
|
"stop_before_destroy": false,
|
||||||
|
"tags": [],
|
||||||
|
"timeouts": null,
|
||||||
|
"updated": "2024-07-19 15:44:41 +0000 UTC",
|
||||||
|
"user_data": "bb83b25fd1219aa1b850ece9be8d7b0f31714608",
|
||||||
|
"vendor_options": []
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxODAwMDAwMDAwMDAwLCJkZWxldGUiOjE4MDAwMDAwMDAwMDAsInVwZGF0ZSI6MTgwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_compute_volume_attach_v2",
|
||||||
|
"name": "storagehub_3_dev_attach",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"device": "/dev/vdb",
|
||||||
|
"id": "28fafca3-13db-48ce-8453-ae5a1bfd8640/760379aa-ba97-4d23-9e84-e10ddb7aae88",
|
||||||
|
"instance_id": "28fafca3-13db-48ce-8453-ae5a1bfd8640",
|
||||||
|
"multiattach": null,
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"tag": null,
|
||||||
|
"timeouts": null,
|
||||||
|
"vendor_options": [],
|
||||||
|
"volume_id": "760379aa-ba97-4d23-9e84-e10ddb7aae88"
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwfX0=",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router",
|
||||||
|
"openstack_blockstorage_volume_v3.storagehub_3_dev_data_volume",
|
||||||
|
"openstack_compute_instance_v2.storagehub_3_dev"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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": "storagehub-3",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"description": "StorageHub 3",
|
||||||
|
"disable_status_check": false,
|
||||||
|
"id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488/e810a552-62bf-451d-b78b-45138988b853",
|
||||||
|
"name": "storagehub-3.cloud-dev.d4science.org.",
|
||||||
|
"project_id": "e8f8ca72f30648a8b389b4e745ac83a9",
|
||||||
|
"records": [
|
||||||
|
"main-lb.cloud-dev.d4science.org."
|
||||||
|
],
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"timeouts": null,
|
||||||
|
"ttl": 8600,
|
||||||
|
"type": "CNAME",
|
||||||
|
"value_specs": null,
|
||||||
|
"zone_id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488"
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"check_results": null
|
||||||
|
}
|
|
@ -0,0 +1,71 @@
|
||||||
|
# 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 "instance_with_data_volume" {
|
||||||
|
source = "../../modules/instance_with_data_volume"
|
||||||
|
|
||||||
|
instances_with_data_volume_map = {
|
||||||
|
thredds1 = {
|
||||||
|
name = "thredds1",
|
||||||
|
description = "Thredds dev instance",
|
||||||
|
flavor = module.common_variables.flavor_list.m2_small,
|
||||||
|
networks = [data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.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],
|
||||||
|
server_groups_ids = [],
|
||||||
|
image_ref = module.common_variables.ubuntu_1804,
|
||||||
|
image_volume_size = 20
|
||||||
|
volume = {
|
||||||
|
name = "thredds1_data_volume",
|
||||||
|
size = "280",
|
||||||
|
device = "/dev/vdb"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
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 = {
|
||||||
|
thredds1 = {
|
||||||
|
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||||
|
name = join(".", ["thredds1", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||||
|
description = "Thredds thredds1"
|
||||||
|
ttl = 8600
|
||||||
|
type = "CNAME"
|
||||||
|
records = [local.cname_target]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
provider "openstack" {
|
||||||
|
cloud = "d4s-dev"
|
||||||
|
}
|
|
@ -0,0 +1,577 @@
|
||||||
|
{
|
||||||
|
"version": 4,
|
||||||
|
"terraform_version": "1.6.6",
|
||||||
|
"serial": 7,
|
||||||
|
"lineage": "5d2f6ed3-379d-993a-46a5-4f1f7adb1dab",
|
||||||
|
"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.29.247",
|
||||||
|
"ca_cidr": "10.1.29.247/32",
|
||||||
|
"haproxy_l7_1": "10.1.28.50",
|
||||||
|
"haproxy_l7_1_cidr": "10.1.28.50/32",
|
||||||
|
"haproxy_l7_2": "10.1.30.241",
|
||||||
|
"haproxy_l7_2_cidr": "10.1.30.241/32",
|
||||||
|
"octavia_main": "10.1.28.227",
|
||||||
|
"octavia_main_cidr": "10.1.28.227/32",
|
||||||
|
"prometheus": "10.1.30.129",
|
||||||
|
"prometheus_cidr": "10.1.30.129/32",
|
||||||
|
"ssh_jump": "10.1.29.164",
|
||||||
|
"ssh_jump_cidr": "10.1.29.164/32"
|
||||||
|
},
|
||||||
|
"centos_7": {
|
||||||
|
"name": "CentOS-7",
|
||||||
|
"uuid": "f0187a99-64f6-462a-ab5f-ef52fe62f2ca"
|
||||||
|
},
|
||||||
|
"default_security_group_name": "default",
|
||||||
|
"dns_zone": {
|
||||||
|
"description": "DNS primary zone for the d4s-dev-cloud project",
|
||||||
|
"email": "postmaster@isti.cnr.it",
|
||||||
|
"ttl": "8600",
|
||||||
|
"zone_name": "cloud-dev.d4science.org."
|
||||||
|
},
|
||||||
|
"dns_zone_id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488",
|
||||||
|
"el7_data_file": "../../openstack_vm_data_scripts/el7.sh",
|
||||||
|
"external_gateway_ip": [
|
||||||
|
{
|
||||||
|
"ip_address": "146.48.31.109",
|
||||||
|
"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 DEV main router",
|
||||||
|
"id": "2ae28c5f-036b-45db-bc9f-5bab8fa3e914",
|
||||||
|
"name": "d4s-dev-cloud-external-router"
|
||||||
|
},
|
||||||
|
"flavor_list": {
|
||||||
|
"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"
|
||||||
|
},
|
||||||
|
"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.28.50",
|
||||||
|
"10.1.30.241"
|
||||||
|
],
|
||||||
|
"main_private_network": {
|
||||||
|
"description": "D4Science DEV private network (use this as the main network)",
|
||||||
|
"name": "d4s-dev-cloud-main"
|
||||||
|
},
|
||||||
|
"main_private_network_id": "e0af5eba-f24a-4d0d-8184-bc654b980c4a",
|
||||||
|
"main_private_subnet": {
|
||||||
|
"allocation_end": "10.1.31.254",
|
||||||
|
"allocation_start": "10.1.28.30",
|
||||||
|
"cidr": "10.1.28.0/22",
|
||||||
|
"description": "D4Science DEV main private subnet",
|
||||||
|
"gateway_ip": "10.1.28.1",
|
||||||
|
"name": "d4s-dev-cloud-sub"
|
||||||
|
},
|
||||||
|
"main_region": "isti_area_pi_1",
|
||||||
|
"main_subnet_network_id": "2aa977f2-80b4-447c-a6b0-dfa06bf68751",
|
||||||
|
"mtu_size": 8942,
|
||||||
|
"networks_list": {
|
||||||
|
"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"
|
||||||
|
},
|
||||||
|
"octavia_information": {
|
||||||
|
"main_lb_description": "Main L4 load balancer for the D4Science DEV",
|
||||||
|
"main_lb_hostname": "main-lb",
|
||||||
|
"main_lb_name": "lb-dev-l4",
|
||||||
|
"octavia_flavor": "octavia_amphora-mvcpu-ha",
|
||||||
|
"octavia_flavor_id": "394988b5-6603-4a1e-a939-8e177c6681c7"
|
||||||
|
},
|
||||||
|
"os_project_data": {
|
||||||
|
"id": "e8f8ca72f30648a8b389b4e745ac83a9"
|
||||||
|
},
|
||||||
|
"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.122.132/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": "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"
|
||||||
|
},
|
||||||
|
"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"
|
||||||
|
},
|
||||||
|
"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"
|
||||||
|
],
|
||||||
|
"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"
|
||||||
|
],
|
||||||
|
"ubuntu1804_data_file": "string",
|
||||||
|
"ubuntu2204_data_file": "string",
|
||||||
|
"ubuntu_1804": [
|
||||||
|
"map",
|
||||||
|
"string"
|
||||||
|
],
|
||||||
|
"ubuntu_2204": [
|
||||||
|
"map",
|
||||||
|
"string"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"workspace": null
|
||||||
|
},
|
||||||
|
"sensitive_attributes": []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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": "thredds1",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"description": "Thredds thredds1",
|
||||||
|
"disable_status_check": false,
|
||||||
|
"id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488/40b567cb-7ba4-47ba-83de-2b300ac2afee",
|
||||||
|
"name": "thredds1.cloud-dev.d4science.org.",
|
||||||
|
"project_id": "e8f8ca72f30648a8b389b4e745ac83a9",
|
||||||
|
"records": [
|
||||||
|
"main-lb.cloud-dev.d4science.org."
|
||||||
|
],
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"timeouts": null,
|
||||||
|
"ttl": 8600,
|
||||||
|
"type": "CNAME",
|
||||||
|
"value_specs": null,
|
||||||
|
"zone_id": "cbae638a-9d99-44aa-946c-0f5ffb7fc488"
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "module.instance_with_data_volume",
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_blockstorage_volume_v3",
|
||||||
|
"name": "instance_data_volume",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"index_key": "thredds1",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"attachment": [
|
||||||
|
{
|
||||||
|
"device": "/dev/vdb",
|
||||||
|
"id": "24d966e9-13ef-4e08-8fba-c334eb63f51b",
|
||||||
|
"instance_id": "b7039dac-cad3-4774-b446-feb391d3d539"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"availability_zone": "nova",
|
||||||
|
"consistency_group_id": null,
|
||||||
|
"description": "",
|
||||||
|
"enable_online_resize": null,
|
||||||
|
"id": "24d966e9-13ef-4e08-8fba-c334eb63f51b",
|
||||||
|
"image_id": null,
|
||||||
|
"metadata": {},
|
||||||
|
"multiattach": null,
|
||||||
|
"name": "thredds1_data_volume",
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"scheduler_hints": [],
|
||||||
|
"size": 280,
|
||||||
|
"snapshot_id": "",
|
||||||
|
"source_replica": null,
|
||||||
|
"source_vol_id": "",
|
||||||
|
"timeouts": null,
|
||||||
|
"volume_type": "cephUnencrypted"
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwfX0=",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "module.instance_with_data_volume",
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_compute_instance_v2",
|
||||||
|
"name": "instance_with_data_volume",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"index_key": "thredds1",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"access_ip_v4": "10.1.29.210",
|
||||||
|
"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": 20,
|
||||||
|
"volume_type": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"config_drive": null,
|
||||||
|
"created": "2024-01-30 11:46:59 +0000 UTC",
|
||||||
|
"flavor_id": "10",
|
||||||
|
"flavor_name": "m2.small",
|
||||||
|
"floating_ip": null,
|
||||||
|
"force_delete": false,
|
||||||
|
"id": "b7039dac-cad3-4774-b446-feb391d3d539",
|
||||||
|
"image_id": "Attempt to boot from volume - no image supplied",
|
||||||
|
"image_name": null,
|
||||||
|
"key_pair": "adellam",
|
||||||
|
"metadata": null,
|
||||||
|
"name": "thredds1",
|
||||||
|
"network": [
|
||||||
|
{
|
||||||
|
"access_network": false,
|
||||||
|
"fixed_ip_v4": "10.1.29.210",
|
||||||
|
"fixed_ip_v6": "",
|
||||||
|
"floating_ip": "",
|
||||||
|
"mac": "fa:16:3e:a2:7f:dd",
|
||||||
|
"name": "d4s-dev-cloud-main",
|
||||||
|
"port": "",
|
||||||
|
"uuid": "e0af5eba-f24a-4d0d-8184-bc654b980c4a"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"network_mode": null,
|
||||||
|
"personality": [],
|
||||||
|
"power_state": "active",
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"scheduler_hints": [],
|
||||||
|
"security_groups": [
|
||||||
|
"default",
|
||||||
|
"http and https from the load balancers"
|
||||||
|
],
|
||||||
|
"stop_before_destroy": false,
|
||||||
|
"tags": [],
|
||||||
|
"timeouts": null,
|
||||||
|
"updated": "2024-01-30 11:47:42 +0000 UTC",
|
||||||
|
"user_data": "47d4769e61324c305c4b70ed6673de4fad84150d",
|
||||||
|
"vendor_options": [],
|
||||||
|
"volume": []
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxODAwMDAwMDAwMDAwLCJkZWxldGUiOjE4MDAwMDAwMDAwMDAsInVwZGF0ZSI6MTgwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "module.instance_with_data_volume",
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_compute_volume_attach_v2",
|
||||||
|
"name": "attach_volume",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"index_key": "thredds1",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"device": "/dev/vdb",
|
||||||
|
"id": "b7039dac-cad3-4774-b446-feb391d3d539/24d966e9-13ef-4e08-8fba-c334eb63f51b",
|
||||||
|
"instance_id": "b7039dac-cad3-4774-b446-feb391d3d539",
|
||||||
|
"multiattach": null,
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"timeouts": null,
|
||||||
|
"vendor_options": [],
|
||||||
|
"volume_id": "24d966e9-13ef-4e08-8fba-c334eb63f51b"
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwfX0=",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router",
|
||||||
|
"module.instance_with_data_volume.openstack_blockstorage_volume_v3.instance_data_volume",
|
||||||
|
"module.instance_with_data_volume.openstack_compute_instance_v2.instance_with_data_volume"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"check_results": null
|
||||||
|
}
|
|
@ -1,25 +0,0 @@
|
||||||
# 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=",
|
|
||||||
"h1:ZSJPqrlaHQ3sj7wyJuPSG+NblFZbAA6Y0d3GjSJf3o8=",
|
|
||||||
"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",
|
|
||||||
]
|
|
||||||
}
|
|
|
@ -1,63 +0,0 @@
|
||||||
# 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"
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#
|
|
||||||
# Creates the server group "uri-resolver"
|
|
||||||
#
|
|
||||||
resource "openstack_compute_servergroup_v2" "uri-resolver" {
|
|
||||||
name = "uri-resolver"
|
|
||||||
policies = [module.common_variables.policy_list.soft_anti_affinity]
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
module "instance_without_data_volume" {
|
|
||||||
source = "../../modules/instance_without_data_volume"
|
|
||||||
|
|
||||||
instances_without_data_volume_map = {
|
|
||||||
# URI-Resolver instance 1
|
|
||||||
uri_resolver_service_i1 = {
|
|
||||||
name = "data-1",
|
|
||||||
description = "The data instance",
|
|
||||||
flavor = module.common_variables.flavor_list.m1_medium,
|
|
||||||
networks = [data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.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],
|
|
||||||
server_groups_ids = [openstack_compute_servergroup_v2.uri-resolver.id],
|
|
||||||
image_ref = module.common_variables.ubuntu_1804
|
|
||||||
},
|
|
||||||
# URI-Resolver instance 2
|
|
||||||
uri_resolver_service_i2 = {
|
|
||||||
name = "data-2",
|
|
||||||
description = "The data1 instance",
|
|
||||||
flavor = module.common_variables.flavor_list.m1_medium,
|
|
||||||
networks = [data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.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],
|
|
||||||
server_groups_ids = [openstack_compute_servergroup_v2.uri-resolver.id],
|
|
||||||
image_ref = module.common_variables.ubuntu_1804
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -33,3 +33,7 @@ output "main_haproxy_l7_ip" {
|
||||||
output "octavia_information" {
|
output "octavia_information" {
|
||||||
value = var.octavia_information
|
value = var.octavia_information
|
||||||
}
|
}
|
||||||
|
|
||||||
|
output "swarm_manila_interfaces_ip" {
|
||||||
|
value = var.swarm_manila_interfaces_ip
|
||||||
|
}
|
||||||
|
|
|
@ -82,3 +82,17 @@ variable "octavia_information" {
|
||||||
main_lb_hostname = "main-lb"
|
main_lb_hostname = "main-lb"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
variable "swarm_manila_interfaces_ip" {
|
||||||
|
type = map(string)
|
||||||
|
default = {
|
||||||
|
"mgr_1" = "172.17.2.74"
|
||||||
|
"mgr_2" = "172.17.3.218"
|
||||||
|
"mgr_3" = "172.17.2.230"
|
||||||
|
"worker_1" = "172.17.0.166"
|
||||||
|
"worker_2" = "172.17.2.171"
|
||||||
|
"worker_3" = "172.17.0.146"
|
||||||
|
"worker_4" = "172.17.1.195"
|
||||||
|
"worker_5" = "172.17.2.187"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,631 @@
|
||||||
|
{
|
||||||
|
"version": 4,
|
||||||
|
"terraform_version": "1.6.4",
|
||||||
|
"serial": 4,
|
||||||
|
"lineage": "f42b6286-369c-9d4b-f90c-b7aca3f46bc1",
|
||||||
|
"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.32.4",
|
||||||
|
"ca_cidr": "10.1.32.4/32",
|
||||||
|
"haproxy_l7_1": "10.1.32.11",
|
||||||
|
"haproxy_l7_1_cidr": "10.1.32.11/32",
|
||||||
|
"haproxy_l7_2": "10.1.32.12",
|
||||||
|
"haproxy_l7_2_cidr": "10.1.32.12/32",
|
||||||
|
"octavia_main": "10.1.32.20",
|
||||||
|
"octavia_main_cidr": "10.1.32.20/32",
|
||||||
|
"prometheus": "10.1.32.10",
|
||||||
|
"prometheus_cidr": "10.1.32.10/32",
|
||||||
|
"ssh_jump": "10.1.32.5",
|
||||||
|
"ssh_jump_cidr": "10.1.32.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-pre-cloud project",
|
||||||
|
"email": "postmaster@isti.cnr.it",
|
||||||
|
"id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c",
|
||||||
|
"ttl": "8600",
|
||||||
|
"zone_name": "cloud-pre.d4science.org."
|
||||||
|
},
|
||||||
|
"dns_zone_id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c",
|
||||||
|
"el7_data_file": "../../openstack_vm_data_scripts/el7.sh",
|
||||||
|
"external_gateway_ip": [
|
||||||
|
{
|
||||||
|
"ip_address": "146.48.30.241",
|
||||||
|
"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 Preprod main router",
|
||||||
|
"id": "cc26064a-bb08-4c0b-929f-d0cb39f934a3",
|
||||||
|
"name": "d4s-pre-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.32.11",
|
||||||
|
"10.1.32.12"
|
||||||
|
],
|
||||||
|
"main_private_network": {
|
||||||
|
"description": "D4Science Preprod private network (use this as the main network)",
|
||||||
|
"name": "d4s-pre-cloud-main"
|
||||||
|
},
|
||||||
|
"main_private_network_id": "23fd8a99-d551-4ada-8d3a-9859542ebb8c",
|
||||||
|
"main_private_subnet": {
|
||||||
|
"allocation_end": "10.1.35.254",
|
||||||
|
"allocation_start": "10.1.32.100",
|
||||||
|
"cidr": "10.1.32.0/22",
|
||||||
|
"description": "D4Science Preprod main private subnet",
|
||||||
|
"gateway_ip": "10.1.32.1",
|
||||||
|
"name": "d4s-pre-cloud-main-subnet"
|
||||||
|
},
|
||||||
|
"main_region": "isti_area_pi_1",
|
||||||
|
"main_subnet_network_id": "cd77a2fd-4a36-4254-b1d0-70b3874c6d04",
|
||||||
|
"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": "ddb16502-7217-4677-a8a7-ca0cbf9a779a",
|
||||||
|
"octavia_information": {
|
||||||
|
"main_lb_description": "Main L4 load balancer for the D4Science PRE production",
|
||||||
|
"main_lb_hostname": "main-lb",
|
||||||
|
"main_lb_name": "d4s-pre-cloud-l4-load-balancer",
|
||||||
|
"octavia_flavor": "octavia_amphora-mvcpu-ha",
|
||||||
|
"octavia_flavor_id": "394988b5-6603-4a1e-a939-8e177c6681c7",
|
||||||
|
"octavia_vrrp_ip_1": "10.1.33.159/32",
|
||||||
|
"octavia_vrrp_ip_2": "10.1.32.199/32",
|
||||||
|
"swarm_lb_name": "d4s-pre-cloud-l4-swarm-load-balancer"
|
||||||
|
},
|
||||||
|
"os_project_data": {
|
||||||
|
"id": "6fdc02e2827b405dad99f34698659742"
|
||||||
|
},
|
||||||
|
"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_compute_servergroup_v2",
|
||||||
|
"name": "accounting_service_server_group",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"id": "586fbbe7-4a0c-4de5-bdb6-6b51048d40dc",
|
||||||
|
"members": [],
|
||||||
|
"name": "accounting-service",
|
||||||
|
"policies": [
|
||||||
|
"soft-anti-affinity"
|
||||||
|
],
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"max_server_per_host": 0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"value_specs": null
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "bnVsbA=="
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "module.instance_without_data_volume",
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_compute_instance_v2",
|
||||||
|
"name": "smartgears_service",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"index_key": "accounting_service_1",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"access_ip_v4": "10.1.34.208",
|
||||||
|
"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": 10,
|
||||||
|
"volume_type": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"config_drive": null,
|
||||||
|
"created": "2024-03-01 15:20:54 +0000 UTC",
|
||||||
|
"flavor_id": "4",
|
||||||
|
"flavor_name": "m1.medium",
|
||||||
|
"floating_ip": null,
|
||||||
|
"force_delete": false,
|
||||||
|
"id": "d7591a45-f2a5-4008-83eb-00f1b6466690",
|
||||||
|
"image_id": "Attempt to boot from volume - no image supplied",
|
||||||
|
"image_name": null,
|
||||||
|
"key_pair": "pc-frosini_key",
|
||||||
|
"metadata": null,
|
||||||
|
"name": "accounting-service-1",
|
||||||
|
"network": [
|
||||||
|
{
|
||||||
|
"access_network": false,
|
||||||
|
"fixed_ip_v4": "10.1.34.208",
|
||||||
|
"fixed_ip_v6": "",
|
||||||
|
"floating_ip": "",
|
||||||
|
"mac": "fa:16:3e:8b:4b:55",
|
||||||
|
"name": "d4s-pre-cloud-main",
|
||||||
|
"port": "",
|
||||||
|
"uuid": "23fd8a99-d551-4ada-8d3a-9859542ebb8c"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"access_network": false,
|
||||||
|
"fixed_ip_v4": "192.168.11.92",
|
||||||
|
"fixed_ip_v6": "",
|
||||||
|
"floating_ip": "",
|
||||||
|
"mac": "fa:16:3e:bd:6f:3a",
|
||||||
|
"name": "timescaledb-net",
|
||||||
|
"port": "",
|
||||||
|
"uuid": "435ac20a-8bd9-4e49-a86b-69bdfcd6967b"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"network_mode": null,
|
||||||
|
"personality": [],
|
||||||
|
"power_state": "active",
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"scheduler_hints": [
|
||||||
|
{
|
||||||
|
"additional_properties": null,
|
||||||
|
"build_near_host_ip": "",
|
||||||
|
"different_cell": [],
|
||||||
|
"different_host": [],
|
||||||
|
"group": "586fbbe7-4a0c-4de5-bdb6-6b51048d40dc",
|
||||||
|
"query": [],
|
||||||
|
"same_host": [],
|
||||||
|
"target_cell": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"security_groups": [
|
||||||
|
"debugging_from_jump_node",
|
||||||
|
"default_for_all",
|
||||||
|
"traffic_from_the_main_load_balancers"
|
||||||
|
],
|
||||||
|
"stop_before_destroy": false,
|
||||||
|
"tags": null,
|
||||||
|
"timeouts": null,
|
||||||
|
"updated": "2024-03-01 15:21:35 +0000 UTC",
|
||||||
|
"user_data": "ef3d6e5deb29bd1e5de5a76ae6860f3ee872738c",
|
||||||
|
"vendor_options": [],
|
||||||
|
"volume": []
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxODAwMDAwMDAwMDAwLCJkZWxldGUiOjE4MDAwMDAwMDAwMDAsInVwZGF0ZSI6MTgwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router",
|
||||||
|
"openstack_compute_servergroup_v2.accounting_service_server_group"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"index_key": "accounting_service_2",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"access_ip_v4": "10.1.33.156",
|
||||||
|
"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": 10,
|
||||||
|
"volume_type": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"config_drive": null,
|
||||||
|
"created": "2024-03-01 15:20:54 +0000 UTC",
|
||||||
|
"flavor_id": "4",
|
||||||
|
"flavor_name": "m1.medium",
|
||||||
|
"floating_ip": null,
|
||||||
|
"force_delete": false,
|
||||||
|
"id": "f6d91d44-bb06-45c9-b96c-fa853bc06b08",
|
||||||
|
"image_id": "Attempt to boot from volume - no image supplied",
|
||||||
|
"image_name": null,
|
||||||
|
"key_pair": "pc-frosini_key",
|
||||||
|
"metadata": null,
|
||||||
|
"name": "accounting-service-2",
|
||||||
|
"network": [
|
||||||
|
{
|
||||||
|
"access_network": false,
|
||||||
|
"fixed_ip_v4": "10.1.33.156",
|
||||||
|
"fixed_ip_v6": "",
|
||||||
|
"floating_ip": "",
|
||||||
|
"mac": "fa:16:3e:0b:30:18",
|
||||||
|
"name": "d4s-pre-cloud-main",
|
||||||
|
"port": "",
|
||||||
|
"uuid": "23fd8a99-d551-4ada-8d3a-9859542ebb8c"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"access_network": false,
|
||||||
|
"fixed_ip_v4": "192.168.11.76",
|
||||||
|
"fixed_ip_v6": "",
|
||||||
|
"floating_ip": "",
|
||||||
|
"mac": "fa:16:3e:91:d5:61",
|
||||||
|
"name": "timescaledb-net",
|
||||||
|
"port": "",
|
||||||
|
"uuid": "435ac20a-8bd9-4e49-a86b-69bdfcd6967b"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"network_mode": null,
|
||||||
|
"personality": [],
|
||||||
|
"power_state": "active",
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"scheduler_hints": [
|
||||||
|
{
|
||||||
|
"additional_properties": null,
|
||||||
|
"build_near_host_ip": "",
|
||||||
|
"different_cell": [],
|
||||||
|
"different_host": [],
|
||||||
|
"group": "586fbbe7-4a0c-4de5-bdb6-6b51048d40dc",
|
||||||
|
"query": [],
|
||||||
|
"same_host": [],
|
||||||
|
"target_cell": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"security_groups": [
|
||||||
|
"debugging_from_jump_node",
|
||||||
|
"default_for_all",
|
||||||
|
"traffic_from_the_main_load_balancers"
|
||||||
|
],
|
||||||
|
"stop_before_destroy": false,
|
||||||
|
"tags": null,
|
||||||
|
"timeouts": null,
|
||||||
|
"updated": "2024-03-01 15:21:43 +0000 UTC",
|
||||||
|
"user_data": "ef3d6e5deb29bd1e5de5a76ae6860f3ee872738c",
|
||||||
|
"vendor_options": [],
|
||||||
|
"volume": []
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxODAwMDAwMDAwMDAwLCJkZWxldGUiOjE4MDAwMDAwMDAwMDAsInVwZGF0ZSI6MTgwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router",
|
||||||
|
"openstack_compute_servergroup_v2.accounting_service_server_group"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"check_results": null
|
||||||
|
}
|
|
@ -0,0 +1,65 @@
|
||||||
|
# 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 "instance_without_data_volume" {
|
||||||
|
source = "../../modules/instance_without_data_volume"
|
||||||
|
|
||||||
|
instances_without_data_volume_map = {
|
||||||
|
auth = {
|
||||||
|
name = "auth",
|
||||||
|
description = "This instance is a Authorization service",
|
||||||
|
flavor = module.common_variables.flavor_list.m1_medium,
|
||||||
|
networks = [data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.name, module.common_variables.networks_list.shared_postgresql],
|
||||||
|
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],
|
||||||
|
server_groups_ids = [],
|
||||||
|
image_ref = module.common_variables.ubuntu_1804
|
||||||
|
image_volume_size = 20
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
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 = {
|
||||||
|
auth = {
|
||||||
|
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||||
|
name = join(".", ["auth", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||||
|
description = "Authorization auth"
|
||||||
|
ttl = 8600
|
||||||
|
type = "CNAME"
|
||||||
|
records = [local.cname_target]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
provider "openstack" {
|
||||||
|
cloud = "d4s-pre"
|
||||||
|
}
|
|
@ -0,0 +1,528 @@
|
||||||
|
{
|
||||||
|
"version": 4,
|
||||||
|
"terraform_version": "1.6.4",
|
||||||
|
"serial": 3,
|
||||||
|
"lineage": "7c9621c0-69f9-50dd-1df3-8da0167edb90",
|
||||||
|
"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.32.4",
|
||||||
|
"ca_cidr": "10.1.32.4/32",
|
||||||
|
"haproxy_l7_1": "10.1.32.11",
|
||||||
|
"haproxy_l7_1_cidr": "10.1.32.11/32",
|
||||||
|
"haproxy_l7_2": "10.1.32.12",
|
||||||
|
"haproxy_l7_2_cidr": "10.1.32.12/32",
|
||||||
|
"octavia_main": "10.1.32.20",
|
||||||
|
"octavia_main_cidr": "10.1.32.20/32",
|
||||||
|
"prometheus": "10.1.32.10",
|
||||||
|
"prometheus_cidr": "10.1.32.10/32",
|
||||||
|
"ssh_jump": "10.1.32.5",
|
||||||
|
"ssh_jump_cidr": "10.1.32.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-pre-cloud project",
|
||||||
|
"email": "postmaster@isti.cnr.it",
|
||||||
|
"id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c",
|
||||||
|
"ttl": "8600",
|
||||||
|
"zone_name": "cloud-pre.d4science.org."
|
||||||
|
},
|
||||||
|
"dns_zone_id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c",
|
||||||
|
"el7_data_file": "../../openstack_vm_data_scripts/el7.sh",
|
||||||
|
"external_gateway_ip": [
|
||||||
|
{
|
||||||
|
"ip_address": "146.48.30.241",
|
||||||
|
"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 Preprod main router",
|
||||||
|
"id": "cc26064a-bb08-4c0b-929f-d0cb39f934a3",
|
||||||
|
"name": "d4s-pre-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.32.11",
|
||||||
|
"10.1.32.12"
|
||||||
|
],
|
||||||
|
"main_private_network": {
|
||||||
|
"description": "D4Science Preprod private network (use this as the main network)",
|
||||||
|
"name": "d4s-pre-cloud-main"
|
||||||
|
},
|
||||||
|
"main_private_network_id": "23fd8a99-d551-4ada-8d3a-9859542ebb8c",
|
||||||
|
"main_private_subnet": {
|
||||||
|
"allocation_end": "10.1.35.254",
|
||||||
|
"allocation_start": "10.1.32.100",
|
||||||
|
"cidr": "10.1.32.0/22",
|
||||||
|
"description": "D4Science Preprod main private subnet",
|
||||||
|
"gateway_ip": "10.1.32.1",
|
||||||
|
"name": "d4s-pre-cloud-main-subnet"
|
||||||
|
},
|
||||||
|
"main_region": "isti_area_pi_1",
|
||||||
|
"main_subnet_network_id": "cd77a2fd-4a36-4254-b1d0-70b3874c6d04",
|
||||||
|
"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": "ddb16502-7217-4677-a8a7-ca0cbf9a779a",
|
||||||
|
"octavia_information": {
|
||||||
|
"main_lb_description": "Main L4 load balancer for the D4Science PRE production",
|
||||||
|
"main_lb_hostname": "main-lb",
|
||||||
|
"main_lb_name": "d4s-pre-cloud-l4-load-balancer",
|
||||||
|
"octavia_flavor": "octavia_amphora-mvcpu-ha",
|
||||||
|
"octavia_flavor_id": "394988b5-6603-4a1e-a939-8e177c6681c7",
|
||||||
|
"octavia_vrrp_ip_1": "10.1.33.159/32",
|
||||||
|
"octavia_vrrp_ip_2": "10.1.32.199/32",
|
||||||
|
"swarm_lb_name": "d4s-pre-cloud-l4-swarm-load-balancer"
|
||||||
|
},
|
||||||
|
"os_project_data": {
|
||||||
|
"id": "6fdc02e2827b405dad99f34698659742"
|
||||||
|
},
|
||||||
|
"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": []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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": "auth",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"description": "Authorization auth",
|
||||||
|
"disable_status_check": false,
|
||||||
|
"id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c/da91f076-3fb6-4097-a33a-50eb455f2924",
|
||||||
|
"name": "auth.cloud-pre.d4science.org.",
|
||||||
|
"project_id": "6fdc02e2827b405dad99f34698659742",
|
||||||
|
"records": [
|
||||||
|
"main-lb.cloud-pre.d4science.org."
|
||||||
|
],
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"timeouts": null,
|
||||||
|
"ttl": 8600,
|
||||||
|
"type": "CNAME",
|
||||||
|
"value_specs": null,
|
||||||
|
"zone_id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c"
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "module.instance_without_data_volume",
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_compute_instance_v2",
|
||||||
|
"name": "smartgears_service",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"index_key": "auth",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"access_ip_v4": "10.1.33.14",
|
||||||
|
"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": 20,
|
||||||
|
"volume_type": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"config_drive": null,
|
||||||
|
"created": "2024-02-19 11:32:42 +0000 UTC",
|
||||||
|
"flavor_id": "4",
|
||||||
|
"flavor_name": "m1.medium",
|
||||||
|
"floating_ip": null,
|
||||||
|
"force_delete": false,
|
||||||
|
"id": "111103bc-df3f-4db1-836b-26f53fe54f71",
|
||||||
|
"image_id": "Attempt to boot from volume - no image supplied",
|
||||||
|
"image_name": null,
|
||||||
|
"key_pair": "Giancarlo Panichi",
|
||||||
|
"metadata": null,
|
||||||
|
"name": "auth",
|
||||||
|
"network": [
|
||||||
|
{
|
||||||
|
"access_network": false,
|
||||||
|
"fixed_ip_v4": "10.1.33.14",
|
||||||
|
"fixed_ip_v6": "",
|
||||||
|
"floating_ip": "",
|
||||||
|
"mac": "fa:16:3e:db:c5:ae",
|
||||||
|
"name": "d4s-pre-cloud-main",
|
||||||
|
"port": "",
|
||||||
|
"uuid": "23fd8a99-d551-4ada-8d3a-9859542ebb8c"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"access_network": false,
|
||||||
|
"fixed_ip_v4": "192.168.2.230",
|
||||||
|
"fixed_ip_v6": "",
|
||||||
|
"floating_ip": "",
|
||||||
|
"mac": "fa:16:3e:db:1d:35",
|
||||||
|
"name": "postgresql-srv-net",
|
||||||
|
"port": "",
|
||||||
|
"uuid": "e25395f4-f1aa-4819-b5a5-36d25ee5af54"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"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-19 11:33:27 +0000 UTC",
|
||||||
|
"user_data": "47d4769e61324c305c4b70ed6673de4fad84150d",
|
||||||
|
"vendor_options": [],
|
||||||
|
"volume": []
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxODAwMDAwMDAwMDAwLCJkZWxldGUiOjE4MDAwMDAwMDAwMDAsInVwZGF0ZSI6MTgwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"check_results": null
|
||||||
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"version": 4,
|
"version": 4,
|
||||||
"terraform_version": "1.6.6",
|
"terraform_version": "1.7.5",
|
||||||
"serial": 263,
|
"serial": 267,
|
||||||
"lineage": "6a53b692-c1a8-ed53-bc6c-b7fb5e017eb8",
|
"lineage": "6a53b692-c1a8-ed53-bc6c-b7fb5e017eb8",
|
||||||
"outputs": {
|
"outputs": {
|
||||||
"almalinux_9": {
|
"almalinux_9": {
|
||||||
|
@ -114,6 +114,8 @@
|
||||||
"c1_medium": "c1.medium",
|
"c1_medium": "c1.medium",
|
||||||
"c1_small": "c1.small",
|
"c1_small": "c1.small",
|
||||||
"c2_large": "c2.large",
|
"c2_large": "c2.large",
|
||||||
|
"d1_large": "d1.large",
|
||||||
|
"d1_medium": "d1.medium",
|
||||||
"m1_large": "m1.large",
|
"m1_large": "m1.large",
|
||||||
"m1_medium": "m1.medium",
|
"m1_medium": "m1.medium",
|
||||||
"m1_xlarge": "m1.xlarge",
|
"m1_xlarge": "m1.xlarge",
|
||||||
|
@ -208,6 +210,7 @@
|
||||||
},
|
},
|
||||||
"networks_list": {
|
"networks_list": {
|
||||||
"value": {
|
"value": {
|
||||||
|
"cassandra": "cassandra-net",
|
||||||
"orientdb": "orientdb-net",
|
"orientdb": "orientdb-net",
|
||||||
"orientdb_se": "orientdb-se-net",
|
"orientdb_se": "orientdb-se-net",
|
||||||
"shared_postgresql": "postgresql-srv-net",
|
"shared_postgresql": "postgresql-srv-net",
|
||||||
|
@ -270,6 +273,10 @@
|
||||||
"string"
|
"string"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"prometheus_public_ip_address": {
|
||||||
|
"value": "146.48.29.203",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
"prometheus_server_data": {
|
"prometheus_server_data": {
|
||||||
"value": {
|
"value": {
|
||||||
"flavor": "m1.medium",
|
"flavor": "m1.medium",
|
||||||
|
@ -284,6 +291,10 @@
|
||||||
"string"
|
"string"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"prometheus_server_hostname": {
|
||||||
|
"value": "prometheus.cloud-pre.d4science.org.",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
"resolvers_ip": {
|
"resolvers_ip": {
|
||||||
"value": [
|
"value": [
|
||||||
"146.48.29.97",
|
"146.48.29.97",
|
||||||
|
@ -319,6 +330,7 @@
|
||||||
"limited_HTTPS_access": "restricted_web_service",
|
"limited_HTTPS_access": "restricted_web_service",
|
||||||
"limited_SSH_access": "Limited SSH access",
|
"limited_SSH_access": "Limited SSH access",
|
||||||
"mongo": "mongo",
|
"mongo": "mongo",
|
||||||
|
"nfs_share_no_ingress": "nfs_share_no_ingress",
|
||||||
"orientdb_internal_docker_traffic": "orientdb_internal_docker_traffic",
|
"orientdb_internal_docker_traffic": "orientdb_internal_docker_traffic",
|
||||||
"postgreSQL": "PostgreSQL service",
|
"postgreSQL": "PostgreSQL service",
|
||||||
"public_HTTPS": "Public HTTPS"
|
"public_HTTPS": "Public HTTPS"
|
||||||
|
@ -332,7 +344,7 @@
|
||||||
"value": {
|
"value": {
|
||||||
"allocation_pool_end": "192.168.3.254",
|
"allocation_pool_end": "192.168.3.254",
|
||||||
"allocation_pool_start": "192.168.0.100",
|
"allocation_pool_start": "192.168.0.100",
|
||||||
"flavor": "m1.medium",
|
"flavor": "m1.large",
|
||||||
"name": "shared-postgresql-server",
|
"name": "shared-postgresql-server",
|
||||||
"network_cidr": "192.168.0.0/22",
|
"network_cidr": "192.168.0.0/22",
|
||||||
"network_description": "Network used to communicate with the shared postgresql service",
|
"network_description": "Network used to communicate with the shared postgresql service",
|
||||||
|
@ -538,6 +550,7 @@
|
||||||
"main_subnet_network_id": "cd77a2fd-4a36-4254-b1d0-70b3874c6d04",
|
"main_subnet_network_id": "cd77a2fd-4a36-4254-b1d0-70b3874c6d04",
|
||||||
"mtu_size": 8942,
|
"mtu_size": 8942,
|
||||||
"networks_list": {
|
"networks_list": {
|
||||||
|
"cassandra": "cassandra-net",
|
||||||
"orientdb": "orientdb-net",
|
"orientdb": "orientdb-net",
|
||||||
"orientdb_se": "orientdb-se-net",
|
"orientdb_se": "orientdb-se-net",
|
||||||
"shared_postgresql": "postgresql-srv-net",
|
"shared_postgresql": "postgresql-srv-net",
|
||||||
|
@ -552,6 +565,7 @@
|
||||||
"isti_net": "146.48.80.0/21",
|
"isti_net": "146.48.80.0/21",
|
||||||
"s2i2s_net": "146.48.28.0/22"
|
"s2i2s_net": "146.48.28.0/22"
|
||||||
},
|
},
|
||||||
|
"nfs_share_no_ingress_secgroup_id": "ddb16502-7217-4677-a8a7-ca0cbf9a779a",
|
||||||
"octavia_information": {
|
"octavia_information": {
|
||||||
"main_lb_description": "Main L4 load balancer for the D4Science PRE production",
|
"main_lb_description": "Main L4 load balancer for the D4Science PRE production",
|
||||||
"main_lb_hostname": "main-lb",
|
"main_lb_hostname": "main-lb",
|
||||||
|
@ -574,7 +588,7 @@
|
||||||
"prometheus_server_data": {
|
"prometheus_server_data": {
|
||||||
"flavor": "m1.medium",
|
"flavor": "m1.medium",
|
||||||
"name": "prometheus",
|
"name": "prometheus",
|
||||||
"public_grafana_server_cidr": "146.48.122.132/32",
|
"public_grafana_server_cidr": "146.48.28.103/32",
|
||||||
"vol_data_device": "/dev/vdb",
|
"vol_data_device": "/dev/vdb",
|
||||||
"vol_data_name": "prometheus-data",
|
"vol_data_name": "prometheus-data",
|
||||||
"vol_data_size": "100"
|
"vol_data_size": "100"
|
||||||
|
@ -601,6 +615,7 @@
|
||||||
"limited_HTTPS_access": "restricted_web_service",
|
"limited_HTTPS_access": "restricted_web_service",
|
||||||
"limited_SSH_access": "Limited SSH access",
|
"limited_SSH_access": "Limited SSH access",
|
||||||
"mongo": "mongo",
|
"mongo": "mongo",
|
||||||
|
"nfs_share_no_ingress": "nfs_share_no_ingress",
|
||||||
"orientdb_internal_docker_traffic": "orientdb_internal_docker_traffic",
|
"orientdb_internal_docker_traffic": "orientdb_internal_docker_traffic",
|
||||||
"postgreSQL": "PostgreSQL service",
|
"postgreSQL": "PostgreSQL service",
|
||||||
"public_HTTPS": "Public HTTPS"
|
"public_HTTPS": "Public HTTPS"
|
||||||
|
@ -632,6 +647,8 @@
|
||||||
"s2i2s_vpn_2_cidr": "146.48.28.11/32",
|
"s2i2s_vpn_2_cidr": "146.48.28.11/32",
|
||||||
"shell_d4s_cidr": "146.48.122.95/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",
|
"ubuntu1804_data_file": "../../openstack_vm_data_scripts/ubuntu1804.sh",
|
||||||
"ubuntu2204_data_file": "../../openstack_vm_data_scripts/ubuntu2204.sh",
|
"ubuntu2204_data_file": "../../openstack_vm_data_scripts/ubuntu2204.sh",
|
||||||
"ubuntu_1804": {
|
"ubuntu_1804": {
|
||||||
|
@ -732,6 +749,7 @@
|
||||||
"map",
|
"map",
|
||||||
"string"
|
"string"
|
||||||
],
|
],
|
||||||
|
"nfs_share_no_ingress_secgroup_id": "string",
|
||||||
"octavia_information": [
|
"octavia_information": [
|
||||||
"map",
|
"map",
|
||||||
"string"
|
"string"
|
||||||
|
@ -776,6 +794,8 @@
|
||||||
"map",
|
"map",
|
||||||
"string"
|
"string"
|
||||||
],
|
],
|
||||||
|
"storage_nfs_network_id": "string",
|
||||||
|
"storage_nfs_subnet_id": "string",
|
||||||
"ubuntu1804_data_file": "string",
|
"ubuntu1804_data_file": "string",
|
||||||
"ubuntu2204_data_file": "string",
|
"ubuntu2204_data_file": "string",
|
||||||
"ubuntu_1804": [
|
"ubuntu_1804": [
|
||||||
|
@ -1297,8 +1317,8 @@
|
||||||
],
|
],
|
||||||
"config_drive": null,
|
"config_drive": null,
|
||||||
"created": "2023-11-05 14:54:15 +0000 UTC",
|
"created": "2023-11-05 14:54:15 +0000 UTC",
|
||||||
"flavor_id": "4",
|
"flavor_id": "9",
|
||||||
"flavor_name": "m1.medium",
|
"flavor_name": "m1.large",
|
||||||
"floating_ip": null,
|
"floating_ip": null,
|
||||||
"force_delete": false,
|
"force_delete": false,
|
||||||
"id": "9ede65c7-70ca-4698-8551-754aa4f6fa1e",
|
"id": "9ede65c7-70ca-4698-8551-754aa4f6fa1e",
|
||||||
|
@ -1341,8 +1361,8 @@
|
||||||
"stop_before_destroy": false,
|
"stop_before_destroy": false,
|
||||||
"tags": [],
|
"tags": [],
|
||||||
"timeouts": null,
|
"timeouts": null,
|
||||||
"updated": "2023-11-05 14:54:48 +0000 UTC",
|
"updated": "2024-06-06 15:43:37 +0000 UTC",
|
||||||
"user_data": "bb83b25fd1219aa1b850ece9be8d7b0f31714608",
|
"user_data": "",
|
||||||
"vendor_options": [],
|
"vendor_options": [],
|
||||||
"volume": []
|
"volume": []
|
||||||
},
|
},
|
||||||
|
@ -1711,9 +1731,9 @@
|
||||||
"sni_container_refs": [],
|
"sni_container_refs": [],
|
||||||
"tags": [],
|
"tags": [],
|
||||||
"tenant_id": "6fdc02e2827b405dad99f34698659742",
|
"tenant_id": "6fdc02e2827b405dad99f34698659742",
|
||||||
"timeout_client_data": 50000,
|
"timeout_client_data": 3600000,
|
||||||
"timeout_member_connect": 5000,
|
"timeout_member_connect": 10000,
|
||||||
"timeout_member_data": 50000,
|
"timeout_member_data": 7200000,
|
||||||
"timeout_tcp_inspect": 0,
|
"timeout_tcp_inspect": 0,
|
||||||
"timeouts": null
|
"timeouts": null
|
||||||
},
|
},
|
||||||
|
|
|
@ -16,6 +16,7 @@ data "terraform_remote_state" "privnet_dns_router" {
|
||||||
path = "../project-setup/terraform.tfstate"
|
path = "../project-setup/terraform.tfstate"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
# Uses common_variables as module
|
# Uses common_variables as module
|
||||||
#
|
#
|
||||||
|
@ -23,26 +24,98 @@ module "common_variables" {
|
||||||
source = "../../modules/common_variables"
|
source = "../../modules/common_variables"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#Module used
|
||||||
|
module "ssh_settings" {
|
||||||
|
source = "../../modules/ssh-key-ref"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
resource "openstack_networking_secgroup_v2" "dataminer_publish" {
|
||||||
|
name = "dataminer_publish"
|
||||||
|
description = "Access to dataminer-ghost is allowed only to dm-pool-manager"
|
||||||
|
delete_default_rules = "true"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
resource "openstack_compute_instance_v2" "dm_pool_manager_pre" {
|
||||||
|
name = "dm-pool-manager-pre"
|
||||||
|
availability_zone_hints = module.common_variables.availability_zone_no_gpu_name
|
||||||
|
flavor_name = module.common_variables.flavor_list.m1_large
|
||||||
|
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 = 30
|
||||||
|
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])
|
||||||
|
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_networking_secgroup_rule_v2" "secgroup_dataminer_publish_rule_1" {
|
||||||
|
direction = "ingress"
|
||||||
|
ethertype = "IPv4"
|
||||||
|
protocol = "tcp"
|
||||||
|
port_range_min = 22
|
||||||
|
port_range_max = 22
|
||||||
|
remote_ip_prefix = join("/",[openstack_compute_instance_v2.dm_pool_manager_pre.network.0.fixed_ip_v4,"32"])
|
||||||
|
security_group_id = openstack_networking_secgroup_v2.dataminer_publish.id
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "openstack_networking_secgroup_rule_v2" "secgroup_dataminer_publish_rule_2" {
|
||||||
|
direction = "ingress"
|
||||||
|
ethertype = "IPv4"
|
||||||
|
protocol = "tcp"
|
||||||
|
port_range_min = 80
|
||||||
|
port_range_max = 80
|
||||||
|
remote_ip_prefix = "0.0.0.0/0"
|
||||||
|
security_group_id = openstack_networking_secgroup_v2.dataminer_publish.id
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "openstack_networking_secgroup_rule_v2" "secgroup_dataminer_publish_rule_3" {
|
||||||
|
direction = "ingress"
|
||||||
|
ethertype = "IPv4"
|
||||||
|
protocol = "tcp"
|
||||||
|
port_range_min = 443
|
||||||
|
port_range_max = 443
|
||||||
|
remote_ip_prefix = join("/",[openstack_compute_instance_v2.dm_pool_manager_pre.network.0.fixed_ip_v4,"32"])
|
||||||
|
security_group_id = openstack_networking_secgroup_v2.dataminer_publish.id
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
module "instance_without_data_volume" {
|
module "instance_without_data_volume" {
|
||||||
source = "../../modules/instance_without_data_volume"
|
source = "../../modules/instance_without_data_volume"
|
||||||
|
|
||||||
instances_without_data_volume_map = {
|
instances_without_data_volume_map = {
|
||||||
dm_pool_manager_pre = {
|
|
||||||
name = "dm-pool-manager-pre",
|
|
||||||
description = "This instance is a DataMiner Pool Manager service",
|
|
||||||
flavor = module.common_variables.flavor_list.m1_large,
|
|
||||||
networks = [data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.name, module.common_variables.networks_list.shared_postgresql],
|
|
||||||
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],
|
|
||||||
server_groups_ids = [],
|
|
||||||
image_ref = module.common_variables.ubuntu_1804
|
|
||||||
image_volume_size = 30
|
|
||||||
},
|
|
||||||
dataminer_pre_ghost = {
|
dataminer_pre_ghost = {
|
||||||
name = "dataminer-pre-ghost",
|
name = "dataminer-pre-ghost",
|
||||||
description = "This instance is a DataMiner Ghost service",
|
description = "This instance is a DataMiner Ghost service",
|
||||||
flavor = module.common_variables.flavor_list.m1_large,
|
flavor = module.common_variables.flavor_list.m1_large,
|
||||||
networks = [data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.name, module.common_variables.networks_list.shared_postgresql],
|
networks = [data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.name, module.common_variables.networks_list.shared_postgresql],
|
||||||
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],
|
security_groups = [openstack_networking_secgroup_v2.dataminer_publish.name,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],
|
||||||
server_groups_ids = [],
|
server_groups_ids = [],
|
||||||
image_ref = module.common_variables.ubuntu_1804
|
image_ref = module.common_variables.ubuntu_1804
|
||||||
image_volume_size = 50
|
image_volume_size = 50
|
||||||
|
@ -50,12 +123,12 @@ module "instance_without_data_volume" {
|
||||||
dataminer_1_pre_1804 = {
|
dataminer_1_pre_1804 = {
|
||||||
name = "dataminer1-pre-1804",
|
name = "dataminer1-pre-1804",
|
||||||
description = "This instance is a DataMiner service",
|
description = "This instance is a DataMiner service",
|
||||||
flavor = module.common_variables.flavor_list.m1_xxl,
|
flavor = module.common_variables.flavor_list.m1_large,
|
||||||
networks = [data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.name, module.common_variables.networks_list.shared_postgresql],
|
networks = [data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.name, module.common_variables.networks_list.shared_postgresql],
|
||||||
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],
|
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],
|
||||||
server_groups_ids = [],
|
server_groups_ids = [],
|
||||||
image_ref = module.common_variables.ubuntu_1804
|
image_ref = module.common_variables.ubuntu_1804
|
||||||
image_volume_size = 80
|
image_volume_size = 50
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,865 @@
|
||||||
|
{
|
||||||
|
"version": 4,
|
||||||
|
"terraform_version": "1.6.4",
|
||||||
|
"serial": 46,
|
||||||
|
"lineage": "36794155-bcfa-624c-516e-62e6c5034c73",
|
||||||
|
"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.32.4",
|
||||||
|
"ca_cidr": "10.1.32.4/32",
|
||||||
|
"haproxy_l7_1": "10.1.32.11",
|
||||||
|
"haproxy_l7_1_cidr": "10.1.32.11/32",
|
||||||
|
"haproxy_l7_2": "10.1.32.12",
|
||||||
|
"haproxy_l7_2_cidr": "10.1.32.12/32",
|
||||||
|
"octavia_main": "10.1.32.20",
|
||||||
|
"octavia_main_cidr": "10.1.32.20/32",
|
||||||
|
"prometheus": "10.1.32.10",
|
||||||
|
"prometheus_cidr": "10.1.32.10/32",
|
||||||
|
"ssh_jump": "10.1.32.5",
|
||||||
|
"ssh_jump_cidr": "10.1.32.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-pre-cloud project",
|
||||||
|
"email": "postmaster@isti.cnr.it",
|
||||||
|
"id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c",
|
||||||
|
"ttl": "8600",
|
||||||
|
"zone_name": "cloud-pre.d4science.org."
|
||||||
|
},
|
||||||
|
"dns_zone_id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c",
|
||||||
|
"el7_data_file": "../../openstack_vm_data_scripts/el7.sh",
|
||||||
|
"external_gateway_ip": [
|
||||||
|
{
|
||||||
|
"ip_address": "146.48.30.241",
|
||||||
|
"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 Preprod main router",
|
||||||
|
"id": "cc26064a-bb08-4c0b-929f-d0cb39f934a3",
|
||||||
|
"name": "d4s-pre-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.32.11",
|
||||||
|
"10.1.32.12"
|
||||||
|
],
|
||||||
|
"main_private_network": {
|
||||||
|
"description": "D4Science Preprod private network (use this as the main network)",
|
||||||
|
"name": "d4s-pre-cloud-main"
|
||||||
|
},
|
||||||
|
"main_private_network_id": "23fd8a99-d551-4ada-8d3a-9859542ebb8c",
|
||||||
|
"main_private_subnet": {
|
||||||
|
"allocation_end": "10.1.35.254",
|
||||||
|
"allocation_start": "10.1.32.100",
|
||||||
|
"cidr": "10.1.32.0/22",
|
||||||
|
"description": "D4Science Preprod main private subnet",
|
||||||
|
"gateway_ip": "10.1.32.1",
|
||||||
|
"name": "d4s-pre-cloud-main-subnet"
|
||||||
|
},
|
||||||
|
"main_region": "isti_area_pi_1",
|
||||||
|
"main_subnet_network_id": "cd77a2fd-4a36-4254-b1d0-70b3874c6d04",
|
||||||
|
"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": "ddb16502-7217-4677-a8a7-ca0cbf9a779a",
|
||||||
|
"octavia_information": {
|
||||||
|
"main_lb_description": "Main L4 load balancer for the D4Science PRE production",
|
||||||
|
"main_lb_hostname": "main-lb",
|
||||||
|
"main_lb_name": "d4s-pre-cloud-l4-load-balancer",
|
||||||
|
"octavia_flavor": "octavia_amphora-mvcpu-ha",
|
||||||
|
"octavia_flavor_id": "394988b5-6603-4a1e-a939-8e177c6681c7",
|
||||||
|
"octavia_vrrp_ip_1": "10.1.33.159/32",
|
||||||
|
"octavia_vrrp_ip_2": "10.1.32.199/32",
|
||||||
|
"swarm_lb_name": "d4s-pre-cloud-l4-swarm-load-balancer"
|
||||||
|
},
|
||||||
|
"os_project_data": {
|
||||||
|
"id": "6fdc02e2827b405dad99f34698659742"
|
||||||
|
},
|
||||||
|
"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_compute_instance_v2",
|
||||||
|
"name": "dm_pool_manager_pre",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"access_ip_v4": "10.1.33.85",
|
||||||
|
"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": 30,
|
||||||
|
"volume_type": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"config_drive": null,
|
||||||
|
"created": "2024-02-19 14:07:19 +0000 UTC",
|
||||||
|
"flavor_id": "9",
|
||||||
|
"flavor_name": "m1.large",
|
||||||
|
"floating_ip": null,
|
||||||
|
"force_delete": false,
|
||||||
|
"id": "545ec252-36b8-42a8-8ccd-aa9324537839",
|
||||||
|
"image_id": "Attempt to boot from volume - no image supplied",
|
||||||
|
"image_name": null,
|
||||||
|
"key_pair": "Giancarlo Panichi",
|
||||||
|
"metadata": null,
|
||||||
|
"name": "dm-pool-manager-pre",
|
||||||
|
"network": [
|
||||||
|
{
|
||||||
|
"access_network": false,
|
||||||
|
"fixed_ip_v4": "10.1.33.85",
|
||||||
|
"fixed_ip_v6": "",
|
||||||
|
"floating_ip": "",
|
||||||
|
"mac": "fa:16:3e:d0:ce:74",
|
||||||
|
"name": "d4s-pre-cloud-main",
|
||||||
|
"port": "",
|
||||||
|
"uuid": "23fd8a99-d551-4ada-8d3a-9859542ebb8c"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"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-19 14:08:01 +0000 UTC",
|
||||||
|
"user_data": "47d4769e61324c305c4b70ed6673de4fad84150d",
|
||||||
|
"vendor_options": [],
|
||||||
|
"volume": []
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxODAwMDAwMDAwMDAwLCJkZWxldGUiOjE4MDAwMDAwMDAwMDAsInVwZGF0ZSI6MTgwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_networking_secgroup_rule_v2",
|
||||||
|
"name": "secgroup_dataminer_publish_rule_1",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"description": "",
|
||||||
|
"direction": "ingress",
|
||||||
|
"ethertype": "IPv4",
|
||||||
|
"id": "805c498d-e6ef-4466-99db-45218ee47cd7",
|
||||||
|
"port_range_max": 22,
|
||||||
|
"port_range_min": 22,
|
||||||
|
"protocol": "tcp",
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"remote_group_id": "",
|
||||||
|
"remote_ip_prefix": "10.1.33.85/32",
|
||||||
|
"security_group_id": "fa1ed43b-5560-41eb-be4a-f66acb446ee1",
|
||||||
|
"tenant_id": "6fdc02e2827b405dad99f34698659742",
|
||||||
|
"timeouts": null
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiZGVsZXRlIjo2MDAwMDAwMDAwMDB9fQ==",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router",
|
||||||
|
"openstack_compute_instance_v2.dm_pool_manager_pre",
|
||||||
|
"openstack_networking_secgroup_v2.dataminer_publish"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_networking_secgroup_rule_v2",
|
||||||
|
"name": "secgroup_dataminer_publish_rule_2",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"description": "",
|
||||||
|
"direction": "ingress",
|
||||||
|
"ethertype": "IPv4",
|
||||||
|
"id": "dd015f50-8765-4c16-bcbb-83f6f3f070bf",
|
||||||
|
"port_range_max": 80,
|
||||||
|
"port_range_min": 80,
|
||||||
|
"protocol": "tcp",
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"remote_group_id": "",
|
||||||
|
"remote_ip_prefix": "0.0.0.0/0",
|
||||||
|
"security_group_id": "fa1ed43b-5560-41eb-be4a-f66acb446ee1",
|
||||||
|
"tenant_id": "6fdc02e2827b405dad99f34698659742",
|
||||||
|
"timeouts": null
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiZGVsZXRlIjo2MDAwMDAwMDAwMDB9fQ==",
|
||||||
|
"dependencies": [
|
||||||
|
"openstack_networking_secgroup_v2.dataminer_publish"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_networking_secgroup_rule_v2",
|
||||||
|
"name": "secgroup_dataminer_publish_rule_3",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"description": "",
|
||||||
|
"direction": "ingress",
|
||||||
|
"ethertype": "IPv4",
|
||||||
|
"id": "cce9b287-bdb4-4dd2-8b9a-0444efef4b76",
|
||||||
|
"port_range_max": 443,
|
||||||
|
"port_range_min": 443,
|
||||||
|
"protocol": "tcp",
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"remote_group_id": "",
|
||||||
|
"remote_ip_prefix": "10.1.33.85/32",
|
||||||
|
"security_group_id": "fa1ed43b-5560-41eb-be4a-f66acb446ee1",
|
||||||
|
"tenant_id": "6fdc02e2827b405dad99f34698659742",
|
||||||
|
"timeouts": null
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiZGVsZXRlIjo2MDAwMDAwMDAwMDB9fQ==",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router",
|
||||||
|
"openstack_compute_instance_v2.dm_pool_manager_pre",
|
||||||
|
"openstack_networking_secgroup_v2.dataminer_publish"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_networking_secgroup_v2",
|
||||||
|
"name": "dataminer_publish",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"all_tags": [],
|
||||||
|
"delete_default_rules": true,
|
||||||
|
"description": "Access to dataminer-ghost is allowed only to dm-pool-manager",
|
||||||
|
"id": "fa1ed43b-5560-41eb-be4a-f66acb446ee1",
|
||||||
|
"name": "dataminer_publish",
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"tags": null,
|
||||||
|
"tenant_id": "6fdc02e2827b405dad99f34698659742",
|
||||||
|
"timeouts": null
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiZGVsZXRlIjo2MDAwMDAwMDAwMDB9fQ=="
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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": "dataminer-pre-ghost",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"description": "DataMiner Preproduction Ghost",
|
||||||
|
"disable_status_check": false,
|
||||||
|
"id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c/016af6ff-ee98-40cb-9c16-868b1bdb863f",
|
||||||
|
"name": "dataminer-pre-ghost.cloud-pre.d4science.org.",
|
||||||
|
"project_id": "6fdc02e2827b405dad99f34698659742",
|
||||||
|
"records": [
|
||||||
|
"main-lb.cloud-pre.d4science.org."
|
||||||
|
],
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"timeouts": null,
|
||||||
|
"ttl": 8600,
|
||||||
|
"type": "CNAME",
|
||||||
|
"value_specs": null,
|
||||||
|
"zone_id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c"
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"index_key": "dataminer1-pre-1804",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"description": "DataMiner 1 Pre 1804",
|
||||||
|
"disable_status_check": false,
|
||||||
|
"id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c/ec23cac5-691f-4530-8625-e5bb62b21e45",
|
||||||
|
"name": "dataminer1-pre-1804.cloud-pre.d4science.org.",
|
||||||
|
"project_id": "6fdc02e2827b405dad99f34698659742",
|
||||||
|
"records": [
|
||||||
|
"main-lb.cloud-pre.d4science.org."
|
||||||
|
],
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"timeouts": null,
|
||||||
|
"ttl": 8600,
|
||||||
|
"type": "CNAME",
|
||||||
|
"value_specs": null,
|
||||||
|
"zone_id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c"
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"index_key": "dm-pool-manager-pre",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"description": "DM Pool Manager Preproduction",
|
||||||
|
"disable_status_check": false,
|
||||||
|
"id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c/d0f826d0-25e0-4ac6-9e21-164630ed8f04",
|
||||||
|
"name": "dm-pool-manager-pre.cloud-pre.d4science.org.",
|
||||||
|
"project_id": "6fdc02e2827b405dad99f34698659742",
|
||||||
|
"records": [
|
||||||
|
"main-lb.cloud-pre.d4science.org."
|
||||||
|
],
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"timeouts": null,
|
||||||
|
"ttl": 8600,
|
||||||
|
"type": "CNAME",
|
||||||
|
"value_specs": null,
|
||||||
|
"zone_id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c"
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "module.instance_without_data_volume",
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_compute_instance_v2",
|
||||||
|
"name": "smartgears_service",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"index_key": "dataminer_1_pre_1804",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"access_ip_v4": "10.1.34.182",
|
||||||
|
"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": 50,
|
||||||
|
"volume_type": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"config_drive": null,
|
||||||
|
"created": "2024-01-22 11:03:53 +0000 UTC",
|
||||||
|
"flavor_id": "9",
|
||||||
|
"flavor_name": "m1.large",
|
||||||
|
"floating_ip": null,
|
||||||
|
"force_delete": false,
|
||||||
|
"id": "5da038e7-b282-4de0-8f7a-f80467b61449",
|
||||||
|
"image_id": "Attempt to boot from volume - no image supplied",
|
||||||
|
"image_name": null,
|
||||||
|
"key_pair": "Giancarlo Panichi",
|
||||||
|
"metadata": null,
|
||||||
|
"name": "dataminer1-pre-1804",
|
||||||
|
"network": [
|
||||||
|
{
|
||||||
|
"access_network": false,
|
||||||
|
"fixed_ip_v4": "10.1.34.182",
|
||||||
|
"fixed_ip_v6": "",
|
||||||
|
"floating_ip": "",
|
||||||
|
"mac": "fa:16:3e:40:3c:2a",
|
||||||
|
"name": "d4s-pre-cloud-main",
|
||||||
|
"port": "",
|
||||||
|
"uuid": "23fd8a99-d551-4ada-8d3a-9859542ebb8c"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"access_network": false,
|
||||||
|
"fixed_ip_v4": "192.168.0.148",
|
||||||
|
"fixed_ip_v6": "",
|
||||||
|
"floating_ip": "",
|
||||||
|
"mac": "fa:16:3e:2f:72:9f",
|
||||||
|
"name": "postgresql-srv-net",
|
||||||
|
"port": "",
|
||||||
|
"uuid": "e25395f4-f1aa-4819-b5a5-36d25ee5af54"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"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": [],
|
||||||
|
"timeouts": null,
|
||||||
|
"updated": "2024-01-22 11:05:44 +0000 UTC",
|
||||||
|
"user_data": "47d4769e61324c305c4b70ed6673de4fad84150d",
|
||||||
|
"vendor_options": [],
|
||||||
|
"volume": []
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxODAwMDAwMDAwMDAwLCJkZWxldGUiOjE4MDAwMDAwMDAwMDAsInVwZGF0ZSI6MTgwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router",
|
||||||
|
"openstack_networking_secgroup_v2.dataminer_publish"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"index_key": "dataminer_pre_ghost",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"access_ip_v4": "10.1.32.170",
|
||||||
|
"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": 50,
|
||||||
|
"volume_type": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"config_drive": null,
|
||||||
|
"created": "2024-01-22 11:03:53 +0000 UTC",
|
||||||
|
"flavor_id": "9",
|
||||||
|
"flavor_name": "m1.large",
|
||||||
|
"floating_ip": null,
|
||||||
|
"force_delete": false,
|
||||||
|
"id": "06722ecf-556e-4a5c-99fc-d44a6147a5ce",
|
||||||
|
"image_id": "Attempt to boot from volume - no image supplied",
|
||||||
|
"image_name": null,
|
||||||
|
"key_pair": "Giancarlo Panichi",
|
||||||
|
"metadata": null,
|
||||||
|
"name": "dataminer-pre-ghost",
|
||||||
|
"network": [
|
||||||
|
{
|
||||||
|
"access_network": false,
|
||||||
|
"fixed_ip_v4": "10.1.32.170",
|
||||||
|
"fixed_ip_v6": "",
|
||||||
|
"floating_ip": "",
|
||||||
|
"mac": "fa:16:3e:54:79:54",
|
||||||
|
"name": "d4s-pre-cloud-main",
|
||||||
|
"port": "",
|
||||||
|
"uuid": "23fd8a99-d551-4ada-8d3a-9859542ebb8c"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"access_network": false,
|
||||||
|
"fixed_ip_v4": "192.168.2.221",
|
||||||
|
"fixed_ip_v6": "",
|
||||||
|
"floating_ip": "",
|
||||||
|
"mac": "fa:16:3e:86:3b:1b",
|
||||||
|
"name": "postgresql-srv-net",
|
||||||
|
"port": "",
|
||||||
|
"uuid": "e25395f4-f1aa-4819-b5a5-36d25ee5af54"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"network_mode": null,
|
||||||
|
"personality": [],
|
||||||
|
"power_state": "active",
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"scheduler_hints": [],
|
||||||
|
"security_groups": [
|
||||||
|
"dataminer_publish",
|
||||||
|
"default_for_all",
|
||||||
|
"traffic_from_the_main_load_balancers"
|
||||||
|
],
|
||||||
|
"stop_before_destroy": false,
|
||||||
|
"tags": [],
|
||||||
|
"timeouts": null,
|
||||||
|
"updated": "2024-01-22 11:06:43 +0000 UTC",
|
||||||
|
"user_data": "",
|
||||||
|
"vendor_options": [],
|
||||||
|
"volume": []
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxODAwMDAwMDAwMDAwLCJkZWxldGUiOjE4MDAwMDAwMDAwMDAsInVwZGF0ZSI6MTgwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router",
|
||||||
|
"openstack_networking_secgroup_v2.dataminer_publish"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"check_results": null
|
||||||
|
}
|
|
@ -0,0 +1,67 @@
|
||||||
|
# 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 "instance_with_data_volume" {
|
||||||
|
source = "../../modules/instance_with_data_volume"
|
||||||
|
|
||||||
|
instances_with_data_volume_map = {
|
||||||
|
geonetwork1_pre = {
|
||||||
|
name = "geonetwork1-pre",
|
||||||
|
description = "This instance serves geonetwork service",
|
||||||
|
flavor = module.common_variables.flavor_list.m1_medium,
|
||||||
|
networks = [data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.name, module.common_variables.networks_list.shared_postgresql],
|
||||||
|
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],
|
||||||
|
server_groups_ids = [],
|
||||||
|
image_ref = module.common_variables.ubuntu_1804
|
||||||
|
volume = {
|
||||||
|
name = "geonetwork1_pre_data_volume",
|
||||||
|
size = "20",
|
||||||
|
device = "/dev/vdb"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
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 = {
|
||||||
|
geonetwork1-pre = {
|
||||||
|
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||||
|
name = join(".", ["geonetwork1-pre", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||||
|
description = "Geonetwork geonetwork1-pre"
|
||||||
|
ttl = 8600
|
||||||
|
type = "CNAME"
|
||||||
|
records = [local.cname_target]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
provider "openstack" {
|
||||||
|
cloud = "d4s-pre"
|
||||||
|
}
|
|
@ -0,0 +1,588 @@
|
||||||
|
{
|
||||||
|
"version": 4,
|
||||||
|
"terraform_version": "1.6.4",
|
||||||
|
"serial": 19,
|
||||||
|
"lineage": "80fc3754-c1fc-b63b-a078-170496b36b2a",
|
||||||
|
"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.32.4",
|
||||||
|
"ca_cidr": "10.1.32.4/32",
|
||||||
|
"haproxy_l7_1": "10.1.32.11",
|
||||||
|
"haproxy_l7_1_cidr": "10.1.32.11/32",
|
||||||
|
"haproxy_l7_2": "10.1.32.12",
|
||||||
|
"haproxy_l7_2_cidr": "10.1.32.12/32",
|
||||||
|
"octavia_main": "10.1.32.20",
|
||||||
|
"octavia_main_cidr": "10.1.32.20/32",
|
||||||
|
"prometheus": "10.1.32.10",
|
||||||
|
"prometheus_cidr": "10.1.32.10/32",
|
||||||
|
"ssh_jump": "10.1.32.5",
|
||||||
|
"ssh_jump_cidr": "10.1.32.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-pre-cloud project",
|
||||||
|
"email": "postmaster@isti.cnr.it",
|
||||||
|
"id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c",
|
||||||
|
"ttl": "8600",
|
||||||
|
"zone_name": "cloud-pre.d4science.org."
|
||||||
|
},
|
||||||
|
"dns_zone_id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c",
|
||||||
|
"el7_data_file": "../../openstack_vm_data_scripts/el7.sh",
|
||||||
|
"external_gateway_ip": [
|
||||||
|
{
|
||||||
|
"ip_address": "146.48.30.241",
|
||||||
|
"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 Preprod main router",
|
||||||
|
"id": "cc26064a-bb08-4c0b-929f-d0cb39f934a3",
|
||||||
|
"name": "d4s-pre-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.32.11",
|
||||||
|
"10.1.32.12"
|
||||||
|
],
|
||||||
|
"main_private_network": {
|
||||||
|
"description": "D4Science Preprod private network (use this as the main network)",
|
||||||
|
"name": "d4s-pre-cloud-main"
|
||||||
|
},
|
||||||
|
"main_private_network_id": "23fd8a99-d551-4ada-8d3a-9859542ebb8c",
|
||||||
|
"main_private_subnet": {
|
||||||
|
"allocation_end": "10.1.35.254",
|
||||||
|
"allocation_start": "10.1.32.100",
|
||||||
|
"cidr": "10.1.32.0/22",
|
||||||
|
"description": "D4Science Preprod main private subnet",
|
||||||
|
"gateway_ip": "10.1.32.1",
|
||||||
|
"name": "d4s-pre-cloud-main-subnet"
|
||||||
|
},
|
||||||
|
"main_region": "isti_area_pi_1",
|
||||||
|
"main_subnet_network_id": "cd77a2fd-4a36-4254-b1d0-70b3874c6d04",
|
||||||
|
"mtu_size": 8942,
|
||||||
|
"networks_list": {
|
||||||
|
"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"
|
||||||
|
},
|
||||||
|
"octavia_information": {
|
||||||
|
"main_lb_description": "Main L4 load balancer for the D4Science PRE production",
|
||||||
|
"main_lb_hostname": "main-lb",
|
||||||
|
"main_lb_name": "d4s-pre-cloud-l4-load-balancer",
|
||||||
|
"octavia_flavor": "octavia_amphora-mvcpu-ha",
|
||||||
|
"octavia_flavor_id": "394988b5-6603-4a1e-a939-8e177c6681c7",
|
||||||
|
"octavia_vrrp_ip_1": "10.1.33.159/32",
|
||||||
|
"octavia_vrrp_ip_2": "10.1.32.199/32",
|
||||||
|
"swarm_lb_name": "d4s-pre-cloud-l4-swarm-load-balancer"
|
||||||
|
},
|
||||||
|
"os_project_data": {
|
||||||
|
"id": "6fdc02e2827b405dad99f34698659742"
|
||||||
|
},
|
||||||
|
"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.122.132/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",
|
||||||
|
"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"
|
||||||
|
},
|
||||||
|
"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"
|
||||||
|
],
|
||||||
|
"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"
|
||||||
|
],
|
||||||
|
"ubuntu1804_data_file": "string",
|
||||||
|
"ubuntu2204_data_file": "string",
|
||||||
|
"ubuntu_1804": [
|
||||||
|
"map",
|
||||||
|
"string"
|
||||||
|
],
|
||||||
|
"ubuntu_2204": [
|
||||||
|
"map",
|
||||||
|
"string"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"workspace": null
|
||||||
|
},
|
||||||
|
"sensitive_attributes": []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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": "geonetwork1-pre",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"description": "Geonetwork geonetwork1-pre",
|
||||||
|
"disable_status_check": false,
|
||||||
|
"id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c/0bad49a2-0244-4714-8e03-e0923b135cec",
|
||||||
|
"name": "geonetwork1-pre.cloud-pre.d4science.org.",
|
||||||
|
"project_id": "6fdc02e2827b405dad99f34698659742",
|
||||||
|
"records": [
|
||||||
|
"main-lb.cloud-pre.d4science.org."
|
||||||
|
],
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"timeouts": null,
|
||||||
|
"ttl": 8600,
|
||||||
|
"type": "CNAME",
|
||||||
|
"value_specs": null,
|
||||||
|
"zone_id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c"
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "module.instance_with_data_volume",
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_blockstorage_volume_v3",
|
||||||
|
"name": "instance_data_volume",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"index_key": "geonetwork1_pre",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"attachment": [],
|
||||||
|
"availability_zone": "nova",
|
||||||
|
"consistency_group_id": null,
|
||||||
|
"description": "",
|
||||||
|
"enable_online_resize": null,
|
||||||
|
"id": "ab367e14-03ae-4cc6-980f-a7a72e418e35",
|
||||||
|
"image_id": null,
|
||||||
|
"metadata": {},
|
||||||
|
"multiattach": null,
|
||||||
|
"name": "geonetwork1_pre_data_volume",
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"scheduler_hints": [],
|
||||||
|
"size": 20,
|
||||||
|
"snapshot_id": "",
|
||||||
|
"source_replica": null,
|
||||||
|
"source_vol_id": "",
|
||||||
|
"timeouts": null,
|
||||||
|
"volume_type": "cephUnencrypted"
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwfX0=",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "module.instance_with_data_volume",
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_compute_instance_v2",
|
||||||
|
"name": "instance_with_data_volume",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"index_key": "geonetwork1_pre",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"access_ip_v4": "10.1.35.94",
|
||||||
|
"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": 10,
|
||||||
|
"volume_type": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"config_drive": null,
|
||||||
|
"created": "2024-01-24 16:48:03 +0000 UTC",
|
||||||
|
"flavor_id": "4",
|
||||||
|
"flavor_name": "m1.medium",
|
||||||
|
"floating_ip": null,
|
||||||
|
"force_delete": false,
|
||||||
|
"id": "2b91c809-baea-4cd9-b623-920d7ad1f345",
|
||||||
|
"image_id": "Attempt to boot from volume - no image supplied",
|
||||||
|
"image_name": null,
|
||||||
|
"key_pair": "Giancarlo Panichi",
|
||||||
|
"metadata": null,
|
||||||
|
"name": "geonetwork1-pre",
|
||||||
|
"network": [
|
||||||
|
{
|
||||||
|
"access_network": false,
|
||||||
|
"fixed_ip_v4": "10.1.35.94",
|
||||||
|
"fixed_ip_v6": "",
|
||||||
|
"floating_ip": "",
|
||||||
|
"mac": "fa:16:3e:6a:e8:bc",
|
||||||
|
"name": "d4s-pre-cloud-main",
|
||||||
|
"port": "",
|
||||||
|
"uuid": "23fd8a99-d551-4ada-8d3a-9859542ebb8c"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"access_network": false,
|
||||||
|
"fixed_ip_v4": "192.168.3.132",
|
||||||
|
"fixed_ip_v6": "",
|
||||||
|
"floating_ip": "",
|
||||||
|
"mac": "fa:16:3e:33:0c:1a",
|
||||||
|
"name": "postgresql-srv-net",
|
||||||
|
"port": "",
|
||||||
|
"uuid": "e25395f4-f1aa-4819-b5a5-36d25ee5af54"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"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-01-24 16:48:43 +0000 UTC",
|
||||||
|
"user_data": "47d4769e61324c305c4b70ed6673de4fad84150d",
|
||||||
|
"vendor_options": [],
|
||||||
|
"volume": []
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxODAwMDAwMDAwMDAwLCJkZWxldGUiOjE4MDAwMDAwMDAwMDAsInVwZGF0ZSI6MTgwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "module.instance_with_data_volume",
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_compute_volume_attach_v2",
|
||||||
|
"name": "attach_volume",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"index_key": "geonetwork1_pre",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"device": "/dev/vdb",
|
||||||
|
"id": "2b91c809-baea-4cd9-b623-920d7ad1f345/ab367e14-03ae-4cc6-980f-a7a72e418e35",
|
||||||
|
"instance_id": "2b91c809-baea-4cd9-b623-920d7ad1f345",
|
||||||
|
"multiattach": null,
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"timeouts": null,
|
||||||
|
"vendor_options": [],
|
||||||
|
"volume_id": "ab367e14-03ae-4cc6-980f-a7a72e418e35"
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwfX0=",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router",
|
||||||
|
"module.instance_with_data_volume.openstack_blockstorage_volume_v3.instance_data_volume",
|
||||||
|
"module.instance_with_data_volume.openstack_compute_instance_v2.instance_with_data_volume"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"check_results": null
|
||||||
|
}
|
|
@ -0,0 +1,70 @@
|
||||||
|
# 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 "instance_with_data_volume" {
|
||||||
|
source = "../../modules/instance_with_data_volume"
|
||||||
|
|
||||||
|
instances_with_data_volume_map = {
|
||||||
|
geoserver1_pre = {
|
||||||
|
name = "geoserver1-pre",
|
||||||
|
description = "Geoserver preprod instance",
|
||||||
|
flavor = module.common_variables.flavor_list.m1_large,
|
||||||
|
networks = [data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.name, module.common_variables.networks_list.shared_postgresql],
|
||||||
|
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],
|
||||||
|
server_groups_ids = [],
|
||||||
|
image_ref = module.common_variables.ubuntu_1804,
|
||||||
|
volume = {
|
||||||
|
name = "geoserver1_pre_data_volume",
|
||||||
|
size = "70",
|
||||||
|
device = "/dev/vdb"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
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 = {
|
||||||
|
geoserver1-pre = {
|
||||||
|
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||||
|
name = join(".", ["geoserver1-pre", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||||
|
description = "Geoserver geoserver1-pre"
|
||||||
|
ttl = 8600
|
||||||
|
type = "CNAME"
|
||||||
|
records = [local.cname_target]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
provider "openstack" {
|
||||||
|
cloud = "d4s-pre"
|
||||||
|
}
|
|
@ -0,0 +1,594 @@
|
||||||
|
{
|
||||||
|
"version": 4,
|
||||||
|
"terraform_version": "1.6.6",
|
||||||
|
"serial": 7,
|
||||||
|
"lineage": "89065a12-d7ef-e97c-d514-fbacb3a932a3",
|
||||||
|
"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.32.4",
|
||||||
|
"ca_cidr": "10.1.32.4/32",
|
||||||
|
"haproxy_l7_1": "10.1.32.11",
|
||||||
|
"haproxy_l7_1_cidr": "10.1.32.11/32",
|
||||||
|
"haproxy_l7_2": "10.1.32.12",
|
||||||
|
"haproxy_l7_2_cidr": "10.1.32.12/32",
|
||||||
|
"octavia_main": "10.1.32.20",
|
||||||
|
"octavia_main_cidr": "10.1.32.20/32",
|
||||||
|
"prometheus": "10.1.32.10",
|
||||||
|
"prometheus_cidr": "10.1.32.10/32",
|
||||||
|
"ssh_jump": "10.1.32.5",
|
||||||
|
"ssh_jump_cidr": "10.1.32.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-pre-cloud project",
|
||||||
|
"email": "postmaster@isti.cnr.it",
|
||||||
|
"id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c",
|
||||||
|
"ttl": "8600",
|
||||||
|
"zone_name": "cloud-pre.d4science.org."
|
||||||
|
},
|
||||||
|
"dns_zone_id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c",
|
||||||
|
"el7_data_file": "../../openstack_vm_data_scripts/el7.sh",
|
||||||
|
"external_gateway_ip": [
|
||||||
|
{
|
||||||
|
"ip_address": "146.48.30.241",
|
||||||
|
"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 Preprod main router",
|
||||||
|
"id": "cc26064a-bb08-4c0b-929f-d0cb39f934a3",
|
||||||
|
"name": "d4s-pre-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.32.11",
|
||||||
|
"10.1.32.12"
|
||||||
|
],
|
||||||
|
"main_private_network": {
|
||||||
|
"description": "D4Science Preprod private network (use this as the main network)",
|
||||||
|
"name": "d4s-pre-cloud-main"
|
||||||
|
},
|
||||||
|
"main_private_network_id": "23fd8a99-d551-4ada-8d3a-9859542ebb8c",
|
||||||
|
"main_private_subnet": {
|
||||||
|
"allocation_end": "10.1.35.254",
|
||||||
|
"allocation_start": "10.1.32.100",
|
||||||
|
"cidr": "10.1.32.0/22",
|
||||||
|
"description": "D4Science Preprod main private subnet",
|
||||||
|
"gateway_ip": "10.1.32.1",
|
||||||
|
"name": "d4s-pre-cloud-main-subnet"
|
||||||
|
},
|
||||||
|
"main_region": "isti_area_pi_1",
|
||||||
|
"main_subnet_network_id": "cd77a2fd-4a36-4254-b1d0-70b3874c6d04",
|
||||||
|
"mtu_size": 8942,
|
||||||
|
"networks_list": {
|
||||||
|
"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"
|
||||||
|
},
|
||||||
|
"octavia_information": {
|
||||||
|
"main_lb_description": "Main L4 load balancer for the D4Science PRE production",
|
||||||
|
"main_lb_hostname": "main-lb",
|
||||||
|
"main_lb_name": "d4s-pre-cloud-l4-load-balancer",
|
||||||
|
"octavia_flavor": "octavia_amphora-mvcpu-ha",
|
||||||
|
"octavia_flavor_id": "394988b5-6603-4a1e-a939-8e177c6681c7",
|
||||||
|
"octavia_vrrp_ip_1": "10.1.33.159/32",
|
||||||
|
"octavia_vrrp_ip_2": "10.1.32.199/32",
|
||||||
|
"swarm_lb_name": "d4s-pre-cloud-l4-swarm-load-balancer"
|
||||||
|
},
|
||||||
|
"os_project_data": {
|
||||||
|
"id": "6fdc02e2827b405dad99f34698659742"
|
||||||
|
},
|
||||||
|
"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.122.132/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",
|
||||||
|
"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"
|
||||||
|
},
|
||||||
|
"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"
|
||||||
|
],
|
||||||
|
"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"
|
||||||
|
],
|
||||||
|
"ubuntu1804_data_file": "string",
|
||||||
|
"ubuntu2204_data_file": "string",
|
||||||
|
"ubuntu_1804": [
|
||||||
|
"map",
|
||||||
|
"string"
|
||||||
|
],
|
||||||
|
"ubuntu_2204": [
|
||||||
|
"map",
|
||||||
|
"string"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"workspace": null
|
||||||
|
},
|
||||||
|
"sensitive_attributes": []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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": "geoserver1-pre",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"description": "Geoserver geoserver1-pre",
|
||||||
|
"disable_status_check": false,
|
||||||
|
"id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c/3399d951-12bc-49b1-85b3-450d60ee90f0",
|
||||||
|
"name": "geoserver1-pre.cloud-pre.d4science.org.",
|
||||||
|
"project_id": "6fdc02e2827b405dad99f34698659742",
|
||||||
|
"records": [
|
||||||
|
"main-lb.cloud-pre.d4science.org."
|
||||||
|
],
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"timeouts": null,
|
||||||
|
"ttl": 8600,
|
||||||
|
"type": "CNAME",
|
||||||
|
"value_specs": null,
|
||||||
|
"zone_id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c"
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "module.instance_with_data_volume",
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_blockstorage_volume_v3",
|
||||||
|
"name": "instance_data_volume",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"index_key": "geoserver1_pre",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"attachment": [
|
||||||
|
{
|
||||||
|
"device": "/dev/vdb",
|
||||||
|
"id": "bfcc0649-29d2-484f-b6ee-a6e147197654",
|
||||||
|
"instance_id": "3ca3a73f-4ffa-4226-86b6-724c1f52719f"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"availability_zone": "nova",
|
||||||
|
"consistency_group_id": null,
|
||||||
|
"description": "",
|
||||||
|
"enable_online_resize": null,
|
||||||
|
"id": "bfcc0649-29d2-484f-b6ee-a6e147197654",
|
||||||
|
"image_id": null,
|
||||||
|
"metadata": {},
|
||||||
|
"multiattach": null,
|
||||||
|
"name": "geoserver1_pre_data_volume",
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"scheduler_hints": [],
|
||||||
|
"size": 70,
|
||||||
|
"snapshot_id": "",
|
||||||
|
"source_replica": null,
|
||||||
|
"source_vol_id": "",
|
||||||
|
"timeouts": null,
|
||||||
|
"volume_type": "cephUnencrypted"
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwfX0=",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "module.instance_with_data_volume",
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_compute_instance_v2",
|
||||||
|
"name": "instance_with_data_volume",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"index_key": "geoserver1_pre",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"access_ip_v4": "10.1.33.78",
|
||||||
|
"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": 10,
|
||||||
|
"volume_type": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"config_drive": null,
|
||||||
|
"created": "2024-01-25 10:54:01 +0000 UTC",
|
||||||
|
"flavor_id": "9",
|
||||||
|
"flavor_name": "m1.large",
|
||||||
|
"floating_ip": null,
|
||||||
|
"force_delete": false,
|
||||||
|
"id": "3ca3a73f-4ffa-4226-86b6-724c1f52719f",
|
||||||
|
"image_id": "Attempt to boot from volume - no image supplied",
|
||||||
|
"image_name": null,
|
||||||
|
"key_pair": "adellam",
|
||||||
|
"metadata": null,
|
||||||
|
"name": "geoserver1-pre",
|
||||||
|
"network": [
|
||||||
|
{
|
||||||
|
"access_network": false,
|
||||||
|
"fixed_ip_v4": "10.1.33.78",
|
||||||
|
"fixed_ip_v6": "",
|
||||||
|
"floating_ip": "",
|
||||||
|
"mac": "fa:16:3e:16:c7:a5",
|
||||||
|
"name": "d4s-pre-cloud-main",
|
||||||
|
"port": "",
|
||||||
|
"uuid": "23fd8a99-d551-4ada-8d3a-9859542ebb8c"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"access_network": false,
|
||||||
|
"fixed_ip_v4": "192.168.1.41",
|
||||||
|
"fixed_ip_v6": "",
|
||||||
|
"floating_ip": "",
|
||||||
|
"mac": "fa:16:3e:3b:f7:e4",
|
||||||
|
"name": "postgresql-srv-net",
|
||||||
|
"port": "",
|
||||||
|
"uuid": "e25395f4-f1aa-4819-b5a5-36d25ee5af54"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"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": [],
|
||||||
|
"timeouts": null,
|
||||||
|
"updated": "2024-01-25 10:54:47 +0000 UTC",
|
||||||
|
"user_data": "47d4769e61324c305c4b70ed6673de4fad84150d",
|
||||||
|
"vendor_options": [],
|
||||||
|
"volume": []
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxODAwMDAwMDAwMDAwLCJkZWxldGUiOjE4MDAwMDAwMDAwMDAsInVwZGF0ZSI6MTgwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "module.instance_with_data_volume",
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_compute_volume_attach_v2",
|
||||||
|
"name": "attach_volume",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"index_key": "geoserver1_pre",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"device": "/dev/vdb",
|
||||||
|
"id": "3ca3a73f-4ffa-4226-86b6-724c1f52719f/bfcc0649-29d2-484f-b6ee-a6e147197654",
|
||||||
|
"instance_id": "3ca3a73f-4ffa-4226-86b6-724c1f52719f",
|
||||||
|
"multiattach": null,
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"timeouts": null,
|
||||||
|
"vendor_options": [],
|
||||||
|
"volume_id": "bfcc0649-29d2-484f-b6ee-a6e147197654"
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwfX0=",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router",
|
||||||
|
"module.instance_with_data_volume.openstack_blockstorage_volume_v3.instance_data_volume",
|
||||||
|
"module.instance_with_data_volume.openstack_compute_instance_v2.instance_with_data_volume"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"check_results": null
|
||||||
|
}
|
|
@ -36,17 +36,8 @@ module "instance_without_data_volume" {
|
||||||
source = "../../modules/instance_without_data_volume"
|
source = "../../modules/instance_without_data_volume"
|
||||||
|
|
||||||
instances_without_data_volume_map = {
|
instances_without_data_volume_map = {
|
||||||
grsf_publisher_1 = {
|
grsf_publisher = {
|
||||||
name = "grsf-publisher-1",
|
name = "grsf-publisher",
|
||||||
description = "This instance serves GRSF Publisher service",
|
|
||||||
flavor = module.common_variables.flavor_list.m1_medium,
|
|
||||||
networks = [data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.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, data.terraform_remote_state.privnet_dns_router.outputs.security_group_list.debugging_from_jump_node],
|
|
||||||
server_groups_ids = [openstack_compute_servergroup_v2.grsf_publisher_server_group.id],
|
|
||||||
image_ref = module.common_variables.ubuntu_1804
|
|
||||||
},
|
|
||||||
grsf_publisher_2 = {
|
|
||||||
name = "grsf-publisher-2",
|
|
||||||
description = "This instance serves GRSF Publisher service",
|
description = "This instance serves GRSF Publisher service",
|
||||||
flavor = module.common_variables.flavor_list.m1_medium,
|
flavor = module.common_variables.flavor_list.m1_medium,
|
||||||
networks = [data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.name],
|
networks = [data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.name],
|
||||||
|
@ -56,3 +47,25 @@ module "instance_without_data_volume" {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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 = {
|
||||||
|
grsf_publisher = {
|
||||||
|
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||||
|
name = join(".", ["grsf-publisher", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||||
|
description = "GRSF publisher"
|
||||||
|
ttl = 8600
|
||||||
|
type = "CNAME"
|
||||||
|
records = [local.cname_target]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,561 @@
|
||||||
|
{
|
||||||
|
"version": 4,
|
||||||
|
"terraform_version": "1.6.6",
|
||||||
|
"serial": 5,
|
||||||
|
"lineage": "826c8593-6c3d-8568-c9e1-1a57900d69b3",
|
||||||
|
"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.32.4",
|
||||||
|
"ca_cidr": "10.1.32.4/32",
|
||||||
|
"haproxy_l7_1": "10.1.32.11",
|
||||||
|
"haproxy_l7_1_cidr": "10.1.32.11/32",
|
||||||
|
"haproxy_l7_2": "10.1.32.12",
|
||||||
|
"haproxy_l7_2_cidr": "10.1.32.12/32",
|
||||||
|
"octavia_main": "10.1.32.20",
|
||||||
|
"octavia_main_cidr": "10.1.32.20/32",
|
||||||
|
"prometheus": "10.1.32.10",
|
||||||
|
"prometheus_cidr": "10.1.32.10/32",
|
||||||
|
"ssh_jump": "10.1.32.5",
|
||||||
|
"ssh_jump_cidr": "10.1.32.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-pre-cloud project",
|
||||||
|
"email": "postmaster@isti.cnr.it",
|
||||||
|
"id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c",
|
||||||
|
"ttl": "8600",
|
||||||
|
"zone_name": "cloud-pre.d4science.org."
|
||||||
|
},
|
||||||
|
"dns_zone_id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c",
|
||||||
|
"el7_data_file": "../../openstack_vm_data_scripts/el7.sh",
|
||||||
|
"external_gateway_ip": [
|
||||||
|
{
|
||||||
|
"ip_address": "146.48.30.241",
|
||||||
|
"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 Preprod main router",
|
||||||
|
"id": "cc26064a-bb08-4c0b-929f-d0cb39f934a3",
|
||||||
|
"name": "d4s-pre-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.32.11",
|
||||||
|
"10.1.32.12"
|
||||||
|
],
|
||||||
|
"main_private_network": {
|
||||||
|
"description": "D4Science Preprod private network (use this as the main network)",
|
||||||
|
"name": "d4s-pre-cloud-main"
|
||||||
|
},
|
||||||
|
"main_private_network_id": "23fd8a99-d551-4ada-8d3a-9859542ebb8c",
|
||||||
|
"main_private_subnet": {
|
||||||
|
"allocation_end": "10.1.35.254",
|
||||||
|
"allocation_start": "10.1.32.100",
|
||||||
|
"cidr": "10.1.32.0/22",
|
||||||
|
"description": "D4Science Preprod main private subnet",
|
||||||
|
"gateway_ip": "10.1.32.1",
|
||||||
|
"name": "d4s-pre-cloud-main-subnet"
|
||||||
|
},
|
||||||
|
"main_region": "isti_area_pi_1",
|
||||||
|
"main_subnet_network_id": "cd77a2fd-4a36-4254-b1d0-70b3874c6d04",
|
||||||
|
"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": "ddb16502-7217-4677-a8a7-ca0cbf9a779a",
|
||||||
|
"octavia_information": {
|
||||||
|
"main_lb_description": "Main L4 load balancer for the D4Science PRE production",
|
||||||
|
"main_lb_hostname": "main-lb",
|
||||||
|
"main_lb_name": "d4s-pre-cloud-l4-load-balancer",
|
||||||
|
"octavia_flavor": "octavia_amphora-mvcpu-ha",
|
||||||
|
"octavia_flavor_id": "394988b5-6603-4a1e-a939-8e177c6681c7",
|
||||||
|
"octavia_vrrp_ip_1": "10.1.33.159/32",
|
||||||
|
"octavia_vrrp_ip_2": "10.1.32.199/32",
|
||||||
|
"swarm_lb_name": "d4s-pre-cloud-l4-swarm-load-balancer"
|
||||||
|
},
|
||||||
|
"os_project_data": {
|
||||||
|
"id": "6fdc02e2827b405dad99f34698659742"
|
||||||
|
},
|
||||||
|
"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_compute_servergroup_v2",
|
||||||
|
"name": "grsf_publisher_server_group",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"id": "8daab67e-ccab-40f7-bc76-84371a663dbf",
|
||||||
|
"members": [
|
||||||
|
"ee92a9cd-abb4-47a0-bee9-c9ffd9f22e1d"
|
||||||
|
],
|
||||||
|
"name": "grsf-publisher",
|
||||||
|
"policies": [
|
||||||
|
"soft-anti-affinity"
|
||||||
|
],
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"max_server_per_host": 0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"value_specs": null
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "bnVsbA=="
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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": "grsf_publisher",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"description": "GRSF publisher",
|
||||||
|
"disable_status_check": false,
|
||||||
|
"id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c/e9feade0-2d01-4b25-b215-daa6dda849f7",
|
||||||
|
"name": "grsf-publisher.cloud-pre.d4science.org.",
|
||||||
|
"project_id": "6fdc02e2827b405dad99f34698659742",
|
||||||
|
"records": [
|
||||||
|
"main-lb.cloud-pre.d4science.org."
|
||||||
|
],
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"timeouts": null,
|
||||||
|
"ttl": 8600,
|
||||||
|
"type": "CNAME",
|
||||||
|
"value_specs": null,
|
||||||
|
"zone_id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c"
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "module.instance_without_data_volume",
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_compute_instance_v2",
|
||||||
|
"name": "smartgears_service",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"index_key": "grsf_publisher",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"access_ip_v4": "10.1.33.147",
|
||||||
|
"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": 10,
|
||||||
|
"volume_type": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"config_drive": null,
|
||||||
|
"created": "2024-03-12 16:36:11 +0000 UTC",
|
||||||
|
"flavor_id": "4",
|
||||||
|
"flavor_name": "m1.medium",
|
||||||
|
"floating_ip": null,
|
||||||
|
"force_delete": false,
|
||||||
|
"id": "ee92a9cd-abb4-47a0-bee9-c9ffd9f22e1d",
|
||||||
|
"image_id": "Attempt to boot from volume - no image supplied",
|
||||||
|
"image_name": null,
|
||||||
|
"key_pair": "pc-frosini_key",
|
||||||
|
"metadata": null,
|
||||||
|
"name": "grsf-publisher",
|
||||||
|
"network": [
|
||||||
|
{
|
||||||
|
"access_network": false,
|
||||||
|
"fixed_ip_v4": "10.1.33.147",
|
||||||
|
"fixed_ip_v6": "",
|
||||||
|
"floating_ip": "",
|
||||||
|
"mac": "fa:16:3e:fe:77:6f",
|
||||||
|
"name": "d4s-pre-cloud-main",
|
||||||
|
"port": "",
|
||||||
|
"uuid": "23fd8a99-d551-4ada-8d3a-9859542ebb8c"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"network_mode": null,
|
||||||
|
"personality": [],
|
||||||
|
"power_state": "active",
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"scheduler_hints": [
|
||||||
|
{
|
||||||
|
"additional_properties": {},
|
||||||
|
"build_near_host_ip": "",
|
||||||
|
"different_cell": [],
|
||||||
|
"different_host": [],
|
||||||
|
"group": "8daab67e-ccab-40f7-bc76-84371a663dbf",
|
||||||
|
"query": [],
|
||||||
|
"same_host": [],
|
||||||
|
"target_cell": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"security_groups": [
|
||||||
|
"debugging_from_jump_node",
|
||||||
|
"default_for_all",
|
||||||
|
"traffic_from_the_main_load_balancers"
|
||||||
|
],
|
||||||
|
"stop_before_destroy": false,
|
||||||
|
"tags": [],
|
||||||
|
"timeouts": null,
|
||||||
|
"updated": "2024-03-12 16:36:57 +0000 UTC",
|
||||||
|
"user_data": "ef3d6e5deb29bd1e5de5a76ae6860f3ee872738c",
|
||||||
|
"vendor_options": [],
|
||||||
|
"volume": []
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxODAwMDAwMDAwMDAwLCJkZWxldGUiOjE4MDAwMDAwMDAwMDAsInVwZGF0ZSI6MTgwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router",
|
||||||
|
"openstack_compute_servergroup_v2.grsf_publisher_server_group"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"check_results": null
|
||||||
|
}
|
|
@ -0,0 +1,48 @@
|
||||||
|
# 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 "keycloak" {
|
||||||
|
source = "../../modules/keycloak"
|
||||||
|
|
||||||
|
keycloak_data = {
|
||||||
|
affinity_policy = "soft-anti-affinity"
|
||||||
|
srv_name = "keycloak-pre"
|
||||||
|
vm_count = 2
|
||||||
|
vm_flavor = "m1.medium"
|
||||||
|
boot_vol_size = 10
|
||||||
|
share_description = "NFS share for the keycloak preprod static data"
|
||||||
|
share_name = "keycloak_pre_nfs_share"
|
||||||
|
}
|
||||||
|
|
||||||
|
keycloak_recordsets = {
|
||||||
|
keycloak_main_record = {
|
||||||
|
name = join(".", ["accounts", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name]),
|
||||||
|
description = "Keycloak preproduction endpoint"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
keycloak_object_store = "keycloak-data-preprod"
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
output "keycloak_data" {
|
||||||
|
value = module.keycloak.keycloak_data
|
||||||
|
}
|
||||||
|
|
||||||
|
output "keycloak_recordsets" {
|
||||||
|
value = module.keycloak.keycloak_recordsets
|
||||||
|
}
|
||||||
|
|
||||||
|
output "keycloak_nfs_port_data" {
|
||||||
|
value = module.keycloak.nfs_port_data
|
||||||
|
}
|
||||||
|
|
||||||
|
output "keycloak_nfs_volume_data" {
|
||||||
|
value = module.keycloak.keycloak_nfs_volume_data
|
||||||
|
}
|
||||||
|
|
||||||
|
output "keycloak_nfs_volume_acls" {
|
||||||
|
value = module.keycloak.keycloak_nfs_volume_acls
|
||||||
|
sensitive = true
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
provider "openstack" {
|
||||||
|
cloud = "d4s-pre"
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
|
@ -18,20 +18,22 @@ data "terraform_remote_state" "privnet_dns_router" {
|
||||||
}
|
}
|
||||||
|
|
||||||
module "liferay" {
|
module "liferay" {
|
||||||
source = "../../modules/liferay"
|
source = "../../modules/liferay"
|
||||||
liferay_data = {
|
liferay_data = {
|
||||||
affinity_policy = "soft-anti-affinity"
|
affinity_policy = "soft-anti-affinity"
|
||||||
srv_name = "lr62"
|
srv_name = "lr62"
|
||||||
vm_count = 2
|
vm_count = 2
|
||||||
vm_flavor = "m1.large"
|
vm_flavor = "m1.large"
|
||||||
boot_vol_size = 30
|
boot_vol_size = 30
|
||||||
|
share_description = "NFS share for the liferay preprod static data"
|
||||||
|
share_name = "liferay_pre_nfs_share"
|
||||||
}
|
}
|
||||||
|
|
||||||
liferay_ip_addrs = ["10.1.32.24", "10.1.32.25"]
|
liferay_ip_addrs = ["10.1.32.24", "10.1.32.25"]
|
||||||
|
|
||||||
liferay_recordsets = {
|
liferay_recordsets = {
|
||||||
liferay_main_record = {
|
liferay_main_record = {
|
||||||
name = join(".", ["next", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name]),
|
name = join(".", ["next", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name]),
|
||||||
description = "Liferay Pre (next)"
|
description = "Liferay Pre (next)"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
output "liferay_data" {
|
||||||
|
value = module.liferay.liferay_data
|
||||||
|
}
|
||||||
|
|
||||||
|
output "liferay_ip_addrs" {
|
||||||
|
value = module.liferay.liferay_ip_addrs
|
||||||
|
}
|
||||||
|
|
||||||
|
output "liferay_recordsets" {
|
||||||
|
value = module.liferay.liferay_recordsets
|
||||||
|
}
|
||||||
|
|
||||||
|
output "liferay_nfs_port_data" {
|
||||||
|
value = module.liferay.nfs_port_data
|
||||||
|
}
|
||||||
|
|
||||||
|
output "liferay_nfs_volume_data" {
|
||||||
|
value = module.liferay.liferay_nfs_volume_data
|
||||||
|
}
|
||||||
|
|
||||||
|
output "liferay_nfs_volume_acls" {
|
||||||
|
value = module.liferay.liferay_nfs_volume_acls
|
||||||
|
sensitive = true
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"version": 4,
|
"version": 4,
|
||||||
"terraform_version": "1.6.6",
|
"terraform_version": "1.6.6",
|
||||||
"serial": 34,
|
"serial": 40,
|
||||||
"lineage": "6d43430c-e6aa-d370-b6d5-22f2281117df",
|
"lineage": "6d43430c-e6aa-d370-b6d5-22f2281117df",
|
||||||
"outputs": {
|
"outputs": {
|
||||||
"almalinux_9": {
|
"almalinux_9": {
|
||||||
|
@ -234,6 +234,7 @@
|
||||||
},
|
},
|
||||||
"networks_list": {
|
"networks_list": {
|
||||||
"value": {
|
"value": {
|
||||||
|
"cassandra": "cassandra-net",
|
||||||
"orientdb": "orientdb-net",
|
"orientdb": "orientdb-net",
|
||||||
"orientdb_se": "orientdb-se-net",
|
"orientdb_se": "orientdb-se-net",
|
||||||
"shared_postgresql": "postgresql-srv-net",
|
"shared_postgresql": "postgresql-srv-net",
|
||||||
|
@ -259,6 +260,10 @@
|
||||||
"string"
|
"string"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"nfs_share_no_ingress_secgroup_id": {
|
||||||
|
"value": "ddb16502-7217-4677-a8a7-ca0cbf9a779a",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
"octavia_information": {
|
"octavia_information": {
|
||||||
"value": {
|
"value": {
|
||||||
"main_lb_description": "Main L4 load balancer for the D4Science PRE production",
|
"main_lb_description": "Main L4 load balancer for the D4Science PRE production",
|
||||||
|
@ -300,7 +305,7 @@
|
||||||
"value": {
|
"value": {
|
||||||
"flavor": "m1.medium",
|
"flavor": "m1.medium",
|
||||||
"name": "prometheus",
|
"name": "prometheus",
|
||||||
"public_grafana_server_cidr": "146.48.122.132/32",
|
"public_grafana_server_cidr": "146.48.28.103/32",
|
||||||
"vol_data_device": "/dev/vdb",
|
"vol_data_device": "/dev/vdb",
|
||||||
"vol_data_name": "prometheus-data",
|
"vol_data_name": "prometheus-data",
|
||||||
"vol_data_size": "100"
|
"vol_data_size": "100"
|
||||||
|
@ -345,6 +350,7 @@
|
||||||
"limited_HTTPS_access": "restricted_web_service",
|
"limited_HTTPS_access": "restricted_web_service",
|
||||||
"limited_SSH_access": "Limited SSH access",
|
"limited_SSH_access": "Limited SSH access",
|
||||||
"mongo": "mongo",
|
"mongo": "mongo",
|
||||||
|
"nfs_share_no_ingress": "nfs_share_no_ingress",
|
||||||
"orientdb_internal_docker_traffic": "orientdb_internal_docker_traffic",
|
"orientdb_internal_docker_traffic": "orientdb_internal_docker_traffic",
|
||||||
"postgreSQL": "PostgreSQL service",
|
"postgreSQL": "PostgreSQL service",
|
||||||
"public_HTTPS": "Public HTTPS"
|
"public_HTTPS": "Public HTTPS"
|
||||||
|
@ -405,6 +411,14 @@
|
||||||
"string"
|
"string"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"storage_nfs_network_id": {
|
||||||
|
"value": "5f4023cc-4016-404c-94e5-86220095fbaf",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"storage_nfs_subnet_id": {
|
||||||
|
"value": "6ff0f9e8-0e74-4cc3-a268-7ed4af435696",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
"ubuntu1804_data_file": {
|
"ubuntu1804_data_file": {
|
||||||
"value": "../../openstack_vm_data_scripts/ubuntu1804.sh",
|
"value": "../../openstack_vm_data_scripts/ubuntu1804.sh",
|
||||||
"type": "string"
|
"type": "string"
|
||||||
|
@ -600,6 +614,61 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_networking_secgroup_rule_v2",
|
||||||
|
"name": "egress_ipv4_allowed",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"description": "Allow the egress traffic from the NFS port",
|
||||||
|
"direction": "egress",
|
||||||
|
"ethertype": "IPv4",
|
||||||
|
"id": "4cbefb20-8003-4e15-89f6-92a36a0f4004",
|
||||||
|
"port_range_max": 0,
|
||||||
|
"port_range_min": 0,
|
||||||
|
"protocol": "",
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"remote_group_id": "",
|
||||||
|
"remote_ip_prefix": "0.0.0.0/0",
|
||||||
|
"security_group_id": "ddb16502-7217-4677-a8a7-ca0cbf9a779a",
|
||||||
|
"tenant_id": "6fdc02e2827b405dad99f34698659742",
|
||||||
|
"timeouts": null
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiZGVsZXRlIjo2MDAwMDAwMDAwMDB9fQ==",
|
||||||
|
"dependencies": [
|
||||||
|
"openstack_networking_secgroup_v2.nfs_share_no_ingress"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_networking_secgroup_v2",
|
||||||
|
"name": "nfs_share_no_ingress",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"all_tags": [],
|
||||||
|
"delete_default_rules": true,
|
||||||
|
"description": "Security rule that must be assigned to the NFS ports",
|
||||||
|
"id": "ddb16502-7217-4677-a8a7-ca0cbf9a779a",
|
||||||
|
"name": "nfs_share_no_ingress",
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"tags": [],
|
||||||
|
"tenant_id": "6fdc02e2827b405dad99f34698659742",
|
||||||
|
"timeouts": null
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiZGVsZXRlIjo2MDAwMDAwMDAwMDB9fQ=="
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"mode": "managed",
|
"mode": "managed",
|
||||||
"type": "openstack_networking_subnet_v2",
|
"type": "openstack_networking_subnet_v2",
|
||||||
|
|
|
@ -0,0 +1,63 @@
|
||||||
|
# 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 "instance_without_data_volume" {
|
||||||
|
source = "../../modules/instance_without_data_volume"
|
||||||
|
|
||||||
|
instances_without_data_volume_map = {
|
||||||
|
sdi1 = {
|
||||||
|
name = "sdi1",
|
||||||
|
description = "This instance is a SDI service",
|
||||||
|
flavor = module.common_variables.flavor_list.m1_medium,
|
||||||
|
networks = [data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.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],
|
||||||
|
server_groups_ids = [],
|
||||||
|
image_ref = module.common_variables.ubuntu_1804
|
||||||
|
image_volume_size = 10
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
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 = {
|
||||||
|
sdi1 = {
|
||||||
|
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||||
|
name = join(".", ["sdi1", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||||
|
description = "SDI 1 Preproduction"
|
||||||
|
ttl = 8600
|
||||||
|
type = "CNAME"
|
||||||
|
records = [local.cname_target]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
provider "openstack" {
|
||||||
|
cloud = "d4s-pre"
|
||||||
|
}
|
|
@ -0,0 +1,520 @@
|
||||||
|
{
|
||||||
|
"version": 4,
|
||||||
|
"terraform_version": "1.6.4",
|
||||||
|
"serial": 4,
|
||||||
|
"lineage": "8cee4c79-e1f5-da79-df09-30fd79d1ce31",
|
||||||
|
"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.32.4",
|
||||||
|
"ca_cidr": "10.1.32.4/32",
|
||||||
|
"haproxy_l7_1": "10.1.32.11",
|
||||||
|
"haproxy_l7_1_cidr": "10.1.32.11/32",
|
||||||
|
"haproxy_l7_2": "10.1.32.12",
|
||||||
|
"haproxy_l7_2_cidr": "10.1.32.12/32",
|
||||||
|
"octavia_main": "10.1.32.20",
|
||||||
|
"octavia_main_cidr": "10.1.32.20/32",
|
||||||
|
"prometheus": "10.1.32.10",
|
||||||
|
"prometheus_cidr": "10.1.32.10/32",
|
||||||
|
"ssh_jump": "10.1.32.5",
|
||||||
|
"ssh_jump_cidr": "10.1.32.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-pre-cloud project",
|
||||||
|
"email": "postmaster@isti.cnr.it",
|
||||||
|
"id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c",
|
||||||
|
"ttl": "8600",
|
||||||
|
"zone_name": "cloud-pre.d4science.org."
|
||||||
|
},
|
||||||
|
"dns_zone_id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c",
|
||||||
|
"el7_data_file": "../../openstack_vm_data_scripts/el7.sh",
|
||||||
|
"external_gateway_ip": [
|
||||||
|
{
|
||||||
|
"ip_address": "146.48.30.241",
|
||||||
|
"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 Preprod main router",
|
||||||
|
"id": "cc26064a-bb08-4c0b-929f-d0cb39f934a3",
|
||||||
|
"name": "d4s-pre-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.32.11",
|
||||||
|
"10.1.32.12"
|
||||||
|
],
|
||||||
|
"main_private_network": {
|
||||||
|
"description": "D4Science Preprod private network (use this as the main network)",
|
||||||
|
"name": "d4s-pre-cloud-main"
|
||||||
|
},
|
||||||
|
"main_private_network_id": "23fd8a99-d551-4ada-8d3a-9859542ebb8c",
|
||||||
|
"main_private_subnet": {
|
||||||
|
"allocation_end": "10.1.35.254",
|
||||||
|
"allocation_start": "10.1.32.100",
|
||||||
|
"cidr": "10.1.32.0/22",
|
||||||
|
"description": "D4Science Preprod main private subnet",
|
||||||
|
"gateway_ip": "10.1.32.1",
|
||||||
|
"name": "d4s-pre-cloud-main-subnet"
|
||||||
|
},
|
||||||
|
"main_region": "isti_area_pi_1",
|
||||||
|
"main_subnet_network_id": "cd77a2fd-4a36-4254-b1d0-70b3874c6d04",
|
||||||
|
"mtu_size": 8942,
|
||||||
|
"networks_list": {
|
||||||
|
"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"
|
||||||
|
},
|
||||||
|
"octavia_information": {
|
||||||
|
"main_lb_description": "Main L4 load balancer for the D4Science PRE production",
|
||||||
|
"main_lb_hostname": "main-lb",
|
||||||
|
"main_lb_name": "d4s-pre-cloud-l4-load-balancer",
|
||||||
|
"octavia_flavor": "octavia_amphora-mvcpu-ha",
|
||||||
|
"octavia_flavor_id": "394988b5-6603-4a1e-a939-8e177c6681c7",
|
||||||
|
"octavia_vrrp_ip_1": "10.1.33.159/32",
|
||||||
|
"octavia_vrrp_ip_2": "10.1.32.199/32",
|
||||||
|
"swarm_lb_name": "d4s-pre-cloud-l4-swarm-load-balancer"
|
||||||
|
},
|
||||||
|
"os_project_data": {
|
||||||
|
"id": "6fdc02e2827b405dad99f34698659742"
|
||||||
|
},
|
||||||
|
"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.122.132/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",
|
||||||
|
"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"
|
||||||
|
},
|
||||||
|
"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"
|
||||||
|
],
|
||||||
|
"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"
|
||||||
|
],
|
||||||
|
"ubuntu1804_data_file": "string",
|
||||||
|
"ubuntu2204_data_file": "string",
|
||||||
|
"ubuntu_1804": [
|
||||||
|
"map",
|
||||||
|
"string"
|
||||||
|
],
|
||||||
|
"ubuntu_2204": [
|
||||||
|
"map",
|
||||||
|
"string"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"workspace": null
|
||||||
|
},
|
||||||
|
"sensitive_attributes": []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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": "sdi1",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"description": "SDI 1 Preproduction",
|
||||||
|
"disable_status_check": false,
|
||||||
|
"id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c/0be72795-388d-43c2-a2a2-223d36287a2e",
|
||||||
|
"name": "sdi1.cloud-pre.d4science.org.",
|
||||||
|
"project_id": "6fdc02e2827b405dad99f34698659742",
|
||||||
|
"records": [
|
||||||
|
"main-lb.cloud-pre.d4science.org."
|
||||||
|
],
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"timeouts": null,
|
||||||
|
"ttl": 8600,
|
||||||
|
"type": "CNAME",
|
||||||
|
"value_specs": null,
|
||||||
|
"zone_id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c"
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "module.instance_without_data_volume",
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_compute_instance_v2",
|
||||||
|
"name": "smartgears_service",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"index_key": "sdi1",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"access_ip_v4": "10.1.33.205",
|
||||||
|
"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": 10,
|
||||||
|
"volume_type": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"config_drive": null,
|
||||||
|
"created": "2024-01-26 11:50:56 +0000 UTC",
|
||||||
|
"flavor_id": "4",
|
||||||
|
"flavor_name": "m1.medium",
|
||||||
|
"floating_ip": null,
|
||||||
|
"force_delete": false,
|
||||||
|
"id": "b37e98e5-1bd4-4fe1-a16b-dff0c1e0b5a4",
|
||||||
|
"image_id": "Attempt to boot from volume - no image supplied",
|
||||||
|
"image_name": null,
|
||||||
|
"key_pair": "Giancarlo Panichi",
|
||||||
|
"metadata": null,
|
||||||
|
"name": "sdi1",
|
||||||
|
"network": [
|
||||||
|
{
|
||||||
|
"access_network": false,
|
||||||
|
"fixed_ip_v4": "10.1.33.205",
|
||||||
|
"fixed_ip_v6": "",
|
||||||
|
"floating_ip": "",
|
||||||
|
"mac": "fa:16:3e:1a:ad:8b",
|
||||||
|
"name": "d4s-pre-cloud-main",
|
||||||
|
"port": "",
|
||||||
|
"uuid": "23fd8a99-d551-4ada-8d3a-9859542ebb8c"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"access_network": false,
|
||||||
|
"fixed_ip_v4": "192.168.3.218",
|
||||||
|
"fixed_ip_v6": "",
|
||||||
|
"floating_ip": "",
|
||||||
|
"mac": "fa:16:3e:58:69:b4",
|
||||||
|
"name": "postgresql-srv-net",
|
||||||
|
"port": "",
|
||||||
|
"uuid": "e25395f4-f1aa-4819-b5a5-36d25ee5af54"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"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": [],
|
||||||
|
"timeouts": null,
|
||||||
|
"updated": "2024-01-26 11:51:38 +0000 UTC",
|
||||||
|
"user_data": "47d4769e61324c305c4b70ed6673de4fad84150d",
|
||||||
|
"vendor_options": [],
|
||||||
|
"volume": []
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxODAwMDAwMDAwMDAwLCJkZWxldGUiOjE4MDAwMDAwMDAwMDAsInVwZGF0ZSI6MTgwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"check_results": null
|
||||||
|
}
|
|
@ -0,0 +1,47 @@
|
||||||
|
# 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"
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "openstack_compute_servergroup_v2" "socialservice_server_group" {
|
||||||
|
name = "social-service"
|
||||||
|
policies = [module.common_variables.policy_list.soft_anti_affinity]
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
module "instance_without_data_volume" {
|
||||||
|
source = "../../modules/instance_without_data_volume"
|
||||||
|
|
||||||
|
instances_without_data_volume_map = {
|
||||||
|
accounting_service_1 = {
|
||||||
|
name = "socialservice-01",
|
||||||
|
description = "Social service API service",
|
||||||
|
flavor = module.common_variables.flavor_list.m1_medium,
|
||||||
|
networks = [data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.name, module.common_variables.networks_list.cassandra],
|
||||||
|
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, data.terraform_remote_state.privnet_dns_router.outputs.security_group_list.debugging_from_jump_node],
|
||||||
|
server_groups_ids = [openstack_compute_servergroup_v2.socialservice_server_group.id],
|
||||||
|
image_ref = module.common_variables.ubuntu_1804
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
provider "openstack" {
|
||||||
|
cloud = "d4s-pre"
|
||||||
|
}
|
|
@ -0,0 +1,527 @@
|
||||||
|
{
|
||||||
|
"version": 4,
|
||||||
|
"terraform_version": "1.6.6",
|
||||||
|
"serial": 9,
|
||||||
|
"lineage": "b0c486ab-63ca-4a0f-b061-5b94c0c93764",
|
||||||
|
"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.32.4",
|
||||||
|
"ca_cidr": "10.1.32.4/32",
|
||||||
|
"haproxy_l7_1": "10.1.32.11",
|
||||||
|
"haproxy_l7_1_cidr": "10.1.32.11/32",
|
||||||
|
"haproxy_l7_2": "10.1.32.12",
|
||||||
|
"haproxy_l7_2_cidr": "10.1.32.12/32",
|
||||||
|
"octavia_main": "10.1.32.20",
|
||||||
|
"octavia_main_cidr": "10.1.32.20/32",
|
||||||
|
"prometheus": "10.1.32.10",
|
||||||
|
"prometheus_cidr": "10.1.32.10/32",
|
||||||
|
"ssh_jump": "10.1.32.5",
|
||||||
|
"ssh_jump_cidr": "10.1.32.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-pre-cloud project",
|
||||||
|
"email": "postmaster@isti.cnr.it",
|
||||||
|
"id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c",
|
||||||
|
"ttl": "8600",
|
||||||
|
"zone_name": "cloud-pre.d4science.org."
|
||||||
|
},
|
||||||
|
"dns_zone_id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c",
|
||||||
|
"el7_data_file": "../../openstack_vm_data_scripts/el7.sh",
|
||||||
|
"external_gateway_ip": [
|
||||||
|
{
|
||||||
|
"ip_address": "146.48.30.241",
|
||||||
|
"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 Preprod main router",
|
||||||
|
"id": "cc26064a-bb08-4c0b-929f-d0cb39f934a3",
|
||||||
|
"name": "d4s-pre-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.32.11",
|
||||||
|
"10.1.32.12"
|
||||||
|
],
|
||||||
|
"main_private_network": {
|
||||||
|
"description": "D4Science Preprod private network (use this as the main network)",
|
||||||
|
"name": "d4s-pre-cloud-main"
|
||||||
|
},
|
||||||
|
"main_private_network_id": "23fd8a99-d551-4ada-8d3a-9859542ebb8c",
|
||||||
|
"main_private_subnet": {
|
||||||
|
"allocation_end": "10.1.35.254",
|
||||||
|
"allocation_start": "10.1.32.100",
|
||||||
|
"cidr": "10.1.32.0/22",
|
||||||
|
"description": "D4Science Preprod main private subnet",
|
||||||
|
"gateway_ip": "10.1.32.1",
|
||||||
|
"name": "d4s-pre-cloud-main-subnet"
|
||||||
|
},
|
||||||
|
"main_region": "isti_area_pi_1",
|
||||||
|
"main_subnet_network_id": "cd77a2fd-4a36-4254-b1d0-70b3874c6d04",
|
||||||
|
"mtu_size": 8942,
|
||||||
|
"networks_list": {
|
||||||
|
"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"
|
||||||
|
},
|
||||||
|
"octavia_information": {
|
||||||
|
"main_lb_description": "Main L4 load balancer for the D4Science PRE production",
|
||||||
|
"main_lb_hostname": "main-lb",
|
||||||
|
"main_lb_name": "d4s-pre-cloud-l4-load-balancer",
|
||||||
|
"octavia_flavor": "octavia_amphora-mvcpu-ha",
|
||||||
|
"octavia_flavor_id": "394988b5-6603-4a1e-a939-8e177c6681c7",
|
||||||
|
"octavia_vrrp_ip_1": "10.1.33.159/32",
|
||||||
|
"octavia_vrrp_ip_2": "10.1.32.199/32",
|
||||||
|
"swarm_lb_name": "d4s-pre-cloud-l4-swarm-load-balancer"
|
||||||
|
},
|
||||||
|
"os_project_data": {
|
||||||
|
"id": "6fdc02e2827b405dad99f34698659742"
|
||||||
|
},
|
||||||
|
"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.122.132/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",
|
||||||
|
"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"
|
||||||
|
},
|
||||||
|
"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"
|
||||||
|
],
|
||||||
|
"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"
|
||||||
|
],
|
||||||
|
"ubuntu1804_data_file": "string",
|
||||||
|
"ubuntu2204_data_file": "string",
|
||||||
|
"ubuntu_1804": [
|
||||||
|
"map",
|
||||||
|
"string"
|
||||||
|
],
|
||||||
|
"ubuntu_2204": [
|
||||||
|
"map",
|
||||||
|
"string"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"workspace": null
|
||||||
|
},
|
||||||
|
"sensitive_attributes": []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_compute_servergroup_v2",
|
||||||
|
"name": "socialservice_server_group",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"id": "03e0d8ce-6ab3-4d61-b7bd-7f79647c0387",
|
||||||
|
"members": [],
|
||||||
|
"name": "social-service",
|
||||||
|
"policies": [
|
||||||
|
"soft-anti-affinity"
|
||||||
|
],
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"max_server_per_host": 0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"value_specs": null
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "bnVsbA=="
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "module.instance_without_data_volume",
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_compute_instance_v2",
|
||||||
|
"name": "smartgears_service",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"index_key": "accounting_service_1",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"access_ip_v4": "10.1.35.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": 10,
|
||||||
|
"volume_type": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"config_drive": null,
|
||||||
|
"created": "2024-01-23 13:02:34 +0000 UTC",
|
||||||
|
"flavor_id": "4",
|
||||||
|
"flavor_name": "m1.medium",
|
||||||
|
"floating_ip": null,
|
||||||
|
"force_delete": false,
|
||||||
|
"id": "4b6f9f06-5dda-43b5-aa59-40fab6273a6c",
|
||||||
|
"image_id": "Attempt to boot from volume - no image supplied",
|
||||||
|
"image_name": null,
|
||||||
|
"key_pair": "ahmed_macbook",
|
||||||
|
"metadata": null,
|
||||||
|
"name": "socialservice-01",
|
||||||
|
"network": [
|
||||||
|
{
|
||||||
|
"access_network": false,
|
||||||
|
"fixed_ip_v4": "10.1.35.88",
|
||||||
|
"fixed_ip_v6": "",
|
||||||
|
"floating_ip": "",
|
||||||
|
"mac": "fa:16:3e:ca:66:61",
|
||||||
|
"name": "d4s-pre-cloud-main",
|
||||||
|
"port": "",
|
||||||
|
"uuid": "23fd8a99-d551-4ada-8d3a-9859542ebb8c"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"access_network": false,
|
||||||
|
"fixed_ip_v4": "192.168.13.250",
|
||||||
|
"fixed_ip_v6": "",
|
||||||
|
"floating_ip": "",
|
||||||
|
"mac": "fa:16:3e:74:60:69",
|
||||||
|
"name": "cassandra-net",
|
||||||
|
"port": "",
|
||||||
|
"uuid": "0e2ecf79-bda0-468f-a365-1be4c9b39b85"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"network_mode": null,
|
||||||
|
"personality": [],
|
||||||
|
"power_state": "active",
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"scheduler_hints": [
|
||||||
|
{
|
||||||
|
"additional_properties": null,
|
||||||
|
"build_near_host_ip": "",
|
||||||
|
"different_cell": [],
|
||||||
|
"different_host": [],
|
||||||
|
"group": "03e0d8ce-6ab3-4d61-b7bd-7f79647c0387",
|
||||||
|
"query": [],
|
||||||
|
"same_host": [],
|
||||||
|
"target_cell": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"security_groups": [
|
||||||
|
"debugging_from_jump_node",
|
||||||
|
"default_for_all",
|
||||||
|
"traffic_from_the_main_load_balancers"
|
||||||
|
],
|
||||||
|
"stop_before_destroy": false,
|
||||||
|
"tags": null,
|
||||||
|
"timeouts": null,
|
||||||
|
"updated": "2024-01-23 13:03:35 +0000 UTC",
|
||||||
|
"user_data": "47d4769e61324c305c4b70ed6673de4fad84150d",
|
||||||
|
"vendor_options": [],
|
||||||
|
"volume": []
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxODAwMDAwMDAwMDAwLCJkZWxldGUiOjE4MDAwMDAwMDAwMDAsInVwZGF0ZSI6MTgwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router",
|
||||||
|
"openstack_compute_servergroup_v2.socialservice_server_group"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"check_results": null
|
||||||
|
}
|
|
@ -0,0 +1,79 @@
|
||||||
|
# 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 "instance_with_data_volume" {
|
||||||
|
source = "../../modules/instance_with_data_volume"
|
||||||
|
|
||||||
|
instances_with_data_volume_map = {
|
||||||
|
storagehub = {
|
||||||
|
name = "storagehub",
|
||||||
|
description = "StorageHub pre instance",
|
||||||
|
flavor = module.common_variables.flavor_list.m2_medium,
|
||||||
|
networks = [data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.name, module.common_variables.networks_list.shared_postgresql],
|
||||||
|
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],
|
||||||
|
server_groups_ids = [],
|
||||||
|
image_ref = module.common_variables.ubuntu_1804,
|
||||||
|
image_volume_size = 30
|
||||||
|
volume = {
|
||||||
|
name = "storagehub_data_volume",
|
||||||
|
size = "120",
|
||||||
|
device = "/dev/vdb"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
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 = {
|
||||||
|
storagehub = {
|
||||||
|
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||||
|
name = join(".", ["storagehub", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||||
|
description = "StorageHub"
|
||||||
|
ttl = 8600
|
||||||
|
type = "CNAME"
|
||||||
|
records = [local.cname_target]
|
||||||
|
},
|
||||||
|
workspace_repository = {
|
||||||
|
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||||
|
name = join(".", ["workspace-repository", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||||
|
description = "Workspace repository (storagehub)"
|
||||||
|
ttl = 8600
|
||||||
|
type = "CNAME"
|
||||||
|
records = [local.cname_target]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
provider "openstack" {
|
||||||
|
cloud = "d4s-pre"
|
||||||
|
}
|
|
@ -0,0 +1,627 @@
|
||||||
|
{
|
||||||
|
"version": 4,
|
||||||
|
"terraform_version": "1.6.6",
|
||||||
|
"serial": 7,
|
||||||
|
"lineage": "5cc26d03-8355-40e7-7983-6ef1742f597e",
|
||||||
|
"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.32.4",
|
||||||
|
"ca_cidr": "10.1.32.4/32",
|
||||||
|
"haproxy_l7_1": "10.1.32.11",
|
||||||
|
"haproxy_l7_1_cidr": "10.1.32.11/32",
|
||||||
|
"haproxy_l7_2": "10.1.32.12",
|
||||||
|
"haproxy_l7_2_cidr": "10.1.32.12/32",
|
||||||
|
"octavia_main": "10.1.32.20",
|
||||||
|
"octavia_main_cidr": "10.1.32.20/32",
|
||||||
|
"prometheus": "10.1.32.10",
|
||||||
|
"prometheus_cidr": "10.1.32.10/32",
|
||||||
|
"ssh_jump": "10.1.32.5",
|
||||||
|
"ssh_jump_cidr": "10.1.32.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-pre-cloud project",
|
||||||
|
"email": "postmaster@isti.cnr.it",
|
||||||
|
"id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c",
|
||||||
|
"ttl": "8600",
|
||||||
|
"zone_name": "cloud-pre.d4science.org."
|
||||||
|
},
|
||||||
|
"dns_zone_id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c",
|
||||||
|
"el7_data_file": "../../openstack_vm_data_scripts/el7.sh",
|
||||||
|
"external_gateway_ip": [
|
||||||
|
{
|
||||||
|
"ip_address": "146.48.30.241",
|
||||||
|
"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 Preprod main router",
|
||||||
|
"id": "cc26064a-bb08-4c0b-929f-d0cb39f934a3",
|
||||||
|
"name": "d4s-pre-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.32.11",
|
||||||
|
"10.1.32.12"
|
||||||
|
],
|
||||||
|
"main_private_network": {
|
||||||
|
"description": "D4Science Preprod private network (use this as the main network)",
|
||||||
|
"name": "d4s-pre-cloud-main"
|
||||||
|
},
|
||||||
|
"main_private_network_id": "23fd8a99-d551-4ada-8d3a-9859542ebb8c",
|
||||||
|
"main_private_subnet": {
|
||||||
|
"allocation_end": "10.1.35.254",
|
||||||
|
"allocation_start": "10.1.32.100",
|
||||||
|
"cidr": "10.1.32.0/22",
|
||||||
|
"description": "D4Science Preprod main private subnet",
|
||||||
|
"gateway_ip": "10.1.32.1",
|
||||||
|
"name": "d4s-pre-cloud-main-subnet"
|
||||||
|
},
|
||||||
|
"main_region": "isti_area_pi_1",
|
||||||
|
"main_subnet_network_id": "cd77a2fd-4a36-4254-b1d0-70b3874c6d04",
|
||||||
|
"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": "ddb16502-7217-4677-a8a7-ca0cbf9a779a",
|
||||||
|
"octavia_information": {
|
||||||
|
"main_lb_description": "Main L4 load balancer for the D4Science PRE production",
|
||||||
|
"main_lb_hostname": "main-lb",
|
||||||
|
"main_lb_name": "d4s-pre-cloud-l4-load-balancer",
|
||||||
|
"octavia_flavor": "octavia_amphora-mvcpu-ha",
|
||||||
|
"octavia_flavor_id": "394988b5-6603-4a1e-a939-8e177c6681c7",
|
||||||
|
"octavia_vrrp_ip_1": "10.1.33.159/32",
|
||||||
|
"octavia_vrrp_ip_2": "10.1.32.199/32",
|
||||||
|
"swarm_lb_name": "d4s-pre-cloud-l4-swarm-load-balancer"
|
||||||
|
},
|
||||||
|
"os_project_data": {
|
||||||
|
"id": "6fdc02e2827b405dad99f34698659742"
|
||||||
|
},
|
||||||
|
"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": []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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": "storagehub",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"description": "StorageHub",
|
||||||
|
"disable_status_check": false,
|
||||||
|
"id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c/7aee776d-bf3a-4214-9ff6-66c42bb85c2c",
|
||||||
|
"name": "storagehub.cloud-pre.d4science.org.",
|
||||||
|
"project_id": "6fdc02e2827b405dad99f34698659742",
|
||||||
|
"records": [
|
||||||
|
"main-lb.cloud-pre.d4science.org."
|
||||||
|
],
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"timeouts": null,
|
||||||
|
"ttl": 8600,
|
||||||
|
"type": "CNAME",
|
||||||
|
"value_specs": null,
|
||||||
|
"zone_id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c"
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"index_key": "workspace_repository",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"description": "Workspace repository (storagehub)",
|
||||||
|
"disable_status_check": false,
|
||||||
|
"id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c/31e09122-a806-4433-b248-6ec3965674c7",
|
||||||
|
"name": "workspace-repository.cloud-pre.d4science.org.",
|
||||||
|
"project_id": "6fdc02e2827b405dad99f34698659742",
|
||||||
|
"records": [
|
||||||
|
"main-lb.cloud-pre.d4science.org."
|
||||||
|
],
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"timeouts": null,
|
||||||
|
"ttl": 8600,
|
||||||
|
"type": "CNAME",
|
||||||
|
"value_specs": null,
|
||||||
|
"zone_id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c"
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "module.instance_with_data_volume",
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_blockstorage_volume_v3",
|
||||||
|
"name": "instance_data_volume",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"index_key": "storagehub",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"attachment": [
|
||||||
|
{
|
||||||
|
"device": "/dev/vdb",
|
||||||
|
"id": "2357fb1b-9072-4781-8cd5-6259f267e615",
|
||||||
|
"instance_id": "18c96196-a3bf-473c-a591-8fc2f9a9b973"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"availability_zone": "nova",
|
||||||
|
"consistency_group_id": null,
|
||||||
|
"description": "",
|
||||||
|
"enable_online_resize": null,
|
||||||
|
"id": "2357fb1b-9072-4781-8cd5-6259f267e615",
|
||||||
|
"image_id": null,
|
||||||
|
"metadata": {},
|
||||||
|
"multiattach": null,
|
||||||
|
"name": "storagehub_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=",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "module.instance_with_data_volume",
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_compute_instance_v2",
|
||||||
|
"name": "instance_with_data_volume",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"index_key": "storagehub",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"access_ip_v4": "10.1.33.166",
|
||||||
|
"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": 30,
|
||||||
|
"volume_type": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"config_drive": null,
|
||||||
|
"created": "2024-02-02 16:46:57 +0000 UTC",
|
||||||
|
"flavor_id": "15",
|
||||||
|
"flavor_name": "m2.medium",
|
||||||
|
"floating_ip": null,
|
||||||
|
"force_delete": false,
|
||||||
|
"id": "18c96196-a3bf-473c-a591-8fc2f9a9b973",
|
||||||
|
"image_id": "Attempt to boot from volume - no image supplied",
|
||||||
|
"image_name": null,
|
||||||
|
"key_pair": "Giancarlo Panichi",
|
||||||
|
"metadata": null,
|
||||||
|
"name": "storagehub",
|
||||||
|
"network": [
|
||||||
|
{
|
||||||
|
"access_network": false,
|
||||||
|
"fixed_ip_v4": "10.1.33.166",
|
||||||
|
"fixed_ip_v6": "",
|
||||||
|
"floating_ip": "",
|
||||||
|
"mac": "fa:16:3e:54:70:8f",
|
||||||
|
"name": "d4s-pre-cloud-main",
|
||||||
|
"port": "",
|
||||||
|
"uuid": "23fd8a99-d551-4ada-8d3a-9859542ebb8c"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"access_network": false,
|
||||||
|
"fixed_ip_v4": "192.168.3.42",
|
||||||
|
"fixed_ip_v6": "",
|
||||||
|
"floating_ip": "",
|
||||||
|
"mac": "fa:16:3e:52:40:4f",
|
||||||
|
"name": "postgresql-srv-net",
|
||||||
|
"port": "",
|
||||||
|
"uuid": "e25395f4-f1aa-4819-b5a5-36d25ee5af54"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"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": [],
|
||||||
|
"timeouts": null,
|
||||||
|
"updated": "2024-02-02 16:47:38 +0000 UTC",
|
||||||
|
"user_data": "47d4769e61324c305c4b70ed6673de4fad84150d",
|
||||||
|
"vendor_options": [],
|
||||||
|
"volume": []
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxODAwMDAwMDAwMDAwLCJkZWxldGUiOjE4MDAwMDAwMDAwMDAsInVwZGF0ZSI6MTgwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "module.instance_with_data_volume",
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_compute_volume_attach_v2",
|
||||||
|
"name": "attach_volume",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"index_key": "storagehub",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"device": "/dev/vdb",
|
||||||
|
"id": "18c96196-a3bf-473c-a591-8fc2f9a9b973/2357fb1b-9072-4781-8cd5-6259f267e615",
|
||||||
|
"instance_id": "18c96196-a3bf-473c-a591-8fc2f9a9b973",
|
||||||
|
"multiattach": null,
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"timeouts": null,
|
||||||
|
"vendor_options": [],
|
||||||
|
"volume_id": "2357fb1b-9072-4781-8cd5-6259f267e615"
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwfX0=",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router",
|
||||||
|
"module.instance_with_data_volume.openstack_blockstorage_volume_v3.instance_data_volume",
|
||||||
|
"module.instance_with_data_volume.openstack_compute_instance_v2.instance_with_data_volume"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"check_results": null
|
||||||
|
}
|
|
@ -0,0 +1,71 @@
|
||||||
|
# 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 "instance_with_data_volume" {
|
||||||
|
source = "../../modules/instance_with_data_volume"
|
||||||
|
|
||||||
|
instances_with_data_volume_map = {
|
||||||
|
thredds1 = {
|
||||||
|
name = "thredds1",
|
||||||
|
description = "Thredds pre instance",
|
||||||
|
flavor = module.common_variables.flavor_list.m2_small,
|
||||||
|
networks = [data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.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],
|
||||||
|
server_groups_ids = [],
|
||||||
|
image_ref = module.common_variables.ubuntu_1804,
|
||||||
|
image_volume_size = 20
|
||||||
|
volume = {
|
||||||
|
name = "thredds1_data_volume",
|
||||||
|
size = "280",
|
||||||
|
device = "/dev/vdb"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
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 = {
|
||||||
|
thredds1 = {
|
||||||
|
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||||
|
name = join(".", ["thredds1", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||||
|
description = "Thredds thredds1"
|
||||||
|
ttl = 8600
|
||||||
|
type = "CNAME"
|
||||||
|
records = [local.cname_target]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
provider "openstack" {
|
||||||
|
cloud = "d4s-pre"
|
||||||
|
}
|
|
@ -0,0 +1,578 @@
|
||||||
|
{
|
||||||
|
"version": 4,
|
||||||
|
"terraform_version": "1.6.4",
|
||||||
|
"serial": 5,
|
||||||
|
"lineage": "84faa25d-b7aa-97ad-1354-2a15f0fbbfec",
|
||||||
|
"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.32.4",
|
||||||
|
"ca_cidr": "10.1.32.4/32",
|
||||||
|
"haproxy_l7_1": "10.1.32.11",
|
||||||
|
"haproxy_l7_1_cidr": "10.1.32.11/32",
|
||||||
|
"haproxy_l7_2": "10.1.32.12",
|
||||||
|
"haproxy_l7_2_cidr": "10.1.32.12/32",
|
||||||
|
"octavia_main": "10.1.32.20",
|
||||||
|
"octavia_main_cidr": "10.1.32.20/32",
|
||||||
|
"prometheus": "10.1.32.10",
|
||||||
|
"prometheus_cidr": "10.1.32.10/32",
|
||||||
|
"ssh_jump": "10.1.32.5",
|
||||||
|
"ssh_jump_cidr": "10.1.32.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-pre-cloud project",
|
||||||
|
"email": "postmaster@isti.cnr.it",
|
||||||
|
"id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c",
|
||||||
|
"ttl": "8600",
|
||||||
|
"zone_name": "cloud-pre.d4science.org."
|
||||||
|
},
|
||||||
|
"dns_zone_id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c",
|
||||||
|
"el7_data_file": "../../openstack_vm_data_scripts/el7.sh",
|
||||||
|
"external_gateway_ip": [
|
||||||
|
{
|
||||||
|
"ip_address": "146.48.30.241",
|
||||||
|
"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 Preprod main router",
|
||||||
|
"id": "cc26064a-bb08-4c0b-929f-d0cb39f934a3",
|
||||||
|
"name": "d4s-pre-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.32.11",
|
||||||
|
"10.1.32.12"
|
||||||
|
],
|
||||||
|
"main_private_network": {
|
||||||
|
"description": "D4Science Preprod private network (use this as the main network)",
|
||||||
|
"name": "d4s-pre-cloud-main"
|
||||||
|
},
|
||||||
|
"main_private_network_id": "23fd8a99-d551-4ada-8d3a-9859542ebb8c",
|
||||||
|
"main_private_subnet": {
|
||||||
|
"allocation_end": "10.1.35.254",
|
||||||
|
"allocation_start": "10.1.32.100",
|
||||||
|
"cidr": "10.1.32.0/22",
|
||||||
|
"description": "D4Science Preprod main private subnet",
|
||||||
|
"gateway_ip": "10.1.32.1",
|
||||||
|
"name": "d4s-pre-cloud-main-subnet"
|
||||||
|
},
|
||||||
|
"main_region": "isti_area_pi_1",
|
||||||
|
"main_subnet_network_id": "cd77a2fd-4a36-4254-b1d0-70b3874c6d04",
|
||||||
|
"mtu_size": 8942,
|
||||||
|
"networks_list": {
|
||||||
|
"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"
|
||||||
|
},
|
||||||
|
"octavia_information": {
|
||||||
|
"main_lb_description": "Main L4 load balancer for the D4Science PRE production",
|
||||||
|
"main_lb_hostname": "main-lb",
|
||||||
|
"main_lb_name": "d4s-pre-cloud-l4-load-balancer",
|
||||||
|
"octavia_flavor": "octavia_amphora-mvcpu-ha",
|
||||||
|
"octavia_flavor_id": "394988b5-6603-4a1e-a939-8e177c6681c7",
|
||||||
|
"octavia_vrrp_ip_1": "10.1.33.159/32",
|
||||||
|
"octavia_vrrp_ip_2": "10.1.32.199/32",
|
||||||
|
"swarm_lb_name": "d4s-pre-cloud-l4-swarm-load-balancer"
|
||||||
|
},
|
||||||
|
"os_project_data": {
|
||||||
|
"id": "6fdc02e2827b405dad99f34698659742"
|
||||||
|
},
|
||||||
|
"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.122.132/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",
|
||||||
|
"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"
|
||||||
|
},
|
||||||
|
"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"
|
||||||
|
],
|
||||||
|
"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"
|
||||||
|
],
|
||||||
|
"ubuntu1804_data_file": "string",
|
||||||
|
"ubuntu2204_data_file": "string",
|
||||||
|
"ubuntu_1804": [
|
||||||
|
"map",
|
||||||
|
"string"
|
||||||
|
],
|
||||||
|
"ubuntu_2204": [
|
||||||
|
"map",
|
||||||
|
"string"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"workspace": null
|
||||||
|
},
|
||||||
|
"sensitive_attributes": []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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": "thredds1",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"description": "Thredds thredds1",
|
||||||
|
"disable_status_check": false,
|
||||||
|
"id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c/89fb79f8-fe91-43e1-a6ec-90e62f3d68db",
|
||||||
|
"name": "thredds1.cloud-pre.d4science.org.",
|
||||||
|
"project_id": "6fdc02e2827b405dad99f34698659742",
|
||||||
|
"records": [
|
||||||
|
"main-lb.cloud-pre.d4science.org."
|
||||||
|
],
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"timeouts": null,
|
||||||
|
"ttl": 8600,
|
||||||
|
"type": "CNAME",
|
||||||
|
"value_specs": null,
|
||||||
|
"zone_id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c"
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "module.instance_with_data_volume",
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_blockstorage_volume_v3",
|
||||||
|
"name": "instance_data_volume",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"index_key": "thredds1",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"attachment": [],
|
||||||
|
"availability_zone": "nova",
|
||||||
|
"consistency_group_id": null,
|
||||||
|
"description": "",
|
||||||
|
"enable_online_resize": null,
|
||||||
|
"id": "239d33ed-e704-4ce2-bd2a-0f040af193bc",
|
||||||
|
"image_id": null,
|
||||||
|
"metadata": {},
|
||||||
|
"multiattach": null,
|
||||||
|
"name": "thredds1_data_volume",
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"scheduler_hints": [],
|
||||||
|
"size": 280,
|
||||||
|
"snapshot_id": "",
|
||||||
|
"source_replica": null,
|
||||||
|
"source_vol_id": "",
|
||||||
|
"timeouts": null,
|
||||||
|
"volume_type": "cephUnencrypted"
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwfX0=",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "module.instance_with_data_volume",
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_compute_instance_v2",
|
||||||
|
"name": "instance_with_data_volume",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"index_key": "thredds1",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"access_ip_v4": "10.1.35.180",
|
||||||
|
"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": 20,
|
||||||
|
"volume_type": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"config_drive": null,
|
||||||
|
"created": "2024-01-30 16:27:51 +0000 UTC",
|
||||||
|
"flavor_id": "10",
|
||||||
|
"flavor_name": "m2.small",
|
||||||
|
"floating_ip": null,
|
||||||
|
"force_delete": false,
|
||||||
|
"id": "cbd581ec-da4c-4da1-b753-8899ed810c5a",
|
||||||
|
"image_id": "Attempt to boot from volume - no image supplied",
|
||||||
|
"image_name": null,
|
||||||
|
"key_pair": "Giancarlo Panichi",
|
||||||
|
"metadata": null,
|
||||||
|
"name": "thredds1",
|
||||||
|
"network": [
|
||||||
|
{
|
||||||
|
"access_network": false,
|
||||||
|
"fixed_ip_v4": "10.1.35.180",
|
||||||
|
"fixed_ip_v6": "",
|
||||||
|
"floating_ip": "",
|
||||||
|
"mac": "fa:16:3e:98:ba:a3",
|
||||||
|
"name": "d4s-pre-cloud-main",
|
||||||
|
"port": "",
|
||||||
|
"uuid": "23fd8a99-d551-4ada-8d3a-9859542ebb8c"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"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-01-30 16:28:31 +0000 UTC",
|
||||||
|
"user_data": "47d4769e61324c305c4b70ed6673de4fad84150d",
|
||||||
|
"vendor_options": [],
|
||||||
|
"volume": []
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxODAwMDAwMDAwMDAwLCJkZWxldGUiOjE4MDAwMDAwMDAwMDAsInVwZGF0ZSI6MTgwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "module.instance_with_data_volume",
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_compute_volume_attach_v2",
|
||||||
|
"name": "attach_volume",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"index_key": "thredds1",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"device": "/dev/vdb",
|
||||||
|
"id": "cbd581ec-da4c-4da1-b753-8899ed810c5a/239d33ed-e704-4ce2-bd2a-0f040af193bc",
|
||||||
|
"instance_id": "cbd581ec-da4c-4da1-b753-8899ed810c5a",
|
||||||
|
"multiattach": null,
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"timeouts": null,
|
||||||
|
"vendor_options": [],
|
||||||
|
"volume_id": "239d33ed-e704-4ce2-bd2a-0f040af193bc"
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwfX0=",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router",
|
||||||
|
"module.instance_with_data_volume.openstack_blockstorage_volume_v3.instance_data_volume",
|
||||||
|
"module.instance_with_data_volume.openstack_compute_instance_v2.instance_with_data_volume"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"check_results": null
|
||||||
|
}
|
|
@ -0,0 +1,32 @@
|
||||||
|
# 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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module "timescaledb" {
|
||||||
|
source = "../../modules/timescaledb"
|
||||||
|
|
||||||
|
timescaledb_server_data = {
|
||||||
|
node_name = "timescaledb"
|
||||||
|
node_data_disk_size = 30
|
||||||
|
node_data_disk_device = "/dev/vdb"
|
||||||
|
}
|
||||||
|
|
||||||
|
timescaledb_nodes_count = 1
|
||||||
|
timescaledb_node_flavor = "m1.medium"
|
||||||
|
timescaledb_ip = ["192.168.11.5"]
|
||||||
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
output "timescaledb_net" {
|
||||||
|
value = module.timescaledb.timescaledb_net
|
||||||
|
}
|
||||||
|
|
||||||
|
output "timescaledb_subnet" {
|
||||||
|
value = module.timescaledb.timescaledb_subnet
|
||||||
|
}
|
||||||
|
|
||||||
|
output "timescaledb_servers" {
|
||||||
|
value = module.timescaledb.timescaledb_servers
|
||||||
|
sensitive = true
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
provider "openstack" {
|
||||||
|
cloud = "d4s-pre"
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,63 @@
|
||||||
|
# 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 "instance_without_data_volume" {
|
||||||
|
source = "../../modules/instance_without_data_volume"
|
||||||
|
|
||||||
|
instances_without_data_volume_map = {
|
||||||
|
data = {
|
||||||
|
name = "data",
|
||||||
|
description = "This instance is a Uri Resolver service",
|
||||||
|
flavor = module.common_variables.flavor_list.m1_medium,
|
||||||
|
networks = [data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.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],
|
||||||
|
server_groups_ids = [],
|
||||||
|
image_ref = module.common_variables.ubuntu_1804
|
||||||
|
image_volume_size = 20
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
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 = {
|
||||||
|
data = {
|
||||||
|
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||||
|
name = join(".", ["data", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||||
|
description = "Uri Resolver Preproduction"
|
||||||
|
ttl = 8600
|
||||||
|
type = "CNAME"
|
||||||
|
records = [local.cname_target]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
provider "openstack" {
|
||||||
|
cloud = "d4s-pre"
|
||||||
|
}
|
|
@ -0,0 +1,518 @@
|
||||||
|
{
|
||||||
|
"version": 4,
|
||||||
|
"terraform_version": "1.6.4",
|
||||||
|
"serial": 3,
|
||||||
|
"lineage": "3289d790-5754-16e4-125c-ec4ff3e9080b",
|
||||||
|
"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.32.4",
|
||||||
|
"ca_cidr": "10.1.32.4/32",
|
||||||
|
"haproxy_l7_1": "10.1.32.11",
|
||||||
|
"haproxy_l7_1_cidr": "10.1.32.11/32",
|
||||||
|
"haproxy_l7_2": "10.1.32.12",
|
||||||
|
"haproxy_l7_2_cidr": "10.1.32.12/32",
|
||||||
|
"octavia_main": "10.1.32.20",
|
||||||
|
"octavia_main_cidr": "10.1.32.20/32",
|
||||||
|
"prometheus": "10.1.32.10",
|
||||||
|
"prometheus_cidr": "10.1.32.10/32",
|
||||||
|
"ssh_jump": "10.1.32.5",
|
||||||
|
"ssh_jump_cidr": "10.1.32.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-pre-cloud project",
|
||||||
|
"email": "postmaster@isti.cnr.it",
|
||||||
|
"id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c",
|
||||||
|
"ttl": "8600",
|
||||||
|
"zone_name": "cloud-pre.d4science.org."
|
||||||
|
},
|
||||||
|
"dns_zone_id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c",
|
||||||
|
"el7_data_file": "../../openstack_vm_data_scripts/el7.sh",
|
||||||
|
"external_gateway_ip": [
|
||||||
|
{
|
||||||
|
"ip_address": "146.48.30.241",
|
||||||
|
"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 Preprod main router",
|
||||||
|
"id": "cc26064a-bb08-4c0b-929f-d0cb39f934a3",
|
||||||
|
"name": "d4s-pre-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.32.11",
|
||||||
|
"10.1.32.12"
|
||||||
|
],
|
||||||
|
"main_private_network": {
|
||||||
|
"description": "D4Science Preprod private network (use this as the main network)",
|
||||||
|
"name": "d4s-pre-cloud-main"
|
||||||
|
},
|
||||||
|
"main_private_network_id": "23fd8a99-d551-4ada-8d3a-9859542ebb8c",
|
||||||
|
"main_private_subnet": {
|
||||||
|
"allocation_end": "10.1.35.254",
|
||||||
|
"allocation_start": "10.1.32.100",
|
||||||
|
"cidr": "10.1.32.0/22",
|
||||||
|
"description": "D4Science Preprod main private subnet",
|
||||||
|
"gateway_ip": "10.1.32.1",
|
||||||
|
"name": "d4s-pre-cloud-main-subnet"
|
||||||
|
},
|
||||||
|
"main_region": "isti_area_pi_1",
|
||||||
|
"main_subnet_network_id": "cd77a2fd-4a36-4254-b1d0-70b3874c6d04",
|
||||||
|
"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": "ddb16502-7217-4677-a8a7-ca0cbf9a779a",
|
||||||
|
"octavia_information": {
|
||||||
|
"main_lb_description": "Main L4 load balancer for the D4Science PRE production",
|
||||||
|
"main_lb_hostname": "main-lb",
|
||||||
|
"main_lb_name": "d4s-pre-cloud-l4-load-balancer",
|
||||||
|
"octavia_flavor": "octavia_amphora-mvcpu-ha",
|
||||||
|
"octavia_flavor_id": "394988b5-6603-4a1e-a939-8e177c6681c7",
|
||||||
|
"octavia_vrrp_ip_1": "10.1.33.159/32",
|
||||||
|
"octavia_vrrp_ip_2": "10.1.32.199/32",
|
||||||
|
"swarm_lb_name": "d4s-pre-cloud-l4-swarm-load-balancer"
|
||||||
|
},
|
||||||
|
"os_project_data": {
|
||||||
|
"id": "6fdc02e2827b405dad99f34698659742"
|
||||||
|
},
|
||||||
|
"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": []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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": "data",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"description": "Uri Resolver Preproduction",
|
||||||
|
"disable_status_check": false,
|
||||||
|
"id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c/b04f7674-b9e5-469d-979f-3a30d6e57859",
|
||||||
|
"name": "data.cloud-pre.d4science.org.",
|
||||||
|
"project_id": "6fdc02e2827b405dad99f34698659742",
|
||||||
|
"records": [
|
||||||
|
"main-lb.cloud-pre.d4science.org."
|
||||||
|
],
|
||||||
|
"region": "isti_area_pi_1",
|
||||||
|
"timeouts": null,
|
||||||
|
"ttl": 8600,
|
||||||
|
"type": "CNAME",
|
||||||
|
"value_specs": null,
|
||||||
|
"zone_id": "c1a4b4bc-f167-4387-855d-38f0f99ca05c"
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "module.instance_without_data_volume",
|
||||||
|
"mode": "managed",
|
||||||
|
"type": "openstack_compute_instance_v2",
|
||||||
|
"name": "smartgears_service",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"index_key": "data",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"access_ip_v4": "10.1.33.178",
|
||||||
|
"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": 20,
|
||||||
|
"volume_type": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"config_drive": null,
|
||||||
|
"created": "2024-02-27 10:32:18 +0000 UTC",
|
||||||
|
"flavor_id": "4",
|
||||||
|
"flavor_name": "m1.medium",
|
||||||
|
"floating_ip": null,
|
||||||
|
"force_delete": false,
|
||||||
|
"id": "ceaba95d-ff31-4413-89cd-c4ec3892cfac",
|
||||||
|
"image_id": "Attempt to boot from volume - no image supplied",
|
||||||
|
"image_name": null,
|
||||||
|
"key_pair": "Giancarlo Panichi",
|
||||||
|
"metadata": null,
|
||||||
|
"name": "data",
|
||||||
|
"network": [
|
||||||
|
{
|
||||||
|
"access_network": false,
|
||||||
|
"fixed_ip_v4": "10.1.33.178",
|
||||||
|
"fixed_ip_v6": "",
|
||||||
|
"floating_ip": "",
|
||||||
|
"mac": "fa:16:3e:fe:33:db",
|
||||||
|
"name": "d4s-pre-cloud-main",
|
||||||
|
"port": "",
|
||||||
|
"uuid": "23fd8a99-d551-4ada-8d3a-9859542ebb8c"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"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-27 10:32:59 +0000 UTC",
|
||||||
|
"user_data": "47d4769e61324c305c4b70ed6673de4fad84150d",
|
||||||
|
"vendor_options": [],
|
||||||
|
"volume": []
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxODAwMDAwMDAwMDAwLCJkZWxldGUiOjE4MDAwMDAwMDAwMDAsInVwZGF0ZSI6MTgwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"check_results": null
|
||||||
|
}
|
|
@ -0,0 +1,98 @@
|
||||||
|
# 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"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Instances
|
||||||
|
resource "openstack_compute_instance_v2" "access_service" {
|
||||||
|
name = "access"
|
||||||
|
availability_zone_hints = module.common_variables.availability_zone_no_gpu_name
|
||||||
|
flavor_name = module.common_variables.flavor_list.m1_medium
|
||||||
|
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 = 50
|
||||||
|
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])
|
||||||
|
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
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
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 = {
|
||||||
|
access-service = {
|
||||||
|
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||||
|
name = join(".", ["access", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||||
|
description = "Access access"
|
||||||
|
ttl = 8600
|
||||||
|
type = "CNAME"
|
||||||
|
records = [local.cname_target]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
provider "openstack" {
|
||||||
|
cloud = "d4s-production"
|
||||||
|
}
|
|
@ -0,0 +1,513 @@
|
||||||
|
{
|
||||||
|
"version": 4,
|
||||||
|
"terraform_version": "1.6.4",
|
||||||
|
"serial": 3,
|
||||||
|
"lineage": "06d32fbd-9403-b9bf-fe66-58c9e554a646",
|
||||||
|
"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_compute_instance_v2",
|
||||||
|
"name": "access_service",
|
||||||
|
"provider": "provider[\"registry.terraform.io/terraform-provider-openstack/openstack\"]",
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"access_ip_v4": "10.1.43.47",
|
||||||
|
"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": 50,
|
||||||
|
"volume_type": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"config_drive": null,
|
||||||
|
"created": "2024-04-19 12:06:51 +0000 UTC",
|
||||||
|
"flavor_id": "4",
|
||||||
|
"flavor_name": "m1.medium",
|
||||||
|
"floating_ip": null,
|
||||||
|
"force_delete": false,
|
||||||
|
"id": "9ded4ec0-d140-4ff4-92cd-0e171c2cd23f",
|
||||||
|
"image_id": "Attempt to boot from volume - no image supplied",
|
||||||
|
"image_name": null,
|
||||||
|
"key_pair": "Giancarlo Panichi",
|
||||||
|
"metadata": null,
|
||||||
|
"name": "access",
|
||||||
|
"network": [
|
||||||
|
{
|
||||||
|
"access_network": false,
|
||||||
|
"fixed_ip_v4": "10.1.43.47",
|
||||||
|
"fixed_ip_v6": "",
|
||||||
|
"floating_ip": "",
|
||||||
|
"mac": "fa:16:3e:e2:46:31",
|
||||||
|
"name": "d4s-production-cloud-main",
|
||||||
|
"port": "",
|
||||||
|
"uuid": "020df98d-ae72-452a-b376-3b6dc289acac"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"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-04-19 12:07:34 +0000 UTC",
|
||||||
|
"user_data": "47d4769e61324c305c4b70ed6673de4fad84150d",
|
||||||
|
"vendor_options": [],
|
||||||
|
"volume": []
|
||||||
|
},
|
||||||
|
"sensitive_attributes": [],
|
||||||
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxODAwMDAwMDAwMDAwLCJkZWxldGUiOjE4MDAwMDAwMDAwMDAsInVwZGF0ZSI6MTgwMDAwMDAwMDAwMH19",
|
||||||
|
"dependencies": [
|
||||||
|
"data.terraform_remote_state.privnet_dns_router"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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": "access-service",
|
||||||
|
"schema_version": 0,
|
||||||
|
"attributes": {
|
||||||
|
"description": "Access access",
|
||||||
|
"disable_status_check": false,
|
||||||
|
"id": "74135b34-1a9c-4c01-8cf0-22450a5660c4/b36078da-4666-495c-b524-0239e065711c",
|
||||||
|
"name": "access.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
|
||||||
|
}
|
|
@ -0,0 +1,152 @@
|
||||||
|
# Define required providers
|
||||||
|
terraform {
|
||||||
|
required_version = ">= 0.14.0"
|
||||||
|
required_providers {
|
||||||
|
openstack = {
|
||||||
|
source = "terraform-provider-openstack/openstack"
|
||||||
|
version = ">= 1.54.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
data "terraform_remote_state" "privnet_dns_router" {
|
||||||
|
backend = "local"
|
||||||
|
|
||||||
|
config = {
|
||||||
|
path = "../project-setup/terraform.tfstate"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
data "terraform_remote_state" "infrastructure_setup" {
|
||||||
|
backend = "local"
|
||||||
|
|
||||||
|
config = {
|
||||||
|
path = "../basic-infrastructure/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_networking_secgroup_v2" "accounting_dashboard_db_access_list" {
|
||||||
|
name = "accounting_dashboard_db_access_list"
|
||||||
|
delete_default_rules = "true"
|
||||||
|
description = "Allowed connections to the accounting dashboard database"
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "openstack_networking_secgroup_rule_v2" "access_to_the_accounting_dashboard_db" {
|
||||||
|
for_each = toset([var.accounting_dashoard_allowed_sources.infrascience_net, var.accounting_dashoard_allowed_sources.google_datastudio1, var.accounting_dashoard_allowed_sources.google_datastudio2, var.accounting_dashoard_allowed_sources.google_datastudio3, var.accounting_dashoard_allowed_sources.google_datastudio4, var.accounting_dashoard_allowed_sources.google_datastudio5, var.accounting_dashoard_allowed_sources.google_datastudio6, var.accounting_dashoard_allowed_sources.google_datastudio7, var.accounting_dashoard_allowed_sources.google_datastudio8, var.accounting_dashoard_allowed_sources.google_datastudio9, var.accounting_dashoard_allowed_sources.google_datastudio10, var.accounting_dashoard_allowed_sources.google_datastudio11, var.accounting_dashoard_allowed_sources.google_datastudio12, var.accounting_dashoard_allowed_sources.google_datastudio13, var.accounting_dashoard_allowed_sources.openstack_production])
|
||||||
|
security_group_id = openstack_networking_secgroup_v2.accounting_dashboard_db_access_list.id
|
||||||
|
description = "Access to the Accounting Dashboard DB"
|
||||||
|
direction = "ingress"
|
||||||
|
ethertype = "IPv4"
|
||||||
|
protocol = "tcp"
|
||||||
|
port_range_min = 5432
|
||||||
|
port_range_max = 5432
|
||||||
|
remote_ip_prefix = each.value
|
||||||
|
}
|
||||||
|
|
||||||
|
# Block device
|
||||||
|
resource "openstack_blockstorage_volume_v3" "accounting_dashboard_db_data_vol" {
|
||||||
|
name = var.accounting_dashboard_db_data.vol_data_name
|
||||||
|
size = var.accounting_dashboard_db_data.vol_data_size
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Ports in the timescaleDB network
|
||||||
|
resource "openstack_networking_port_v2" "accounting_dashboard_port_on_main_net" {
|
||||||
|
name = "accounting_dashboard_port_on_main_net"
|
||||||
|
network_id = data.terraform_remote_state.privnet_dns_router.outputs.main_private_network_id
|
||||||
|
admin_state_up = "true"
|
||||||
|
fixed_ip {
|
||||||
|
subnet_id = data.terraform_remote_state.privnet_dns_router.outputs.main_subnet_network_id
|
||||||
|
}
|
||||||
|
security_group_ids = [
|
||||||
|
openstack_networking_secgroup_v2.accounting_dashboard_db_access_list.id,
|
||||||
|
data.terraform_remote_state.infrastructure_setup.outputs.default_security_group.id
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
# Instance
|
||||||
|
resource "openstack_compute_instance_v2" "accounting_dashboard_db_server" {
|
||||||
|
name = var.accounting_dashboard_db_data.name
|
||||||
|
availability_zone_hints = module.common_variables.availability_zone_no_gpu_name
|
||||||
|
flavor_name = var.accounting_dashboard_db_data.flavor
|
||||||
|
key_pair = module.ssh_settings.ssh_key_name
|
||||||
|
security_groups = [data.terraform_remote_state.infrastructure_setup.outputs.default_security_group.name, data.terraform_remote_state.infrastructure_setup.outputs.access_postgresql_security_group.name, openstack_networking_secgroup_v2.accounting_dashboard_db_access_list.name]
|
||||||
|
block_device {
|
||||||
|
uuid = module.common_variables.ubuntu_2204.uuid
|
||||||
|
source_type = "image"
|
||||||
|
volume_size = 10
|
||||||
|
boot_index = 0
|
||||||
|
destination_type = "volume"
|
||||||
|
delete_on_termination = false
|
||||||
|
}
|
||||||
|
|
||||||
|
network {
|
||||||
|
name = module.common_variables.networks_list.shared_postgresql
|
||||||
|
fixed_ip_v4 = var.accounting_dashboard_db_data.server_ip
|
||||||
|
}
|
||||||
|
user_data = file("${module.common_variables.ubuntu2204_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" "accounting_dashboard_db_data_attach_vol" {
|
||||||
|
instance_id = openstack_compute_instance_v2.accounting_dashboard_db_server.id
|
||||||
|
volume_id = openstack_blockstorage_volume_v3.accounting_dashboard_db_data_vol.id
|
||||||
|
device = var.accounting_dashboard_db_data.vol_data_device
|
||||||
|
depends_on = [openstack_compute_instance_v2.accounting_dashboard_db_server]
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "openstack_compute_interface_attach_v2" "main_network_to_accounting_dashboard" {
|
||||||
|
instance_id = openstack_compute_instance_v2.accounting_dashboard_db_server.id
|
||||||
|
port_id = openstack_networking_port_v2.accounting_dashboard_port_on_main_net.id
|
||||||
|
}
|
||||||
|
# Floating IP and DNS record
|
||||||
|
resource "openstack_networking_floatingip_v2" "accounting_dashboard_db_ip" {
|
||||||
|
pool = data.terraform_remote_state.privnet_dns_router.outputs.floating_ip_pools.main_public_ip_pool
|
||||||
|
# The DNS association does not work because of a bug in the OpenStack API
|
||||||
|
description = "Accounting dashboard"
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "openstack_networking_floatingip_associate_v2" "accounting_dashboard_db" {
|
||||||
|
floating_ip = openstack_networking_floatingip_v2.accounting_dashboard_db_ip.address
|
||||||
|
port_id = openstack_networking_port_v2.accounting_dashboard_port_on_main_net.id
|
||||||
|
}
|
||||||
|
|
||||||
|
locals {
|
||||||
|
accounting_dashboard_recordset_name = "accounting-dashboard-db.${data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name}"
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "openstack_dns_recordset_v2" "accounting_dashboard_recordset" {
|
||||||
|
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||||
|
name = local.accounting_dashboard_recordset_name
|
||||||
|
description = "Public IP address of the Accounting Dashboard"
|
||||||
|
ttl = 8600
|
||||||
|
type = "A"
|
||||||
|
records = [openstack_networking_floatingip_v2.accounting_dashboard_db_ip.address]
|
||||||
|
}
|
||||||
|
|
||||||
|
output "accounting_dashboard_public_ip_address" {
|
||||||
|
value = openstack_networking_floatingip_v2.accounting_dashboard_db_ip.address
|
||||||
|
}
|
||||||
|
|
||||||
|
output "accounting_dashboard_hostname" {
|
||||||
|
value = openstack_dns_recordset_v2.accounting_dashboard_recordset.name
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
provider "openstack" {
|
||||||
|
cloud = "d4s-production"
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,35 @@
|
||||||
|
#Accounting Dashboard DB variables
|
||||||
|
|
||||||
|
variable "accounting_dashboard_db_data" {
|
||||||
|
type = map(string)
|
||||||
|
default = {
|
||||||
|
name = "accounting-dashboard-db-server"
|
||||||
|
flavor = "m1.medium"
|
||||||
|
vol_data_name = "accounting-dashboard-db-data"
|
||||||
|
vol_data_size = "10"
|
||||||
|
vol_data_device = "/dev/vdb"
|
||||||
|
server_ip = "192.168.0.10"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "accounting_dashoard_allowed_sources" {
|
||||||
|
type = map(string)
|
||||||
|
default = {
|
||||||
|
"infrascience_net" = "146.48.122.0/23"
|
||||||
|
"google_datastudio1" = "64.18.0.0/20"
|
||||||
|
"google_datastudio2" = "64.233.160.0/19"
|
||||||
|
"google_datastudio3" = "66.102.0.0/20"
|
||||||
|
"google_datastudio4" = "66.249.80.0/20"
|
||||||
|
"google_datastudio5" = "72.14.192.0/18"
|
||||||
|
"google_datastudio6" = "74.125.0.0/16"
|
||||||
|
"google_datastudio7" = "108.177.8.0/21"
|
||||||
|
"google_datastudio8" = "173.194.0.0/16"
|
||||||
|
"google_datastudio9" = "207.126.144.0/20"
|
||||||
|
"google_datastudio10" = "209.85.128.0/17"
|
||||||
|
"google_datastudio11" = "216.58.192.0/19"
|
||||||
|
"google_datastudio12" = "216.239.32.0/19"
|
||||||
|
"google_datastudio13" = "142.251.74.0/23"
|
||||||
|
"openstack_production" = "146.48.31.57/32"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
# Instance
|
||||||
|
resource "openstack_compute_instance_v2" "aggregator_ariadne" {
|
||||||
|
name = "aggregator-ariadne"
|
||||||
|
availability_zone_hints = module.common_variables.availability_zone_no_gpu_name
|
||||||
|
flavor_name = module.common_variables.flavor_list.m1_medium
|
||||||
|
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 = 30
|
||||||
|
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])
|
||||||
|
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
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,94 @@
|
||||||
|
resource "openstack_blockstorage_volume_v3" "graphdb_ariadne_data_volume" {
|
||||||
|
name = "graphdb_ariadne_data_volume"
|
||||||
|
size = "200"
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "openstack_blockstorage_volume_v3" "graphdb_test_ariadne_data_volume" {
|
||||||
|
name = "graphdb_test_ariadne_data_volume"
|
||||||
|
size = "100"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Instances
|
||||||
|
resource "openstack_compute_instance_v2" "graphdb_ariadne" {
|
||||||
|
name = "graphdb-ariadne"
|
||||||
|
availability_zone_hints = module.common_variables.availability_zone_no_gpu_name
|
||||||
|
flavor_name = module.common_variables.flavor_list.d1_large
|
||||||
|
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 = 20
|
||||||
|
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])
|
||||||
|
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" "graphdb_test_ariadne" {
|
||||||
|
name = "graphdb-test-ariadne"
|
||||||
|
availability_zone_hints = module.common_variables.availability_zone_no_gpu_name
|
||||||
|
flavor_name = module.common_variables.flavor_list.d1_large
|
||||||
|
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 = 20
|
||||||
|
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])
|
||||||
|
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" "graphdb_ariadne_attach" {
|
||||||
|
instance_id = openstack_compute_instance_v2.graphdb_ariadne.id
|
||||||
|
volume_id = openstack_blockstorage_volume_v3.graphdb_ariadne_data_volume.id
|
||||||
|
device = "/dev/vdb"
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "openstack_compute_volume_attach_v2" "graphdb_test_ariadne_attach" {
|
||||||
|
instance_id = openstack_compute_instance_v2.graphdb_test_ariadne.id
|
||||||
|
volume_id = openstack_blockstorage_volume_v3.graphdb_test_ariadne_data_volume.id
|
||||||
|
device = "/dev/vdb"
|
||||||
|
}
|
|
@ -0,0 +1,92 @@
|
||||||
|
# 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"
|
||||||
|
}
|
||||||
|
|
||||||
|
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 = {
|
||||||
|
graphdb-ariadne = {
|
||||||
|
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||||
|
name = join(".", ["graphdb-ariadne", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||||
|
description = "Graphdb graphdb-ariadne"
|
||||||
|
ttl = 8600
|
||||||
|
type = "CNAME"
|
||||||
|
records = [local.cname_target]
|
||||||
|
},
|
||||||
|
graphdb-test-ariadne = {
|
||||||
|
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||||
|
name = join(".", ["graphdb-test-ariadne", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||||
|
description = "Graphdb graphdb-test-ariadne"
|
||||||
|
ttl = 8600
|
||||||
|
type = "CNAME"
|
||||||
|
records = [local.cname_target]
|
||||||
|
},
|
||||||
|
aggregator-ariadne = {
|
||||||
|
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||||
|
name = join(".", ["aggregator-ariadne", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||||
|
description = "Aggregator aggregator-ariadne"
|
||||||
|
ttl = 8600
|
||||||
|
type = "CNAME"
|
||||||
|
records = [local.cname_target]
|
||||||
|
},
|
||||||
|
opensearch-ariadne = {
|
||||||
|
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||||
|
name = join(".", ["opensearch-ariadne", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||||
|
description = "OpenSearch opensearch-ariadne"
|
||||||
|
ttl = 8600
|
||||||
|
type = "CNAME"
|
||||||
|
records = [local.cname_target]
|
||||||
|
},
|
||||||
|
opensearch-test-ariadne = {
|
||||||
|
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||||
|
name = join(".", ["opensearch-test-ariadne", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||||
|
description = "OpenSearch opensearch-test-ariadne"
|
||||||
|
ttl = 8600
|
||||||
|
type = "CNAME"
|
||||||
|
records = [local.cname_target]
|
||||||
|
},
|
||||||
|
solr-ariadne = {
|
||||||
|
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||||
|
name = join(".", ["solr-ariadne", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||||
|
description = "Solr solr-ariadne"
|
||||||
|
ttl = 8600
|
||||||
|
type = "CNAME"
|
||||||
|
records = [local.cname_target]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,73 @@
|
||||||
|
# Instance
|
||||||
|
resource "openstack_compute_instance_v2" "opensearch_ariadne" {
|
||||||
|
name = "opensearch-ariadne"
|
||||||
|
availability_zone_hints = module.common_variables.availability_zone_no_gpu_name
|
||||||
|
flavor_name = module.common_variables.flavor_list.m2_medium
|
||||||
|
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])
|
||||||
|
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" "opensearch_test_ariadne" {
|
||||||
|
name = "opensearch-test-ariadne"
|
||||||
|
availability_zone_hints = module.common_variables.availability_zone_no_gpu_name
|
||||||
|
flavor_name = module.common_variables.flavor_list.m2_small
|
||||||
|
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 = 30
|
||||||
|
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])
|
||||||
|
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
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
provider "openstack" {
|
||||||
|
cloud = "d4s-production"
|
||||||
|
}
|
|
@ -0,0 +1,36 @@
|
||||||
|
# Instance
|
||||||
|
resource "openstack_compute_instance_v2" "solr_ariadne" {
|
||||||
|
name = "solr-ariadne"
|
||||||
|
availability_zone_hints = module.common_variables.availability_zone_no_gpu_name
|
||||||
|
flavor_name = module.common_variables.flavor_list.m1_large
|
||||||
|
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 = 100
|
||||||
|
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])
|
||||||
|
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
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,91 @@
|
||||||
|
# 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 "instance_without_data_volume" {
|
||||||
|
source = "../../modules/instance_without_data_volume"
|
||||||
|
|
||||||
|
instances_without_data_volume_map = {
|
||||||
|
auth1 = {
|
||||||
|
name = "auth1",
|
||||||
|
description = "This instance is a Authorization service",
|
||||||
|
flavor = module.common_variables.flavor_list.m1_medium,
|
||||||
|
networks = [data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.name, module.common_variables.networks_list.shared_postgresql],
|
||||||
|
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],
|
||||||
|
server_groups_ids = [],
|
||||||
|
image_ref = module.common_variables.ubuntu_1804
|
||||||
|
image_volume_size = 20
|
||||||
|
},
|
||||||
|
auth2 = {
|
||||||
|
name = "auth2",
|
||||||
|
description = "This instance is a Authorization service",
|
||||||
|
flavor = module.common_variables.flavor_list.m1_medium,
|
||||||
|
networks = [data.terraform_remote_state.privnet_dns_router.outputs.main_private_network.name, module.common_variables.networks_list.shared_postgresql],
|
||||||
|
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],
|
||||||
|
server_groups_ids = [],
|
||||||
|
image_ref = module.common_variables.ubuntu_1804
|
||||||
|
image_volume_size = 20
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
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 = {
|
||||||
|
auth1 = {
|
||||||
|
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||||
|
name = join(".", ["auth1", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||||
|
description = "Authorization auth1"
|
||||||
|
ttl = 8600
|
||||||
|
type = "CNAME"
|
||||||
|
records = [local.cname_target]
|
||||||
|
},
|
||||||
|
auth2 = {
|
||||||
|
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||||
|
name = join(".", ["auth2", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||||
|
description = "Authorization auth2"
|
||||||
|
ttl = 8600
|
||||||
|
type = "CNAME"
|
||||||
|
records = [local.cname_target]
|
||||||
|
},
|
||||||
|
authorization = {
|
||||||
|
zone_id = data.terraform_remote_state.privnet_dns_router.outputs.dns_zone_id
|
||||||
|
name = join(".", ["authorization", data.terraform_remote_state.privnet_dns_router.outputs.dns_zone.zone_name])
|
||||||
|
description = "Authorization load balancer"
|
||||||
|
ttl = 8600
|
||||||
|
type = "CNAME"
|
||||||
|
records = [local.cname_target]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue