
------=_Part_1839633_221010509.1434090878897 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable I have not coded much python, but I'm having a go at trying to get a vdsm h= ook script working. What it is supposed to do is look for a controller of model 'virtio-scsi' i= n the domxml and change the model to 'ich9-ahci'.I've named the script '50_= change_scsi_controller' and have placed it in '/usr/libexec/vdsm/hooks/befo= re_vm_start' on the one (and only) host in the cluster where I'm doing this= testing.=C2=A0 I've set the perms to 755.I've also added the custom proper= ty to my engine like so: engine-config -s UserDefinedVMProperties=3D'change= _scsi_controller=3D.*' --cver=3D3.5I'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.=C2= =A0 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' =C2=A0On the host when I look at '/var/log/vdsm/vdsm.log' I can see tha tth= e hook is getting called, but I'm not sure what I need to look at here spec= ifically?=C2=A0 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.= =C2=A0 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 =C2=A0 import os import hooking =C2=A0 def main(): =C2=A0 =C2=A0=C2=A0=C2=A0 if hooking.tobool(os.environ.get('change_scsi_controller= ')): =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 newscsiadapter =3D hooking.read_= json() =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 domxml =3D hooking.read_domxml() =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 for controller in domxml.getElem= entsByTagName('controller'): =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 filterVa= lue =3D controller.getAttribute('model') =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if filte= rValue =3D=3D 'virtio-scsi': =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 filterValue.setAttribute('model','ich9-ahci') =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 hooking.write_domxml(domxml) if __name__ =3D=3D '__main__': =C2=A0=C2=A0=C2=A0 main() ------=_Part_1839633_221010509.1434090878897 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable <html><body><div style=3D"color:#000; background-color:#fff; font-family:He= lvetica Neue-Light, Helvetica Neue Light, Helvetica Neue, Helvetica, Arial,= Lucida Grande, Sans-Serif;font-size:16px"><div dir=3D"ltr" id=3D"yui_3_16_= 0_1_1434089995415_2277"><span id=3D"yui_3_16_0_1_1434089995415_2464">I have= not coded much python, but I'm having a go at trying to get a vdsm hook sc= ript working.</span></div><div id=3D"yui_3_16_0_1_1434089995415_2366" dir= =3D"ltr"><br><span></span></div><div id=3D"yui_3_16_0_1_1434089995415_2289"= dir=3D"ltr"><span id=3D"yui_3_16_0_1_1434089995415_2310">What it is suppos= ed to do is look for a controller of model 'virtio-scsi' in the domxml and = change the model to 'ich9-ahci'.</span></div><div id=3D"yui_3_16_0_1_143408= 9995415_2311" dir=3D"ltr"><span id=3D"yui_3_16_0_1_1434089995415_2310"></sp= an></div><div id=3D"yui_3_16_0_1_1434089995415_2338" dir=3D"ltr">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 wher= e I'm doing this testing. I've set the perms to 755.</div><div id=3D"= yui_3_16_0_1_1434089995415_2389" dir=3D"ltr">I've also added the custom pro= perty to my engine like so: engine-config -s UserDefinedVMProperties=3D'cha= nge_scsi_controller=3D.*' --cver=3D3.5</div><div id=3D"yui_3_16_0_1_1434089= 995415_2423" dir=3D"ltr">I've restarted the ovirt-engine like so 'service o= virt-engine restart' , and can now see the custom property in the GUI confi= g for a powered off VM that is set to boot up into my cluster. I've p= ut a string into the 'change_scsi_controller' property and booted up the VM= .</div><div id=3D"yui_3_16_0_1_1434089995415_2453" dir=3D"ltr">The scsi con= troller model is not changed from 'virtio-scsi' to 'ich9-ahci'<br></div><di= v style=3D"" class=3D"" id=3D"yui_3_16_0_1_1434089995415_2338" dir=3D"ltr">= </div><div id=3D"yui_3_16_0_1_1434089995415_2535" style=3D"" class=3D= "" dir=3D"ltr">On the host when I look at '/var/log/vdsm/vdsm.log' I can se= e 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 wro= ng here? Is it an issue with my python hook script?</div><div id=3D"yui_3_1= 6_0_1_1434089995415_2562" style=3D"" class=3D"" dir=3D"ltr"><br></div><div = id=3D"yui_3_16_0_1_1434089995415_2593" style=3D"" class=3D"" dir=3D"ltr">I'= m wanting to test an EL5 based install with a scsi disk, and EL5 does not s= upport virtio-scsi.<br></div><div id=3D"yui_3_16_0_1_1434089995415_2701" st= yle=3D"" class=3D"" dir=3D"ltr">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 l= ikely set up some Fedora hosts in another cluster and use one of the other = scsi controller types instead - ie: 'lsi53c810"', 'lsi53c895a', 'megasas', = 'pvscsi'.</div><div id=3D"yui_3_16_0_1_1434089995415_2702" style=3D"" class= =3D"" dir=3D"ltr"><br></div><div id=3D"yui_3_16_0_1_1434089995415_2703" sty= le=3D"" class=3D"" dir=3D"ltr">Here's the hook script code:</div><div id=3D= "yui_3_16_0_1_1434089995415_2635" style=3D"" class=3D"" dir=3D"ltr"><br></d= iv><div id=3D"yui_3_16_0_1_1434089995415_2636" style=3D"" class=3D"" dir=3D= "ltr"><br></div><div id=3D"yui_3_16_0_1_1434089995415_2637" style=3D"" clas= s=3D"" dir=3D"ltr">#!/usr/bin/python<br style=3D"" class=3D""> <br sty= le=3D"" class=3D"">import os<br style=3D"" class=3D"">import hooking<br sty= le=3D"" class=3D""> <br style=3D"" class=3D"">def main():<br style=3D"= " class=3D""> <br style=3D"" class=3D""> if hooking.= tobool(os.environ.get('change_scsi_controller')):<br style=3D"" class=3D"">= newscsiadapter =3D hooking.read_= json()<br style=3D"" class=3D""> = domxml =3D hooking.read_domxml()<br style=3D"" class=3D""><br style=3D"" cl= ass=3D""> for controller in domxm= l.getElementsByTagName('controller'):<br style=3D"" class=3D""> = filterValue =3D cont= roller.getAttribute('model')<br style=3D"" class=3D""> &nb= sp; if filterValue =3D=3D 'virtio= -scsi':<br style=3D"" class=3D""> = filterValue.setAttribute('= model','ich9-ahci')<br style=3D"" class=3D""><br style=3D"" class=3D"">&nbs= p; hooking.write_domxml(domxml)<br styl= e=3D"" class=3D""><br style=3D"" class=3D""><br style=3D"" class=3D"">if __= name__ =3D=3D '__main__':<br style=3D"" class=3D""> main(= )<br style=3D"" class=3D""><br></div></div></body></html> ------=_Part_1839633_221010509.1434090878897--

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@ovirt.org http://lists.ovirt.org/mailman/listinfo/users

----- Original Message -----
From: "Karli Sjöberg" <karli.sjoberg@slu.se> To: "Paul Jansen" <vlaero@yahoo.com.au> Cc: "Users" <users@ovirt.org> Sent: Friday, June 12, 2015 9:03:01 AM Subject: Re: [ovirt-users] Help with a vdsm hook script script?
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')
controller.setAttribute('model','ich9-ahci')
hooking.write_domxml(domxml)
if __name__ == '__main__': main()
_______________________________________________ Users mailing list Users@ovirt.org http://lists.ovirt.org/mailman/listinfo/users
_______________________________________________ Users mailing list Users@ovirt.org http://lists.ovirt.org/mailman/listinfo/users
participants (3)
-
Karli Sjöberg
-
Paul Jansen
-
Simone Tiraboschi