Add another DC.

This commit is contained in:
Mikael Frykholm 2024-04-19 15:36:43 +02:00
parent 20dd385bed
commit 3c8692bfc9
Signed by: mifr
GPG key ID: 1467F9D69135C236
2 changed files with 59 additions and 0 deletions

View file

@ -52,5 +52,7 @@ ceph mon enable-msgr2
ceph mgr module enable pg_autoscaler
ceph config set mon auth_allow_insecure_global_id_reclaim false
#Create storage disk
sudo growpart --free-percent=80 /dev/sda 1
#FIXME create partition
ceph-volume lvm create --data /dev/sda2

57
main.tf
View file

@ -5,6 +5,7 @@ required_version = ">= 0.14.0"
openstack = {
source = "terraform-provider-openstack/openstack"
version = "~> 1.53.0"
configuration_aliases = [ openstack.sto4 ]
}
}
}
@ -13,11 +14,34 @@ required_version = ">= 0.14.0"
provider "openstack" {
cloud = "dco-platform"
}
provider "openstack" {
cloud = "sto4-platform"
alias = "sto4"
}
resource "openstack_networking_secgroup_v2" "ssh-jump-tofu-sto4" {
provider = openstack.sto4
description = "SSH from jumphost rule for SWAMID machine - managed by tofu"
name = "ssh-jump-tofu"
delete_default_rules = false
}
resource "openstack_networking_secgroup_v2" "ssh-jump-tofu" {
description = "SSH from jumphost rule for SWAMID machine - managed by tofu"
name = "ssh-jump-tofu"
delete_default_rules = false
}
resource "openstack_networking_secgroup_rule_v2" "v4-jump-sto4" {
provider = openstack.sto4
for_each = var.jump_hosts
direction = "ingress"
ethertype = "IPv4"
port_range_min = 22
port_range_max = 22
protocol = "tcp"
remote_ip_prefix = each.value["v4"]
security_group_id = "${openstack_networking_secgroup_v2.ssh-jump-tofu-sto4.id}"
}
resource "openstack_networking_secgroup_rule_v2" "v4-jump" {
for_each = var.jump_hosts
direction = "ingress"
@ -29,6 +53,17 @@ resource "openstack_networking_secgroup_rule_v2" "v4-jump" {
security_group_id = openstack_networking_secgroup_v2.ssh-jump-tofu.id
}
resource "openstack_networking_secgroup_rule_v2" "v6-jump-sto4" {
provider = openstack.sto4
for_each = var.jump_hosts
direction = "ingress"
ethertype = "IPv6"
port_range_min = 22
port_range_max = 22
protocol = "tcp"
remote_ip_prefix = each.value["v6"]
security_group_id = openstack_networking_secgroup_v2.ssh-jump-tofu-sto4.id
}
resource "openstack_networking_secgroup_rule_v2" "v6-jump" {
for_each = var.jump_hosts
direction = "ingress"
@ -39,6 +74,28 @@ resource "openstack_networking_secgroup_rule_v2" "v6-jump" {
remote_ip_prefix = each.value["v6"]
security_group_id = openstack_networking_secgroup_v2.ssh-jump-tofu.id
}
resource "openstack_compute_instance_v2" "ceph-nodes-sto4" {
provider = openstack.sto4
count = var.instance_count
name = "${var.instance_name}-${count.index}.${var.dns_suffix}"
flavor_name = "${var.instance_type}"
key_pair = "mifr-yubi"
security_groups = ["ssh-jump-tofu",]
image_name = "debian-12"
user_data = "#cloud-config\ngrowpart:\nmode: false"
block_device {
boot_index = 0
delete_on_termination = true
destination_type = "local"
source_type = "image"
uuid = "5d24aca9-11be-4de1-9770-4a097d68f361"
volume_size = 20
}
network {
name = "public"
}
}
resource "openstack_compute_instance_v2" "ceph-nodes" {
count = var.instance_count
name = "${var.instance_name}-${count.index}.${var.dns_suffix}"