From 93c82eb95fd4f9a50974e8ec17c1fbabe498aa03 Mon Sep 17 00:00:00 2001 From: Pedro Alvarez Date: Wed, 18 Aug 2021 15:10:17 +0200 Subject: terraform gbo wip --- terraform/base.tf | 10 +------- terraform/infra.tf | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 72 insertions(+), 10 deletions(-) diff --git a/terraform/base.tf b/terraform/base.tf index 90c9e65b..45599c73 100644 --- a/terraform/base.tf +++ b/terraform/base.tf @@ -15,21 +15,13 @@ provider "openstack" { } -data "openstack_images_image_v2" "ubuntu" { - name = "Ubuntu 20.04 Focal Fossa 20210616" - most_recent = true - - properties = { - key = "value" - } -} - locals { username = "cloud" image_name = "Ubuntu 20.04 Focal Fossa 20200423" name_prefix = "bazel-poc" flavor_name_frontend = "1C-1GB-20GB" flavor_name_webserver = "1C-2GB-20GB" + flavor_name_gbo = "4C-8GB" } diff --git a/terraform/infra.tf b/terraform/infra.tf index 45cb9402..26ee967b 100644 --- a/terraform/infra.tf +++ b/terraform/infra.tf @@ -62,7 +62,7 @@ data "openstack_compute_flavor_v2" "flavor_webserver" { } resource "openstack_networking_port_v2" "webserver_port" { - name = "port_1" + name = "webserver_port" network_id = "${openstack_networking_network_v2.baserock_network.id}" admin_state_up = "true" @@ -108,3 +108,73 @@ resource "openstack_compute_volume_attach_v2" "volume_attach_webserver" { volume_id = "${openstack_blockstorage_volume_v2.volume_webserver.id}" device = "/dev/vdb" } + +# g.b.o + +data "openstack_images_image_v2" "gbo_image_id" { + name = "lon-snap-git.baserock.org-new" + most_recent = true +} + +data "openstack_compute_flavor_v2" "flavor_gbo" { + name = local.flavor_name_gbo +} + + + +resource "openstack_networking_port_v2" "gbo_port" { + name = "gbo_port" + network_id = "${openstack_networking_network_v2.baserock_network.id}" + admin_state_up = "true" + + fixed_ip { + subnet_id = "${openstack_networking_subnet_v2.baserock_subnet.id}" + ip_address = "10.3.0.4" + } +} + + +resource "openstack_networking_floatingip_v2" "floatip_gbo" { + pool = "ext-net" +} + +resource "openstack_networking_floatingip_associate_v2" "floatip_associate_gbo" { + floating_ip = "${openstack_networking_floatingip_v2.floatip_gbo.address}" + port_id = "${openstack_networking_port_v2.gbo_port.id}" +} + +resource "openstack_compute_instance_v2" "baserock_gbo" { + name = "git.baserock.org-debian" + image_id = data.openstack_images_image_v2.gbo_image_id.id + flavor_id = data.openstack_compute_flavor_v2.flavor_gbo.id + key_pair = "${openstack_compute_keypair_v2.pedro-keypair.name}" + + security_groups = [ + "${openstack_networking_secgroup_v2.sg_base.name}", + "${openstack_networking_secgroup_v2.sg_git_server.name}", + ] + network { + port = "${openstack_networking_port_v2.gbo_port.id}" + } + + lifecycle { + ignore_changes = [ + # Ignore changes to base image + image_id, + # Ignore changes to key_pairs + key_pair, + ] + } +} + +resource "openstack_blockstorage_volume_v2" "volume_gbo" { + name = "git.baserock.org-srv" + size = 300 +} + +resource "openstack_compute_volume_attach_v2" "volume_attach_gbo" { + instance_id = "${openstack_compute_instance_v2.baserock_gbo.id}" + volume_id = "${openstack_blockstorage_volume_v2.volume_gbo.id}" + device = "/dev/vdb" +} + -- cgit v1.2.1