From f95edfaf91e9ccc60b9afd0f128179fabb329dbc Mon Sep 17 00:00:00 2001
From: Ravi Tripathi <ravi89@uab.edu>
Date: Fri, 11 Aug 2023 15:10:04 -0500
Subject: [PATCH] Use already existing networks to build terraform

---
 .gitlab-ci.yml |  2 --
 main.tf        | 38 +++++---------------------------------
 2 files changed, 5 insertions(+), 35 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 78a14d7..a288207 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -46,8 +46,6 @@ tf-apply:
   script:
     - export BUILD_DATE=$(TZ=America/Chicago date +%Y%m%d%H%M%S)
     - export TF_VAR_internal_network="tf-clusternet-$BUILD_DATE"
-    - export TF_VAR_external_network="tf-dmznet-$BUILD_DATE"
-    - export TF_VAR_keypair_name="os-gen-keypair-$BUILD_DATE"
     - XDMOD_IMAGES=($(openstack image list --sort-column Name --sort-descending -f value -c Name -c ID | grep -P ' xdmod-\d{14}$' | awk '{print $2}'))
     - export TF_VAR_image_ohpc="${XDMOD_IMAGES[0]}"
   #  - export TF_VAR_image_ohpc="xdmod-20230629191611"
diff --git a/main.tf b/main.tf
index 4c450c8..637186c 100644
--- a/main.tf
+++ b/main.tf
@@ -14,37 +14,6 @@ provider "openstack" {
     }
 }
 
-# runs the external-network module
-module "dmz-network" {
-    source = "./external-network"
-    # Default name var is in the module main file
-    name = var.external_network
-    admin_state_up = var.admin_state_up
-    enable_dhcp = var.enable_dhcp
-    public_network_name = var.public_network_name
-}
-# calls the outputs defined in the external-network module
-output "external_network_id" {
-    value = module.dmz-network.id
-}
-
-output "router_id" {
-    value = module.dmz-network.router_id
-}
-
-# runs the internal-network module
-module "cluster-network" {
-    source = "./internal-network"
-    # Default name var is in the module main file
-    name = var.internal_network
-    admin_state_up = var.admin_state_up
-    enable_dhcp = var.enable_dhcp
-}
-# calls the outputs defined in the internal-network module
-output "internal_network_id" {
-    value = module.cluster-network.id
-}
-
 # runs the floating-ip module - uses public network name defined above
 module "floating-ip-address" {
     source = "./floating-ip"
@@ -72,6 +41,9 @@ output "keypair_name" {
     value = module.import-keypair.keypair_name
 }
 
+data "openstack_networking_network_v2" "external_net" {name = var.external_network}
+data "openstack_networking_network_v2" "internal_net" {name = var.internal_network}
+
 # runs the ohpc-instance module - creates ohpc instance using variables defined above
 # calls functions from dmz-network, import-keypair, and floating-ip-address modules to get values created there for use
 module "create-ohpc-instance" {
@@ -81,8 +53,8 @@ module "create-ohpc-instance" {
     image_ohpc = var.image_ohpc
     flavor = var.flavor
     key_pair = module.import-keypair.keypair_name
-    external_network = module.dmz-network.id
-    internal_network = module.cluster-network.id
+    external_network = data.external_net.id
+    internal_network = data.internal_net.id
     internal_ip = var.ohpc_private_ip
     floating_ip_ohpc = module.floating-ip-address.ohpc_address
     ohpc_user =  var.ohpc_user
-- 
GitLab