aboutsummaryrefslogtreecommitdiff
path: root/terraform
diff options
context:
space:
mode:
Diffstat (limited to 'terraform')
-rw-r--r--terraform/libvirt/backend/main.tf20
-rw-r--r--terraform/libvirt/mini_environment/main.tf (renamed from terraform/libvirt/mini_environment.tf)31
2 files changed, 43 insertions, 8 deletions
diff --git a/terraform/libvirt/backend/main.tf b/terraform/libvirt/backend/main.tf
new file mode 100644
index 0000000..24995e0
--- /dev/null
+++ b/terraform/libvirt/backend/main.tf
@@ -0,0 +1,20 @@
+variable "uri" {
+ type = "string"
+}
+
+terraform {
+ backend "http" {}
+}
+
+provider "libvirt" {
+ uri = "${var.uri}"
+}
+
+resource "libvirt_network" "vm_network" {
+ name = "vm_network"
+ addresses = ["10.0.1.0/24"]
+}
+
+output "network_name" {
+ value = "${libvirt_network.vm_network.name}"
+}
diff --git a/terraform/libvirt/mini_environment.tf b/terraform/libvirt/mini_environment/main.tf
index 4b9965d..00c3394 100644
--- a/terraform/libvirt/mini_environment.tf
+++ b/terraform/libvirt/mini_environment/main.tf
@@ -1,11 +1,15 @@
-terraform {
- backend "http" {}
+variable "backend_remote_state_address" {
+ type = "string"
}
variable "machine_name" {
type = "string"
}
+variable "host_name" {
+ type = "string"
+}
+
variable "uri" {
type = "string"
}
@@ -14,17 +18,27 @@ variable "vm_image_and_system" {
type = "string"
}
+terraform {
+ backend "http" {}
+}
+
provider "libvirt" {
uri = "${var.uri}"
}
-resource "libvirt_network" "vm_network" {
- name = "vm_network"
- addresses = ["10.0.1.0/24"]
+data "terraform_remote_state" "backend" {
+ backend = "http"
+ config {
+ address = "${var.backend_remote_state_address}"
+ }
+}
+
+resource "local_file" "dnsmasq-config" {
+ content = "address=/${var.host_name}/${libvirt_domain.main.network_interface.0.addresses.0}"
+ filename = "/etc/NetworkManager/dnsmasq.d/${var.host_name}.conf"
}
-# Create the machine
-resource "libvirt_domain" "domain-ubuntu" {
+resource "libvirt_domain" "main" {
name = "${var.machine_name}"
memory = "8196"
vcpu = 4
@@ -51,7 +65,8 @@ resource "libvirt_domain" "domain-ubuntu" {
}
network_interface {
- network_name = "${libvirt_network.vm_network.name}"
+ network_name = "${data.terraform_remote_state.backend.network_name}"
+ wait_for_lease = true
}
console {