Hi, Everything seems alright, except for the xpath expression returned nil object. So please let's try debugging the vms fetched:
--- class OpenNebula::VirtualMachinePool attr_reader :xml end my_file.puts vms.xml --- Regards, -Tino -- Constantino Vázquez Blanco | dsa-research.org/tinova Virtualization Technology Engineer / Researcher OpenNebula Toolkit | opennebula.org On Fri, Apr 1, 2011 at 5:47 PM, Zaina AFOULKI <[email protected]> wrote: > Hi Tino, > > I added the lines as you asked and I get this in the /tmp/remove_me.txt > OpenNebula host NilClass > NilClass > > $ onehost list -x > <HOST_POOL> > <HOST> > <ID>29</ID> > <NAME>node1</NAME> > <STATE>2</STATE> > <IM_MAD>im_kvm</IM_MAD> > <VM_MAD>vmm_kvm</VM_MAD> > <TM_MAD>tm_nfs</TM_MAD> > <LAST_MON_TIME>1301672703</LAST_MON_TIME> > <CLUSTER>default</CLUSTER> > <TEMPLATE> > <ARCH><![CDATA[x86_64]]></ARCH> > <CPUSPEED><![CDATA[1998]]></CPUSPEED> > <FREECPU><![CDATA[90.6]]></FREECPU> > <FREEMEMORY><![CDATA[770956]]></FREEMEMORY> > <HOSTNAME><![CDATA[node1]]></HOSTNAME> > <HYPERVISOR><![CDATA[kvm]]></HYPERVISOR> > <MODELNAME><![CDATA[Intel(R) Core(TM)2 Duo CPU E6550 @ > 2.33GHz]]></MODELNAME> > <NETRX><![CDATA[0]]></NETRX> > <NETTX><![CDATA[0]]></NETTX> > <TOTALCPU><![CDATA[200]]></TOTALCPU> > <TOTALMEMORY><![CDATA[2056676]]></TOTALMEMORY> > <USEDCPU><![CDATA[109.4]]></USEDCPU> > <USEDMEMORY><![CDATA[1285720]]></USEDMEMORY> > </TEMPLATE> > <HOST_SHARE> > <HID>29</HID> > <DISK_USAGE>0</DISK_USAGE> > <MEM_USAGE>262144</MEM_USAGE> > <CPU_USAGE>10</CPU_USAGE> > <MAX_DISK>0</MAX_DISK> > <MAX_MEM>2056676</MAX_MEM> > <MAX_CPU>200</MAX_CPU> > <FREE_DISK>0</FREE_DISK> > <FREE_MEM>770956</FREE_MEM> > <FREE_CPU>90</FREE_CPU> > <USED_DISK>0</USED_DISK> > <USED_MEM>1285720</USED_MEM> > <USED_CPU>109</USED_CPU> > <RUNNING_VMS>1</RUNNING_VMS> > </HOST_SHARE> > </HOST> > <HOST> > <ID>31</ID> > <NAME>node2</NAME> > <STATE>4</STATE> > <IM_MAD>im_kvm</IM_MAD> > <VM_MAD>vmm_kvm</VM_MAD> > <TM_MAD>tm_nfs</TM_MAD> > <LAST_MON_TIME>1301672409</LAST_MON_TIME> > <CLUSTER>default</CLUSTER> > <TEMPLATE> > <ARCH><![CDATA[x86_64]]></ARCH> > <CPUSPEED><![CDATA[1998]]></CPUSPEED> > <FREECPU><![CDATA[200.0]]></FREECPU> > <FREEMEMORY><![CDATA[1800824]]></FREEMEMORY> > <HOSTNAME><![CDATA[node2]]></HOSTNAME> > <HYPERVISOR><![CDATA[kvm]]></HYPERVISOR> > <MODELNAME><![CDATA[Intel(R) Core(TM)2 Duo CPU E6550 @ > 2.33GHz]]></MODELNAME> > <NETRX><![CDATA[0]]></NETRX> > <NETTX><![CDATA[0]]></NETTX> > <TOTALCPU><![CDATA[200]]></TOTALCPU> > <TOTALMEMORY><![CDATA[2056676]]></TOTALMEMORY> > <USEDCPU><![CDATA[0.0]]></USEDCPU> > <USEDMEMORY><![CDATA[255852]]></USEDMEMORY> > </TEMPLATE> > <HOST_SHARE> > <HID>31</HID> > <DISK_USAGE>0</DISK_USAGE> > <MEM_USAGE>0</MEM_USAGE> > <CPU_USAGE>0</CPU_USAGE> > <MAX_DISK>0</MAX_DISK> > <MAX_MEM>2056676</MAX_MEM> > <MAX_CPU>200</MAX_CPU> > <FREE_DISK>0</FREE_DISK> > <FREE_MEM>1800824</FREE_MEM> > <FREE_CPU>200</FREE_CPU> > <USED_DISK>0</USED_DISK> > <USED_MEM>255852</USED_MEM> > <USED_CPU>0</USED_CPU> > <RUNNING_VMS>0</RUNNING_VMS> > </HOST_SHARE> > </HOST> > </HOST_POOL> > > > > $ onevm list -x > > > <VM_POOL> > <VM> > <ID>3056</ID> > <UID>2</UID> > <USERNAME>sfr</USERNAME> > <NAME>sfr-ar</NAME> > <LAST_POLL>1301672685</LAST_POLL> > <STATE>3</STATE> > <LCM_STATE>3</LCM_STATE> > <STIME>1301672613</STIME> > <ETIME>0</ETIME> > <DEPLOY_ID>one-3056</DEPLOY_ID> > <MEMORY>0</MEMORY> > <CPU>0</CPU> > <NET_TX>0</NET_TX> > <NET_RX>0</NET_RX> > <LAST_SEQ>0</LAST_SEQ> > <TEMPLATE> > <CPU><![CDATA[0.1]]></CPU> > <DISK> > <DISK_ID><![CDATA[0]]></DISK_ID> > <SOURCE><![CDATA[/home/oneadmin/vmu.img]]></SOURCE> > <TARGET><![CDATA[sda]]></TARGET> > </DISK> > <FEATURES> > <ACPI><![CDATA[yes]]></ACPI> > </FEATURES> > <HAIZEA> > <DURATION><![CDATA[00:07:00]]></DURATION> > <PREEMPTIBLE><![CDATA[no]]></PREEMPTIBLE> > <START><![CDATA[+00:00:50]]></START> > </HAIZEA> > <MEMORY><![CDATA[256]]></MEMORY> > <NAME><![CDATA[sfr-ar]]></NAME> > <NIC> > <BRIDGE><![CDATA[br0]]></BRIDGE> > <IP><![CDATA[172.30.8.12]]></IP> > <MAC><![CDATA[02:00:ac:1e:08:0c]]></MAC> > <NETWORK><![CDATA[orange_public]]></NETWORK> > <NETWORK_ID><![CDATA[20]]></NETWORK_ID> > </NIC> > <OS> > <BOOT><![CDATA[hd]]></BOOT> > <ROOT><![CDATA[sda]]></ROOT> > </OS> > <RAW> > <DATA><![CDATA[<devices><serial type="pty"><source > path="/dev/pts/5"/><target port="0"/></serial><console type="pty" > tty="/dev/pts/5"><source path="/dev/pts/5"/><target > port="0"/></console><graphics type="vnc" port="5901" > autoport="yes"/></devices>]]></DATA> > <TYPE><![CDATA[kvm]]></TYPE> > </RAW> > <VMID><![CDATA[3056]]></VMID> > </TEMPLATE> > <HISTORY> > <SEQ>0</SEQ> > <HOSTNAME>node1</HOSTNAME> > <HID>29</HID> > <STIME>1301672663</STIME> > <ETIME>0</ETIME> > <PSTIME>1301672663</PSTIME> > <PETIME>1301672665</PETIME> > <RSTIME>1301672665</RSTIME> > <RETIME>0</RETIME> > <ESTIME>0</ESTIME> > <EETIME>0</EETIME> > <REASON>0</REASON> > </HISTORY> > </VM> > <VM> > <ID>3057</ID> > <UID>2</UID> > <USERNAME>sfr</USERNAME> > <NAME>sfr-ar</NAME> > <LAST_POLL>1301672685</LAST_POLL> > <STATE>3</STATE> > <LCM_STATE>3</LCM_STATE> > <STIME>1301672614</STIME> > <ETIME>0</ETIME> > <DEPLOY_ID>one-3057</DEPLOY_ID> > <MEMORY>0</MEMORY> > <CPU>0</CPU> > <NET_TX>0</NET_TX> > <NET_RX>0</NET_RX> > <LAST_SEQ>0</LAST_SEQ> > <TEMPLATE> > <CPU><![CDATA[0.1]]></CPU> > <DISK> > <DISK_ID><![CDATA[0]]></DISK_ID> > <SOURCE><![CDATA[/home/oneadmin/vmu.img]]></SOURCE> > <TARGET><![CDATA[sda]]></TARGET> > </DISK> > <FEATURES> > <ACPI><![CDATA[yes]]></ACPI> > </FEATURES> > <HAIZEA> > <DURATION><![CDATA[00:07:00]]></DURATION> > <PREEMPTIBLE><![CDATA[no]]></PREEMPTIBLE> > <START><![CDATA[+00:00:50]]></START> > </HAIZEA> > <MEMORY><![CDATA[256]]></MEMORY> > <NAME><![CDATA[sfr-ar]]></NAME> > <NIC> > <BRIDGE><![CDATA[br0]]></BRIDGE> > <IP><![CDATA[172.30.8.10]]></IP> > <MAC><![CDATA[02:00:ac:1e:08:0a]]></MAC> > <NETWORK><![CDATA[orange_public]]></NETWORK> > <NETWORK_ID><![CDATA[20]]></NETWORK_ID> > </NIC> > <OS> > <BOOT><![CDATA[hd]]></BOOT> > <ROOT><![CDATA[sda]]></ROOT> > </OS> > <RAW> > <DATA><![CDATA[<devices><serial type="pty"><source > path="/dev/pts/5"/><target port="0"/></serial><console type="pty" > tty="/dev/pts/5"><source path="/dev/pts/5"/><target > port="0"/></console><graphics type="vnc" port="5901" > autoport="yes"/></devices>]]></DATA> > <TYPE><![CDATA[kvm]]></TYPE> > </RAW> > <VMID><![CDATA[3057]]></VMID> > </TEMPLATE> > <HISTORY> > <SEQ>0</SEQ> > <HOSTNAME>node2</HOSTNAME> > <HID>31</HID> > <STIME>1301672664</STIME> > <ETIME>0</ETIME> > <PSTIME>1301672664</PSTIME> > <PETIME>1301672684</PETIME> > <RSTIME>1301672684</RSTIME> > <RETIME>0</RETIME> > <ESTIME>0</ESTIME> > <EETIME>0</EETIME> > <REASON>0</REASON> > </HISTORY> > </VM> > </VM_POOL> > > > > On Fri, 1 Apr 2011 17:31:44 +0200, Tino Vazquez wrote: >> >> Hi, >> >> Please try the following: >> >> my_file.puts "OpenNebula host #{vm_ids_array.class}" >> my_file.puts vm_ids_array.class >> >> Also, please send the output of >> >> $ onehost list -x >> $ onevm list -x >> >> Regards, >> >> -Tino >> >> -- >> Constantino Vázquez Blanco | dsa-research.org/tinova >> Virtualization Technology Engineer / Researcher >> OpenNebula Toolkit | opennebula.org >> >> >> >> On Fri, Apr 1, 2011 at 5:23 PM, Zaina AFOULKI >> <[email protected]> wrote: >>> >>> Hi Tino, >>> >>> I added this to the ruby script (I'm new to Ruby, so I'm not sure it's >>> correct): >>> >>> my_file.puts "OpenNebula host #{vm_ids_array.class}" >>> for item in 0...vm_ids_array.length >>> my_file.puts " #{vm_ids_array[item]}"; >>> end >>> >>> $cat /tmp/remove_me.txt >>> OpenNebula host has failed 31 >>> NilClass >>> >>> oned.log: >>> >>> Fri Apr 1 17:16:36 2011 [HKM][D]: Message received: LOG - 31 Command >>> execution fail: /home/oneadmin/one/share/hooks/host_error.rb 31 -r y >>> Fri Apr 1 17:16:36 2011 [HKM][D]: Message received: LOG - 31 STDERR >>> follows. >>> Fri Apr 1 17:16:36 2011 [HKM][D]: Message received: LOG - 31 >>> /home/oneadmin/one/share/hooks/host_error.rb:81: undefined method >>> `length' >>> for nil:NilClass (NoMethodError) >>> >>> Thanks for your help, >>> >>> -- >>> Zaina >>> >>> On Fri, 1 Apr 2011 12:31:21 +0100, Tino Vazquez wrote: >>>> >>>> Hi Zaina, >>>> >>>> Could you please print out also the content of "vm_ids_array"? I am >>>> afraid the xpath expression may not be doing its job. >>>> >>>> Regards, >>>> >>>> -Tino >>>> >>>> -- >>>> Constantino Vázquez Blanco, MSc >>>> OpenNebula Major Contributor >>>> www.OpenNebula.org | @tinova79 >>>> >>>> >>>> >>>> On Fri, Apr 1, 2011 at 8:57 AM, Zaina AFOULKI >>>> <[email protected]> wrote: >>>>> >>>>> Hi, >>>>> >>>>> I checked the ruby script that's called and it seems that the array >>>>> containing the list of VMs is empty >>>>> vm_ids_array = >>>>> >>>>> >>>>> >>>>> >>>>> vms.retrieve_elements("/VM_POOL/VM[STATE=3]/HISTORY[HOSTNAME=\"#{host_name}\"]/../ID") >>>>> >>>>> I tried printing something to a tmp file to make sure that the script >>>>> gets >>>>> the right host id. >>>>> my_file = File.new("/tmp/remove_me.txt", "w") >>>>> my_file.puts "OpenNebula host has failed #{ARGV[0]}" >>>>> >>>>> The hostname and host_id are correctly detected by the script. >>>>> >>>>> Thank you for any hints on how to fix this, >>>>> >>>>> -- >>>>> Zaina >>>>> >>>>> On Thu, 31 Mar 2011 16:36:22 +0200, Zaina AFOULKI wrote: >>>>>> >>>>>> I just checked back the oned.log and it seems that the hook is >>>>>> executed >>>>>> [HKM][D]: Message received: EXECUTE SUCCESS 31 disable >>>>>> >>>>>> However the VMs aren't re-submitted as expected ? >>>>>> >>>>>> Thanks, >>>>>> -- >>>>>> Zaina >>>>>> >>>>>> On Thu, 31 Mar 2011 16:20:27 +0200, Zaina AFOULKI wrote: >>>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> I'm having some trouble getting the HOST_HOOKS to work: >>>>>>> I added this to the configuration file and restarted oned. >>>>>>> >>>>>>> HOST_HOOK = [ >>>>>>> name = "disable", >>>>>>> on = "DISABLE", >>>>>>> command = "host_error.rb", >>>>>>> arguments = "$HID -r y", >>>>>>> remote = "no" ] >>>>>>> >>>>>>> However when I disable a host using "onehost disable" the VMs aren't >>>>>>> re-submitted. >>>>>>> The oned.log doesn't indicate that the hook has been triggered. >>>>>>> >>>>>>> I'm using OpenNebula 2.2 and the script host_error.rb is indeed >>>>>>> located in my $ONE_LOCATION/share/hooks/ >>>>>>> >>>>>>> What am I doing wrong? Thanks >>>>> >>>>> _______________________________________________ >>>>> Users mailing list >>>>> [email protected] >>>>> http://lists.opennebula.org/listinfo.cgi/users-opennebula.org >>>>> >>> >>> -- >>> Zaina AFOULKI >>> Étudiante à l'Ecole Nationale Supérieure d'Ingénieurs de Bourges. >>> 1ère année Sécurité et Technologies Informatiques >>> _______________________________________________ >>> Users mailing list >>> [email protected] >>> http://lists.opennebula.org/listinfo.cgi/users-opennebula.org >>> > > -- > Zaina AFOULKI > Étudiante à l'Ecole Nationale Supérieure d'Ingénieurs de Bourges. > 1ère année Sécurité et Technologies Informatiques > _______________________________________________ > Users mailing list > [email protected] > http://lists.opennebula.org/listinfo.cgi/users-opennebula.org > _______________________________________________ Users mailing list [email protected] http://lists.opennebula.org/listinfo.cgi/users-opennebula.org
