Skip to content

Instantly share code, notes, and snippets.

@kklimonda
Created February 19, 2018 13:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kklimonda/a8ee28238bc4b4e9a6b845bd8e0d0bce to your computer and use it in GitHub Desktop.
Save kklimonda/a8ee28238bc4b4e9a6b845bd8e0d0bce to your computer and use it in GitHub Desktop.
provider openstack {
user_name = "[user]"
domain_name = "Users"
tenant_name = "[tenant]"
password = "[password]"
auth_url = "https://stack.intra.codilime.com:5000/v3/"
}
resource "openstack_networking_network_v2" "mgmt_net" {
name = "${var.prefix}mgmt_net"
}
resource "openstack_networking_subnet_v2" "mgmt_subnet" {
name = "${var.prefix}mgmt_subnet"
network_id = "${openstack_networking_network_v2.mgmt_net.id}"
cidr = "192.168.0.0/24"
ip_version = "4"
}
resource "openstack_networking_network_v2" "dataplane_net" {
name = "${var.prefix}dataplane_net"
}
resource "openstack_networking_subnet_v2" "dataplane_subnet" {
name = "${var.prefix}dataplane_subnet"
network_id = "${openstack_networking_network_v2.dataplane_net.id}"
cidr = "192.168.100.0/24"
ip_version = "4"
}
resource "openstack_networking_router_v2" "router_external" {
name = "${var.prefix}router_external"
external_network_id = "d5ae8d1d-c1fe-4f11-8a9d-4137e4ac0eab" # CL "public" network
}
resource "openstack_networking_router_interface_v2" "router_interface" {
router_id = "${openstack_networking_router_v2.router_external.id}"
subnet_id = "${openstack_networking_subnet_v2.mgmt_subnet.id}"
}
resource "openstack_networking_port_v2" "vrrp_mgmt_port" {
count = "1"
name = "${var.prefix}vrrp_mgmt_port_${count.index}"
network_id = "${openstack_networking_network_v2.mgmt_net.id}"
fixed_ip {
subnet_id = "${openstack_networking_subnet_v2.mgmt_subnet.id}"
ip_address = "192.168.0.254"
}
}
resource "openstack_networking_port_v2" "vrrp_instance_ports" {
count = "${var.controller_count}"
name = "${var.prefix}mgmt_port_${count.index}"
network_id = "${openstack_networking_network_v2.mgmt_net.id}"
admin_state_up = "true"
fixed_ip {
subnet_id = "${openstack_networking_subnet_v2.mgmt_subnet.id}"
ip_address = "192.168.0.${count.index + 10}"
}
allowed_address_pairs {
ip_address = "${openstack_networking_port_v2.vrrp_mgmt_port.fixed_ip.0.ip_address}"
}
}
resource "openstack_networking_floatingip_v2" "mgmt_floating_ip" {
count = "${var.controller_count}"
pool = "public"
}
resource "openstack_compute_instance_v2" "controller" {
count = "${var.controller_count}"
name = "${var.prefix}controller${count.index + 1}"
image_name = "CentOS-7-x86_64"
flavor_name = "${var.controller_flavor_name}"
key_pair = "${var.key_pair}"
network {
port = "${element(openstack_networking_port_v2.vrrp_instance_ports.*.id, count.index)}"
access_network = true
}
}
resource "openstack_compute_floatingip_associate_v2" "mgmt_floating_ip_assoc" {
count = "${var.controller_count}"
floating_ip = "${element(openstack_networking_floatingip_v2.mgmt_floating_ip.*.address, count.index)}"
instance_id = "${element(openstack_compute_instance_v2.controller.*.id, count.index)}"
}
resource "openstack_compute_instance_v2" "compute" {
count = "${var.compute_count}"
name = "${var.prefix}compute${count.index + 1}"
image_name = "CentOS-7-x86_64"
flavor_name = "${var.compute_flavor_name}"
key_pair = "${var.key_pair}"
network {
uuid = "${openstack_networking_network_v2.mgmt_net.id}"
fixed_ip_v4 = "192.168.0.${count.index + 20}"
access_network = true
}
}
variable "prefix" {
default = "contrail50_"
}
variable "key_pair" {
default = "kklimonda-cl"
}
variable "controller_count" {
default = 1
}
variable "controller_flavor_name" {
#default = "m2.xlarge"
default = "m1.mini"
}
variable "collocate_compute" {
default = true
}
variable "compute_count" {
default = 0
}
variable "compute_flavor_name" {
default = "m1.medium"
}
variable "kolla_docker_registry" {
default = "unset"
}
variable "kolla_docker_prefix" {
default = "jlukcodi/"
}
variable "kolla_docker_tag" {
default = "contrail_4_1_8"
}
variable "contrail_docker_registry" {
default = "unset"
}
variable "contrail_docker_prefix" {
default = "opencontrailnightly/"
}
variable "contrail_docker_tag" {
default = "latest"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment