[one-users] Host hooks aren't triggered

Zaina AFOULKI zaina.afoulki at ensi-bourges.fr
Fri Apr 1 08:47:36 PDT 2011


 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
> <zaina.afoulki at ensi-bourges.fr> 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
>>> <zaina.afoulki at ensi-bourges.fr> 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
>>>> Users at lists.opennebula.org
>>>> 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
>> Users at lists.opennebula.org
>> 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



More information about the Users mailing list