Fix VM base images being overwritten
The base image is used as backing image for the VM images, so overwriting it results in corrupt data after VM reboots.
This commit is contained in:
parent
9d61e28911
commit
52d7fe52e5
|
@ -0,0 +1,7 @@
|
|||
ubuntu_server_cloud_image_release = "20220530"
|
||||
|
||||
node.default["kosmos_kvm"]["host"]["qemu_base_image"] = {
|
||||
"url" => "https://cloud-images.ubuntu.com/releases/focal/release-#{ubuntu_server_cloud_image_release}/ubuntu-20.04-server-cloudimg-amd64-disk-kvm.img",
|
||||
"checksum" => "0295bee0539924774327d5267aa8e2eeac315b9efea7136c83643fce454529b8",
|
||||
"path" => "/var/lib/libvirt/images/base/ubuntu-20.04-server-cloudimg-amd64-disk-kvm-#{ubuntu_server_cloud_image_release}.qcow2"
|
||||
}
|
|
@ -12,17 +12,19 @@ directory "/var/lib/libvirt/images/base" do
|
|||
mode "0750"
|
||||
end
|
||||
|
||||
# Base Ubuntu 20.04 image
|
||||
remote_file "/var/lib/libvirt/images/base/ubuntu-20.04-server-cloudimg-amd64-disk-kvm.qcow2" do
|
||||
source "http://cloud-images.ubuntu.com/releases/focal/release/ubuntu-20.04-server-cloudimg-amd64-disk-kvm.img"
|
||||
# Base VM image
|
||||
remote_file node["kosmos_kvm"]["host"]["qemu_base_image"]["path"] do
|
||||
source node["kosmos_kvm"]["host"]["qemu_base_image"]["url"]
|
||||
checksum node["kosmos_kvm"]["host"]["qemu_base_image"]["checksum"]
|
||||
owner "libvirt-qemu"
|
||||
group "kvm"
|
||||
mode "0640"
|
||||
end
|
||||
|
||||
cookbook_file "/usr/local/sbin/create_vm" do
|
||||
source "create_vm"
|
||||
template "/usr/local/sbin/create_vm" do
|
||||
source "create_vm.erb"
|
||||
mode "0750"
|
||||
variables base_image_path: node["kosmos_kvm"]["host"]["qemu_base_image"]["path"]
|
||||
end
|
||||
|
||||
firewall_rule 'ssh-alt-port' do
|
||||
|
|
|
@ -16,10 +16,9 @@ DISKSIZE=${4:-10} # 10GB default
|
|||
|
||||
# Directory where image files will be stored
|
||||
IMAGE_DIR=/var/lib/libvirt/images
|
||||
IMAGE_FILE=${VMNAME}.qcow2
|
||||
IMAGE_PATH=$IMAGE_DIR/$IMAGE_FILE
|
||||
IMAGE_PATH=$IMAGE_DIR/${VMNAME}.qcow2
|
||||
CIDATA_PATH=${IMAGE_DIR}/cidata-${VMNAME}.iso
|
||||
BASE_FILE=${IMAGE_DIR}/base/ubuntu-20.04-server-cloudimg-amd64-disk-kvm.qcow2
|
||||
BASE_FILE=<%= @base_image_path %>
|
||||
|
||||
# Create the VM image if it does not already exist
|
||||
if [ ! -f "$IMAGE_PATH" ]; then
|
Loading…
Reference in New Issue