Compare commits

...

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

View File

@ -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"
}

View File

@ -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

View File

@ -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