Forked from
rc / Terraform Openstack
158 commits behind the upstream repository.
-
Ryan Randles Jones authoredc642b6a3
main.tf 3.62 KiB
# variables for networks and router
variable "admin_state_up" {default = true}
variable "enable_dhcp" {default = true}
# variable for floating-ip
variable "public_network_name" {default = "bright-external-flat-externalnet"}
# variables for keypair module
variable "keypair_name" {default = "os-gen-keypair"}
variable "ssh_public_key" {default = "~/.ssh/id_rsa.pub"}
# variables for instance modules
variable "ohpc_instance_name" {default = "ohpc"}
variable "image_ohpc" {default = "CentOS-7-x86_64-GenericCloud-1905"}
variable "flavor" {default = "m1.medium"}
variable "internal_net" {default = "clusternet"}
variable "external_net" {default = "dmznet"}
variable "host_prefix" {default = "164.111.161.%s"}
variable "ohpc_user" {default = "centos"}
variable "ssh_private_key" {default = "~/.ssh/id_rsa"}
variable "image_ood" {default = "CentOS-7-x86_64-GenericCloud-1905"}
variable "ood_instance_name" { default = "ood"}
variable "ood_user" {default = "centos"}
# variables for node creation module
variable "image_compute" {default = "CentOS-7-x86_64-GenericCloud-1905"}
variable "compute_node_count" {default = 2}
module "dmz-network" {
source = "./external-network"
# Default name var is in the module main file
admin_state_up = var.admin_state_up
enable_dhcp = var.enable_dhcp
}
output "external_network_id" {
value = "${module.dmz-network.external_network_id}"
}
output "router_id" {
value = "${module.dmz-network.router_id}"
}
module "cluster-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
}
output "internal_network_id" {
value = "${module.cluster-network.internal_network_id}"
}
module "floating-ip" {
source = "./floating-ip"
public_network_name = var.public_network_name
}
output "floating_ip_ohpc" {
value = "${module.floating-ip.ohpc_address}"
}
output "floating_ip_ood" {
value = "${module.floating-ip.ood_address}"
}
module "keypair" {
source = "./key-pair"
keypair_name = var.keypair_name
ssh_public_key = var.ssh_public_key
}
output "keypair_name" {
value = "${module.keypair.keypair_name}"
}
module "ohpc-instance" {
source = "./ohpc-instance"
floating_ip_ohpc = "${module.floating-ip.ohpc_address}"
external_subnet_id = "${module.dmz-network.external_network_id}"
ohpc_instance_name = var.ohpc_instance_name
image_ohpc = var.image_ohpc
flavor = var.flavor
key_pair = "${module.keypair.keypair_name}"
external_net = var.external_net
internal_net = var.internal_net
host_prefix = var.host_prefix
ohpc_user = var.ohpc_user
ssh_private_key = var.ssh_private_key
}
module "ood-instance" {
source = "./ood-instance"
floating_ip_ood = "${module.floating-ip.ood_address}"
internal_subnet_id = "${module.cluster-network.internal_network_id}"
flavor = var.flavor
host_prefix = var.host_prefix
image_ood = var.image_ood
internal_net = var.internal_net
external_net = var.external_net
key_pair = "${module.keypair.keypair_name}"
ood_instance_name = var.ood_instance_name
ood_user = var.ood_user
ssh_private_key = var.ssh_private_key
}
module "nodes" {
source = "./nodes"
internal_subnet_id = "${module.cluster-network.internal_network_id}"
key_pair = "${module.keypair.keypair_name}"
internal_net = var.internal_net
image_compute = var.image_compute
flavor = var.flavor
compute_node_count = var.compute_node_count
}
output "ohpc-ssh_host" {
value = "${module.ohpc-instance.ssh_host}"
}
output "ood-ssh_host" {
value = "${module.ood-instance.ssh_host}"
}