3 Commits

Author SHA1 Message Date
greg 7de33b4e94 Merge pull request 'Fix VM base images being overwritten' (#417) from bugfix/vm_base_images into master
Reviewed-on: #417
2022-06-11 09:20:42 +00:00
greg a1db277f2f Merge branch 'master' into bugfix/vm_base_images 2022-06-11 09:20:09 +00:00
basti 52d7fe52e5 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.
2022-06-11 11:17:42 +02:00
3 changed files with 16 additions and 8 deletions
@@ -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"
}
+7 -5
View File
@@ -12,17 +12,19 @@ directory "/var/lib/libvirt/images/base" do
mode "0750" mode "0750"
end end
# Base Ubuntu 20.04 image # Base VM image
remote_file "/var/lib/libvirt/images/base/ubuntu-20.04-server-cloudimg-amd64-disk-kvm.qcow2" do remote_file node["kosmos_kvm"]["host"]["qemu_base_image"]["path"] do
source "http://cloud-images.ubuntu.com/releases/focal/release/ubuntu-20.04-server-cloudimg-amd64-disk-kvm.img" source node["kosmos_kvm"]["host"]["qemu_base_image"]["url"]
checksum node["kosmos_kvm"]["host"]["qemu_base_image"]["checksum"]
owner "libvirt-qemu" owner "libvirt-qemu"
group "kvm" group "kvm"
mode "0640" mode "0640"
end end
cookbook_file "/usr/local/sbin/create_vm" do template "/usr/local/sbin/create_vm" do
source "create_vm" source "create_vm.erb"
mode "0750" mode "0750"
variables base_image_path: node["kosmos_kvm"]["host"]["qemu_base_image"]["path"]
end end
firewall_rule 'ssh-alt-port' do firewall_rule 'ssh-alt-port' do
@@ -16,10 +16,9 @@ DISKSIZE=${4:-10} # 10GB default
# Directory where image files will be stored # Directory where image files will be stored
IMAGE_DIR=/var/lib/libvirt/images IMAGE_DIR=/var/lib/libvirt/images
IMAGE_FILE=${VMNAME}.qcow2 IMAGE_PATH=$IMAGE_DIR/${VMNAME}.qcow2
IMAGE_PATH=$IMAGE_DIR/$IMAGE_FILE
CIDATA_PATH=${IMAGE_DIR}/cidata-${VMNAME}.iso 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 # Create the VM image if it does not already exist
if [ ! -f "$IMAGE_PATH" ]; then if [ ! -f "$IMAGE_PATH" ]; then