<HTML>
<HEAD>
<TITLE>Re: Nova idear, thoughts wanted.</TITLE>
</HEAD>
<BODY>
<FONT FACE="Calibri, Verdana, Helvetica, Arial"><SPAN STYLE='font-size:11pt'>Sweet hotness, haha.<BR>
<BR>
I gotta get more involved with whats going on there :-)<BR>
<BR>
On 5/3/12 8:12 AM, "Sandy Walsh" <<a href="sandy.walsh@RACKSPACE.COM">sandy.walsh@RACKSPACE.COM</a>> wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT SIZE="2"><FONT FACE="Courier New"><SPAN STYLE='font-size:10pt'>Agreed. That's largely the effort of the Orchestration group. <BR>
<BR>
</SPAN></FONT></FONT><FONT FACE="Times New Roman"><SPAN STYLE='font-size:12pt'><HR ALIGN=CENTER SIZE="3" WIDTH="100%"></SPAN></FONT><FONT FACE="Tahoma, Verdana, Helvetica, Arial"><SPAN STYLE='font-size:11pt'><B>From:</B></SPAN><SPAN STYLE='font-size:12pt'> <a href="openstack-bounces+sandy.walsh=rackspace.com@lists.launchpad.net">openstack-bounces+sandy.walsh=rackspace.com@lists.launchpad.net</a> [<a href="openstack-bounces+sandy.walsh=rackspace.com@lists.launchpad.net">openstack-bounces+sandy.walsh=rackspace.com@lists.launchpad.net</a>] on behalf of Joshua Harlow [<a href="harlowja@yahoo-inc.com">harlowja@yahoo-inc.com</a>]<BR>
<B>Sent:</B> Thursday, May 03, 2012 12:35 AM<BR>
<B>To:</B> openstack<BR>
<B>Subject:</B> [Openstack] Nova idear, thoughts wanted.<BR>
</SPAN></FONT><SPAN STYLE='font-size:12pt'><FONT FACE="Times New Roman"><BR>
</FONT></SPAN><FONT FACE="Calibri, Verdana, Helvetica, Arial"><SPAN STYLE='font-size:11pt'>Hi all,<BR>
<BR>
I was thinking today about how nova-compute could become more pluggable.<BR>
I was wondering if there had been any thought into how say each method, say in the compute-manager could almost become a set of stages in a pipeline.<BR>
For example the run instance method is really doing the following steps:<BR>
<BR>
</SPAN></FONT><SPAN STYLE='font-size:11pt'><FONT FACE="Courier, Courier New">run_instance:<BR>
   steps:<BR>
      - check_instance_not_already_created<BR>
      - check_image_size<BR>
      - notify_about_instance_usage<BR>
      - instance_update(BUILDING)<BR>
      - allocate_network<BR>
      - prep_block_device<BR>
      - spawn:<BR>
         - instance_update(BUILD)<BR>
         - driver_spawn<BR>
         - instance_update(ACTIVE)<BR>
   on_failure:<BR>
       - deallocate_network<BR>
</FONT><FONT FACE="Calibri, Verdana, Helvetica, Arial"><BR>
This reminds me slightly of what devstackpy (to be renamed soon) does but instead of via code, actions are partially defined via config/persona/.... Now say if the above steps are plugins (similar to say a paste pipeline) then it becomes easy for company Y to add special sauce Z before or after stage W. I was just wondering what people thought about this. It sort of makes nova more of a orchestrator that loads plugins that perform various pipelines, where in nova’s case those pipelines are VM related. <BR>
<BR>
Comments welcome. This might already have been thought of, but if so, that’s ok also :-)<BR>
<BR>
-Josh</FONT></SPAN><FONT FACE="Times New Roman"><SPAN STYLE='font-size:12pt'> <BR>
</SPAN></FONT><FONT FACE="Calibri, Verdana, Helvetica, Arial"><SPAN STYLE='font-size:11pt'><BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>