From 347823eb5724cce86036b28f384d91cf5f8e4a46 Mon Sep 17 00:00:00 2001 From: Pedro Alvarez Date: Tue, 17 Aug 2021 17:41:19 +0200 Subject: Adding webserver with volume and misc --- terraform/infra.tf | 66 ++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 59 insertions(+), 7 deletions(-) diff --git a/terraform/infra.tf b/terraform/infra.tf index d1df3f1c..cd28f51c 100644 --- a/terraform/infra.tf +++ b/terraform/infra.tf @@ -1,17 +1,17 @@ -data "openstack_compute_flavor_v2" "flavor_frontend" { - name = local.flavor_name_frontend -} - data "openstack_images_image_v2" "image_id" { name = local.image_name most_recent = true } +# Frontend +data "openstack_compute_flavor_v2" "flavor_frontend" { + name = local.flavor_name_frontend +} + resource "openstack_networking_port_v2" "frontend_port" { name = "port_1" network_id = "${openstack_networking_network_v2.baserock_network.id}" admin_state_up = "true" - security_group_ids = ["${openstack_networking_secgroup_v2.sg_base.id}"] fixed_ip { subnet_id = "${openstack_networking_subnet_v2.baserock_subnet.id}" @@ -19,8 +19,6 @@ resource "openstack_networking_port_v2" "frontend_port" { } } - -# Create instance resource "openstack_compute_instance_v2" "baserock_frontend" { name = "frontend-haproxy" image_id = data.openstack_images_image_v2.image_id.id @@ -31,6 +29,7 @@ resource "openstack_compute_instance_v2" "baserock_frontend" { "${openstack_networking_secgroup_v2.sg_base.name}", "${openstack_networking_secgroup_v2.sg_gitlab_bot.name}", "${openstack_networking_secgroup_v2.sg_web_server.name}", + "${openstack_networking_secgroup_v2.sg_haste_server.name}", "${openstack_networking_secgroup_v2.sg_shared_artifact_cache.name}", ] network { @@ -45,5 +44,58 @@ resource "openstack_compute_instance_v2" "baserock_frontend" { key_pair, ] } +} + + +# Webserver +data "openstack_compute_flavor_v2" "flavor_webserver" { + name = local.flavor_name_webserver +} + +resource "openstack_networking_port_v2" "webserver_port" { + name = "port_1" + 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.13" + } +} + +resource "openstack_compute_instance_v2" "baserock_webserver" { + name = "webserver" + image_id = data.openstack_images_image_v2.image_id.id + flavor_id = data.openstack_compute_flavor_v2.flavor_webserver.id + key_pair = "${openstack_compute_keypair_v2.pedro-keypair.name}" + + security_groups = [ + "${openstack_networking_secgroup_v2.sg_base.name}", + "${openstack_networking_secgroup_v2.sg_gitlab_bot.name}", + "${openstack_networking_secgroup_v2.sg_web_server.name}", + "${openstack_networking_secgroup_v2.sg_haste_server.name}", + ] + network { + port = "${openstack_networking_port_v2.webserver_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_webserver" { + name = "webserver-volume" + size = 150 +} +resource "openstack_compute_volume_attach_v2" "volume_attach_webserver" { + instance_id = "${openstack_compute_instance_v2.baserock_webserver.id}" + volume_id = "${openstack_blockstorage_volume_v2.volume_webserver.id}" + device = "/dev/vdb" } -- cgit v1.2.1