Hey Everyone,

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.

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.

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.

Vish

Diablo Design Summit Notes and Actions (* represents blueprints that need to be 
made)

Six-Month Release Cycle
        OpenStack will move to a six month release cycle
        Releases will adopt the NVIE model -- Separate QA branch with bugfixes 
only merged in
        Project PTLs responsible for creating and assigning a QA team to manage 
the QA branch for release

Milestones
        Between the six-month releases, individual projects can manage their 
own cadence for releases
        Unless a project has a good reason to change, it should adopt the 
default of one month milestones
        Milestones are not supported releases, but should expose stable new 
functionality
        Milestones will be used to target features and help ease the 
project-management burden

Shared Code and New Projects
        Volume and Network code will initially not be separated into separate 
projects
        DB and API for volume and network should be separated within NOVA (*)
        Clear high-level apis will be defined for these components so other 
projects can replace them
        Shared code will be moved into a subfolder in nova for a possible move 
into nova-common (*)
        Where applicable, libraries should be created for shared functionality 
(allows for external reuse)
        init/daemonization code from swift / glance will be moved into a 
library and used by all services
        We will investigate a way to standardize on logging as well (*)

API Definition Process
        We will strive to minimize duplicate APIs (glance and servers /image 
for example)
        API changes should be proposed along with features and considered 
during feature development
        Minor API features could change in milestones but the versioned api 
will be changed for releases
        The PPB needs to be notified for API version changes

Openstack V1.1
        Improve the JSON/XML conversion code (Team Titan is proposing something 
for this)
        AffinityID is going to stay as an extension for now
        Focus on finishing the few remaining parts of the 1.1 spec

Testing
        Goal 95% unit test coverage by Diablo
        Implement Tarmac rule for not lowering unittest percentage
        Policy not to accept merge proposals without feature testing
        Policy to require failing test for bug fixes
        Documentation and examples for unit testing (email requesting help 
forthcoming) (*)

Automated Testing (*)
        Monty will be leading this effort
        Unite the various smoketesting / functional testing frameworks
        Goal to have simple version of jenkins integration in two weeks
        More robust automation and branch testing by Milestone 1

Move to Git
        Project management tools will stay at launchpad
        Code and merge proposals to be moved completely by Milestone 2 (*)
        Bugs will stay at lauchpad for now, but we will investigate using 
issues in the future

Utility VMs
        This is dependent on multinic and host/guest communication
        Common method for Provider controlled VMs needs to be defined

Block Storage as a Service (LunR)
        Nova needs to add full REST api to volume code (*)
        Nova should use rest APIs for communicating with volumes (*)
        This will allow other services like LunR to be plugged in easily

Host/Guest Communication
        Move metadata server from api to compute (*)
        Prototype a unique nic for backchannel communication (*)

High Availability
        NTT has instructions for failover using HA-Linux for nova-network
        Create recovery strategy for error cases (*)
        
Improve RPC
        Send complete data in messages instead of using DB
        Add timeouts to rpc.call to support handling errors (*)

Network as a Service
        Leaving security groups in nova for the moment
        We will investigate whether to pull out nova code or supply an extra 
manager for new functionality (*)
        network-service created on launchpad to hold new projects

Resource UUIDs
        We will convert all of the resources to use UUIDs instead of integer 
ids (*)
        We will supply a mapping layer for ec2 compatibility that will map ec2 
ids to UUIDS (*)

Code Quality
        No clear decision on object model vs. dictionary
        Justin provided prototype of full-featured object approach
        A proposal is to to use existing code with better tests (*) Termie
        Another proposal is for lightweight objects (*) Vish

Auth Service
        Will be developed in quick iterations
        Nova will start with two simple shims (auto-create users and projects) 
and (ec2 to auth token) (*)
        Shims will be removed as auth gains the necessary features
        Concerns about AuthZ and zones will be pushed until after the basic 
integration is done
        
 
_______________________________________________
Mailing list: https://launchpad.net/~openstack
Post to     : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp

Reply via email to