summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPedro Alvarez <pedro.alvarez@codethink.co.uk>2021-08-18 15:10:17 +0200
committerPedro Alvarez <pedro.alvarez@codethink.co.uk>2021-08-18 15:10:17 +0200
commit93c82eb95fd4f9a50974e8ec17c1fbabe498aa03 (patch)
treecd39bb9df2835ff782b24032bd5decfdc466384f
parent052cd1ad1d6ed31a835a390479e354fd87fcc6cf (diff)
downloadinfrastructure-93c82eb95fd4f9a50974e8ec17c1fbabe498aa03.tar.gz
terraform gbo wip
-rw-r--r--terraform/base.tf10
-rw-r--r--terraform/infra.tf72
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"
+}
+