diff --git a/site-cookbooks/kosmos_kvm/attributes/default.rb b/site-cookbooks/kosmos_kvm/attributes/default.rb index 08bc201..6dc8c18 100644 --- a/site-cookbooks/kosmos_kvm/attributes/default.rb +++ b/site-cookbooks/kosmos_kvm/attributes/default.rb @@ -1,9 +1,9 @@ -ubuntu_server_cloud_image_release = "20230506" +ubuntu_server_cloud_image_release = "20231026" 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" => "27d2b91fd2b715729d739e2a3155dce70d1aaae4f05c177f338b9d4b60be638c", - "path" => "/var/lib/libvirt/images/base/ubuntu-20.04-server-cloudimg-amd64-disk-kvm-#{ubuntu_server_cloud_image_release}.qcow2" + "url" => "https://cloud-images.ubuntu.com/releases/jammy/release-#{ubuntu_server_cloud_image_release}/ubuntu-22.04-server-cloudimg-amd64-disk-kvm.img", + "checksum" => "b5d1f937341fbb3afb50d28c4a17f41419df4d87a96d5e737a39b6cb42e1dff3", + "path" => "/var/lib/libvirt/images/base/ubuntu-22.04-server-cloudimg-amd64-disk-kvm-#{ubuntu_server_cloud_image_release}.qcow2" } # A systemd.timer OnCalendar config value diff --git a/site-cookbooks/kosmos_kvm/templates/create_vm.erb b/site-cookbooks/kosmos_kvm/templates/create_vm.erb index 7d155e0..37e450f 100644 --- a/site-cookbooks/kosmos_kvm/templates/create_vm.erb +++ b/site-cookbooks/kosmos_kvm/templates/create_vm.erb @@ -17,7 +17,7 @@ DISKSIZE=${4:-10} # 10GB default # Directory where image files will be stored IMAGE_DIR=/var/lib/libvirt/images IMAGE_PATH=$IMAGE_DIR/${VMNAME}.qcow2 -CIDATA_PATH=${IMAGE_DIR}/cidata-${VMNAME}.iso +CIDATA_PATH=${IMAGE_DIR}/${VMNAME}-cloudinit BASE_FILE=<%= @base_image_path %> # Create the VM image if it does not already exist @@ -38,12 +38,12 @@ qemu-img info "$IMAGE_PATH" # Check if the cloud-init metadata file exists # if not, generate it if [ ! -r $CIDATA_PATH ]; then - pushd $(dirname $CIDATA_PATH) - mkdir -p $VMNAME - cd $VMNAME + mkdir -p $CIDATA_PATH + pushd $CIDATA_PATH cat > user-data <<-EOS #cloud-config +plain_text_passwd: ubuntu ssh_authorized_keys: - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCw0I82gT8R4tpsqWGovLyjm2SR2F863MqNz224h3h/wl0xA5Eu0eRro+ELLv2hoebqQbcMsb89X5+7ObhDRar+b7tzDlXq4x+ECkAy6WbDSmBp3kNVd7muT4c9Zw7UxKsIvIm1ven1TkJ3UG80o6PyGiAUlBj4puIQwhp7OVknVutBBe8Rpp4f6BEuWluwpnPxc3KSaGhhr9p10xeX69cfspH40r8vHpI0zp19O5GpfYSOEH64UbwRpN2QypNB8ISmDHFsNGwdz0Ba4qrEOSGU9GveyOcsvEtt630/0fHqtbPBovOYu/FJISQZya2tofDig4EngBCJNfsPCbXFHtlp greg@karekinian.com - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDyUDR7ZE6HWmjvlfKrG8Ci+q5E4adbyboKvyYVkUXaTYt+DgisPPAqfGkd0yAHgVnmOS/3f5c3D6RrIXcxFmzwpV2BtmGZztBnEYvC5q8XPQhmu6AFl6ZDjh9XzUeO52py8tt5ZJ9W1R2ob/rlgX8txNHi6XwzuvPxZ7NR/iNup7cruBzkHABhwTvTfwaErufr6eNmNjh5VatNTei1ld6yWtmvbYJqJlpq6YyPu9vYNYPg0AB7I+OqOJhzHXhelY28GSP9KF3GDcHDtN1bV21g9+COcdKhMShQaw1WIkfQKdiuFictZIOCP0/uYSiFhyyoSvISiC3eT8zIimRbDRj basti@skddc.local @@ -62,25 +62,19 @@ instance-id: $VMNAME local-hostname: $VMNAME EOS - genisoimage -output "$CIDATA_PATH" -volid cidata -joliet -rock user-data meta-data - chown libvirt-qemu:kvm "$CIDATA_PATH" - chmod 600 "$CIDATA_PATH" popd fi -# setting --os-variant to ubuntu20.04 and ubuntu18.04 breaks SSH and networking virt-install \ --name "$VMNAME" \ --ram "$RAM" \ --vcpus "$CPUS" \ --cpu host \ --arch x86_64 \ - --os-type linux \ - --os-variant ubuntu16.04 \ + --osinfo detect=on,name=ubuntujammy \ --hvm \ --virt-type kvm \ --disk "$IMAGE_PATH" \ - --cdrom "$CIDATA_PATH" \ --boot hd \ --network=bridge=virbr0,model=virtio \ --graphics none \ @@ -88,4 +82,5 @@ virt-install \ --console pty \ --channel unix,mode=bind,path=/var/lib/libvirt/qemu/$VMNAME.guest_agent.0,target_type=virtio,name=org.qemu.guest_agent.0 \ --autostart \ - --import + --import \ + --cloud-init root-password-generate=off,disable=on,meta-data=$CIDATA_PATH/meta-data,user-data=$CIDATA_PATH/user-data