Skip to content
Snippets Groups Projects
Commit c36bacd1 authored by Eesaan Atluri's avatar Eesaan Atluri Committed by Ravi Tripathi
Browse files

Create an internal network and use it for each deploy

parent 54099053
No related branches found
No related tags found
1 merge request!12Create an internal network and use it for each deploy
......@@ -8,7 +8,6 @@ variables:
OS_AUTH_TYPE: "v3applicationcredential"
OS_AUTH_URL: "https://keystone.cloud.rc.uab.edu:5000/v3"
TF_ROOT: ${CI_PROJECT_DIR}/
TF_VAR_internal_network: "xdmod-packer-clusternet"
TF_VAR_external_network: "xdmod-packer-dmznet"
TF_VAR_flavor: "m1.medium"
GIT_SUBMODULE_STRATEGY: "recursive"
......@@ -46,6 +45,7 @@ tf-apply:
tags: [build]
script:
- export BUILD_DATE=$(TZ=America/Chicago date +%Y%m%d%H%M%S)
- export TF_VAR_internal_network="xdmod-packer-clusternet-$BUILD_DATE"
- |
if [ -z $TF_VAR_image_ohpc ];
then
......
variable "name" {default = "cluster"}
variable "internal_net" {default = ""}
variable "admin_state_up" { }
variable "enable_dhcp" {}
......@@ -21,21 +21,21 @@ provider "openstack" {
# creates clusternet
resource "openstack_networking_network_v2" "internal_network" {
name = "${var.name}net"
name = var.internal_net
admin_state_up = var.admin_state_up
}
# creates clustersubnet
# cidr is the subnet range (that subnet range and dns nameservers from the network create file in feat-openstack)
resource "openstack_networking_subnet_v2" "internal_subnet" {
name = "${var.name}subnet"
name = "${var.internal_net}_subnet"
network_id = openstack_networking_network_v2.internal_network.id
cidr = "10.1.1.0/24"
ip_version = 4
enable_dhcp = var.enable_dhcp
}
output "id" {
output "internal_network_id" {
value = openstack_networking_network_v2.internal_network.id
depends_on = [openstack_networking_subnet_v2.internal_subnet]
}
......
......@@ -14,6 +14,19 @@ provider "openstack" {
}
}
# runs the internal-network module
module "cluster-network" {
internal_net = var.internal_network
source = "./internal-network"
# Default name var is in the module main file
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.internal_network_id}"
}
# runs the floating-ip module - uses public network name defined above
module "floating-ip-address" {
source = "./floating-ip"
......@@ -42,7 +55,6 @@ output "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
......@@ -53,7 +65,7 @@ module "create-ohpc-instance" {
flavor = var.flavor
key_pair = module.import-keypair.keypair_name
external_network = data.openstack_networking_network_v2.external_net.id
internal_network = data.openstack_networking_network_v2.internal_net.id
internal_network = "${module.cluster-network.internal_network_id}"
internal_ip = var.ohpc_private_ip
floating_ip_ohpc = module.floating-ip-address.ohpc_address
ohpc_user = var.ohpc_user
......@@ -80,12 +92,13 @@ module "create-ohpc-instance" {
# runs the nodes module - creates nodes using variables defined above
# calls functions from cluster-network and import-keypair modules to get values created there for use
module "nodes" {
internal_subnet_id = "${module.cluster-network.internal_subnet_id}"
source = "./nodes"
image_compute = var.image_compute
flavor = var.flavor
key_pair = module.import-keypair.keypair_name
compute_node_count = var.compute_node_count
internal_network = data.openstack_networking_network_v2.internal_net.id
internal_network = "${module.cluster-network.internal_network_id}"
}
# calls the outputs defined in the ohpc-instance module
......
# is created in internal-network module and called in root module
variable "internal_subnet_id" {type = string}
variable "image_compute" {}
variable "flavor" {}
......@@ -31,6 +34,7 @@ data "openstack_images_image_v2" "compute" {
# creates compute node
resource "openstack_compute_instance_v2" "compute" {
depends_on = [var.internal_subnet_id]
name = "c${count.index}"
image_id = data.openstack_images_image_v2.compute.id
flavor_name = var.flavor
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment