Yep.
Your code:
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
Yet, in "custom_script" there is no "host_name" (indentation shows that
host_name is part of the custom script, not to mention the "|" character).
Try with:
cloud_init:
host_name: "{{ vm_fqdn }}"
user_name: myadmin
# I can't find this one in
https://docs.ansible.com/ansible/latest/collections/ovirt/ovirt/ovirt_vm_module.html
#user_password: <password>
root_password: <vaulted_password>
custom_script: |
write_files:
- path: /tmp/setup.sh
permissions: '0755'
content: |
#!/bin/bash
echo "$(hostnamectl)" >> /tmp/myhostname.txt
Best Regards,
Strahil Nikolov В петък, 26 ноември 2021 г., 19:33:16 Гринуич+2,
Staniforth, Paul <[email protected]> написа:
#yiv9174097940 P {margin-top:0;margin-bottom:0;}Hi Sina,
These should be part of the cloud-init dictionary and are strict about
indentation.
e.g. from the documentation.
- name: Run VM with cloud init ovirt.ovirt.ovirt_vm: name: rhel7
template: rhel7 cluster: Default memory: 1GiB high_availability: true
high_availability_priority: 50 # Available from Ansible 2.5 cloud_init:
dns_servers: '8.8.8.8 8.8.4.4' nic_boot_protocol: static
nic_ip_address: 10.34.60.86 nic_netmask: 255.255.252.0 nic_gateway:
10.34.63.254 nic_name: eth1 host_name: example.com
custom_script: | write_files: - content: | Hello,
world! path: /tmp/greeting.txt permissions: '0644'
user_name: root root_password: super_passwordRegards,
Paul S.
From: Sina Owolabi <[email protected]>
Sent: 26 November 2021 16:43
To: Staniforth, Paul <[email protected]>
Cc: [email protected] <[email protected]>
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.
Same thing when its written as 'hostname':
atal: [ovirt.ovirt.trove.internal]: FAILED! => {"changed": false,
"msg": "Unsupported parameters for (ovirt.ovirt.ovirt_vm) module:
hostname Supported parameters include: affinity_gr
gs, affinity_label_mappings, allow_partial_import, auth,
ballooning_enabled, bios_type, boot_devices, boot_menu, cd_iso, clone,
clone_permissions, cloud_init, cloud_init_nics, cloud_i
t, cluster, cluster_mappings, comment, cpu_cores, cpu_mode,
cpu_pinning, cpu_shares, cpu_sockets, cpu_threads,
custom_compatibility_version, custom_emulated_machine,
custom_properties
rotected, description, disk_format, disks, domain_mappings, exclusive,
export_domain, export_ova, fetch_nested, force, force_migrate,
graphical_console, high_availability, high_availa
ority, host, host_devices, id, initrd_path, instance_type, io_threads,
kernel_params, kernel_params_persist, kernel_path, kvm, lease,
lun_mappings, memory, memory_guaranteed, memory_m
e, name, nested_attributes, next_run, nics, numa_nodes,
numa_tune_mode, operating_system, placement_policy,
placement_policy_hosts, poll_interval, quota_id, reassign_bad_macs,
rng_dev
mappings, serial_console, serial_policy, serial_policy_value,
smartcard_enabled, snapshot_name, snapshot_vm, soundcard_enabled, sso,
state, stateless, storage_domain, sysprep, templat
e_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:35 PM Sina Owolabi <[email protected]> wrote:
>
> 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
> <[email protected]> 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 <[email protected]>
> > Sent: 26 November 2021 15:00
> > To: Staniforth, Paul <[email protected]>
> > Cc: [email protected] <[email protected]>
> > 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
> > <[email protected]> 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 <[email protected]>
> > Sent: 24 November 2021 09:28
> > To: Staniforth, Paul <[email protected]>
> > Cc: [email protected] <[email protected]>
> > 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
> > <[email protected]> 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://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.ansible.com%2Fansible%2Flatest%2Fcollections%2Fovirt%2Fovirt%2Fovirt_vm_module.html&data=04%7C01%7CP.Staniforth%40leedsbeckett.ac.uk%7C16c66d379b754d2319fc08d9b0fbf0c0%7Cd79a81124fbe417aa112cd0fb490d85c%7C0%7C0%7C637735418387672467%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=4M8Q9JDk03ujylbniI6g4OrpxepOjyv2UXdCoOZYY0U%3D&reserved=0
> >
> > https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ovirt.org%2Fdocumentation%2Fvirtual_machine_management_guide%2Findex.html&data=04%7C01%7CP.Staniforth%40leedsbeckett.ac.uk%7C16c66d379b754d2319fc08d9b0fbf0c0%7Cd79a81124fbe417aa112cd0fb490d85c%7C0%7C0%7C637735418387672467%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=7MdAK2Efho8MJEF85EbbraJnnRLyErPT0xy%2FKAieDWI%3D&reserved=0
> > Virtual Machine Management Guide
> > oVirt is a free open-source virtualization solution for your entire
> > enterprise
> > https://eur02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.ovirt.org%2F&data=04%7C01%7CP.Staniforth%40leedsbeckett.ac.uk%7C16c66d379b754d2319fc08d9b0fbf0c0%7Cd79a81124fbe417aa112cd0fb490d85c%7C0%7C0%7C637735418387672467%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=QYJugXcaaWG6QFC8%2Fiv3V%2FeeqKFQVrGCTRHkITUTihs%3D&reserved=0
> > For the cloud-init does the cloud-init package need to be installed on the
> > template image?
> >
> >
> > Regards,
> >
> > Paul S.
> > ________________________________
> > From: [email protected] <[email protected]>
> > Sent: 18 November 2021 07:34
> > To: [email protected] <[email protected]>
> > 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 -- [email protected]
> > To unsubscribe send an email to [email protected]
> > Privacy Statement:
> > https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ovirt.org%2Fprivacy-policy.html&data=04%7C01%7CP.Staniforth%40leedsbeckett.ac.uk%7C16c66d379b754d2319fc08d9b0fbf0c0%7Cd79a81124fbe417aa112cd0fb490d85c%7C0%7C0%7C637735418387672467%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=pldQbFbL3UIzSOfg0UkAn1Ab8Zi%2F%2F3Bw1JZIJ72rQbk%3D&reserved=0
> > oVirt Code of Conduct:
> > https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ovirt.org%2Fcommunity%2Fabout%2Fcommunity-guidelines%2F&data=04%7C01%7CP.Staniforth%40leedsbeckett.ac.uk%7C16c66d379b754d2319fc08d9b0fbf0c0%7Cd79a81124fbe417aa112cd0fb490d85c%7C0%7C0%7C637735418387672467%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=mkAjHqYwXpXW0btYh%2FrnbwCCp2TMPeyG%2F%2BAkAZPdAy4%3D&reserved=0
> > List Archives:
> > https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.ovirt.org%2Farchives%2Flist%2Fusers%40ovirt.org%2Fmessage%2FURJROHMP6M3LJWAM6A4QMLFXUIYLGPOZ%2F&data=04%7C01%7CP.Staniforth%40leedsbeckett.ac.uk%7C16c66d379b754d2319fc08d9b0fbf0c0%7Cd79a81124fbe417aa112cd0fb490d85c%7C0%7C0%7C637735418387672467%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=r5HBDn7WBhlRE82tSrYltXYcKyMKaYrZEhJDrXj93xk%3D&reserved=0
> > To view the terms under which this email is distributed, please go to:-
> > https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fleedsbeckett.ac.uk%2Fdisclaimer%2Femail&data=04%7C01%7CP.Staniforth%40leedsbeckett.ac.uk%7C16c66d379b754d2319fc08d9b0fbf0c0%7Cd79a81124fbe417aa112cd0fb490d85c%7C0%7C0%7C637735418387682465%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=nv1YidhtkPpvdeoVVzPVBag8mw0ZVOUAcgJylU%2FRkLE%3D&reserved=0
> >
> >
> >
> > --
> >
> > cordially yours,
> >
> > Sina Owolabi
> >
> > +2348176469061
> > To view the terms under which this email is distributed, please go to:-
> > https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fleedsbeckett.ac.uk%2Fdisclaimer%2Femail&data=04%7C01%7CP.Staniforth%40leedsbeckett.ac.uk%7C16c66d379b754d2319fc08d9b0fbf0c0%7Cd79a81124fbe417aa112cd0fb490d85c%7C0%7C0%7C637735418387682465%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=nv1YidhtkPpvdeoVVzPVBag8mw0ZVOUAcgJylU%2FRkLE%3D&reserved=0
> >
> >
> >
> > --
> >
> > cordially yours,
> >
> > Sina Owolabi
> >
> > +2348176469061
> > To view the terms under which this email is distributed, please go to:-
> > https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fleedsbeckett.ac.uk%2Fdisclaimer%2Femail&data=04%7C01%7CP.Staniforth%40leedsbeckett.ac.uk%7C16c66d379b754d2319fc08d9b0fbf0c0%7Cd79a81124fbe417aa112cd0fb490d85c%7C0%7C0%7C637735418387682465%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=nv1YidhtkPpvdeoVVzPVBag8mw0ZVOUAcgJylU%2FRkLE%3D&reserved=0
>
>
>
> --
>
> cordially yours,
>
> Sina Owolabi
>
> +2348176469061
--
cordially yours,
Sina Owolabi
+2348176469061
To view the terms under which this email is distributed, please go to:-
https://leedsbeckett.ac.uk/disclaimer/email
_______________________________________________
Users mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Privacy Statement: https://www.ovirt.org/privacy-policy.html
oVirt Code of Conduct:
https://www.ovirt.org/community/about/community-guidelines/
List Archives:
https://lists.ovirt.org/archives/list/[email protected]/message/ZUHT7Z7QV2U5MFOCXEY6M4RCKIKFEEHY/
_______________________________________________
Users mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Privacy Statement: https://www.ovirt.org/privacy-policy.html
oVirt Code of Conduct:
https://www.ovirt.org/community/about/community-guidelines/
List Archives:
https://lists.ovirt.org/archives/list/[email protected]/message/BXMATD3TCD4SKT4LWWDQPVX3W6Y5XQQY/