Hi,<br><br>2011/9/23 Joydipto Banerjee <span dir="ltr"><<a href="mailto:joydipto.b@in.ibm.com">joydipto.b@in.ibm.com</a>></span><br><blockquote style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;" class="gmail_quote">

<font face="sans-serif" size="2">Can you please guide us on how the hook
can query the above details from *.vm or *.img ?</font>
<br></blockquote>
<br>The hook is executed as oneadmin, so you can use any interface to query the data from the core. You can use the CLI (e.g. onevm show <id>, oneimage show <id>), maybe with the -x option.<br>If your hook is a ruby or java program, you can also use the APIs [1,2]<br>

<br><blockquote style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;" class="gmail_quote"><font face="sans-serif" size="2">After I execution, I see that the VM
stays in "BOOT" state ...and the following lines are written
to the log file ..</font><br><table>
<tbody><tr valign="top">
<td><font face="Tahoma" size="1">Fri Sep 23 17:10:51 2011 [LCM][I]: New VM
state is BOOT<br>
Fri Sep 23 17:10:51 2011 [VMM][I]: Generating deployment file: /srv/cloud/one/var/37/deployment.0</font></td></tr></tbody></table><br><br><font face="sans-serif" size="2">How can the admin manually enable this
VM if he/she chooses to 'approve' the request ?</font><br></blockquote>





<br>The VM is in boot because the scheduler deployed it. To make the scheduler ignore the new VMs, just execute the hold action from the CREATE hook (onevm hold <id>).<br>A VM on hold will stay in that state until you execute a onevm enable <id> [3]<br>

<br><br>Regards,<br>Carlos.<br><br>[1] <a href="http://opennebula.org/documentation:rel3.0:ruby">http://opennebula.org/documentation:rel3.0:ruby</a><br>[2] <a href="http://opennebula.org/documentation:rel3.0:java">http://opennebula.org/documentation:rel3.0:java</a><br>

[3] <a href="http://opennebula.org/documentation:rel3.0:vm_guide_2#virtual_machine_life-cycle">http://opennebula.org/documentation:rel3.0:vm_guide_2#virtual_machine_life-cycle</a><br><br clear="all"><span style="border-collapse:collapse;color:rgb(136, 136, 136);font-family:arial, sans-serif;font-size:13px">--<br>

Carlos Martín, MSc<br>Project Major Contributor<br><span style="background-color:rgb(255, 255, 204);color:rgb(34, 34, 34);background-repeat:initial initial">OpenNebula</span> - The Open Source Toolkit for Cloud Computing<br>

<a href="http://www.opennebula.org/" style="color:rgb(42, 93, 176)" target="_blank">www.<span style="background-color:rgb(255, 255, 204);color:rgb(34, 34, 34);background-repeat:initial initial">OpenNebula</span>.org</a> | <a href="mailto:cmartin@opennebula.org" style="color:rgb(42, 93, 176)" target="_blank">cmartin@<span style="background-color:rgb(255, 255, 204);color:rgb(34, 34, 34);background-repeat:initial initial">opennebula</span>.org</a></span><br>


<br><br><div class="gmail_quote">2011/9/23 Joydipto Banerjee <span dir="ltr"><<a href="mailto:joydipto.b@in.ibm.com">joydipto.b@in.ibm.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<font face="sans-serif" size="2">Hello again ..</font>
<br><font face="sans-serif" size="2">I have tested hooks in 2.2 also and
it works fine ...so please ignore my previous email. Apologize.</font>
<br>
<br><font face="sans-serif" size="2">I have been able to follow your instructions
to a certain extent ...but need your help on the following :</font>
<br>
<br>
<br><font face="sans-serif" size="2"><b>for step 1: </b></font>
<br><div class="im">
<br><font size="3">The hook can query OpenNebula for details about the user,
the VM or any other resources used in the requested VM like Images or VNets.
That email could look like this:<br>
<br>
The user john_doe (8) wants to deploy a VM with<br>
VM ID  : 31<br>
CPU    : 2<br>
MEMORY : 1024<br>
DISK   : IMAGE ID 15<br>
         Ubuntu Server<br>
         10G </font>
