<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Vish:<div><br></div><div>For <b>heterogeneous architecture support</b>, we (ISI) need to:</div><div>- Finalize how to represent architecture-specific info (either using current implementation of new columns in db schema, or using a more generic mechanism such as extra-data or zones)</div><div>- Possibly redo our arch-aware scheduler using Justin's advanced scheduler and/or distributed scheduler with zones</div><div><br></div><div>For <b>bare metal provisioning</b> (needs a blueprint):</div><div> -  goal is to define a compute service proxy interface that will allow people to plug in third party provisioning solutions into nova</div><div><br></div><div><br></div><div>Lorin</div><div><span class="Apple-style-span" style="font-size: 12px; ">--</span></div><div><div><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><span class="Apple-style-span" style="font-size: 12px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Lorin Hochstein, Computer Scientist</div><div>USC Information Sciences Institute<br></div><div>703.812.3710</div><div><a href="http://www.east.isi.edu/~lorin">http://www.east.isi.edu/~lorin</a></div></div></span></div></span></div></span></div></div></span></span>
</div>
<br><div><div>On May 2, 2011, at 6:22 PM, Vishvananda Ishaya wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hey Everyone,<div><br></div><div>I thought it would be nice to give everyone an update of the decisions made during the Design Summit.  There are a lot of follow-on actions.  I'll be spending the next week trying to get everything missing into blueprints and targeted to milestones, so that there is a cohesive view of the features being worked on for the Diablo release.  There are still a number of tasks for Nova that need to be done but have no one assigned.  I will list them below, but I will also be sending out specific emails to get volunteers for individual topics.</div><div><br></div><div>The information below is based on notes that I took during the various meetings.  I attempted to collect as many of the action items related to Nova as possible.  Unfortunately, I wasn't in all of the sessions, and I'm sure I missed a few things. If others have additions/changes, please feel free to contribute them.</div><div><br></div><div>I will also be sending out a list of milestones and dates so everyone can attempt to coordinate their development cycles with the official Nova milestones.</div><div><br></div><div>Vish</div><div><br></div><div><b>Diablo Design Summit Notes and Actions (* represents blueprints that need to be made)</b></div><div><b><br></b></div><div><b>Six-Month Release Cycle</b></div><div><span class="Apple-tab-span" style="white-space:pre">       </span>OpenStack will move to a six month release cycle</div><div><span class="Apple-tab-span" style="white-space: pre; ">  </span>Releases will adopt the NVIE model -- Separate QA branch with bugfixes only merged in</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>Project PTLs responsible for creating and assigning a QA team to manage the QA branch for release</div><div><b><span class="Apple-style-span" style="font-weight: normal; "><b><br></b></span></b></div><div><b><span class="Apple-style-span" style="font-weight: normal; "><b>Milestones</b></span></b></div><div><span class="Apple-tab-span" style="white-space:pre">      </span>Between the six-month releases, individual projects can manage their own cadence for releases</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>Unless a project has a good reason to change, it should adopt the default of one month milestones</div><div><span class="Apple-tab-span" style="white-space:pre">       </span>Milestones are not supported releases, but should expose stable new functionality</div><div><span class="Apple-tab-span" style="white-space:pre">    </span>Milestones will be used to target features and help ease the project-management burden</div><div><b><br></b></div><div><b>Shared Code and New Projects</b></div><div><span class="Apple-tab-span" style="white-space:pre">     </span>Volume and Network code will initially not be separated into separate projects</div><div><span class="Apple-tab-span" style="white-space:pre">       </span>DB and API for volume and network should be separated within NOVA (*)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>Clear high-level apis will be defined for these components so other projects can replace them</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>Shared code will be moved into a subfolder in nova for a possible move into nova-common (*)</div><div><span class="Apple-tab-span" style="white-space:pre">  </span>Where applicable, libraries should be created for shared functionality (allows for external reuse)</div><div><span class="Apple-tab-span" style="white-space:pre">   </span>init/daemonization code from swift / glance will be moved into a library and used by all services</div><div><span class="Apple-tab-span" style="white-space:pre">    </span>We will investigate a way to standardize on logging as well (*)</div><div><b><br></b></div><div><b>API Definition Process</b></div><div><span class="Apple-tab-span" style="white-space:pre">  </span>We will strive to minimize duplicate APIs (glance and servers /image for example)</div><div><span class="Apple-tab-span" style="white-space:pre">    </span>API changes should be proposed along with features and considered during feature development</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>Minor API features could change in milestones but the versioned api will be changed for releases</div><div><span class="Apple-tab-span" style="white-space:pre">     </span>The PPB needs to be notified for API version changes</div><div><b><br></b></div><div><b>Openstack V1.1</b></div><div><span class="Apple-tab-span" style="white-space:pre">     </span>Improve the JSON/XML conversion code (Team Titan is proposing something for this)</div><div><span class="Apple-tab-span" style="white-space:pre">    </span>AffinityID is going to stay as an extension for now</div><div><span class="Apple-tab-span" style="white-space:pre">  </span>Focus on finishing the few remaining parts of the 1.1 spec</div><div><b><br></b></div><div><b>Testing</b></div><div><span class="Apple-tab-span" style="white-space:pre">      </span>Goal 95% unit test coverage by Diablo</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>Implement Tarmac rule for not lowering unittest percentage</div><div><span class="Apple-tab-span" style="white-space:pre">   </span>Policy not to accept merge proposals without feature testing</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>Policy to require failing test for bug fixes</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>Documentation and examples for unit testing (email requesting help forthcoming) (*)</div><div><b><br></b></div><div><b>Automated Testing (*)</b></div><div><span class="Apple-tab-span" style="white-space:pre">       </span>Monty will be leading this effort</div><div><span class="Apple-tab-span" style="white-space:pre">    </span>Unite the various smoketesting / functional testing frameworks</div><div><span class="Apple-tab-span" style="white-space:pre">       </span>Goal to have simple version of jenkins integration in two weeks</div><div><span class="Apple-tab-span" style="white-space:pre">      </span>More robust automation and branch testing by Milestone 1</div><div><b><br></b></div><div><b>Move to Git</b></div><div><span class="Apple-tab-span" style="white-space:pre">    </span>Project management tools will stay at launchpad</div><div><span class="Apple-tab-span" style="white-space:pre">      </span>Code and merge proposals to be moved completely by Milestone 2 (*)</div><div><span class="Apple-tab-span" style="white-space:pre">   </span>Bugs will stay at lauchpad for now, but we will investigate using issues in the future</div><div><b><br></b></div><div><b>Utility VMs</b></div><div><span class="Apple-tab-span" style="white-space:pre">      </span>This is dependent on multinic and host/guest communication</div><div><span class="Apple-tab-span" style="white-space:pre">   </span>Common method for Provider controlled VMs needs to be defined</div><div><b><br></b></div><div><b>Block Storage as a Service (LunR)</b></div><div><span class="Apple-tab-span" style="white-space:pre"> </span>Nova needs to add full REST api to volume code (*)</div><div><span class="Apple-tab-span" style="white-space:pre">   </span>Nova should use rest APIs for communicating with volumes (*)</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>This will allow other services like LunR to be plugged in easily</div><div><b><br></b></div><div><b>Host/Guest Communication</b></div><div><span class="Apple-tab-span" style="white-space:pre">       </span>Move metadata server from api to compute (*)</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>Prototype a unique nic for backchannel communication (*)</div><div><b><br></b></div><div><b>High Availability</b></div><div><span class="Apple-tab-span" style="white-space:pre">      </span>NTT has instructions for failover using HA-Linux for nova-network</div><div><span class="Apple-tab-span" style="white-space:pre">    </span>Create recovery strategy for error cases (*)</div><div><b><span class="Apple-tab-span" style="white-space:pre">        </span></b></div><div><b>Improve RPC</b></div><div><span class="Apple-tab-span" style="white-space:pre">      </span>Send complete data in messages instead of using DB</div><div><span class="Apple-tab-span" style="white-space:pre">   </span>Add timeouts to rpc.call to support handling errors (*)</div><div><b><br></b></div><div><b>Network as a Service</b></div><div><span class="Apple-tab-span" style="white-space:pre">    </span>Leaving security groups in nova for the moment</div><div><span class="Apple-tab-span" style="white-space:pre">       </span>We will investigate whether to pull out nova code or supply an extra manager for new functionality (*)</div><div><span class="Apple-tab-span" style="white-space:pre">       </span>network-service created on launchpad to hold new projects</div><div><b><br></b></div><div><b>Resource UUIDs</b></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>We will convert all of the resources to use UUIDs instead of integer ids (*)</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>We will supply a mapping layer for ec2 compatibility that will map ec2 ids to UUIDS (*)</div><div><b><br></b></div><div><b>Code Quality</b></div><div><span class="Apple-tab-span" style="white-space:pre">    </span>No clear decision on object model vs. dictionary</div><div><span class="Apple-tab-span" style="white-space:pre">     </span>Justin provided prototype of full-featured object approach</div><div><span class="Apple-tab-span" style="white-space:pre">   </span>A proposal is to to use existing code with better tests (*) Termie</div><div><span class="Apple-tab-span" style="white-space:pre">   </span>Another proposal is for lightweight objects (*) Vish</div><div><b><br></b></div><div><b>Auth Service</b></div><div><span class="Apple-tab-span" style="white-space:pre">       </span>Will be developed in quick iterations</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>Nova will start with two simple shims (auto-create users and projects) and (ec2 to auth token) (*)</div><div><span class="Apple-tab-span" style="white-space:pre">   </span>Shims will be removed as auth gains the necessary features</div><div><span class="Apple-tab-span" style="white-space:pre">   </span>Concerns about AuthZ and zones will be pushed until after the basic integration is done</div><div><b><span class="Apple-tab-span" style="white-space:pre">     </span></b></div><div><b></b><b> </b></div></div>_______________________________________________<br>Mailing list: <a href="https://launchpad.net/~openstack">https://launchpad.net/~openstack</a><br>Post to     : <a href="mailto:openstack@lists.launchpad.net">openstack@lists.launchpad.net</a><br>Unsubscribe : <a href="https://launchpad.net/~openstack">https://launchpad.net/~openstack</a><br>More help   : <a href="https://help.launchpad.net/ListHelp">https://help.launchpad.net/ListHelp</a><br></blockquote></div><br></div></body></html>