Added storagehub-3 on Ubuntu 24.04
This commit is contained in:
parent
75d73502d4
commit
a494d283f9
|
@ -34,8 +34,13 @@ resource "openstack_blockstorage_volume_v3" "storagehub_2204_1_dev_data_volume"
|
|||
size = "25"
|
||||
}
|
||||
|
||||
resource "openstack_blockstorage_volume_v3" "storagehub_3_dev_data_volume" {
|
||||
name = "storagehub_3_data_volume"
|
||||
size = "25"
|
||||
}
|
||||
|
||||
# Instances
|
||||
|
||||
# Instance 22.04
|
||||
resource "openstack_compute_instance_v2" "storagehub_2204_1_dev" {
|
||||
name = "storagehub-2204-1"
|
||||
availability_zone_hints = module.common_variables.availability_zone_no_gpu_name
|
||||
|
@ -73,12 +78,56 @@ resource "openstack_compute_instance_v2" "storagehub_2204_1_dev" {
|
|||
}
|
||||
|
||||
|
||||
# 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_2204_1_dev_attach" {
|
||||
instance_id = openstack_compute_instance_v2.storagehub_2204_1_dev.id
|
||||
volume_id = openstack_blockstorage_volume_v3.storagehub_2204_1_dev_data_volume.id
|
||||
device = "/dev/vdb"
|
||||
}
|
||||
|
||||
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 {
|
||||
|
@ -99,6 +148,14 @@ module "dns_records_create" {
|
|||
ttl = 8600
|
||||
type = "CNAME"
|
||||
records = [local.cname_target]
|
||||
},
|
||||
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]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"version": 4,
|
||||
"terraform_version": "1.6.4",
|
||||
"serial": 5,
|
||||
"serial": 10,
|
||||
"lineage": "7ae19997-17fe-7f03-9bcb-e326176791ba",
|
||||
"outputs": {},
|
||||
"resources": [
|
||||
|
@ -402,7 +402,13 @@
|
|||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"attachment": [],
|
||||
"attachment": [
|
||||
{
|
||||
"device": "/dev/vdb",
|
||||
"id": "d036eaec-d5ff-448d-bd5e-fad39c45ae43",
|
||||
"instance_id": "e46a5ce6-724a-4663-9352-67e8f0e6d847"
|
||||
}
|
||||
],
|
||||
"availability_zone": "nova",
|
||||
"backup_id": "",
|
||||
"consistency_group_id": null,
|
||||
|
@ -426,6 +432,39 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"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": [],
|
||||
"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",
|
||||
|
@ -498,7 +537,7 @@
|
|||
"traffic_from_the_main_load_balancers"
|
||||
],
|
||||
"stop_before_destroy": false,
|
||||
"tags": null,
|
||||
"tags": [],
|
||||
"timeouts": null,
|
||||
"updated": "2024-07-18 09:48:21 +0000 UTC",
|
||||
"user_data": "bb83b25fd1219aa1b850ece9be8d7b0f31714608",
|
||||
|
@ -512,6 +551,92 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"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": null,
|
||||
"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",
|
||||
|
@ -541,6 +666,35 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"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",
|
||||
|
@ -572,6 +726,31 @@
|
|||
"dependencies": [
|
||||
"data.terraform_remote_state.privnet_dns_router"
|
||||
]
|
||||
},
|
||||
{
|
||||
"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"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -52,6 +52,10 @@ output "ubuntu_2204" {
|
|||
value = var.ubuntu_2204
|
||||
}
|
||||
|
||||
output "ubuntu_2404" {
|
||||
value = var.ubuntu_2404
|
||||
}
|
||||
|
||||
output "centos_7" {
|
||||
value = var.centos_7
|
||||
}
|
||||
|
@ -68,6 +72,10 @@ output "ubuntu2204_data_file" {
|
|||
value = var.ubuntu2204_data_file
|
||||
}
|
||||
|
||||
output "ubuntu2404_data_file" {
|
||||
value = var.ubuntu2404_data_file
|
||||
}
|
||||
|
||||
output "el7_data_file" {
|
||||
value = var.el7_data_file
|
||||
}
|
||||
|
|
|
@ -56,6 +56,16 @@ variable "ubuntu_2204" {
|
|||
}
|
||||
}
|
||||
|
||||
variable "ubuntu_2404" {
|
||||
type = map(string)
|
||||
default = {
|
||||
name = "Ubuntu-Noble-24.04.img"
|
||||
uuid = "fc3f705d-3cf5-4866-8ef6-ff6e2cdd4075"
|
||||
user_data_file = "../../openstack_vm_data_scripts/ubuntu2404.sh"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
variable "centos_7" {
|
||||
type = map(string)
|
||||
default = {
|
||||
|
@ -80,6 +90,10 @@ variable "ubuntu2204_data_file" {
|
|||
default = "../../openstack_vm_data_scripts/ubuntu2204.sh"
|
||||
}
|
||||
|
||||
variable "ubuntu2404_data_file" {
|
||||
default = "../../openstack_vm_data_scripts/ubuntu2404.sh"
|
||||
}
|
||||
|
||||
variable "el7_data_file" {
|
||||
default = "../../openstack_vm_data_scripts/el7.sh"
|
||||
}
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
#!/bin/bash
|
||||
|
||||
/usr/sbin/adduser --system --home /srv/ansible --shell /bin/bash --gecos "Used for the Ansible provisioning tasks" --group ansible
|
||||
|
||||
# SSH keys of users authorized to execute ansible playbooks.
|
||||
# The ones in the example belong to Andrea Dell'Amico and Tommaso Piccioli.
|
||||
# Feel free to add yours if you are entitled to run the ansible provisioning on that server
|
||||
|
||||
mkdir /srv/ansible/.ssh
|
||||
echo "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAzcHuDU7PgJwz34AsVG0E2+ZRx17ZKW1uDEGABNk3Z60/c9LTwWKPj6kcIRy6RzFJI5X+IgPJnYouXVmJsIWjVL8IRk8fP1ffJC6Fyf6H7+fCxu/Wwed5OoOCvKeZ0bEmJ1tlXFM6+EnxKqLCvz3fsNy8e4WKMnpS1hT8K6YB7PMjt60S3wOaxds1Lv4NmmgnfGM5uZFYrZCx1/GJCzNSh7AEEEUIVQ1B8xmXbet7whNiwDmiOnXSlt38dkIYT8kNMuRCj/r9wPr7FmoUCOFzUVXTcnuYagKyURrZ8QDyHbK6XQLYXgvCz/lWoErGFbDqpmBHHyvKSeLPxYfJpWJ70w== tom@tom" > /srv/ansible/.ssh/authorized_keys
|
||||
echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDZ9n6B+J5S7NPnwjejPC2WrvcRzC07WPnAoQ7ZHZ0Mv9JakyWItswzI3Drz/zI0mCamyuye+9dWz9v/ZRwUfBobVyXuptRaZIwxlMC/KsTZofpp3RHOBTteZ4/VM0VhEeiOHu+GuzNE0fRB2gsusWeMMae2cq4TjVAOMcQmJX496L703Smc14gFrP8y/P9jbC5HquuVnPR29PsW4mHidPmjdKkO7QmDfFAj44pEUGeInYOJe708C03NCpsjHw8AVdAJ6Pf16EOdDH+z8D6CByVO3s8UT0HJ85BRoIy6254/hmYLzyd/eRnCXHS/dke+ivrlA3XxG4+DmqjuJR/Jpfx adellam@semovente" >> /srv/ansible/.ssh/authorized_keys
|
||||
echo "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAvkwppFE+K5MjKqtkGJN63wkcwaqZG4HkgPqMSWrXmCfDPJ3FxjDHV9aQRJYVKZObc9+SsFc9IYXwB2A8FI0XwPkCH2hfFKDVNO4TktO/SrM+4tXbEfEDWX/PduBQLootYaMEVj++p2+s/mxVnxTAMzsR4txC9tkWR4JO4VJ2cpZfM8po4p1wA4YteW6Oiv0PqUEsLtPtBHGuCgovo8WS+qxcxpeBBnewEssgis2dzDSqx5HUmaOETAxxEHflapHWQLum0JjvXsG5jlf9jL44XJPkcHXAYk3gnhtyM0moJpUya+GX7+ttfWWvwxs0tYNDXNMRn91r1hMLWmas4D+T/Q== rcirillo@rcirillo-cnr" >> /srv/ansible/.ssh/authorized_keys
|
||||
/bin/chown -R ansible:ansible /srv/ansible
|
||||
/bin/chmod 700 /srv/ansible/.ssh
|
||||
mkdir -p /etc/sudoers.d
|
||||
echo "ansible ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/ansible-user
|
||||
/bin/chmod 600 /etc/sudoers.d/ansible-user
|
||||
|
Loading…
Reference in New Issue