<br>
<br></div><font face="sans-serif" size="2">Can you please guide us on how the hook
can query the above details from *.vm or *.img ?</font>
<br>
<br><font face="sans-serif" size="2"><b>for step 2:</b></font>
<br>
<br><font face="sans-serif" size="2">I have inserted the following in the
 oned.conf file :</font>
<br>
<br><font face="sans-serif" size="2">VM_HOOK = [</font>
<br><font face="sans-serif" size="2">    name      =
"To_Trigger_Email_On_VM_Creation",</font>
<br><font face="sans-serif" size="2">    on      
 = "CREATE",</font>
<br><font face="sans-serif" size="2">    command   = "joydipto_mail_trigger.sh",</font>
<br><font face="sans-serif" size="2">    arguments = "$VMID"
]</font>
<br>
<br><font face="sans-serif" size="2">After I execution, I see that the VM
stays in "BOOT" state ...and the following lines are written
to the log file ..</font>
<br>
<table>
<tbody><tr valign="top">
<td><font face="Tahoma" size="1">Fri Sep 23 17:10:51 2011 [LCM][I]: New VM
state is BOOT<br>
Fri Sep 23 17:10:51 2011 [VMM][I]: Generating deployment file: /srv/cloud/one/var/37/deployment.0</font></td></tr></tbody></table>
<br>
<br><font face="sans-serif" size="2">How can the admin manually enable this
VM if he/she chooses to 'approve' the request ?</font>
<br>
<br><font face="sans-serif" size="2">Thanks in advance.</font>
<br>
<br><font face="sans-serif" size="2">Regards,</font>
<br><font face="sans-serif" size="2">Joydipto.</font>
<br>
<br><font color="#800080" face="sans-serif" size="1">----- Forwarded by Joydipto
Banerjee/India/IBM on 09/23/2011 05:34 PM -----</font>
<br>
<br><font color="#5f5f5f" face="sans-serif" size="1">From:      
 </font><font face="sans-serif" size="1">Joydipto Banerjee/India/IBM</font>
<br><font color="#5f5f5f" face="sans-serif" size="1">To:      
 </font><font face="sans-serif" size="1">Carlos Martín Sánchez
<<a href="mailto:cmartin@opennebula.org" target="_blank">cmartin@opennebula.org</a>></font>
<br><font color="#5f5f5f" face="sans-serif" size="1">Date:      
 </font><font face="sans-serif" size="1">09/23/2011 03:45 PM</font>
<br><font color="#5f5f5f" face="sans-serif" size="1">Subject:    
   </font><font face="sans-serif" size="1">Re: [one-users]
Workflow Management in Open Nebula</font>
<br>
<hr noshade>
<br>
<br><font face="sans-serif" size="2">Many Thanks Carlos.</font>
<br>
<br><font face="sans-serif" size="2">I forgot to mention that we are using
Open Nebula 2.2. The documentation links that you suggested mention Open
Nebula 3.0</font>
<br>
<br><font face="sans-serif" size="2">So, does the solution that you mentioned
for incorporating 'workflow' hold for OpenNebula 2.2 also ?</font>
<br>
<br><font face="sans-serif" size="2">Thanks and Regards,</font>
<br><font face="sans-serif" size="2">Joydipto.<br>
</font><font face="Arial" size="1"><br>
</font>
<br><font color="#8f8f8f" face="Arial" size="1"><b>JOYDIPTO BANERJEE</b></font>
<table>
<tbody><tr>
<td colspan="3">
<hr>
</td></tr><tr valign="top">
<td><img src="cid:_2_09C26A1809C267AC0043907465257914" alt="2D barcode - encoded with contact information" height="100" width="100">
</td><td><font color="#4181c0" face="Arial" size="1"><b>Phone:</b></font><font color="#5f5f5f" face="Arial" size="1">
91-98300-34416</font><font color="#4181c0" face="Arial" size="1"><b><br>
E-mail:</b></font><font color="#5f5f5f" face="Arial" size="1"> </font><a href="mailto:joydipto.b@in.ibm.com" target="_blank"><font color="#5f5f5f" face="Arial" size="1"><u>joydipto.b@in.ibm.com</u></font></a>
</td><td>
<div align="right"><img src="cid:_1_09C2793C09C273A80043907465257914" alt="IBM" height="30" width="77"><font color="#5f5f5f" face="Arial" size="1"><br>
<br>
DLF IT Park, Tower C<br>
Kolkata, 700156<br>
India</font></div></td></tr></tbody></table>
<br>
<br>
<br>
<br>
<br><font color="#5f5f5f" face="sans-serif" size="1">From:      
 </font><font face="sans-serif" size="1">Carlos Martín Sánchez
