support fixed ip address
This commit is contained in:
parent
8b6c42e1c5
commit
0096b77f3d
4 changed files with 24 additions and 9 deletions
|
@ -1,7 +0,0 @@
|
||||||
version: 2
|
|
||||||
ethernets:
|
|
||||||
ens3:
|
|
||||||
dhcp4: true
|
|
||||||
routes:
|
|
||||||
- to: 0.0.0.0/0
|
|
||||||
via: 192.168.30.1
|
|
14
files/network_config.cfg.tftpl
Normal file
14
files/network_config.cfg.tftpl
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
version: 2
|
||||||
|
ethernets:
|
||||||
|
ens3:
|
||||||
|
%{ if fixed_address }
|
||||||
|
dhcp4: false
|
||||||
|
addresses:
|
||||||
|
- "${fixed_address}"
|
||||||
|
%{ else }
|
||||||
|
dhcp4: true
|
||||||
|
%{ endif }
|
||||||
|
dhcp4: true
|
||||||
|
routes:
|
||||||
|
- to: 0.0.0.0/0
|
||||||
|
via: 192.168.30.1
|
5
main.tf
5
main.tf
|
@ -16,6 +16,9 @@ locals {
|
||||||
private_key = tls_private_key.debian.private_key_openssh,
|
private_key = tls_private_key.debian.private_key_openssh,
|
||||||
data_disk = var.data_disk != null
|
data_disk = var.data_disk != null
|
||||||
})
|
})
|
||||||
|
cloudinit_network_config = templatefile("${path.module}/files/network_config.cfg.tftpl", {
|
||||||
|
fixed_address = var.fixed_address
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "tls_private_key" "debian" {
|
resource "tls_private_key" "debian" {
|
||||||
|
@ -66,7 +69,7 @@ resource "libvirt_cloudinit_disk" "debian" {
|
||||||
name = "${var.name}.iso"
|
name = "${var.name}.iso"
|
||||||
pool = var.cloudinit_pool
|
pool = var.cloudinit_pool
|
||||||
user_data = local.cloudinit_user_data
|
user_data = local.cloudinit_user_data
|
||||||
network_config = file("${path.module}/files/network_config.cfg")
|
network_config = local.cloudinit_network_config
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "libvirt_domain" "debian" {
|
resource "libvirt_domain" "debian" {
|
||||||
|
|
|
@ -56,6 +56,11 @@ variable "ca_host" {
|
||||||
}
|
}
|
||||||
|
|
||||||
variable "data_disk" {
|
variable "data_disk" {
|
||||||
type = string
|
type = string
|
||||||
|
default = null
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "fixed_address" {
|
||||||
|
type = string
|
||||||
default = null
|
default = null
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue