From c1437a3f6956cb4180795dd05920b8c82b29eda5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=20Andr=C3=A9?= Date: Tue, 11 Feb 2025 15:53:44 +0100 Subject: [PATCH] Added basic setup for a network and VM for capev2 module --- modules/capev2/main.tf | 70 ++++++++++++++++++++---------------------- 1 file changed, 33 insertions(+), 37 deletions(-) diff --git a/modules/capev2/main.tf b/modules/capev2/main.tf index ad0ad6a..54b4b35 100644 --- a/modules/capev2/main.tf +++ b/modules/capev2/main.tf @@ -8,53 +8,49 @@ terraform { } } -# -resource "openstack_networking_network_v2" "test_network_1" { - name = "test_network_1" - admin_state_up = "true" +data "openstack_networking_network_v2" "ext_net" { + name = "ntnu-internal" } -resource "openstack_networking_subnet_v2" "test_subnet_1" { - name = "test_subnet_1" - network_id = openstack_networking_network_v2.test_network_1.id - cidr = "192.168.199.0/24" - ip_version = 4 +resource "openstack_networking_network_v2" "net_cape" { + name = "net-cape" +} +resource "openstack_networking_subnet_v2" "subnet_cape" { + network_id = openstack_networking_network_v2.net_cape.id + cidr = "10.0.2.0/24" } -resource "openstack_networking_secgroup_v2" "test_secgroup_1" { - name = "test_secgroup_1" - description = "a security group" +# Router and Interfaces +resource "openstack_networking_router_v2" "router" { + name = "router-main" + external_network_id = data.openstack_networking_network_v2.ext_net.id } -resource "openstack_networking_secgroup_rule_v2" "test_secgroup_rule_1" { - direction = "ingress" - ethertype = "IPv4" - protocol = "tcp" - port_range_min = 22 - port_range_max = 22 - remote_ip_prefix = "0.0.0.0/0" - security_group_id = openstack_networking_secgroup_v2.test_secgroup_1.id +resource "openstack_networking_router_interface_v2" "int_cape" { + router_id = openstack_networking_router_v2.router.id + subnet_id = openstack_networking_subnet_v2.subnet_cape.id } -resource "openstack_networking_port_v2" "test_port_1" { - name = "test_port_1" - network_id = openstack_networking_network_v2.test_network_1.id - admin_state_up = "true" - security_group_ids = [openstack_networking_secgroup_v2.test_secgroup_1.id] +# CAPEv2 Security Group +resource "openstack_networking_secgroup_v2" "sec_cape" { + name = "secgroup-cape" +} +resource "openstack_networking_secgroup_rule_v2" "cape_from_pah" { + security_group_id = openstack_networking_secgroup_v2.sec_cape.id + direction = "ingress" + ethertype = "IPv4" + protocol = "" + remote_ip_prefix = "10.0.1.0/24" +} - fixed_ip { - subnet_id = openstack_networking_subnet_v2.test_subnet_1.id - ip_address = "192.168.199.10" +resource "openstack_compute_instance_v2" "cape" { + name = "CAPEv2" + image_name = "Ubuntu Server 24.04 LTS (Noble Numbat) amd64" + flavor_name = "gx3.4c4r" + security_groups = [openstack_networking_secgroup_v2.sec_cape.name] + network { + uuid = openstack_networking_network_v2.net_cape.id } } -resource "openstack_compute_instance_v2" "test_instance_1" { - name = "test_instance_1" - image_name = "Ubuntu Server 20.04 LTS (Focal Fossa) amd64" - flavor_name = "gx3.4c2r" - security_groups = [openstack_networking_secgroup_v2.test_secgroup_1.name] - network { - port = openstack_networking_port_v2.test_port_1.id - } -} \ No newline at end of file