<<a href="mailto:cmartin@opennebula.org" target="_blank">cmartin@opennebula.org</a>></font>
<br><font color="#5f5f5f" face="sans-serif" size="1">To:      
 </font><font face="sans-serif" size="1">Joydipto Banerjee/India/IBM@IBMIN</font>
<br><font color="#5f5f5f" face="sans-serif" size="1">Cc:      
 </font><font face="sans-serif" size="1"><a href="mailto:users@lists.opennebula.org" target="_blank">users@lists.opennebula.org</a></font>
<br><font color="#5f5f5f" face="sans-serif" size="1">Date:      
 </font><font face="sans-serif" size="1">09/16/2011 10:41 PM</font>
<br><font color="#5f5f5f" face="sans-serif" size="1">Subject:    
   </font><font face="sans-serif" size="1">Re: [one-users]
Workflow Management in Open Nebula</font>
<br>
<hr noshade>
<br>
<br>
<br><font size="3">Hi,<br>
<br>
We don't have any tool to manage the workflow, but OpenNebula can be easily
tweaked with a few shell script lines.<br>
The scenario you describe can be achieved using hooks [1] in the following
way:<br>
<br>
1 - After a VM creation (or a Template instantiation), a VM "on create"
hook can be triggered to hold the VM (the scheduler ignores VMs in this
state) and send that notification email.<br>
The hook can query OpenNebula for details about the user, the VM or any
other resources used in the requested VM like Images or VNets. That email
could look like this:<br>
</font><font face="Courier" size="3"><br>
The user john_doe (8) wants to deploy a VM with<br>
VM ID  : 31<br>
CPU    : 2<br>
MEMORY : 1024<br>
DISK   : IMAGE ID 15<br>
         Ubuntu Server<br>
         10G</font><font size="3"><br>
<br>
2 - If the administrator decides to approve the request, then he simply
has to enable that VM. For a denied request, the VM can be deleted.<br>
This could be done manually, using the CLI or Sunstone.<br>
I guess it shouldn't be too difficult to configure a mail delivery agent
such as procmail to enable or delete the VM after reciving a "yes/no"
email reply from the administrator.<br>
<br>
3 - Another hook can be triggered when the VM reaches the running state.
This one will send an email to the owner user with the login instructions,
including VM details like the assigned IP.<br>
You have to come up with a way to store the user's email. Maybe a small
sqlite DB, a new table in OpenNebula's DB, or even use the email as the
OpenNebula username.<br>
<br>
This is a basic configuration to get you started, but the hook mechanism
can be combined with:<br>
- ACLs [2] : you may want to fine-tune the allowed user actions<br>
- usage quotas [3] : after certain limits, the new VM creation requests
would be denied without bothering the administrator with more emails<br>
- Sunstone tuning [4] : you could modify sunstone to adapt it to your needs.
Views can be configured to show only certain tabs, or maybe hide some buttons.
You could even include a new text input box that would allow users to include
a personalized message for the administrator each time a VM is created.
The "on create" hook can look for that attribute in the VM template
and add it to the email.<br>
<br>
Best regards,<br>
Carlos.<br>
<br>
[1] </font><a href="http://opennebula.org/documentation:rel3.0:hooks" target="_blank"><font color="blue" size="3"><u>http://opennebula.org/documentation:rel3.0:hooks</u></font></a><font size="3"><br>
[2] </font><a href="http://opennebula.org/documentation:rel3.0:manage_acl" target="_blank"><font color="blue" size="3"><u>http://opennebula.org/documentation:rel3.0:manage_acl</u></font></a><font size="3"><br>
[3] </font><a href="http://opennebula.org/documentation:rel3.0:quota_auth" target="_blank"><font color="blue" size="3"><u>http://opennebula.org/documentation:rel3.0:quota_auth</u></font></a><font size="3"><br>
[4] </font><a href="http://opennebula.org/documentation:rel3.0:sunstone#plugins" target="_blank"><font color="blue" size="3"><u>http://opennebula.org/documentation:rel3.0:sunstone#plugins</u></font></a><font color="#8f8f8f" face="Arial" size="2"><br>


--<br>
Carlos Martín, MSc<br>
Project Major Contributor</font><font color="#2f2f2f" face="Arial" size="2"><br>
OpenNebula</font><font color="#8f8f8f" face="Arial" size="2"> - The Open
Source Toolkit for Cloud Computing</font><font color="#4040c2" face="Arial" size="2"><u><br>
</u></font><a href="http://www.opennebula.org/" target="_blank"><font color="#4040c2" face="Arial" size="2"><u>www.</u></font><font color="#2f2f2f" face="Arial" size="2"><u>OpenNebula</u></font><font color="#4040c2" face="Arial" size="2"><u>.org</u></font></a><font color="#8f8f8f" face="Arial" size="2"> | </font><a href="mailto:cmartin@opennebula.org" target="_blank"><font color="#4040c2" face="Arial" size="2"><u>cmartin@</u></font><font color="#2f2f2f" face="Arial" size="2"><u>opennebula</u></font><font color="#4040c2" face="Arial" size="2"><u>.org</u></font></a><font size="3"><br>


<br>
</font>
<br><font size="3">On Fri, Sep 16, 2011 at 11:43 AM, Joydipto Banerjee <</font><a href="mailto:joydipto.b@in.ibm.com" target="_blank"><font color="blue" size="3"><u>joydipto.b@in.ibm.com</u></font></a><font size="3">>
wrote:</font>
<br><font face="sans-serif" size="2">Hi - Does anyone know if there exists
a workflow management system in Open Nebula.</font><font size="3"> </font><font face="sans-serif" size="2"><br>
I am thinking of a scenario where a User requests a Virtual Machine(VM)
through the Open Nebula Sunstone web interface, after which an email notification
is sent to the Cloud Administrator to approve/reject the request.</font><font size="3">
<br>
</font><font face="sans-serif" size="2"><br>
Post VM creation, an automatic email is sent back to the end user, giving
him the details of IP of the new image and login details (userid , password
). </font><font size="3"><br>
</font><font face="sans-serif" size="2"><br>
Are such scenarios possible ?</font><font size="3"> <br>
</font><font face="sans-serif" size="2"><br>
Thanks in advance.</font><font size="3"> <br>
<br>
_______________________________________________<br>
Users mailing list</font><font color="blue" size="3"><u><br>
</u></font><a href="mailto:Users@lists.opennebula.org" target="_blank"><font color="blue" size="3"><u>Users@lists.opennebula.org</u></font></a><font color="blue" size="3"><u><br>
</u></font><a href="http://lists.opennebula.org/listinfo.cgi/users-opennebula.org" target="_blank"><font color="blue" size="3"><u>http://lists.opennebula.org/listinfo.cgi/users-opennebula.org</u></font></a><font size="3"><br>


</font>
<br>
<br></blockquote></div><br>