Skip to content
Snippets Groups Projects
main.tf 1.22 KiB
Newer Older
variable "internal_net" {default = ""}
variable "admin_state_up" { }
variable "enable_dhcp" {}
terraform {
required_version = ">= 0.14.0"
  required_providers {
    openstack = {
      source  = "terraform-provider-openstack/openstack"
      version = "~> 1.42.0"
    }
  }
}

provider "openstack" {
  use_octavia         = true
  endpoint_overrides = {
      "network"  = "https://neutron-api.cloud.rc.uab.edu:9696/v2.0/"
    }
}

# creates clusternet
resource "openstack_networking_network_v2" "internal_network" {
  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.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 "internal_network_id" {
    value = openstack_networking_network_v2.internal_network.id
    depends_on = [openstack_networking_subnet_v2.internal_subnet]
Ryan Randles Jones's avatar
Ryan Randles Jones committed
}

output "internal_subnet_id" {
    value = openstack_networking_subnet_v2.internal_subnet.id