Hi Thomas,<div><br></div><div>That makes perfect sense, the VMs created from a template file are all created with the same name, whereas the instantiate method was giving them different ones. The problem is that VMs are the only objects that can repeat names even with the same owner, and that is not taken into account for the cache name index method, PoolSQL::key.</div>

<div><br></div><div>Your patch looks fine, I'll run a few tests and upload a fix soon.</div><div><br></div><div>Thank you for your great feedback!</div><div><br></div><div>Carlos<br clear="all">--<br>Carlos Martín, MSc<br>

Project Engineer<br>OpenNebula - The Open-source Solution for Data Center Virtualization<div><span style="border-collapse:collapse;color:rgb(136,136,136);font-family:arial,sans-serif;font-size:13px"><a href="http://www.OpenNebula.org" target="_blank">www.OpenNebula.org</a> | <a href="mailto:cmartin@opennebula.org" target="_blank">cmartin@opennebula.org</a> | <a href="http://twitter.com/opennebula" target="_blank">@OpenNebula</a></span><span style="border-collapse:collapse;color:rgb(136,136,136);font-family:arial,sans-serif;font-size:13px"><a href="mailto:cmartin@opennebula.org" style="color:rgb(42,93,176)" target="_blank"></a></span></div>


<br>
<br><br><div class="gmail_quote">2012/4/17 Thomas Higdon <span dir="ltr"><<a href="mailto:thigdon@akamai.com" target="_blank">thigdon@akamai.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


