And Paul
when I try to add host_name, I get this error:
TASK [Creates new virtual machine]
****************************************************************************************************************************************************
fatal: [ovirt.ovirt.trove.internal]: FAILED! => {"changed": false,
"msg": "Unsupported parameters for (ovirt.ovirt.ovirt_vm) module:
host_name, regenerate_ssh_keys Supported parameter
affinity_group_mappings, affinity_label_mappings,
allow_partial_import, auth, ballooning_enabled, bios_type,
boot_devices, boot_menu, cd_iso, clone, clone_permissions, cloud_init,
cl
ics, cloud_init_persist, cluster, cluster_mappings, comment,
cpu_cores, cpu_mode, cpu_pinning, cpu_shares, cpu_sockets,
cpu_threads, custom_compatibility_version, custom_emulated_mach
m_properties, delete_protected, description, disk_format, disks,
domain_mappings, exclusive, export_domain, export_ova, fetch_nested,
force, force_migrate, graphical_console, high_ava
high_availability_priority, host, host_devices, id, initrd_path,
instance_type, io_threads, kernel_params, kernel_params_persist,
kernel_path, kvm, lease, lun_mappings, memory, memor
ed, memory_max, migrate, name, nested_attributes, next_run, nics,
numa_nodes, numa_tune_mode, operating_system, placement_policy,
placement_policy_hosts, poll_interval, quota_id, reas
acs, rng_device, role_mappings, serial_console, serial_policy,
serial_policy_value, smartcard_enabled, snapshot_name, snapshot_vm,
soundcard_enabled, sso, state, stateless, storage_do
rep, template, template_version, ticket, timeout, timezone, type,
usb_support, use_latest_template_version, vmware,
vnic_profile_mappings, wait, watchdog, xen"}
On Fri, Nov 26, 2021 at 5:11 PM Staniforth, Paul
<P.Staniforth(a)leedsbeckett.ac.uk> wrote:
Hi Sina,
I get easily confused with cloud-init but shouldn't you be setting the
hostname, username, etc before the custom script?
Also, you could rename the disk as a separate play in your playbook.
e.g.
# Change Disk Name
- ovirt.ovirt.ovirt_disk:
id: 00000000-0000-0000-0000-000000000000
storage_domain: data
name: "new_disk_name"
vm_name: rhel7
Regards,
Paul S.
________________________________
From: Sina Owolabi <notify.sina(a)gmail.com>
Sent: 26 November 2021 15:00
To: Staniforth, Paul <P.Staniforth(a)leedsbeckett.ac.uk>
Cc: users(a)ovirt.org <users(a)ovirt.org>
Subject: Re: [ovirt-users] Re: Creating VMs from templates with their own disks
Caution External Mail: Do not click any links or open any attachments unless you trust
the sender and know that the content is safe.
Thanks Paul.
I seem to be getting this by hand, but trying with ansible, I think my skills are a bit
lacking.
I can create with ansible, and it seems to work well, except for the fact that the new vm
is
created with the hostname of the vm from which the template was made.
The disk is also named by the template.
My ansiblle yaml is below and I'm pretty sure its wrong (especially where it needs to
use cloud-init to inject the correct hostname, and the other prepping I would like to
add).
Please can you help correct me?
---
- hosts: ovirt.ovirt.mydom.internal
tasks:
- import_tasks: ovirt_auth.yml
- name: Creates new virtual machine
ovirt.ovirt.ovirt_vm:
auth: "{{ ovirt_auth }}"
name: "{{ vm_fqdn }}"
state: present
clone: true
cluster: lrg0-ovirt-cluster
storage_domain: lrg0-ovirt-mydom-internal-Local
memory: 16GiB
cpu_cores: 8
cpu_sockets: 2
template: template-test00-centos8
type: server
operating_system: other_linux
sso: true
disk_format: raw
# disks:
# - name: "{{ vm_fqdn }}-disk0"
# bootable: true
# nics:
# - name: nic1
# boot_protocol: dhcp
# interface: virtio
# profile_name: "{{ net_profile_name }}"
graphical_console:
protocol:
- spice
- vnc
cloud_init:
custom_script: |
host_name: "{{ vm_fqdn }}"
user_name: myadmin
user_password: <password>
write_files:
- path: /tmp/setup.sh
permissions: '0755'
content: |
#!/bin/bash
echo "$(hostnamectl)" >> /tmp/myhostname.txt
ipa-client-install --hostname=`hostname -f` \
--mkhomedir --domain=services.mydom.internal \
--realm=SERVICES.MYDOM.INTERNAL --no-ntp \
--principal=admin --password=<password> \
--enable-dns-updates --unattended
runcmd:
- [ /tmp/setup.sh, "{{ vm_fqdn }}" ]
On Wed, Nov 24, 2021 at 9:26 PM Staniforth, Paul <P.Staniforth(a)leedsbeckett.ac.uk>
wrote:
Hello Sina,
to use the template.
Create new VM and select the template.
Click the advanced options.
In the boot section you can set the HD to be the first boot devices and unselect any CD.
In the Resource Allocation section, you can set the storage allocation to clone instead
of thin ( this will create a copy of the template disk), you can also set the disk alias
name.
you can also edit the template to make sure the HD is the first boot device.
I don't know what's in your ansible yaml definition.
Cloning is for copying VMs or snapshots not templates.
Regards,
Paul S.
________________________________
From: Sina Owolabi <notify.sina(a)gmail.com>
Sent: 24 November 2021 09:28
To: Staniforth, Paul <P.Staniforth(a)leedsbeckett.ac.uk>
Cc: users(a)ovirt.org <users(a)ovirt.org>
Subject: Re: [ovirt-users] Re: Creating VMs from templates with their own disks
Caution External Mail: Do not click any links or open any attachments unless you trust
the sender and know that the content is safe.
Hello
Sorry for the late reply, work has been crazy.
This doesnt seem to work as advertised, or I am still not getting it.
Either way I would really appreciate some help and guidance.
Steps I have attempted:
1. Create and configure VM as I want it to be (disk, partitioning, etc).
2. Shutdown the vm, create a template from it.
Cloning manually:
Cloning fails with this message:
Error while executing action:
clone00.domain.tld:
Cannot add VM. One or more provided storage domains are either not in active status or of
an illegal type for the requested operation.
I cant modify the storage allocation, and the disk its attempting to use is the disk of
the source VM.
Manual template install:
Choosing to install manually with a template requires me to add a new disk, and to boot
off the CD (defined in the template) and manually set things up. This I do not wish to do,
because I would rather automate.
Cloning with ansible, defining the cloud-init script and using the template:
VM is successfully created, but logging in with remote-viewer drops me into the
installation process (setting up from the attached ISO). Which is also not desired.
Please help me with what I am doing wrong.
Again the goal is to have the vm setup with its own credentials.
On Thu, Nov 18, 2021 at 9:24 AM Staniforth, Paul <P.Staniforth(a)leedsbeckett.ac.uk>
wrote:
Hello,
The VMs can get created from a template otherwise the blank template is used
if a particular template is used it can be thin dependent VM the VMs disks is linked to
the Templates disk and it just carries the changes made in the VMs disk (this is quicker
and uses less space if you a lot of disks). The other option is to create a cloned VM and
this will copy the Templates disk to the VM so it's no longer dependent.
In the ansible documentation look for the clone option.
https://docs.ansible.com/ansible/latest/collections/ovirt/ovirt/ovirt_vm_...
https://www.ovirt.org/documentation/virtual_machine_management_guide/inde...
Virtual Machine Management Guide
oVirt is a free open-source virtualization solution for your entire enterprise
www.ovirt.org
For the cloud-init does the cloud-init package need to be installed on the template
image?
Regards,
Paul S.
________________________________
From: notify.sina(a)gmail.com <notify.sina(a)gmail.com>
Sent: 18 November 2021 07:34
To: users(a)ovirt.org <users(a)ovirt.org>
Subject: [ovirt-users] Re: Creating VMs from templates with their own disks
Caution External Mail: Do not click any links or open any attachments unless you trust
the sender and know that the content is safe.
Im sorry, I am trying to wrap my head around this but it is difficult.
I just want to be able to stand up new vms, with their own storage, similar to how I can
with plain vanilla KVM, with a template or without, maybe even with a kickstart, and
hopefully with ansible.
Right now anytime I try to create a VM, using the template, (with ansible), it gets the
template disk attached, and from the console I see the new vm is named as the vm I created
the template with. Cloud init script that is meant to rename the vm, and join it to IPA,
is ignored.
If I create storage for the vm, before creating it, both the template storage and the new
storage are attached to the vm, which is also confusing. Cloud init is also ignored.
I didn't think something this straightforward would end up needing a shift in
thinking about how vms are created, especially with a product that's more than likely
using kvm under the hood.
I would appreciate some straightforward guiding steps, if I can get them.
Really. It's been a frustrating week.
> On 2021-11-17 13:50, Sina Owolabi wrote:
>
>
> You can create a template with no disk, then VM's created from that
> template will also have no disk. Then add a new disk to the VM after you
> create it. This is how the default blank template works. You can also
> create a template with an empty disk, then every VM created will also
> get an empty disk by default. You can always rename disks as well.
_______________________________________________
Users mailing list -- users(a)ovirt.org
To unsubscribe send an email to users-leave(a)ovirt.org
Privacy Statement:
https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ovi...
oVirt Code of Conduct:
https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ovi...
List Archives:
https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.o...
To view the terms under which this email is distributed, please go to:-
https://leedsbeckett.ac.uk/disclaimer/email
--
cordially yours,
Sina Owolabi
+2348176469061
To view the terms under which this email is distributed, please go to:-
https://leedsbeckett.ac.uk/disclaimer/email
--
cordially yours,
Sina Owolabi
+2348176469061
To view the terms under which this email is distributed, please go to:-
https://leedsbeckett.ac.uk/disclaimer/email
--
cordially yours,
Sina Owolabi
+2348176469061