[ovirt-users] Help with a vdsm hook script script?
Karli Sjöberg
karli.sjoberg at slu.se
Fri Jun 12 07:03:01 UTC 2015
fre 2015-06-12 klockan 06:34 +0000 skrev Paul Jansen:
> I have not coded much python, but I'm having a go at trying to get a
> vdsm hook script working.
>
>
> What it is supposed to do is look for a controller of model
> 'virtio-scsi' in the domxml and change the model to 'ich9-ahci'.
Haven´t looked at the code, but I have a silly question. Are you sure
the VM is configured with virtio-scsi and not virtio-blk? Could be one
of those "d'oh!" moments...
/K
>
> I've named the script '50_change_scsi_controller' and have placed it
> in '/usr/libexec/vdsm/hooks/before_vm_start' on the one (and only)
> host in the cluster where I'm doing this testing. I've set the perms
> to 755.
> I've also added the custom property to my engine like so:
> engine-config -s UserDefinedVMProperties='change_scsi_controller=.*'
> --cver=3.5
> I've restarted the ovirt-engine like so 'service ovirt-engine
> restart' , and can now see the custom property in the GUI config for a
> powered off VM that is set to boot up into my cluster. I've put a
> string into the 'change_scsi_controller' property and booted up the
> VM.
> The scsi controller model is not changed from 'virtio-scsi' to
> 'ich9-ahci'
>
>
> On the host when I look at '/var/log/vdsm/vdsm.log' I can see tha tthe
> hook is getting called, but I'm not sure what I need to look at here
> specifically? Can anyone assist and possibly tell me what is wrong
> here? Is it an issue with my python hook script?
>
>
> I'm wanting to test an EL5 based install with a scsi disk, and EL5
> does not support virtio-scsi.
>
> I should also mention that I know there are issues with migrating VMs
> that use the ich9-ahci sata controller and I don't plan to use this
> long term. If I do need this functionality I'll likely set up some
> Fedora hosts in another cluster and use one of the other scsi
> controller types instead - ie: 'lsi53c810"', 'lsi53c895a', 'megasas',
> 'pvscsi'.
>
>
> Here's the hook script code:
>
>
>
>
> #!/usr/bin/python
>
> import os
> import hooking
>
> def main():
>
> if hooking.tobool(os.environ.get('change_scsi_controller')):
> newscsiadapter = hooking.read_json()
> domxml = hooking.read_domxml()
>
> for controller in domxml.getElementsByTagName('controller'):
> filterValue = controller.getAttribute('model')
> if filterValue == 'virtio-scsi':
> filterValue.setAttribute('model','ich9-ahci')
>
> hooking.write_domxml(domxml)
>
>
> if __name__ == '__main__':
> main()
>
>
> _______________________________________________
> Users mailing list
> Users at ovirt.org
> http://lists.ovirt.org/mailman/listinfo/users
More information about the Users
mailing list