<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<style type="text/css" id="owaParaStyle"></style>
</head>
<body fpstyle="1" ocsi="0">
<div style="direction: ltr;font-family: Courier New;color: #000000;font-size: 10pt;">
Agreed. That's largely the effort of the Orchestration group.
<div><br>
<div style="font-family: Times New Roman; color: #000000; font-size: 16px">
<hr tabindex="-1">
<div id="divRpF6014" style="direction: ltr; "><font face="Tahoma" size="2" color="#000000"><b>From:</b> openstack-bounces+sandy.walsh=rackspace.com@lists.launchpad.net [openstack-bounces+sandy.walsh=rackspace.com@lists.launchpad.net] on behalf of Joshua Harlow
 [harlowja@yahoo-inc.com]<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>
</font><br>
</div>
<div></div>
<div><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> </div>
</div>
</div>
</div>
</body>
</html>