I've not yet tried 3.4, but I've noticed a problem with 3.2.1 and 3.3.0<br>
where when a VM with a non-unique name is created, that similar symptoms<br>
are observed. This was causing my VM restores from the SUSPENDED state<br>
to fail, because ONE was having it go into a PROLOG instead of a<br>
PROLOG_RESUME state (not remembering why at the moment, but something to<br>
do with the value of the REASON or PxTIME values). I eventually was able<br>
to figure out that the SQLPool object was getting confused, because I<br>
think it assumes that every object that uses it must have a unique name.<br>
This causes it to sometimes overwrite HISTORY values.<br>
<br>
The attached patch to (to 3.3.0) solves my problem. I would have<br>
submitted it upstream, but I might not consider it the "right" solution<br>
and haven't had the time to get it into what I would consider a<br>
reasonable state. But FWIW, here it is.<br>
<div><div><br>
On Tue, Apr 17, 2012 at 09:53:07AM -0400, Carlos Martín Sánchez wrote:<br>
> Hi Chris,<br>
><br>
> It is indeed a bug. At first I wasn't able to reproduce the problem, then I<br>
> realized you were creating VM directly from a template file rather than using<br>
> onetemplate.<br>
><br>
> We are looking into it [1]. Meanwhile, could you please try to create the VMs<br>
> with "onetemplate instantiate" [2], and see it the problem disappears?<br>
><br>
> Regards,<br>
> Carlos<br>
><br>
> [1] <a href="http://dev.opennebula.org/issues/1237" target="_blank">http://dev.opennebula.org/issues/1237</a><br>
> [2] <a href="http://opennebula.org/documentation:rel3.4:vm_guide" target="_blank">http://opennebula.org/documentation:rel3.4:vm_guide</a><br>
><br>
> --<br>
> Carlos Martín, MSc<br>
> Project Engineer<br>
> OpenNebula - The Open-source Solution for Data Center Virtualization<br>
> <a href="http://www.OpenNebula.org" target="_blank">www.OpenNebula.org</a> | <a href="mailto:cmartin@opennebula.org" target="_blank">cmartin@opennebula.org</a> | @OpenNebula<br>
><br>
><br>
><br>
> On Mon, Apr 16, 2012 at 11:09 PM, Chris Johnston <<a href="mailto:chjohnston@rim.com" target="_blank">chjohnston@rim.com</a>> wrote:<br>
><br>
>     Hi all,<br>
><br>
>     Has anyone else noticed that HISTORY records are corrupted when there are<br>
>     simultaneous VM actions? And some actions leave VMs, in particular a fail<br>
>     to livemigrate, with a bad history preventing a further live migration? It<br>
>     seems that update_history is failing at least for sqlite.<br>
><br>
>     # onevm create example.vm<br>
><br>
>     This results in a good history record...<br>
><br>
>     VIRTUAL MACHINE HISTORY<br>
>      SEQ        HOSTNAME REASON           START        TIME       PTIME<br>
>       0          arch02   none  04/16 20:58:58    0d 00:00    0d 00:00<br>
><br>
>      <HISTORY_RECORDS><br>
>        <HISTORY><br>
>          <SEQ>0</SEQ><br>
>          <HOSTNAME>arch02</HOSTNAME><br>
>          <HID>3</HID><br>
>          <STIME>1334609938</STIME><br>
>          <ETIME>0</ETIME><br>
>          <VMMMAD>vmm_kvm</VMMMAD><br>
>          <VNMMAD>ovswitch</VNMMAD><br>
>          <PSTIME>1334609938</PSTIME><br>
>          <PETIME>1334609940</PETIME><br>
>          <RSTIME>1334609940</RSTIME><br>
>          <RETIME>0</RETIME><br>
>          <ESTIME>0</ESTIME><br>
>          <EETIME>0</EETIME><br>
>          <REASON>0</REASON><br>
>        </HISTORY><br>
>      </HISTORY_RECORDS><br>
><br>
>     # onevm create example.vm ; onevm create example.vm<br>
><br>
>     This results in none of the timers being set in the history record for<br>
>     either VM.<br>
><br>
>     VIRTUAL MACHINE HISTORY<br>
>      SEQ        HOSTNAME REASON           START        TIME       PTIME<br>
>       0          host02   none               - 15446d 20:5    0d 00:00<br>
><br>
>      <HISTORY_RECORDS><br>
>        <HISTORY><br>
>          <SEQ>0</SEQ><br>
>          <HOSTNAME>host02</HOSTNAME><br>
>          <HID>3</HID><br>
>          <STIME>0</STIME><br>
>          <ETIME>0</ETIME><br>
>          <VMMMAD>vmm_kvm</VMMMAD><br>
>          <VNMMAD>ovswitch</VNMMAD><br>
>          <PSTIME>0</PSTIME><br>
>          <PETIME>0</PETIME><br>
>          <RSTIME>0</RSTIME><br>
>          <RETIME>0</RETIME><br>
>          <ESTIME>0</ESTIME><br>
>          <EETIME>0</EETIME><br>
>          <REASON>0</REASON><br>
>        </HISTORY><br>
>      </HISTORY_RECORDS><br>
><br>
>     # onevm livemigrate 62 host2 ; onevm livemigrate 62 host01 (both of these<br>
>     fail on purpose)<br>
>     # onevm show 62<br>
>     <snip><br>
>     STATE               : ACTIVE<br>
>     LCM_STATE           : RUNNING<br>
>     VIRTUAL MACHINE HISTORY<br>
>      SEQ        HOSTNAME REASON           START        TIME       PTIME<br>
>       0          host02   user  04/16 20:58:58    0d 00:02    0d 00:00<br>
>       1          host01   user               - 15446d 21:0    0d 00:00<br>
>       2          host02   user               - 15446d 21:0    0d 00:00<br>
>       3          host02   none  04/16 21:03:51    0d 00:00    0d 00:00<br>
>       4          host02   none               - 15446d 21:0    0d 00:00<br>
>     oneadmin@arch01:~$ onevm livemigrate 62 host02<br>
>     [VirtualMachineMigrate] Wrong state to perform action<br>
><br>
>     Chris<br>
><br>
>     ---------------------------------------------------------------------<br>
>     This transmission (including any attachments) may contain confidential<br>
>     information, privileged material (including material protected by the<br>
>     solicitor-client or other applicable privileges), or constitute non-public<br>
>     information. Any use of this information by anyone other than the intended<br>
>     recipient is prohibited. If you have received this transmission in error,<br>
>     please immediately reply to the sender and delete this information from<br>
>     your system. Use, dissemination, distribution, or reproduction of this<br>
>     transmission by unintended recipients is not authorized and may be<br>
>     unlawful.<br>
>     _______________________________________________<br>
>     Users mailing list<br>
>     <a href="mailto:Users@lists.opennebula.org" target="_blank">Users@lists.opennebula.org</a><br>
>     <a href="http://lists.opennebula.org/listinfo.cgi/users-opennebula.org" target="_blank">http://lists.opennebula.org/listinfo.cgi/users-opennebula.org</a><br>
><br>
><br>
<br>
> _______________________________________________<br>
> Users mailing list<br>
> <a href="mailto:Users@lists.opennebula.org" target="_blank">Users@lists.opennebula.org</a><br>
> <a href="http://lists.opennebula.org/listinfo.cgi/users-opennebula.org" target="_blank">http://lists.opennebula.org/listinfo.cgi/users-opennebula.org</a><br>
<br>
</div></div></blockquote></div><br>
</div>