Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Taskfile.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ tasks:
TF_COMMAND: destroy

plan:
desc: get remote_fqdn
desc: plan
deps:
- task: run_tf_command
vars:
Expand All @@ -69,7 +69,7 @@ tasks:
TF_COMMAND: output -raw REMOTE_FQDN

get_remote_user:
desc: get remote_fqdn
desc: get remote_user
deps:
- task: run_tf_command
vars:
Expand Down
4 changes: 0 additions & 4 deletions data__openstack_blockstorage_volume_v3.tf

This file was deleted.

2 changes: 1 addition & 1 deletion data__openstack_images_image_v2.tf
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
data openstack_images_image_v2 base_image {
name = var.BASE_IMAGE
most_recent = true
}
}
3 changes: 0 additions & 3 deletions data__openstack_networking_floatingip_v2.tf

This file was deleted.

10 changes: 8 additions & 2 deletions data__openstack_networking_network_v2.tf
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
data openstack_networking_network_v2 private {
name = "private"
}
name = local.INSTANCE_NETWORK
}


data "openstack_networking_subnet_ids_v2" "intra_subnets" {
network_id = openstack_networking_network_v2.intra_network.id
}

31 changes: 13 additions & 18 deletions resources__openstack_compute_instance_v2.tf
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
resource openstack_blockstorage_volume_v3 persistent-volumes {
for_each = local.PERSISTENT_VOLUMES_NAME
name = each.value
size = 77
}

resource openstack_networking_floatingip_v2 instance {
pool = "public-2"
}

resource openstack_compute_instance_v2 instance {
name = var.INSTANCE_FQDN
image_id = data.openstack_images_image_v2.base_image.id
Expand All @@ -9,30 +19,15 @@ resource openstack_compute_instance_v2 instance {
port = openstack_networking_port_v2.instance.id
}

#user_data = templatefile("${path.module}/user_data.tmpl", {
# fqdn = local.INSTANCE_FQDN
# timezone = local.TIMEZONE
# ntp_servers = local.NTP_SERVERS
# ssh_authorized_keys = data.external.ssh_authorized_keys.result
# ssh_host_keys = data.external.ssh_host_keys.result
#})
connection {
type = "ssh"
agent = true
host = data.openstack_networking_floatingip_v2.instance.address
host = openstack_networking_floatingip_v2.instance.address
user = var.REMOTE_USER
}
provisioner remote-exec {
inline = [ "hostname" ]
}
#provisioner "local-exec" {
# environment = {
# REMOTE_USER = var.REMOTE_USER
# REMOTE_FQDN = data.openstack_networking_floatingip_v2.instance.address
# }
# working_dir = dirname(abspath(path.root))
# command = "pwd && task provisioner:install"
#
#}

}
}

5 changes: 3 additions & 2 deletions resources__openstack_compute_volume_attach_v2.tf
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@

resource openstack_compute_volume_attach_v2 persistent-volumes {
for_each = data.openstack_blockstorage_volume_v3.persistent-volumes
for_each = openstack_blockstorage_volume_v3.persistent-volumes
instance_id = openstack_compute_instance_v2.instance.id
volume_id = each.value.id
}
}
6 changes: 4 additions & 2 deletions resources__openstack_networking_floatingip_associate_v2.tf
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@


resource openstack_networking_floatingip_associate_v2 instance {
floating_ip = data.openstack_networking_floatingip_v2.instance.address
floating_ip = openstack_networking_floatingip_v2.instance.address
port_id = openstack_networking_port_v2.instance.id
}
}
31 changes: 31 additions & 0 deletions resources__openstack_networking_network_v2.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@


resource "openstack_networking_network_v2" "intra_network" {
name = "jup-ng-staging"
}


resource "openstack_networking_subnet_v2" "intra_subnet" {
network_id = openstack_networking_network_v2.intra_network.id
name = "main"
cidr = "192.168.0.0/24"
gateway_ip = "192.168.0.254"
dns_nameservers = ["8.8.8.8"]
}

resource "openstack_networking_router_v2" "jup_ng_router" {
name = "jup-ng"
external_network_id = data.openstack_networking_network_v2.private.id
}

resource "openstack_networking_router_interface_v2" "jup_ng_interface" {
router_id = openstack_networking_router_v2.jup_ng_router.id
subnet_id = openstack_networking_subnet_v2.intra_subnet.id
}

resource "openstack_networking_router_route_v2" "router_route_1" {
depends_on = [openstack_networking_router_interface_v2.jup_ng_interface]
router_id = openstack_networking_router_v2.jup_ng_router.id
destination_cidr = "157.136.248.0/21"
next_hop = "157.136.248.1"
}
15 changes: 13 additions & 2 deletions resources__openstack_networking_port_v2.tf
Original file line number Diff line number Diff line change
@@ -1,6 +1,17 @@


resource "openstack_networking_subnet_route_v2" "subnet_route_1" {
subnet_id = openstack_networking_subnet_v2.intra_subnet.id
destination_cidr = "157.136.248.0/21"
next_hop = "157.136.248.1"
}

resource openstack_networking_port_v2 instance {
name = local.INSTANCE_FQDN
network_id = data.openstack_networking_network_v2.private.id
network_id = openstack_networking_network_v2.intra_network.id
admin_state_up = "true"
}

fixed_ip {
subnet_id = openstack_networking_subnet_v2.intra_subnet.id
}
}
6 changes: 3 additions & 3 deletions resources__terraform_data.tf
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ resource terraform_data setup-base {
connection {
type = "ssh"
agent = true
host = data.openstack_networking_floatingip_v2.instance.address
host = openstack_networking_floatingip_v2.instance.address
user = var.REMOTE_USER
}
provisioner file {
Expand All @@ -31,12 +31,12 @@ resource terraform_data setup-persistent-volume {
terraform_data.setup-base
]

for_each = data.openstack_blockstorage_volume_v3.persistent-volumes
for_each = openstack_blockstorage_volume_v3.persistent-volumes

connection {
type = "ssh"
agent = true
host = data.openstack_networking_floatingip_v2.instance.address
host = openstack_networking_floatingip_v2.instance.address
user = var.REMOTE_USER
}

Expand Down
1 change: 1 addition & 0 deletions terraform__locals.tf
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ locals {
#NTP_SERVERS = jsondecode(var.NTP_SERVERS)
#INSTANCE_FLAVOR = var.INSTANCE_FLAVOR
INSTANCE_FQDN = var.INSTANCE_FQDN
INSTANCE_NETWORK = var.INSTANCE_NETWORK
INSTANCE_SECGROUP = var.INSTANCE_SECGROUP
DEFAULT_SECGROUP = var.DEFAULT_SECGROUP
#INSTANCE_ROLE = var.INSTANCE_ROLE
Expand Down
2 changes: 1 addition & 1 deletion terraform__outputs.tf
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
output REMOTE_FQDN {
value = data.openstack_networking_floatingip_v2.instance.address
value = openstack_networking_floatingip_v2.instance.address
}
output REMOTE_USER {
value = var.REMOTE_USER
Expand Down
3 changes: 3 additions & 0 deletions terraform__variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@ variable SSH_HOST_KEYS_DIR {
variable INSTANCE_FQDN {
type = string
}
variable INSTANCE_NETWORK {
type = string
}
variable INSTANCE_SECGROUP {
type = string
}
Expand Down