create base qcow2 image and one test stacj with one compute, net and pool
This commit is contained in:
parent
9bc7773864
commit
5c964ae09d
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,2 +1,5 @@
|
|||||||
.terraform
|
.terraform
|
||||||
*.tfstate.backup
|
*.tfstate.backup
|
||||||
|
|
||||||
|
base/images/*
|
||||||
|
!base/images/.gitkeep
|
45
base/libvirtd.tf
Normal file
45
base/libvirtd.tf
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
# https://github.com/dmacvicar/terraform-provider-libvirt/blob/master/website/docs/r
|
||||||
|
|
||||||
|
terraform {
|
||||||
|
required_version = ">= 0.12"
|
||||||
|
|
||||||
|
required_providers {
|
||||||
|
null = "~> 2.1"
|
||||||
|
template = "~> 2.1"
|
||||||
|
libvirt = ">= 0.0.0"
|
||||||
|
}
|
||||||
|
|
||||||
|
backend "etcdv3" {
|
||||||
|
endpoints = ["https://100.64.0.19:2379"]
|
||||||
|
lock = true
|
||||||
|
prefix = "/terraform-state/"
|
||||||
|
cacert_path = "/home/antoine/virtualization/kubernetes-the-hard-way/certs/ca.pem"
|
||||||
|
cert_path = "/home/antoine/virtualization/kubernetes-the-hard-way/certs/kubernetes.pem"
|
||||||
|
key_path = "/home/antoine/virtualization/kubernetes-the-hard-way/certs/kubernetes-key.pem"
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
provider "libvirt" {
|
||||||
|
uri = "qemu+tcp://dx30.localdomain/system"
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "libvirt_pool" "pool_1" {
|
||||||
|
name = "pool_1"
|
||||||
|
type = "dir"
|
||||||
|
path = "/var/lib/libvirt/pool/pool_1"
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "libvirt_volume" "centos7_qcow2" {
|
||||||
|
name = "centos7.qcow2"
|
||||||
|
pool = libvirt_pool.pool_1.name
|
||||||
|
source = "./images/CentOS-7-x86_64-GenericCloud.qcow2"
|
||||||
|
format = "qcow2"
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "libvirt_volume" "debian_buster_qcow2" {
|
||||||
|
name = "debian-buster.qcow2"
|
||||||
|
pool = libvirt_pool.pool_1.name
|
||||||
|
source = "./images/debian-10-openstack-amd64.qcow2"
|
||||||
|
format = "qcow2"
|
||||||
|
}
|
@ -1 +1 @@
|
|||||||
Subproject commit 29eadc7b92bef861bf699822b751520ba2764253
|
Subproject commit 6e6f8cb6470380c8b4c07910d98f744bad8852a3
|
@ -1,38 +0,0 @@
|
|||||||
# https://github.com/dmacvicar/terraform-provider-libvirt/blob/master/website/docs/r
|
|
||||||
|
|
||||||
terraform {
|
|
||||||
required_version = ">= 0.12"
|
|
||||||
|
|
||||||
required_providers {
|
|
||||||
libvirt = ">= 0.0.0"
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
provider "libvirt" {
|
|
||||||
uri = "qemu+tcp://127.0.0.1/system"
|
|
||||||
# uri = "qemu+ssh://root@192.168.100.10/system"
|
|
||||||
}
|
|
||||||
|
|
||||||
resource "libvirt_pool" "pool_1" {
|
|
||||||
name = "pool_1"
|
|
||||||
type = "dir"
|
|
||||||
path = "/var/lib/libvirt/pool"
|
|
||||||
}
|
|
||||||
|
|
||||||
# -------- volume disk --------
|
|
||||||
# https://github.com/dmacvicar/terraform-provider-libvirt/blob/master/website/docs/r/volume.html.markdown
|
|
||||||
|
|
||||||
resource "libvirt_volume" "centos7_qcow2" {
|
|
||||||
name = "centos7.qcow2"
|
|
||||||
pool = "default"
|
|
||||||
source = "https://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud.qcow2"
|
|
||||||
format = "qcow2"
|
|
||||||
}
|
|
||||||
|
|
||||||
resource "libvirt_volume" "debian_buster_qcow2" {
|
|
||||||
name = "debian-buster.qcow2"
|
|
||||||
pool = "default"
|
|
||||||
source = "https://cdimage.debian.org/cdimage/openstack/current/debian-10.4.3-20200610-openstack-amd64.qcow2"
|
|
||||||
format = "qcow2"
|
|
||||||
}
|
|
@ -1,79 +0,0 @@
|
|||||||
{
|
|
||||||
"version": 4,
|
|
||||||
"terraform_version": "0.12.28",
|
|
||||||
"serial": 203,
|
|
||||||
"lineage": "e57b8df5-87bd-3954-0ba8-9cbedff9b460",
|
|
||||||
"outputs": {},
|
|
||||||
"resources": [
|
|
||||||
{
|
|
||||||
"mode": "managed",
|
|
||||||
"type": "libvirt_pool",
|
|
||||||
"name": "pool_1",
|
|
||||||
"provider": "provider.libvirt",
|
|
||||||
"instances": [
|
|
||||||
{
|
|
||||||
"schema_version": 0,
|
|
||||||
"attributes": {
|
|
||||||
"allocation": 69478645760,
|
|
||||||
"available": null,
|
|
||||||
"capacity": 73445531648,
|
|
||||||
"id": "3a205457-1e97-455a-8fe6-9ed621f7ba99",
|
|
||||||
"name": "pool_1",
|
|
||||||
"path": "/var/lib/libvirt/pool",
|
|
||||||
"type": "dir",
|
|
||||||
"xml": []
|
|
||||||
},
|
|
||||||
"private": "bnVsbA=="
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"mode": "managed",
|
|
||||||
"type": "libvirt_volume",
|
|
||||||
"name": "centos7_qcow2",
|
|
||||||
"provider": "provider.libvirt",
|
|
||||||
"instances": [
|
|
||||||
{
|
|
||||||
"schema_version": 0,
|
|
||||||
"attributes": {
|
|
||||||
"base_volume_id": null,
|
|
||||||
"base_volume_name": null,
|
|
||||||
"base_volume_pool": null,
|
|
||||||
"format": "qcow2",
|
|
||||||
"id": "/var/lib/libvirt/pool/default/centos7.qcow2",
|
|
||||||
"name": "centos7.qcow2",
|
|
||||||
"pool": "default",
|
|
||||||
"size": 8589934592,
|
|
||||||
"source": "https://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud.qcow2",
|
|
||||||
"xml": []
|
|
||||||
},
|
|
||||||
"private": "bnVsbA=="
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"mode": "managed",
|
|
||||||
"type": "libvirt_volume",
|
|
||||||
"name": "debian_buster_qcow2",
|
|
||||||
"provider": "provider.libvirt",
|
|
||||||
"instances": [
|
|
||||||
{
|
|
||||||
"schema_version": 0,
|
|
||||||
"attributes": {
|
|
||||||
"base_volume_id": null,
|
|
||||||
"base_volume_name": null,
|
|
||||||
"base_volume_pool": null,
|
|
||||||
"format": "qcow2",
|
|
||||||
"id": "/var/lib/libvirt/pool/default/debian-buster.qcow2",
|
|
||||||
"name": "debian-buster.qcow2",
|
|
||||||
"pool": "default",
|
|
||||||
"size": 2147483648,
|
|
||||||
"source": "https://cdimage.debian.org/cdimage/openstack/current/debian-10.4.3-20200610-openstack-amd64.qcow2",
|
|
||||||
"xml": []
|
|
||||||
},
|
|
||||||
"private": "bnVsbA=="
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@ -6,7 +6,7 @@ resource "libvirt_domain" "db1" {
|
|||||||
name = "db1"
|
name = "db1"
|
||||||
memory = "1024"
|
memory = "1024"
|
||||||
vcpu = 1
|
vcpu = 1
|
||||||
running = "false"
|
running = "true"
|
||||||
autostart = "true"
|
autostart = "true"
|
||||||
|
|
||||||
boot_device {
|
boot_device {
|
||||||
@ -14,12 +14,11 @@ resource "libvirt_domain" "db1" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
network_interface {
|
network_interface {
|
||||||
network_name = "default"
|
network_name = libvirt_network.private_network.name
|
||||||
# network_name = libvirt_network.private_network.name
|
|
||||||
}
|
}
|
||||||
|
|
||||||
disk {
|
disk {
|
||||||
volume_id = libvirt_volume.debian_buster_qcow2.id
|
volume_id = libvirt_volume.my_root_debian.id
|
||||||
}
|
}
|
||||||
|
|
||||||
# disk {
|
# disk {
|
||||||
@ -40,11 +39,3 @@ resource "libvirt_domain" "db1" {
|
|||||||
autoport = "true"
|
autoport = "true"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
resource "libvirt_volume" "debian_buster_qcow2" {
|
|
||||||
name = "debian-buster.qcow2"
|
|
||||||
pool = "default"
|
|
||||||
source = "https://cdimage.debian.org/cdimage/openstack/current/debian-10.4.3-20200610-openstack-amd64.qcow2"
|
|
||||||
format = "qcow2"
|
|
||||||
}
|
|
||||||
|
@ -9,21 +9,47 @@ terraform {
|
|||||||
libvirt = ">= 0.0.0"
|
libvirt = ">= 0.0.0"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
backend "etcdv3" {
|
||||||
|
endpoints = ["https://100.64.0.19:2379"]
|
||||||
|
lock = true
|
||||||
|
prefix = "/terraform-state/stack"
|
||||||
|
cacert_path = "/home/antoine/virtualization/kubernetes-the-hard-way/certs/ca.pem"
|
||||||
|
cert_path = "/home/antoine/virtualization/kubernetes-the-hard-way/certs/kubernetes.pem"
|
||||||
|
key_path = "/home/antoine/virtualization/kubernetes-the-hard-way/certs/kubernetes-key.pem"
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
provider "libvirt" {
|
provider "libvirt" {
|
||||||
uri = "qemu+tcp://127.0.0.1/system"
|
uri = "qemu+tcp://dx30.localdomain/system"
|
||||||
# uri = "qemu+ssh://root@192.168.100.10/system"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
data "template_file" "user_data" {
|
data "template_file" "user_data" {
|
||||||
template = "${file("${path.module}/cloud_init.cfg")}"
|
template = "${file("${path.module}/cloud_init.cfg")}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
variable "pool_1" {
|
||||||
|
type = string
|
||||||
|
default = "pool_1"
|
||||||
|
description = "already created pool name, set with variable because libvirt provider dont' wotk with data resource"
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "debian_buster_qcow2" {
|
||||||
|
type = string
|
||||||
|
default = "debian-buster.qcow2"
|
||||||
|
description = "already created debian vol, set with variable because libvirt provider dont' wotk with data resource"
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "centos7_qcow2" {
|
||||||
|
type = string
|
||||||
|
default = "centos7.qcow2"
|
||||||
|
description = "already created centos vol, set with variable because libvirt provider dont' wotk with data resource"
|
||||||
|
}
|
||||||
|
|
||||||
# Use CloudInit to add the instance
|
# Use CloudInit to add the instance
|
||||||
resource "libvirt_cloudinit_disk" "commoninit" {
|
resource "libvirt_cloudinit_disk" "commoninit" {
|
||||||
name = "commoninit.iso"
|
name = "commoninit.iso"
|
||||||
pool = "default"
|
pool = var.pool_1
|
||||||
user_data = data.template_file.user_data.rendered
|
user_data = data.template_file.user_data.rendered
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,8 +0,0 @@
|
|||||||
{
|
|
||||||
"version": 4,
|
|
||||||
"terraform_version": "0.12.28",
|
|
||||||
"serial": 121,
|
|
||||||
"lineage": "67fe8f67-1e0d-4c6e-4440-3eac0ca3aadd",
|
|
||||||
"outputs": {},
|
|
||||||
"resources": []
|
|
||||||
}
|
|
@ -6,20 +6,19 @@
|
|||||||
|
|
||||||
resource "libvirt_volume" "my_root_centos" {
|
resource "libvirt_volume" "my_root_centos" {
|
||||||
name = "my-root-centos"
|
name = "my-root-centos"
|
||||||
base_volume_name = "centos7.qcow2"
|
pool = var.pool_1
|
||||||
# base_volume_id = libvirt_volume.centos7_qcow2.id
|
base_volume_name = var.centos7_qcow2
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "libvirt_volume" "my_root_debian" {
|
resource "libvirt_volume" "my_root_debian" {
|
||||||
name = "my-root-debian"
|
name = "my-root-debian"
|
||||||
base_volume_name = "debian-buster.qcow2"
|
pool = var.pool_1
|
||||||
# base_volume_id = libvirt_volume.debian_buster_qcow2.id
|
base_volume_name = var.debian_buster_qcow2
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "libvirt_volume" "external_disk_1" {
|
resource "libvirt_volume" "external_disk_1" {
|
||||||
name = "external-disk-1"
|
name = "external-disk-1"
|
||||||
# 10Gb
|
# 10Gb
|
||||||
size = 10737418240
|
size = 10737418240
|
||||||
pool = "pool_1"
|
pool = var.pool_1
|
||||||
# pool = libvirt_pool.pool_1.name
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user