Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-25 Thread Trey Morris
:)

On Thu, Feb 24, 2011 at 7:36 PM, Jay Pipes  wrote:

> All done, and waiting to be almost immediately out of date. :)
>
> Cheers,
> jay
>
> On Thu, Feb 24, 2011 at 7:06 PM, Andy Smith  wrote:
> > Please summarize these on the wiki and add your information the wiki,
> that
> > is what the wiki page was made to do and what I asked you to do.
> > --andy
> >
> > On Thu, Feb 24, 2011 at 1:27 PM, Jay Pipes  wrote:
> >>
> >> Andy has listed a few things on the wiki. I'll summarize the known
> efforts
> >> here:
> >>
> >> * Anso has created some Vagrant scripts that test multi-node
> >> functionality of the EC2 API, libvirt + KVM, and nova-objectstore
> >> * Vishy/Devin  have been refactored Nova's existing smoketests/ and
> >> updated to include netadmin tests. Still only testing EC2 API
> >> * Trey has been "volunteered" to write an OpenStack API smoketest for
> >> XenServer functionality (https://bugs.launchpad.net/nova/+bug/720941)
> >> * Jordan Rinke has been working on a 10-machine test cluster for
> >> testing deployments and running smoketests on
> >> * Other rackers (Pvo, Ant?) have been working on getting a much larger
> >> production-level test cluster for running longer, more complex tests
> >> on
> >>
> >> Stuff we need to do:
> >>
> >> * Create a staging/testing branch, have Openstack Hudson LP user own it
> >> * Get the test cluster machines entered into Hudson
> >> * On each merge proposal into trunk, have Tarmac pull the branch, run
> >> unit tests automatically, fire off smoketests/ against the test
> >> machines automatically, and notify the merge proposal that tests pass
> >> or don't pass.
> >> * For merge proposals that pass the merge into staging and all tests
> >> that also have 2 Approves from core devs, have Tarmac merge into trunk
> >> * Create long-running functional tests that are essentially re-playing
> >> large Apache/nginx log files of existing Nebula and Cloud Servers API
> >> nodes against Nova staging branch with various configurations
> >>
> >> -jay
> >>
> >> On Thu, Feb 24, 2011 at 3:49 PM, Sandy Walsh  >
> >> wrote:
> >> > Jay,
> >> > Nice to see this issue being addressed ... it's a big deal.
> >> > From reading this (long) thread, my biggest source of confusion was so
> >> > many "we're doing something on this front too ..." messages.
> >> > Would it be possible to get a summary of the various integration
> testing
> >> > efforts underway so we can find out where the
> >> > commonality/biggest-bang-for-the-buck/overlap is? Perhaps a wiki page
> >> > already exists for this?
> >> > Thx,
> >> > -S
> >> >
> >> >
> >> > 
> >> > From: << a cast of thousands ... delete >>
> >> >
> >> > Confidentiality Notice: This e-mail message (including any attached or
> >> > embedded documents) is intended for the exclusive and confidential use
> >> > of
> >> > the
> >> > individual or entity to which this message is addressed, and unless
> >> > otherwise
> >> > expressly indicated, is confidential and privileged information of
> >> > Rackspace.
> >> > Any dissemination, distribution or copying of the enclosed material is
> >> > prohibited.
> >> > If you receive this transmission in error, please notify us
> immediately
> >> > by
> >> > e-mail
> >> > at ab...@rackspace.com, and delete the original message.
> >> > Your cooperation is appreciated.
> >> >
> >> > ___
> >> > Mailing list: https://launchpad.net/~openstack
> >> > Post to : openstack@lists.launchpad.net
> >> > Unsubscribe : https://launchpad.net/~openstack
> >> > More help   : https://help.launchpad.net/ListHelp
> >> >
> >> >
> >>
> >> ___
> >> Mailing list: https://launchpad.net/~openstack
> >> Post to : openstack@lists.launchpad.net
> >> Unsubscribe : https://launchpad.net/~openstack
> >> More help   : https://help.launchpad.net/ListHelp
> >
> >
>
> ___
> Mailing list: https://launchpad.net/~openstack
> Post to : openstack@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~openstack
> More help   : https://help.launchpad.net/ListHelp
>


Confidentiality Notice: This e-mail message (including any attached or
embedded documents) is intended for the exclusive and confidential use of the
individual or entity to which this message is addressed, and unless otherwise
expressly indicated, is confidential and privileged information of Rackspace.
Any dissemination, distribution or copying of the enclosed material is 
prohibited.
If you receive this transmission in error, please notify us immediately by 
e-mail
at ab...@rackspace.com, and delete the original message.
Your cooperation is appreciated.

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-24 Thread Jay Pipes
All done, and waiting to be almost immediately out of date. :)

Cheers,
jay

On Thu, Feb 24, 2011 at 7:06 PM, Andy Smith  wrote:
> Please summarize these on the wiki and add your information the wiki, that
> is what the wiki page was made to do and what I asked you to do.
> --andy
>
> On Thu, Feb 24, 2011 at 1:27 PM, Jay Pipes  wrote:
>>
>> Andy has listed a few things on the wiki. I'll summarize the known efforts
>> here:
>>
>> * Anso has created some Vagrant scripts that test multi-node
>> functionality of the EC2 API, libvirt + KVM, and nova-objectstore
>> * Vishy/Devin  have been refactored Nova's existing smoketests/ and
>> updated to include netadmin tests. Still only testing EC2 API
>> * Trey has been "volunteered" to write an OpenStack API smoketest for
>> XenServer functionality (https://bugs.launchpad.net/nova/+bug/720941)
>> * Jordan Rinke has been working on a 10-machine test cluster for
>> testing deployments and running smoketests on
>> * Other rackers (Pvo, Ant?) have been working on getting a much larger
>> production-level test cluster for running longer, more complex tests
>> on
>>
>> Stuff we need to do:
>>
>> * Create a staging/testing branch, have Openstack Hudson LP user own it
>> * Get the test cluster machines entered into Hudson
>> * On each merge proposal into trunk, have Tarmac pull the branch, run
>> unit tests automatically, fire off smoketests/ against the test
>> machines automatically, and notify the merge proposal that tests pass
>> or don't pass.
>> * For merge proposals that pass the merge into staging and all tests
>> that also have 2 Approves from core devs, have Tarmac merge into trunk
>> * Create long-running functional tests that are essentially re-playing
>> large Apache/nginx log files of existing Nebula and Cloud Servers API
>> nodes against Nova staging branch with various configurations
>>
>> -jay
>>
>> On Thu, Feb 24, 2011 at 3:49 PM, Sandy Walsh 
>> wrote:
>> > Jay,
>> > Nice to see this issue being addressed ... it's a big deal.
>> > From reading this (long) thread, my biggest source of confusion was so
>> > many "we're doing something on this front too ..." messages.
>> > Would it be possible to get a summary of the various integration testing
>> > efforts underway so we can find out where the
>> > commonality/biggest-bang-for-the-buck/overlap is? Perhaps a wiki page
>> > already exists for this?
>> > Thx,
>> > -S
>> >
>> >
>> > 
>> > From: << a cast of thousands ... delete >>
>> >
>> > Confidentiality Notice: This e-mail message (including any attached or
>> > embedded documents) is intended for the exclusive and confidential use
>> > of
>> > the
>> > individual or entity to which this message is addressed, and unless
>> > otherwise
>> > expressly indicated, is confidential and privileged information of
>> > Rackspace.
>> > Any dissemination, distribution or copying of the enclosed material is
>> > prohibited.
>> > If you receive this transmission in error, please notify us immediately
>> > by
>> > e-mail
>> > at ab...@rackspace.com, and delete the original message.
>> > Your cooperation is appreciated.
>> >
>> > ___
>> > Mailing list: https://launchpad.net/~openstack
>> > Post to     : openstack@lists.launchpad.net
>> > Unsubscribe : https://launchpad.net/~openstack
>> > More help   : https://help.launchpad.net/ListHelp
>> >
>> >
>>
>> ___
>> Mailing list: https://launchpad.net/~openstack
>> Post to     : openstack@lists.launchpad.net
>> Unsubscribe : https://launchpad.net/~openstack
>> More help   : https://help.launchpad.net/ListHelp
>
>

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-24 Thread Andy Smith
That url is http://wiki.openstack.org/TestingBrainstorm btw

On Thu, Feb 24, 2011 at 4:06 PM, Andy Smith  wrote:

> Please summarize these on the wiki and add your information the wiki, that
> is what the wiki page was made to do and what I asked you to do.
>
> --andy
>
>
> On Thu, Feb 24, 2011 at 1:27 PM, Jay Pipes  wrote:
>
>> Andy has listed a few things on the wiki. I'll summarize the known efforts
>> here:
>>
>> * Anso has created some Vagrant scripts that test multi-node
>> functionality of the EC2 API, libvirt + KVM, and nova-objectstore
>> * Vishy/Devin  have been refactored Nova's existing smoketests/ and
>> updated to include netadmin tests. Still only testing EC2 API
>> * Trey has been "volunteered" to write an OpenStack API smoketest for
>> XenServer functionality (https://bugs.launchpad.net/nova/+bug/720941)
>> * Jordan Rinke has been working on a 10-machine test cluster for
>> testing deployments and running smoketests on
>> * Other rackers (Pvo, Ant?) have been working on getting a much larger
>> production-level test cluster for running longer, more complex tests
>> on
>>
>> Stuff we need to do:
>>
>> * Create a staging/testing branch, have Openstack Hudson LP user own it
>> * Get the test cluster machines entered into Hudson
>> * On each merge proposal into trunk, have Tarmac pull the branch, run
>> unit tests automatically, fire off smoketests/ against the test
>> machines automatically, and notify the merge proposal that tests pass
>> or don't pass.
>> * For merge proposals that pass the merge into staging and all tests
>> that also have 2 Approves from core devs, have Tarmac merge into trunk
>> * Create long-running functional tests that are essentially re-playing
>> large Apache/nginx log files of existing Nebula and Cloud Servers API
>> nodes against Nova staging branch with various configurations
>>
>> -jay
>>
>> On Thu, Feb 24, 2011 at 3:49 PM, Sandy Walsh 
>> wrote:
>> > Jay,
>> > Nice to see this issue being addressed ... it's a big deal.
>> > From reading this (long) thread, my biggest source of confusion was so
>> > many "we're doing something on this front too ..." messages.
>> > Would it be possible to get a summary of the various integration testing
>> > efforts underway so we can find out where the
>> > commonality/biggest-bang-for-the-buck/overlap is? Perhaps a wiki page
>> > already exists for this?
>> > Thx,
>> > -S
>> >
>> >
>> > 
>> > From: << a cast of thousands ... delete >>
>> >
>> > Confidentiality Notice: This e-mail message (including any attached or
>> > embedded documents) is intended for the exclusive and confidential use
>> of
>> > the
>> > individual or entity to which this message is addressed, and unless
>> > otherwise
>> > expressly indicated, is confidential and privileged information of
>> > Rackspace.
>> > Any dissemination, distribution or copying of the enclosed material is
>> > prohibited.
>> > If you receive this transmission in error, please notify us immediately
>> by
>> > e-mail
>> > at ab...@rackspace.com, and delete the original message.
>> > Your cooperation is appreciated.
>> >
>> > ___
>> > Mailing list: https://launchpad.net/~openstack
>> > Post to : openstack@lists.launchpad.net
>> > Unsubscribe : https://launchpad.net/~openstack
>> > More help   : https://help.launchpad.net/ListHelp
>> >
>> >
>>
>> ___
>> Mailing list: https://launchpad.net/~openstack
>> Post to : openstack@lists.launchpad.net
>> Unsubscribe : https://launchpad.net/~openstack
>> More help   : https://help.launchpad.net/ListHelp
>>
>
>
___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-24 Thread Andy Smith
Please summarize these on the wiki and add your information the wiki, that
is what the wiki page was made to do and what I asked you to do.

--andy

On Thu, Feb 24, 2011 at 1:27 PM, Jay Pipes  wrote:

> Andy has listed a few things on the wiki. I'll summarize the known efforts
> here:
>
> * Anso has created some Vagrant scripts that test multi-node
> functionality of the EC2 API, libvirt + KVM, and nova-objectstore
> * Vishy/Devin  have been refactored Nova's existing smoketests/ and
> updated to include netadmin tests. Still only testing EC2 API
> * Trey has been "volunteered" to write an OpenStack API smoketest for
> XenServer functionality (https://bugs.launchpad.net/nova/+bug/720941)
> * Jordan Rinke has been working on a 10-machine test cluster for
> testing deployments and running smoketests on
> * Other rackers (Pvo, Ant?) have been working on getting a much larger
> production-level test cluster for running longer, more complex tests
> on
>
> Stuff we need to do:
>
> * Create a staging/testing branch, have Openstack Hudson LP user own it
> * Get the test cluster machines entered into Hudson
> * On each merge proposal into trunk, have Tarmac pull the branch, run
> unit tests automatically, fire off smoketests/ against the test
> machines automatically, and notify the merge proposal that tests pass
> or don't pass.
> * For merge proposals that pass the merge into staging and all tests
> that also have 2 Approves from core devs, have Tarmac merge into trunk
> * Create long-running functional tests that are essentially re-playing
> large Apache/nginx log files of existing Nebula and Cloud Servers API
> nodes against Nova staging branch with various configurations
>
> -jay
>
> On Thu, Feb 24, 2011 at 3:49 PM, Sandy Walsh 
> wrote:
> > Jay,
> > Nice to see this issue being addressed ... it's a big deal.
> > From reading this (long) thread, my biggest source of confusion was so
> > many "we're doing something on this front too ..." messages.
> > Would it be possible to get a summary of the various integration testing
> > efforts underway so we can find out where the
> > commonality/biggest-bang-for-the-buck/overlap is? Perhaps a wiki page
> > already exists for this?
> > Thx,
> > -S
> >
> >
> > 
> > From: << a cast of thousands ... delete >>
> >
> > Confidentiality Notice: This e-mail message (including any attached or
> > embedded documents) is intended for the exclusive and confidential use of
> > the
> > individual or entity to which this message is addressed, and unless
> > otherwise
> > expressly indicated, is confidential and privileged information of
> > Rackspace.
> > Any dissemination, distribution or copying of the enclosed material is
> > prohibited.
> > If you receive this transmission in error, please notify us immediately
> by
> > e-mail
> > at ab...@rackspace.com, and delete the original message.
> > Your cooperation is appreciated.
> >
> > ___
> > Mailing list: https://launchpad.net/~openstack
> > Post to : openstack@lists.launchpad.net
> > Unsubscribe : https://launchpad.net/~openstack
> > More help   : https://help.launchpad.net/ListHelp
> >
> >
>
> ___
> Mailing list: https://launchpad.net/~openstack
> Post to : openstack@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~openstack
> More help   : https://help.launchpad.net/ListHelp
>
___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-24 Thread Jay Pipes
Andy has listed a few things on the wiki. I'll summarize the known efforts here:

* Anso has created some Vagrant scripts that test multi-node
functionality of the EC2 API, libvirt + KVM, and nova-objectstore
* Vishy/Devin  have been refactored Nova's existing smoketests/ and
updated to include netadmin tests. Still only testing EC2 API
* Trey has been "volunteered" to write an OpenStack API smoketest for
XenServer functionality (https://bugs.launchpad.net/nova/+bug/720941)
* Jordan Rinke has been working on a 10-machine test cluster for
testing deployments and running smoketests on
* Other rackers (Pvo, Ant?) have been working on getting a much larger
production-level test cluster for running longer, more complex tests
on

Stuff we need to do:

* Create a staging/testing branch, have Openstack Hudson LP user own it
* Get the test cluster machines entered into Hudson
* On each merge proposal into trunk, have Tarmac pull the branch, run
unit tests automatically, fire off smoketests/ against the test
machines automatically, and notify the merge proposal that tests pass
or don't pass.
* For merge proposals that pass the merge into staging and all tests
that also have 2 Approves from core devs, have Tarmac merge into trunk
* Create long-running functional tests that are essentially re-playing
large Apache/nginx log files of existing Nebula and Cloud Servers API
nodes against Nova staging branch with various configurations

-jay

On Thu, Feb 24, 2011 at 3:49 PM, Sandy Walsh  wrote:
> Jay,
> Nice to see this issue being addressed ... it's a big deal.
> From reading this (long) thread, my biggest source of confusion was so
> many "we're doing something on this front too ..." messages.
> Would it be possible to get a summary of the various integration testing
> efforts underway so we can find out where the
> commonality/biggest-bang-for-the-buck/overlap is? Perhaps a wiki page
> already exists for this?
> Thx,
> -S
>
>
> 
> From: << a cast of thousands ... delete >>
>
> Confidentiality Notice: This e-mail message (including any attached or
> embedded documents) is intended for the exclusive and confidential use of
> the
> individual or entity to which this message is addressed, and unless
> otherwise
> expressly indicated, is confidential and privileged information of
> Rackspace.
> Any dissemination, distribution or copying of the enclosed material is
> prohibited.
> If you receive this transmission in error, please notify us immediately by
> e-mail
> at ab...@rackspace.com, and delete the original message.
> Your cooperation is appreciated.
>
> ___
> Mailing list: https://launchpad.net/~openstack
> Post to     : openstack@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~openstack
> More help   : https://help.launchpad.net/ListHelp
>
>

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-24 Thread Sandy Walsh
Jay,

Nice to see this issue being addressed ... it's a big deal.

>From reading this (long) thread, my biggest source of confusion was so many 
>"we're doing something on this front too ..." messages.

Would it be possible to get a summary of the various integration testing 
efforts underway so we can find out where the 
commonality/biggest-bang-for-the-buck/overlap is? Perhaps a wiki page already 
exists for this?

Thx,
-S




From: << a cast of thousands ... delete >>


Confidentiality Notice: This e-mail message (including any attached or
embedded documents) is intended for the exclusive and confidential use of the
individual or entity to which this message is addressed, and unless otherwise
expressly indicated, is confidential and privileged information of Rackspace.
Any dissemination, distribution or copying of the enclosed material is 
prohibited.
If you receive this transmission in error, please notify us immediately by 
e-mail
at ab...@rackspace.com, and delete the original message.
Your cooperation is appreciated.

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-21 Thread Andy Smith
On Mon, Feb 21, 2011 at 6:37 AM, Jay Pipes  wrote:

> On Fri, Feb 18, 2011 at 5:30 PM, Andy Smith  wrote:
> > A few emails back (I have been in meetings and travel for the past two
> weeks
> > so I am just catching up on email now), Jay pretty much described our
> plan
> > of setting up a bunch of machines in multiple configurations for use as a
> > test cluster.
> > Towards that goal I'd love to start compiling the various systems
> mentioned
> > in this thread so far into a place so that we can look at the
> configurations
> > people are already using. My vote is just a wiki page linking to Jenkins
> > deployments and tarballs of Jenkins build configurations and so forth.
> > http://wiki.openstack.org/TestingBrainstorm
>
> OK.
>
> > Soren, based on your blog post I suspect you have a bunch of this
> material
> > already, could you add it to that wiki?
> > Brian Schott, could you add your deployment and existing testing strategy
> to
> > that wiki?
> > I'll take care of getting the Anso/NASA pieces (we have a bunch of
> > vagrant-based stuff) in there.
> > --andy
>
> There is no documentation as to how the Vagrant/Chef stuff works, how
> to kick it off, or how it should be linked into Hudson. It also seems
> to be very Anso/Nebula specific. Did we expect that the Vagrant/Chef
> stuff would be used by the OpenStack community to test OpenStack?
> Also, if we did, why isn't it in the Nova project itself? I thought
> one of your goals was not to have the testing stuff in different
> projects (and now, on totally different repositories...)
>

There was no suggestion about making a new repository, I am simply trying to
get a list of all the existing repositories and ideas people are using in
testing.

Please add yours to http://wiki.openstack.org/TestingBrainstorm


>
> For those of us a little tentative to learn Yet Another Programming
> Language, even some basic documentation would be useful to see if the
> Vagrant/Chef stuff is something that could be applicable to OpenStack
> continuous integration testing.
>
> As I've stated in previous emails on this thread, the problem we have
> is *not* that we don't have the ability to run tests. In other words,
> we don't need another test-running platform. What we need is tests for
> stuff that isn't Anso-specific, which is why I've asked Trey to work
> on creating a smoketest for the valid work patterns that have to do
> with OpenStack and not EC2.
>
> In the meantime, to test the EC2-specific code paths, I would think it
> would be fairly trivial to simply fire the smoketests against a test
> cluster. I know that one of the Rackspace test clusters (a large,
> 188-machine one) should be online in the next week or so, but there
> was also word of another smaller test cluster that seems more
> appropriate for simply kicking smoketests against.  Jordan, what's the
> status of that smaller cluster? Are we ready to add those machines to
> our set of Hudson builders?
>

In case Jordan missed the question since it was at the end of a paragraph:

Jordan, any news on machines?

--andy


>
> -jay
>
___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-21 Thread Jesse Andrews
Perhaps the articles can be added to docs somewhere to nova.openstack.org,
the wiki, or docs.openstack.org?

Vishy is going to be working on the chef scripts integrating changes by Mike
Ray.  (We'd rather not have two active chef recipe sets)
On Feb 21, 2011 12:29 PM, "Jay Pipes"  wrote:
___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-21 Thread Jay Pipes
Hi Jesse, thanks for the links to those articles.

Would be great to add Anso's article feed to the OpenStack planet so
these great articles will show up for folks following that. :)

-jay

On Mon, Feb 21, 2011 at 3:13 PM, Jesse Andrews  wrote:
> Jay,
>
> Agree that openstack api coverage top priority in added smoketests.
>
> The work needed done on vagrant (vish led it and wrote about it a bit at
> ansolabs.com/deploy) was a start to making something that worked outside
> nasa - the multinode work was so it would work on any *nix box. Nasa's
> testing cluster uses bare metal provioning, not vagrant.  The goal of the
> chef recipes is something that works for vagrant and physical deployments on
> real hardware.
>
> More work needs done on both deploying test clusters and testing them.
>
> Jesse
>
> On Feb 21, 2011 6:39 AM, "Jay Pipes"  wrote:
>> On Fri, Feb 18, 2011 at 5:30 PM, Andy Smith  wrote:
>>> A few emails back (I have been in meetings and travel for the past two
>>> weeks
>>> so I am just catching up on email now), Jay pretty much described our
>>> plan
>>> of setting up a bunch of machines in multiple configurations for use as a
>>> test cluster.
>>> Towards that goal I'd love to start compiling the various systems
>>> mentioned
>>> in this thread so far into a place so that we can look at the
>>> configurations
>>> people are already using. My vote is just a wiki page linking to Jenkins
>>> deployments and tarballs of Jenkins build configurations and so forth.
>>> http://wiki.openstack.org/TestingBrainstorm
>>
>> OK.
>>
>>> Soren, based on your blog post I suspect you have a bunch of this
>>> material
>>> already, could you add it to that wiki?
>>> Brian Schott, could you add your deployment and existing testing strategy
>>> to
>>> that wiki?
>>> I'll take care of getting the Anso/NASA pieces (we have a bunch of
>>> vagrant-based stuff) in there.
>>> --andy
>>
>> There is no documentation as to how the Vagrant/Chef stuff works, how
>> to kick it off, or how it should be linked into Hudson. It also seems
>> to be very Anso/Nebula specific. Did we expect that the Vagrant/Chef
>> stuff would be used by the OpenStack community to test OpenStack?
>> Also, if we did, why isn't it in the Nova project itself? I thought
>> one of your goals was not to have the testing stuff in different
>> projects (and now, on totally different repositories...)
>>
>> For those of us a little tentative to learn Yet Another Programming
>> Language, even some basic documentation would be useful to see if the
>> Vagrant/Chef stuff is something that could be applicable to OpenStack
>> continuous integration testing.
>>
>> As I've stated in previous emails on this thread, the problem we have
>> is *not* that we don't have the ability to run tests. In other words,
>> we don't need another test-running platform. What we need is tests for
>> stuff that isn't Anso-specific, which is why I've asked Trey to work
>> on creating a smoketest for the valid work patterns that have to do
>> with OpenStack and not EC2.
>>
>> In the meantime, to test the EC2-specific code paths, I would think it
>> would be fairly trivial to simply fire the smoketests against a test
>> cluster. I know that one of the Rackspace test clusters (a large,
>> 188-machine one) should be online in the next week or so, but there
>> was also word of another smaller test cluster that seems more
>> appropriate for simply kicking smoketests against. Jordan, what's the
>> status of that smaller cluster? Are we ready to add those machines to
>> our set of Hudson builders?
>>
>> -jay
>>
>> ___
>> Mailing list: https://launchpad.net/~openstack
>> Post to : openstack@lists.launchpad.net
>> Unsubscribe : https://launchpad.net/~openstack
>> More help : https://help.launchpad.net/ListHelp
>

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-21 Thread Jesse Andrews
Jay,

Agree that openstack api coverage top priority in added smoketests.

The work needed done on vagrant (vish led it and wrote about it a bit at
ansolabs.com/deploy) was a start to making something that worked outside
nasa - the multinode work was so it would work on any *nix box. Nasa's
testing cluster uses bare metal provioning, not vagrant.  The goal of the
chef recipes is something that works for vagrant and physical deployments on
real hardware.

More work needs done on both deploying test clusters and testing them.

Jesse
On Feb 21, 2011 6:39 AM, "Jay Pipes"  wrote:
> On Fri, Feb 18, 2011 at 5:30 PM, Andy Smith  wrote:
>> A few emails back (I have been in meetings and travel for the past two
weeks
>> so I am just catching up on email now), Jay pretty much described our
plan
>> of setting up a bunch of machines in multiple configurations for use as a
>> test cluster.
>> Towards that goal I'd love to start compiling the various systems
mentioned
>> in this thread so far into a place so that we can look at the
configurations
>> people are already using. My vote is just a wiki page linking to Jenkins
>> deployments and tarballs of Jenkins build configurations and so forth.
>> http://wiki.openstack.org/TestingBrainstorm
>
> OK.
>
>> Soren, based on your blog post I suspect you have a bunch of this
material
>> already, could you add it to that wiki?
>> Brian Schott, could you add your deployment and existing testing strategy
to
>> that wiki?
>> I'll take care of getting the Anso/NASA pieces (we have a bunch of
>> vagrant-based stuff) in there.
>> --andy
>
> There is no documentation as to how the Vagrant/Chef stuff works, how
> to kick it off, or how it should be linked into Hudson. It also seems
> to be very Anso/Nebula specific. Did we expect that the Vagrant/Chef
> stuff would be used by the OpenStack community to test OpenStack?
> Also, if we did, why isn't it in the Nova project itself? I thought
> one of your goals was not to have the testing stuff in different
> projects (and now, on totally different repositories...)
>
> For those of us a little tentative to learn Yet Another Programming
> Language, even some basic documentation would be useful to see if the
> Vagrant/Chef stuff is something that could be applicable to OpenStack
> continuous integration testing.
>
> As I've stated in previous emails on this thread, the problem we have
> is *not* that we don't have the ability to run tests. In other words,
> we don't need another test-running platform. What we need is tests for
> stuff that isn't Anso-specific, which is why I've asked Trey to work
> on creating a smoketest for the valid work patterns that have to do
> with OpenStack and not EC2.
>
> In the meantime, to test the EC2-specific code paths, I would think it
> would be fairly trivial to simply fire the smoketests against a test
> cluster. I know that one of the Rackspace test clusters (a large,
> 188-machine one) should be online in the next week or so, but there
> was also word of another smaller test cluster that seems more
> appropriate for simply kicking smoketests against. Jordan, what's the
> status of that smaller cluster? Are we ready to add those machines to
> our set of Hudson builders?
>
> -jay
>
> ___
> Mailing list: https://launchpad.net/~openstack
> Post to : openstack@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~openstack
> More help : https://help.launchpad.net/ListHelp
___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-21 Thread Jay Pipes
On Fri, Feb 18, 2011 at 5:30 PM, Andy Smith  wrote:
> A few emails back (I have been in meetings and travel for the past two weeks
> so I am just catching up on email now), Jay pretty much described our plan
> of setting up a bunch of machines in multiple configurations for use as a
> test cluster.
> Towards that goal I'd love to start compiling the various systems mentioned
> in this thread so far into a place so that we can look at the configurations
> people are already using. My vote is just a wiki page linking to Jenkins
> deployments and tarballs of Jenkins build configurations and so forth.
> http://wiki.openstack.org/TestingBrainstorm

OK.

> Soren, based on your blog post I suspect you have a bunch of this material
> already, could you add it to that wiki?
> Brian Schott, could you add your deployment and existing testing strategy to
> that wiki?
> I'll take care of getting the Anso/NASA pieces (we have a bunch of
> vagrant-based stuff) in there.
> --andy

There is no documentation as to how the Vagrant/Chef stuff works, how
to kick it off, or how it should be linked into Hudson. It also seems
to be very Anso/Nebula specific. Did we expect that the Vagrant/Chef
stuff would be used by the OpenStack community to test OpenStack?
Also, if we did, why isn't it in the Nova project itself? I thought
one of your goals was not to have the testing stuff in different
projects (and now, on totally different repositories...)

For those of us a little tentative to learn Yet Another Programming
Language, even some basic documentation would be useful to see if the
Vagrant/Chef stuff is something that could be applicable to OpenStack
continuous integration testing.

As I've stated in previous emails on this thread, the problem we have
is *not* that we don't have the ability to run tests. In other words,
we don't need another test-running platform. What we need is tests for
stuff that isn't Anso-specific, which is why I've asked Trey to work
on creating a smoketest for the valid work patterns that have to do
with OpenStack and not EC2.

In the meantime, to test the EC2-specific code paths, I would think it
would be fairly trivial to simply fire the smoketests against a test
cluster. I know that one of the Rackspace test clusters (a large,
188-machine one) should be online in the next week or so, but there
was also word of another smaller test cluster that seems more
appropriate for simply kicking smoketests against.  Jordan, what's the
status of that smaller cluster? Are we ready to add those machines to
our set of Hudson builders?

-jay

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-21 Thread Jesse Andrews
Catching up as well...

On Thu, Feb 17, 2011 at 2:57 PM, Jay Pipes  wrote:
> The Anso team has told me that they run the smoketests regularly, but
> I would assume they only run these smoketests against a test cluster
> that mimicks the Nebula environment. Devin and termie can correct me
> if I'm wrong on that.

We've taken a few approaches as the code has evolved (automatic
deployment and testing was always crucial)

While preparing for the Nebula beta release our system was as follows.

Automatically deploying a fresh cluster every morning using a shell
script that would:

  * pxe/preseed -> deploy and configure base ubuntu os
  * puppet -> deploy and configure nova
  * run a few shell commands on the head node to setup users/whatnot

Then we would run the smoketests against the cluster, recording errors
and exceptions (to sentry using nova-sentry).

Then through the day users and QA would test against the cluster,
reporting bugs.  If required anyone could re-deploy (pxe -> setup) by
running a single shell command.  (it would take about 30 minutes from
reboot to ready to run)

Running a cloud is more than just nova.  We've had critical issues
with configuration (intel 10G cards + LRO/MRO + linux network bridging
brought network performance for guests down to 20Kbps) that were
completely external to Nova, but crucial for running an openstack
deployment.

Have a set of "golden systems":   OS + configurations (network model +
api + hypervisors) + relevant smoketests
that run with every trunk merge.  Having the system that runs these
tests open source so others can setup labs to run tests for their
equipment/configurations would be preferable as well.

I also agree that "machines are cheaper than devs" and think a good
phase two would be able to run this against arbitrary branches.

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-18 Thread Andy Smith
A few emails back (I have been in meetings and travel for the past two weeks
so I am just catching up on email now), Jay pretty much described our plan
of setting up a bunch of machines in multiple configurations for use as a
test cluster.

Towards that goal I'd love to start compiling the various systems mentioned
in this thread so far into a place so that we can look at the configurations
people are already using. My vote is just a wiki page linking to Jenkins
deployments and tarballs of Jenkins build configurations and so forth.

http://wiki.openstack.org/TestingBrainstorm

Soren, based on your blog post I suspect you have a bunch of this material
already, could you add it to that wiki?

Brian Schott, could you add your deployment and existing testing strategy to
that wiki?

I'll take care of getting the Anso/NASA pieces (we have a bunch of
vagrant-based stuff) in there.

--andy

On Fri, Feb 18, 2011 at 8:40 AM, Trey Morris wrote:

> yeah I agree with jay, makes me feel more comfortable with this process.
> also, re jay: guess i had better get to work on that bug
>
> -tr3buchet
>
>
> On Fri, Feb 18, 2011 at 7:29 AM, Jay Pipes  wrote:
>
>> This was an excellent explanation. Thank you, Thierry.
>>
>> -jay
>>
>> On Fri, Feb 18, 2011 at 2:55 AM, Thierry Carrez 
>> wrote:
>> > Trey Morris wrote:
>> >> I don't like that it currently only runs on ubuntu + the ppa. If it
>> >> doesn't work with existing versions I think we're doing something
>> wrong.
>> >> Even when natty comes out, I don't like the idea of having to ensure I
>> >> have latest ubuntu for openstack to run.
>> >
>> > Maybe with my Ubuntu core developer hat on, I can try to clarify.
>> >
>> > Once an Ubuntu version is released, you can't push new versions of
>> > libraries or new features in it, only critical bugfixes.
>> >
>> > So when for openstack we happen to need to new version of a library, it
>> > won't run on the current stable version. We have a choice between
>> > avoiding new versions of libraries altogether, or use a PPA to add the
>> > required version.
>> >
>> > The route we follow is to provide the new version of the library in a
>> > PPA for the current stable releases (Lucid/Maverick), and update the
>> > development release (Natty) proper.
>> >
>> > The end goal being, when Natty goes out, the corresponding Openstack
>> > release (Cactus) runs on it without the need for a PPA. For those that
>> > prefer to run it on an older stable release (or an LTS), the "release"
>> > PPA can be used.
>> >
>> > Regards,
>> >
>> > --
>> > Thierry Carrez (ttx)
>> > Release Manager, OpenStack
>> > Core developer, Ubuntu
>> >
>> > ___
>> > Mailing list: https://launchpad.net/~openstack
>> > Post to : openstack@lists.launchpad.net
>> > Unsubscribe : https://launchpad.net/~openstack
>> > More help   : https://help.launchpad.net/ListHelp
>> >
>>
>> ___
>> Mailing list: https://launchpad.net/~openstack
>> Post to : openstack@lists.launchpad.net
>> Unsubscribe : https://launchpad.net/~openstack
>> More help   : https://help.launchpad.net/ListHelp
>>
>
> Confidentiality Notice: This e-mail message (including any attached or
> embedded documents) is intended for the exclusive and confidential use of the
> individual or entity to which this message is addressed, and unless otherwise
> expressly indicated, is confidential and privileged information of Rackspace.
> Any dissemination, distribution or copying of the enclosed material is 
> prohibited.
> If you receive this transmission in error, please notify us immediately by 
> e-mail
> at ab...@rackspace.com, and delete the original message.
> Your cooperation is appreciated.
>
>
> ___
> Mailing list: https://launchpad.net/~openstack
> Post to : openstack@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~openstack
> More help   : https://help.launchpad.net/ListHelp
>
>
___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-18 Thread Trey Morris
yeah I agree with jay, makes me feel more comfortable with this process.
also, re jay: guess i had better get to work on that bug

-tr3buchet

On Fri, Feb 18, 2011 at 7:29 AM, Jay Pipes  wrote:

> This was an excellent explanation. Thank you, Thierry.
>
> -jay
>
> On Fri, Feb 18, 2011 at 2:55 AM, Thierry Carrez 
> wrote:
> > Trey Morris wrote:
> >> I don't like that it currently only runs on ubuntu + the ppa. If it
> >> doesn't work with existing versions I think we're doing something wrong.
> >> Even when natty comes out, I don't like the idea of having to ensure I
> >> have latest ubuntu for openstack to run.
> >
> > Maybe with my Ubuntu core developer hat on, I can try to clarify.
> >
> > Once an Ubuntu version is released, you can't push new versions of
> > libraries or new features in it, only critical bugfixes.
> >
> > So when for openstack we happen to need to new version of a library, it
> > won't run on the current stable version. We have a choice between
> > avoiding new versions of libraries altogether, or use a PPA to add the
> > required version.
> >
> > The route we follow is to provide the new version of the library in a
> > PPA for the current stable releases (Lucid/Maverick), and update the
> > development release (Natty) proper.
> >
> > The end goal being, when Natty goes out, the corresponding Openstack
> > release (Cactus) runs on it without the need for a PPA. For those that
> > prefer to run it on an older stable release (or an LTS), the "release"
> > PPA can be used.
> >
> > Regards,
> >
> > --
> > Thierry Carrez (ttx)
> > Release Manager, OpenStack
> > Core developer, Ubuntu
> >
> > ___
> > Mailing list: https://launchpad.net/~openstack
> > Post to : openstack@lists.launchpad.net
> > Unsubscribe : https://launchpad.net/~openstack
> > More help   : https://help.launchpad.net/ListHelp
> >
>
> ___
> Mailing list: https://launchpad.net/~openstack
> Post to : openstack@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~openstack
> More help   : https://help.launchpad.net/ListHelp
>


Confidentiality Notice: This e-mail message (including any attached or
embedded documents) is intended for the exclusive and confidential use of the
individual or entity to which this message is addressed, and unless otherwise
expressly indicated, is confidential and privileged information of Rackspace.
Any dissemination, distribution or copying of the enclosed material is 
prohibited.
If you receive this transmission in error, please notify us immediately by 
e-mail
at ab...@rackspace.com, and delete the original message.
Your cooperation is appreciated.

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-18 Thread Jay Pipes
This was an excellent explanation. Thank you, Thierry.

-jay

On Fri, Feb 18, 2011 at 2:55 AM, Thierry Carrez  wrote:
> Trey Morris wrote:
>> I don't like that it currently only runs on ubuntu + the ppa. If it
>> doesn't work with existing versions I think we're doing something wrong.
>> Even when natty comes out, I don't like the idea of having to ensure I
>> have latest ubuntu for openstack to run.
>
> Maybe with my Ubuntu core developer hat on, I can try to clarify.
>
> Once an Ubuntu version is released, you can't push new versions of
> libraries or new features in it, only critical bugfixes.
>
> So when for openstack we happen to need to new version of a library, it
> won't run on the current stable version. We have a choice between
> avoiding new versions of libraries altogether, or use a PPA to add the
> required version.
>
> The route we follow is to provide the new version of the library in a
> PPA for the current stable releases (Lucid/Maverick), and update the
> development release (Natty) proper.
>
> The end goal being, when Natty goes out, the corresponding Openstack
> release (Cactus) runs on it without the need for a PPA. For those that
> prefer to run it on an older stable release (or an LTS), the "release"
> PPA can be used.
>
> Regards,
>
> --
> Thierry Carrez (ttx)
> Release Manager, OpenStack
> Core developer, Ubuntu
>
> ___
> Mailing list: https://launchpad.net/~openstack
> Post to     : openstack@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~openstack
> More help   : https://help.launchpad.net/ListHelp
>

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-17 Thread Thierry Carrez
Trey Morris wrote:
> I don't like that it currently only runs on ubuntu + the ppa. If it
> doesn't work with existing versions I think we're doing something wrong.
> Even when natty comes out, I don't like the idea of having to ensure I
> have latest ubuntu for openstack to run.

Maybe with my Ubuntu core developer hat on, I can try to clarify.

Once an Ubuntu version is released, you can't push new versions of
libraries or new features in it, only critical bugfixes.

So when for openstack we happen to need to new version of a library, it
won't run on the current stable version. We have a choice between
avoiding new versions of libraries altogether, or use a PPA to add the
required version.

The route we follow is to provide the new version of the library in a
PPA for the current stable releases (Lucid/Maverick), and update the
development release (Natty) proper.

The end goal being, when Natty goes out, the corresponding Openstack
release (Cactus) runs on it without the need for a PPA. For those that
prefer to run it on an older stable release (or an LTS), the "release"
PPA can be used.

Regards,

-- 
Thierry Carrez (ttx)
Release Manager, OpenStack
Core developer, Ubuntu

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-17 Thread Jim Curry
Soren, thank you for the explanation!

Jim

On Feb 17, 2011, at 5:11 PM, Soren Hansen wrote:

> 2011/2/17 Jim Curry :
>> By defining an unbreakable reference platform, are we necessarily limiting 
>> its ability to integrate on other platforms?  That is my underlying 
>> question.  I understand the need for a reference platform but am trying to 
>> understand to what extent that results in us not being able to easily 
>> support other platforms (or not).
> 
> Oh, I see. Thanks for clarifying. I don't think this limits us in that
> respect at all. I don't think we've ever rejected patches that would
> allow us to run on other platforms (and I can't imagine we ever
> would).
> 
> That said, Ubuntu offers a very up-to-date selection of software that
> we can build upon. Not being limited by a static, out-of-date set of
> dependencies is very much the reason we can move forward at the pace
> that we do. Other distros might not have all the dependencies we need.
> Yet, at least. It's possible they will in their next release.
> 
> If we take the example from my previous e-mail in this thread.. There
> was a race condition that was caused by a bug in Eventlet. There were
> two[1] ways to fix it: 1) Fix it in Eventlet or 2) accept Eventlet's
> brokenness and attempt to work around it. Once the problem was
> identified and I was at a point where I knew I had to make that
> decision, option 1) took probably about an hour or so, includiing
> filing the bug with eventlet, providing them with a test case, writing
> a patch, uploading it to Ubuntu, and backporting it to multiple
> version of Ubuntu in our PPA's. It's not entirely inconceivable that
> I'd still be working on option 2 right now (we rely pretty heavily on
> Eventlet). If someone wants to put Nova into some other distribution
> they "just" need to make sure that the eventlet in said distro has
> this patch applied.
> 
> [1]: Well, there's a third: Monkey patch eventlet. I'm just afraid I'd
> be caught in an infinite loop of irony.
> 
> -- 
> Soren Hansen
> Ubuntu Developerhttp://www.ubuntu.com/
> OpenStack Developer http://www.openstack.org/



Confidentiality Notice: This e-mail message (including any attached or
embedded documents) is intended for the exclusive and confidential use of the
individual or entity to which this message is addressed, and unless otherwise
expressly indicated, is confidential and privileged information of Rackspace.
Any dissemination, distribution or copying of the enclosed material is 
prohibited.
If you receive this transmission in error, please notify us immediately by 
e-mail
at ab...@rackspace.com, and delete the original message.
Your cooperation is appreciated.


___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-17 Thread Lorin Hochstein

On Feb 17, 2011, at 5:55 PM, Soren Hansen wrote:

> 2011/2/17 Lorin Hochstein :
>> For those who deploy on platforms other than Ubuntu, are these
>> customizations recorded somewhere in the OpenStack documentation?
> 
> Hmm.. No. I submitted it upstream, applied it in Ubuntu, and uploaded
> backported packages to the PPA's. I guess we could also add a patches/
> directory to nova and stick stuff in there. Would that address your
> concerns?
> 

Yeah, I think that should do. 

> 
> 
>> Having access to a comprehensive set of the dependency packages versions for
>> the reference implementation platform would be very helpful for debugging
>> problems on other platforms.  Is it possible  automatically pull this info
>> from the PPA, extract it from the package metadata, and then add it to the
>> admin guide docs?
> 
> I'd hate to have to update admin docs for this sort of stuff. A
> general pointer to the (not-yet-existing) patches/ directory would be
> a good idea, though.


I think that's fine, something like "Some dependencies contain bugs that 
prevent nova working correctly. In those cases nova relies on a customized 
version of the dependency with a bugfix.  These bugfixes to dependencies are 
located in the patches/ directory".


Take care, 

Lorin
--
Lorin Hochstein, Computer Scientist
USC Information Sciences Institute
703.812.3710
http://www.east.isi.edu/~lorin



smime.p7s
Description: S/MIME cryptographic signature
___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-17 Thread Brian Schott
Agreed.  I don't think bleeding-edge pip should block a merge either.  It could 
cause a lot of false-positives.

I do think up-to-date Natty, Maverick, and Lucid with build-depends from PPA 
should be tested, probably CentOS and SUSE if that can be automated.  You want 
apt-get dist-upgrade ; run_test.sh -N to work.

How about some automation to "Score your Branch"?  Do that BEFORE a branch gets 
proposed for review.  Encourage committers to post their branch score in the 
bug.  At least we when see what is broken.

Brian Schott
bfsch...@gmail.com



On Feb 17, 2011, at 4:21 PM, Soren Hansen wrote:

> 2011/2/17 Jay Pipes :
>>> One thing we saw in the list and experienced first hand is that your Hudson 
>>> server uses a pre-configured environment and ours pulls virtual env every 
>>> time.  We had failures on trunk that yours missed because of new pip pulled 
>>> versions.
>>> 
>>> A fresh run_tests.sh -f needs to work.  It is the only guaranteed sanity 
>>> test everybody can replicate.  It might pull upstream bugs, but better to 
>>> be ahead of that curve than behind.
>> Although Soren adequately explained why he thinks that running
>> run_tests.sh on Hudson should *not* be against a pip/virtualenv setup,
>> I would like to state that I think it would be a good idea to have
>> Hudson do *both*.
>> 
>> In other words, for each pre-merge into trunk, Hudson would run two things:
>> 
>> * run_tests.sh -N
>> * run_tests.sh -V -f
> 
> I understand the motivation, I'm just not sure I want the latter to
> actually block a merge. As an example, the recent race condition I
> spotted and fixed required a patch to land in eventlet. If the latter
> was allowed to block a merge, we'd have to keep a known race condition
> in Nova until upstream decides to do a release so that pip could fetch
> it. That could take a *long* time. In the mean time, I stuck a fixed
> Eventlet package in our PPA (and in Ubuntu Natty proper) so that we
> could move on with our lives and get rid of the race condition.
> There's simply a flexibility in this approach that I don't see how we
> can obtain with the pip approach.
> 
> Again, though, I would be *delighted* to have automated testing on a
> load of different platforms. I just don't believe they should all be
> allowed to block us from moving forward.
> 
> -- 
> Soren Hansen
> Ubuntu Developerhttp://www.ubuntu.com/
> OpenStack Developer http://www.openstack.org/



PGP.sig
Description: This is a digitally signed message part
___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-17 Thread Brian Schott
Believe, me we know.  Our team is bringing up OpenStack on our heterogeneous 
testbed, a 1TB 256core SGI UltraViolet machine, three Nvidia S2050 boards 
connected to three SGI XE500 boxes (exposing the GPUs to new instance types 
using a modified gVirtuS driver), and a nova-compute proxy managing 10 Tilera 
TILEmpower systems with 64-core TilePro64 processors (that are bare-metal PXE 
booting the images from an x86 box).  They all have dual 10GbE interfaces and 
it's all SUSE Enterprise.  Configuration management is a joy.

I was under the impression that "runtest.sh -V -f" was what committers should 
strive to achieve before submitting a branch for review.  That means you might 
win the booby prize and hit python_migrate bug totally unrelated to your patch.

Brian Schott
bfsch...@gmail.com



On Feb 17, 2011, at 2:18 PM, Soren Hansen wrote:

> One other thing I forgot to point out is that there's a world outside
> of Python, too. You can pull all the stuff you want from pip, but
> there's still a whole bunch of things that aren't managed by pip that
> you need to rely on your distro for anyways. Like, say, a kernel,
> Python itself, libvirt, iscsi tools, etc., etc.
> 
> -- 
> Soren Hansen
> Ubuntu Developerhttp://www.ubuntu.com/
> OpenStack Developer http://www.openstack.org/



PGP.sig
Description: This is a digitally signed message part
___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-17 Thread Soren Hansen
2011/2/17 Jim Curry :
> By defining an unbreakable reference platform, are we necessarily limiting 
> its ability to integrate on other platforms?  That is my underlying question. 
>  I understand the need for a reference platform but am trying to understand 
> to what extent that results in us not being able to easily support other 
> platforms (or not).

Oh, I see. Thanks for clarifying. I don't think this limits us in that
respect at all. I don't think we've ever rejected patches that would
allow us to run on other platforms (and I can't imagine we ever
would).

That said, Ubuntu offers a very up-to-date selection of software that
we can build upon. Not being limited by a static, out-of-date set of
dependencies is very much the reason we can move forward at the pace
that we do. Other distros might not have all the dependencies we need.
Yet, at least. It's possible they will in their next release.

If we take the example from my previous e-mail in this thread.. There
was a race condition that was caused by a bug in Eventlet. There were
two[1] ways to fix it: 1) Fix it in Eventlet or 2) accept Eventlet's
brokenness and attempt to work around it. Once the problem was
identified and I was at a point where I knew I had to make that
decision, option 1) took probably about an hour or so, includiing
filing the bug with eventlet, providing them with a test case, writing
a patch, uploading it to Ubuntu, and backporting it to multiple
version of Ubuntu in our PPA's. It's not entirely inconceivable that
I'd still be working on option 2 right now (we rely pretty heavily on
Eventlet). If someone wants to put Nova into some other distribution
they "just" need to make sure that the eventlet in said distro has
this patch applied.

[1]: Well, there's a third: Monkey patch eventlet. I'm just afraid I'd
be caught in an infinite loop of irony.

-- 
Soren Hansen
Ubuntu Developer    http://www.ubuntu.com/
OpenStack Developer http://www.openstack.org/

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-17 Thread Jay Pipes
Hi Dan! Sorry you were the last of my reply emails on this thread.
Email overload today :) Comments inline.

On Thu, Feb 17, 2011 at 9:43 AM, Dan Prince  wrote:
> I see the 'smoketests' directory in the nova code. Is anyone running these 
> tests on a regular basis (every commit)? Is this the best place to further 
> build out integration tests?

The Anso team has told me that they run the smoketests regularly, but
I would assume they only run these smoketests against a test cluster
that mimicks the Nebula environment. Devin and termie can correct me
if I'm wrong on that.

As far as I know, nobody outside of Anso has run the smoketests, and
they are not integrated into Hudson.

Yet. :)

termie and I had a brief email conversation about using the existing
Nova smoketests as the basis for some continuous integration testing.
I was kind of waiting for him to email the mailing list about that
topic, but I'll guess I'll pre-empt his email here. :)

As far as I know, the Anso plan (which I am in favour of) is to set up
a multi-node test cluster (Jordan Rinke may have already gotten this
done) that can have a number of these "target environments" (Nebula at
NASA, Rackspace Cloud Servers setup, etc) ready to run tests on. Then,
we'd install the Hudson agent on some test machine that would have a
nova.conf that represented the test environments and fire the
smoketests against these test environments.

The smoketests are perfectly fine, but I think most agree that they
represent a limited set of actions that a user and an admin would
execute against the Nova API.  In fact, the current smoketests only
test the EC2 API, since that is the API that the Nebula cluster uses.
So, AFAIK, there are no smoketests at all for the OpenStack API. This
is a major problem for Racker contributors, as I think you'd agree,
and one that we need to address ASAP. :)

I've created a bug for this, the lack of OpenStack API integration
test (smoketest): https://bugs.launchpad.net/nova/+bug/720941

Trey, by virtue of responding to my prior email suggesting the need
for an OpenStack API smoketest, volunteered to create the smoketest.
And by "volunteered", I mean of course that I simply assigned Trey to
the bug ;)

> Regarding environment/setup tools: I been working on an Openstack VPC toolkit 
> project that we are using in Blacksburg to stage test some things in the 
> cloud. I'm using Chef along with the Anso/Opscode Openstack cookbooks to 
> setup Rackspace Cloud Servers with the latest trunk PPA packages.

This is great news. How can we integrate this work into these things?

a) Nova's smoketest files
b) Hudson

> This setup works well however I can only test with Qemu (no Xenserver) and 
> using network managers that have DHCP (I use FlatDHCPManager since Cloud 
> Servers kernels don't currently have the 'ndb' kernel module which would 
> support the network injection stuff).

That is a hardware problem that Paul Voccio and others have been
working on. There is a cluster of machines that are being set up that
will have XenServer (5.6p2 Callie?) installed on them that will be
available to run tests against. I'll let Paul give details on this
test cluster that will shortly (?) be integrated into our Hudson
setup.

> Using this setup I'm able to create multi node installations where instances 
> on different machines can ping each other. While this isn't what I would call 
> a true production setup it is fully functional and can easily be run in 
> parallel. The only limitations are the limits on your Cloud Servers Account.

OK. Are you executing a specific set of pre-determined Cloud Servers
API requests against Nova? If so, how are those requests created? Are
they in a test case that we could integrate into the existing Nova
smoketests files?

> If you have bare metal then you can simply swap out the Cloud Servers API 
> layer with something that interfaces with your PXE imaging system. I'm a big 
> fan of slicking the machines between each test run to avoid the buildup of 
> cruft in the system.

Yep, AFAIK, Rackspace's internal Autotools team has been working with
Paul to enable this kind of thing with the afore-mentioned test
cluster to "wipe" the cluster back to an original XenServer setting
between test runs.

> This would integrate as a Hudson job nicely as well. We've done some similar 
> setups in Rackspace Email and Apps using a single Hudson server. The hudson 
> server runs a simple Bash script that invokes the toolkit to create the cloud 
> servers, chef them up with the latest PPA packages (or your branch code), and 
> then uses Torque (an HPC'ish resource manager) to run schedule test jobs on 
> some of the machines. I use Chef recipes to install Torque along with a REST 
> interface to schedule and monitor the jobs on a "head" node. The Hudson job 
> the waits for the Torque jobs to finish. The last thing the Hudson script 
> does is 'scp' the unit test results XML file back to the Hudson server where 
> you can use somethi

Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-17 Thread Soren Hansen
2011/2/17 Lorin Hochstein :
> For those who deploy on platforms other than Ubuntu, are these
> customizations recorded somewhere in the OpenStack documentation?

Hmm.. No. I submitted it upstream, applied it in Ubuntu, and uploaded
backported packages to the PPA's. I guess we could also add a patches/
directory to nova and stick stuff in there. Would that address your
concerns?

> If I wanted to deploy to SUSE, it would help to know that, say, I can use the
> stock version of greenlet 0.3.1, but I need to use a customized version of
> eventlet 0.9.12 with the patches that correspond to python-eventlet in the
> nova-core/release PPA.

Sure.

> Having access to a comprehensive set of the dependency packages versions for
> the reference implementation platform would be very helpful for debugging
> problems on other platforms.  Is it possible  automatically pull this info
> from the PPA, extract it from the package metadata, and then add it to the
> admin guide docs?

I'd hate to have to update admin docs for this sort of stuff. A
general pointer to the (not-yet-existing) patches/ directory would be
a good idea, though. Extracting the info automatically from the PPA
isn't really feasible. These things are not quite rigidly structured
enough to allows such things.

-- 
Soren Hansen
Ubuntu Developer    http://www.ubuntu.com/
OpenStack Developer http://www.openstack.org/

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-17 Thread Jim Curry
By defining an unbreakable reference platform, are we necessarily limiting its 
ability to integrate on other platforms?  That is my underlying question.  I 
understand the need for a reference platform but am trying to understand to 
what extent that results in us not being able to easily support other platforms 
(or not).

Jim

On Feb 17, 2011, at 4:46 PM, Soren Hansen wrote:

> 2011/2/17 Jim Curry :
>> Got it.  But the primary tradeoff is simply that we need to make sure any 
>> changes we make to another platforms don't break the Ubuntu integration?  
>> And in general that should not be a major issue...?
> 
> I don't think I understand the question, I'm afraid. :( From where I
> see it, there's no trade-off involved. We've decided to define a
> reference platform. Support for other platforms is very welcome
> indeed, but there's just the one "blessed" platform, where we "can't"
> break. It's the platform we test everything on.
> 
> --
> Soren Hansen
> Ubuntu Developerhttp://www.ubuntu.com/
> OpenStack Developer http://www.openstack.org/



Confidentiality Notice: This e-mail message (including any attached or
embedded documents) is intended for the exclusive and confidential use of the
individual or entity to which this message is addressed, and unless otherwise
expressly indicated, is confidential and privileged information of Rackspace.
Any dissemination, distribution or copying of the enclosed material is 
prohibited.
If you receive this transmission in error, please notify us immediately by 
e-mail
at ab...@rackspace.com, and delete the original message.
Your cooperation is appreciated.


___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-17 Thread Soren Hansen
2011/2/17 Jim Curry :
> Got it.  But the primary tradeoff is simply that we need to make sure any 
> changes we make to another platforms don't break the Ubuntu integration?  And 
> in general that should not be a major issue...?

I don't think I understand the question, I'm afraid. :( From where I
see it, there's no trade-off involved. We've decided to define a
reference platform. Support for other platforms is very welcome
indeed, but there's just the one "blessed" platform, where we "can't"
break. It's the platform we test everything on.

--
Soren Hansen
Ubuntu Developer    http://www.ubuntu.com/
OpenStack Developer http://www.openstack.org/

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-17 Thread Jim Curry
Got it.  But the primary tradeoff is simply that we need to make sure any 
changes we make to another platforms don't break the Ubuntu integration?  And 
in general that should not be a major issue...?

Jim

On Feb 17, 2011, at 1:32 PM, Soren Hansen wrote:

> 2011/2/17 Jim Curry :
>> Soren, can you clarify what you mean by Ubuntu being the primary platform?  
>> Why is that the reference?  What limitations does this introduce?
> 
> It's the primary platform because it's the platform we test everything
> on, it's the platform we spend time integrating with, etc.
> 
> It started out as the reference because that's what both the Swift
> devs as well as the Anso guys had chosen it as their reference
> platform. It's an excellent choice, so there has been no motivation to
> change that decision as far as I know.
> 
> I can think of a long list of consequences of this choice. Attempting
> to phrase any of them as limitations would be contrived.
> 
> Having a reference platform means we can reasonably make a lot of very
> useful assumptions about the environment in which Nova runs. Having
> that reference platform be Ubuntu means that there's a straightforward
> way to modify this environment if we have special needs. I've patched
> a number of packages in Ubuntu already to accomodate our needs,
> including the Linux kernel, libvirt, Eventlet, user-mode-linux, etc.
> 
> -- 
> Soren Hansen
> Ubuntu Developerhttp://www.ubuntu.com/
> OpenStack Developer http://www.openstack.org/



Confidentiality Notice: This e-mail message (including any attached or
embedded documents) is intended for the exclusive and confidential use of the
individual or entity to which this message is addressed, and unless otherwise
expressly indicated, is confidential and privileged information of Rackspace.
Any dissemination, distribution or copying of the enclosed material is 
prohibited.
If you receive this transmission in error, please notify us immediately by 
e-mail
at ab...@rackspace.com, and delete the original message.
Your cooperation is appreciated.


___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-17 Thread Lorin Hochstein
On Feb 17, 2011, at 4:21 PM, Soren Hansen wrote:

> 
> I understand the motivation, I'm just not sure I want the latter to
> actually block a merge. As an example, the recent race condition I
> spotted and fixed required a patch to land in eventlet. If the latter
> was allowed to block a merge, we'd have to keep a known race condition
> in Nova until upstream decides to do a release so that pip could fetch
> it. That could take a *long* time. In the mean time, I stuck a fixed
> Eventlet package in our PPA (and in Ubuntu Natty proper) so that we
> could move on with our lives and get rid of the race condition.
> There's simply a flexibility in this approach that I don't see how we
> can obtain with the pip approach.
> 

For those who deploy on platforms other than Ubuntu, are these customizations 
recorded somewhere in the OpenStack documentation? If I wanted to deploy to 
SUSE, it would help to know that, say, I can use the stock version of greenlet 
0.3.1, but I need to use a customized version of eventlet 0.9.12 with the 
patches that correspond to python-eventlet in the nova-core/release PPA. 

Having access to a comprehensive set of the dependency packages versions for 
the reference implementation platform would be very helpful for debugging 
problems on other platforms.  Is it possible  automatically pull this info from 
the PPA, extract it from the package metadata, and then add it to the admin 
guide docs? 

Lorin
--
Lorin Hochstein, Computer Scientist
USC Information Sciences Institute
703.812.3710
http://www.east.isi.edu/~lorin



smime.p7s
Description: S/MIME cryptographic signature
___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-17 Thread Soren Hansen
2011/2/17 Jay Pipes :
>> One thing we saw in the list and experienced first hand is that your Hudson 
>> server uses a pre-configured environment and ours pulls virtual env every 
>> time.  We had failures on trunk that yours missed because of new pip pulled 
>> versions.
>>
>> A fresh run_tests.sh -f needs to work.  It is the only guaranteed sanity 
>> test everybody can replicate.  It might pull upstream bugs, but better to be 
>> ahead of that curve than behind.
> Although Soren adequately explained why he thinks that running
> run_tests.sh on Hudson should *not* be against a pip/virtualenv setup,
> I would like to state that I think it would be a good idea to have
> Hudson do *both*.
>
> In other words, for each pre-merge into trunk, Hudson would run two things:
>
> * run_tests.sh -N
> * run_tests.sh -V -f

I understand the motivation, I'm just not sure I want the latter to
actually block a merge. As an example, the recent race condition I
spotted and fixed required a patch to land in eventlet. If the latter
was allowed to block a merge, we'd have to keep a known race condition
in Nova until upstream decides to do a release so that pip could fetch
it. That could take a *long* time. In the mean time, I stuck a fixed
Eventlet package in our PPA (and in Ubuntu Natty proper) so that we
could move on with our lives and get rid of the race condition.
There's simply a flexibility in this approach that I don't see how we
can obtain with the pip approach.

Again, though, I would be *delighted* to have automated testing on a
load of different platforms. I just don't believe they should all be
allowed to block us from moving forward.

-- 
Soren Hansen
Ubuntu Developer    http://www.ubuntu.com/
OpenStack Developer http://www.openstack.org/

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-17 Thread Devin Carlen
+1, this is a great suggestion.



On Feb 17, 2011, at 1:06 PM, Jay Pipes wrote:

> Although Soren adequately explained why he thinks that running
> run_tests.sh on Hudson should *not* be against a pip/virtualenv setup,
> I would like to state that I think it would be a good idea to have
> Hudson do *both*.



___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-17 Thread Devin Carlen
Great thoughts Jay - I think a push to improve test coverage is a great goal 
for Cactus.  

It seems like we are getting new contributors faster than ever these days.  I 
would like to suggest that we create a blueprint called something like "improve 
test coverage" and create a number of bug reports that reference the blueprint.

Then label them as "low hanging fruit", which will encourage everyone 
(especially new contributors) to look at them.  As we all know, the best way to 
learn a codebase is to write tests for it.


On Feb 17, 2011, at 12:57 PM, Jay Pipes wrote:

> On Wed, Feb 16, 2011 at 11:44 PM, Paul Voccio  
> wrote:
>> Jay,
>> 
>> Thanks for throwing this out. How would we build this with Hudson? What
>> would a "standard deploy" of Nova even look like for integration tests?
> 
> I replied with some specifics to Trey, who had a similar question, and
> created a bug report (that I subsequently assigned to Trey):
> 
> https://bugs.launchpad.net/nova/+bug/720941
> 
> Let me know if that answered your questions and if you'd like some
> more explanation.
> 
>> We've also bounced the idea within our team of not allowing code commits
>> if the code to test ratio decreases but I'm not sure if that would work
>> for such a large project like this one.
> 
> This is a good idea, but even if we were to add code to test ratios,
> the ratio would be mostly (only?) looking at unit tests. And I think
> we've seen that unit tests pass and functional tests blow up because
> of all the mocks/stubs in the unit tests that don't adequately
> represent a real-world deployment.
> 
> Nothing wrong, of course, with exploring code to test ratio
> (basically, automated code coverage tests), but I think good
> functional and integration tests are more productive at this time.
> 
> Just my two cents, though, nothing more,
> 
> -jay
> 
> ___
> Mailing list: https://launchpad.net/~openstack
> Post to : openstack@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~openstack
> More help   : https://help.launchpad.net/ListHelp


___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-17 Thread Jay Pipes
On Thu, Feb 17, 2011 at 12:53 AM, Brian Schott  wrote:
> One thing we saw in the list and experienced first hand is that your Hudson 
> server uses a pre-configured environment and ours pulls virtual env every 
> time.  We had failures on trunk that yours missed because of new pip pulled 
> versions.
>
> A fresh run_tests.sh -f needs to work.  It is the only guaranteed sanity test 
> everybody can replicate.  It might pull upstream bugs, but better to be ahead 
> of that curve than behind.

Although Soren adequately explained why he thinks that running
run_tests.sh on Hudson should *not* be against a pip/virtualenv setup,
I would like to state that I think it would be a good idea to have
Hudson do *both*.

In other words, for each pre-merge into trunk, Hudson would run two things:

* run_tests.sh -N
* run_tests.sh -V -f

The former would verify that the commit will not break an *existing*
installation. The latter would verify that the commit will not break a
*new* installation.

I don't see why the two cannot be run for each commit into trunk. The
run_tests.sh -V -f would, of course, take a lot longer than
run_tests.sh -N because the virtualenv needs to be destroyed,
recreated, and all dependencies in tools/pip-requires need to be
downloaded and installed. However, I feel the run_tests.sh -V -f is an
important test to run, as it would pick up issues that have bitten a
lot of developers -- for instance, the recent "from migrate import
versioning" bug...

> We are now triggering on trunk commit emails and running Hudson on both trunk 
> and our hpc-trunk.  We can forward to a list or autogenerate bug report 
> somehow.

Can you open up an SSH port/user on your build box and install the
Hudson agent on it so we can link it to hudson.openstack.org's build
machines?

-jay

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-17 Thread Jay Pipes
No disagreement with anything you say below, Matt. More testing of all
kinds, including unit tests, should be a priority.

Cheers,
jay

On Wed, Feb 16, 2011 at 11:37 PM, Matt Dietz  wrote:
> These are all great points Jay.
>
> I'd like to re-echo the comment about unit tests. Obviously they aren't
> the panacea, but they can protect against some of the dumber errors that
> have made their way into trunk. One particular bug stopped one developer
> on my team dead in his tracks, and it ended up being a semi-colon in place
> of a colon. There's a lot of utility in simply "exercising" code...
>
> I think we may want to consider everyone's favorite topic of code coverage
> as well in all of this. Specifically, we may want to take note of code
> coverage on any given merge, and if subsequent merges reduce that number,
> we throw a fit/reject the patch. I know that won't be a popular solution,
> but it would definitely put a stop to the lack of unit tests.
>
> On 2/16/11 4:27 PM, "Jay Pipes"  wrote:
>
>>Hey all,
>>
>>It's come to my attention that a number of folks are not happy that
>>Nova's trunk branch (lp:nova) is, shall we say, "less than stable". :)
>>
>>First, before going into some suggestions on keeping trunk more
>>stable, I'd like to point out that trunk is, by nature, an actively
>>developed source tree. Nobody should have an expectation that they can
>>simply bzr branch lp:nova and everything will magically work with a)
>>their existing installations of software packages, b) whatever code
>>commits they have made locally, or c) whatever specific
>>hypervisor/volume/network environment that they test their local code
>>with. The trunk branch is, after all, in active development.
>>
>>That said, there's *no* reason we can't *improve* the relative
>>stability of the trunk branch to make life less stressful for
>>contributors.  Here are a few suggestions on how to keep trunk a bit
>>more stable for those developers who actively develop from trunk.
>>
>>1) Participate fully in code reviews. If you suspect a proposed branch
>>merge will "mess everything up for you", then you should notify
>>reviewers and developers about your concerns. Be proactive.
>>
>>2) If you pull trunk and something breaks, don't just complain about
>>it. Log a bug immediately and talk to the reviewers/approvers of the
>>patch that broke your environment. Be constructive in your criticism,
>>and be clear about why the patch should have been more thoroughly or
>>carefully reviewed. If you don't, we're bound to repeat mistakes.
>>
>>3) Help us to write functional and integration tests. It's become
>>increasingly clear from the frequency of breakages in trunk (and other
>>branches) that our unit tests are nowhere near sufficient to catch a
>>large portion of bugs. This is to be expected. Our unit tests use
>>mocks and stubs for virtually everything, and they only really test
>>code interfaces, and they don't even test that very well. We're
>>working on adding functional tests to Hudson that will run, as the
>>unit test do, before any merge into trunk, with any failure resulting
>>in a failed merge. However, we need your help to create functional
>>tests and integration tests (tests that various *real* components work
>>together properly).  We also need help writing test cases that ensure
>>software library dependencies and other packaging issues are handled
>>properly and don't break with minor patches.
>>
>>4) If you have a specific environment/setup that you use (Rackers and
>>Anso guys, here...), then we need your assistance to set up test
>>clusters that will pull trunk into a wiped test environment and ensure
>>that a series of realistic calls to the Nova API are properly handled.
>>I know some of you are working on getting hardware ready. We need help
>>from the software teams to ensure that these environments are
>>initialized with the exact setups you use.
>>
>>The more testing we fire off against each potential merge into trunk,
>>and the more those tests are hitting real-life deployment
>>environments, the more stable trunk will become and the easier your
>>life as a contributor will be.
>>
>>Thanks in advance for your assistance, and please don't hesitate to
>>expand on any more suggestions you might have to stabilize trunk.
>>
>>-jay
>>
>>___
>>Mailing list: https://launchpad.net/~openstack
>>Post to     : openstack@lists.launchpad.net
>>Unsubscribe : https://launchpad.net/~openstack
>>More help   : https://help.launchpad.net/ListHelp
>
>
>
> Confidentiality Notice: This e-mail message (including any attached or
> embedded documents) is intended for the exclusive and confidential use of the
> individual or entity to which this message is addressed, and unless otherwise
> expressly indicated, is confidential and privileged information of Rackspace.
> Any dissemination, distribution or copying of the enclosed material is 
> prohibited.
> If you receive this transmission in error, ple

Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-17 Thread Jay Pipes
On Wed, Feb 16, 2011 at 11:44 PM, Paul Voccio  wrote:
> Jay,
>
> Thanks for throwing this out. How would we build this with Hudson? What
> would a "standard deploy" of Nova even look like for integration tests?

I replied with some specifics to Trey, who had a similar question, and
created a bug report (that I subsequently assigned to Trey):

https://bugs.launchpad.net/nova/+bug/720941

Let me know if that answered your questions and if you'd like some
more explanation.

> We've also bounced the idea within our team of not allowing code commits
> if the code to test ratio decreases but I'm not sure if that would work
> for such a large project like this one.

This is a good idea, but even if we were to add code to test ratios,
the ratio would be mostly (only?) looking at unit tests. And I think
we've seen that unit tests pass and functional tests blow up because
of all the mocks/stubs in the unit tests that don't adequately
represent a real-world deployment.

Nothing wrong, of course, with exploring code to test ratio
(basically, automated code coverage tests), but I think good
functional and integration tests are more productive at this time.

Just my two cents, though, nothing more,

-jay

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-17 Thread Jay Pipes
On Thu, Feb 17, 2011 at 1:58 PM, Trey Morris  wrote:
> sounds like a good plan to me :)

Awesome. I'm glad you're taking the lead on this ;)

https://bugs.launchpad.net/nova/+bug/720941

Cheers!
jay

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-17 Thread Soren Hansen
2011/2/17 Jim Curry :
> Soren, can you clarify what you mean by Ubuntu being the primary platform?  
> Why is that the reference?  What limitations does this introduce?

It's the primary platform because it's the platform we test everything
on, it's the platform we spend time integrating with, etc.

It started out as the reference because that's what both the Swift
devs as well as the Anso guys had chosen it as their reference
platform. It's an excellent choice, so there has been no motivation to
change that decision as far as I know.

I can think of a long list of consequences of this choice. Attempting
to phrase any of them as limitations would be contrived.

Having a reference platform means we can reasonably make a lot of very
useful assumptions about the environment in which Nova runs. Having
that reference platform be Ubuntu means that there's a straightforward
way to modify this environment if we have special needs. I've patched
a number of packages in Ubuntu already to accomodate our needs,
including the Linux kernel, libvirt, Eventlet, user-mode-linux, etc.

-- 
Soren Hansen
Ubuntu Developer    http://www.ubuntu.com/
OpenStack Developer http://www.openstack.org/

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-17 Thread Soren Hansen
One other thing I forgot to point out is that there's a world outside
of Python, too. You can pull all the stuff you want from pip, but
there's still a whole bunch of things that aren't managed by pip that
you need to rely on your distro for anyways. Like, say, a kernel,
Python itself, libvirt, iscsi tools, etc., etc.

-- 
Soren Hansen
Ubuntu Developer    http://www.ubuntu.com/
OpenStack Developer http://www.openstack.org/

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-17 Thread Trey Morris
sounds like a good plan to me :)

On Thu, Feb 17, 2011 at 11:44 AM, Jay Pipes  wrote:

> On Thu, Feb 17, 2011 at 12:19 PM, Trey Morris 
> wrote:
> > I don't like that it currently only runs on ubuntu + the ppa. If it
> doesn't
> > work with existing versions I think we're doing something wrong. Even
> when
> > natty comes out, I don't like the idea of having to ensure I have latest
> > ubuntu for openstack to run.
>
> It runs on the platform that people have spent the time and effort to
> integrate into Hudson. This happens to be Ubuntu because that is what
> Soren (the person who has spent all that time and effort) is
> comfortable with.
>
> I encourage you to set up an integration test for the specific
> platform you want to ensure does not break with commits to trunk :)
>
> This could be as simple as doing the following:
>
> * Find Jordan Rinke or another Racker who has access to machines that
> can be linked to Hudson
> * SSH into the said machine and ensure that the machines have all your
> environment's necessary components installed. In your case, Trey, I'll
> presume that you want XenServer installed on the compute nodes and
> MySQL installed on one of the other machines to act as the main
> database
> * Find soren, mtaylor, myself or others on IRC to help install the
> Jenkins/Hudson agent on the machines. The Hudson agent will be
> responsible for pulling lp:nova and installing all the necessary
> pieces on the machines in your test environment
> * Place a /etc/nova/nova.conf file on the machines in question that
> matches your target environment
> * Create a simple functional test script that runs through a basic set
> of API requests that exercise the parts of the Nova API that are
> critical to you (XenAPI, Glance integration, etc)
> * Have Hudson fire said script against the test environment after
> starting up Nova on the relevant nodes
>
> So, we're ready to help. But we need help from yourself and others on
> your team, as well as good communication with folks like Jordan to
> make sure we're all on the same page. Together, we can get this done.
>
> > As far as stability goes, i think integration testing is a great
> solution.
> > Hudson should run integration tests before it allows code into trunk. I
> also
> > think that code should be integration tested before it is reviewed since
> > hardware is cheaper than core-devs. "I'll review that once I'm sure it
> > works." The only issue I can see with the hudson running integration
> tests
> > is the way the testing environments are set up. There are so many options
> an
> > exhaustive list would just take forever.
>
> We have to start somewhere, and a good "somewhere" would be the
> internal Rackspace Cloud Servers setup, since that's clearly a target
> platform. ;) Add to that NASA's environment and anyone else's
> environment who is willing to spend the time and effort to set up the
> test environments.
>
> -jay
>


Confidentiality Notice: This e-mail message (including any attached or
embedded documents) is intended for the exclusive and confidential use of the
individual or entity to which this message is addressed, and unless otherwise
expressly indicated, is confidential and privileged information of Rackspace.
Any dissemination, distribution or copying of the enclosed material is 
prohibited.
If you receive this transmission in error, please notify us immediately by 
e-mail
at ab...@rackspace.com, and delete the original message.
Your cooperation is appreciated.

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-17 Thread Jay Pipes
On Thu, Feb 17, 2011 at 12:19 PM, Trey Morris  wrote:
> I don't like that it currently only runs on ubuntu + the ppa. If it doesn't
> work with existing versions I think we're doing something wrong. Even when
> natty comes out, I don't like the idea of having to ensure I have latest
> ubuntu for openstack to run.

It runs on the platform that people have spent the time and effort to
integrate into Hudson. This happens to be Ubuntu because that is what
Soren (the person who has spent all that time and effort) is
comfortable with.

I encourage you to set up an integration test for the specific
platform you want to ensure does not break with commits to trunk :)

This could be as simple as doing the following:

* Find Jordan Rinke or another Racker who has access to machines that
can be linked to Hudson
* SSH into the said machine and ensure that the machines have all your
environment's necessary components installed. In your case, Trey, I'll
presume that you want XenServer installed on the compute nodes and
MySQL installed on one of the other machines to act as the main
database
* Find soren, mtaylor, myself or others on IRC to help install the
Jenkins/Hudson agent on the machines. The Hudson agent will be
responsible for pulling lp:nova and installing all the necessary
pieces on the machines in your test environment
* Place a /etc/nova/nova.conf file on the machines in question that
matches your target environment
* Create a simple functional test script that runs through a basic set
of API requests that exercise the parts of the Nova API that are
critical to you (XenAPI, Glance integration, etc)
* Have Hudson fire said script against the test environment after
starting up Nova on the relevant nodes

So, we're ready to help. But we need help from yourself and others on
your team, as well as good communication with folks like Jordan to
make sure we're all on the same page. Together, we can get this done.

> As far as stability goes, i think integration testing is a great solution.
> Hudson should run integration tests before it allows code into trunk. I also
> think that code should be integration tested before it is reviewed since
> hardware is cheaper than core-devs. "I'll review that once I'm sure it
> works." The only issue I can see with the hudson running integration tests
> is the way the testing environments are set up. There are so many options an
> exhaustive list would just take forever.

We have to start somewhere, and a good "somewhere" would be the
internal Rackspace Cloud Servers setup, since that's clearly a target
platform. ;) Add to that NASA's environment and anyone else's
environment who is willing to spend the time and effort to set up the
test environments.

-jay

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-17 Thread Trey Morris
I don't like that it currently only runs on ubuntu + the ppa. If it doesn't
work with existing versions I think we're doing something wrong. Even when
natty comes out, I don't like the idea of having to ensure I have latest
ubuntu for openstack to run.

As far as stability goes, i think integration testing is a great solution.
Hudson should run integration tests before it allows code into trunk. I also
think that code should be integration tested before it is reviewed since
hardware is cheaper than core-devs. "I'll review that once I'm sure it
works." The only issue I can see with the hudson running integration tests
is the way the testing environments are set up. There are so many options an
exhaustive list would just take forever. OP's 4th bullet point makes a lot
of sense here for catching bugs but I'm not sure how we could use these
environments to prevent bad code from landing in trunk. Possibly we end up
with an array of test clusters owned by different entities and hudson kicks
off the tests in parallel. This would be difficult to manage and we'd
probably end up with false negatives due to environments not being set up
correctly.

On Thu, Feb 17, 2011 at 8:43 AM, Dan Prince wrote:

> Hey Jay,
>
> I like what you propose here. I have a couple of comments and questions.
>
> I see the 'smoketests' directory in the nova code. Is anyone running these
> tests on a regular basis (every commit)? Is this the best place to further
> build out integration tests?
>
> ---
>
> Regarding environment/setup tools: I been working on an Openstack VPC
> toolkit project that we are using in Blacksburg to stage test some things in
> the cloud. I'm using Chef along with the Anso/Opscode Openstack cookbooks to
> setup Rackspace Cloud Servers with the latest trunk PPA packages.
>
> This setup works well however I can only test with Qemu (no Xenserver) and
> using network managers that have DHCP (I use FlatDHCPManager since Cloud
> Servers kernels don't currently have the 'ndb' kernel module which would
> support the network injection stuff). Using this setup I'm able to create
> multi node installations where instances on different machines can ping each
> other. While this isn't what I would call a true production setup it is
> fully functional and can easily be run in parallel. The only limitations are
> the limits on your Cloud Servers Account.
>
> If you have bare metal then you can simply swap out the Cloud Servers API
> layer with something that interfaces with your PXE imaging system. I'm a big
> fan of slicking the machines between each test run to avoid the buildup of
> cruft in the system.
>
> This would integrate as a Hudson job nicely as well. We've done some
> similar setups in Rackspace Email and Apps using a single Hudson server. The
> hudson server runs a simple Bash script that invokes the toolkit to create
> the cloud servers, chef them up with the latest PPA packages (or your branch
> code), and then uses Torque (an HPC'ish resource manager) to run schedule
> test jobs on some of the machines. I use Chef recipes to install Torque
> along with a REST interface to schedule and monitor the jobs on a "head"
> node. The Hudson job the waits for the Torque jobs to finish. The last thing
> the Hudson script does is 'scp' the unit test results XML file back to the
> Hudson server where you can use something like the xUnit plugin to display
> and graph the results over time.
>
> To summarize:
>
> -testing in the cloud provides a low barrier of entry that anyone can use
> -testing on bare metal is more expensive but gets us extra coverage
> (XenServer, etc.)
> -we should do both as often as possible
> -the same set of tools and tests should work in both environments
>
> Dan
>
> -Original Message-
> From: "Jay Pipes" 
> Sent: Wednesday, February 16, 2011 5:27pm
> To: openstack@lists.launchpad.net
> Subject: [Openstack] Steps that can help stabilize Nova's trunk
>
> Hey all,
>
> It's come to my attention that a number of folks are not happy that
> Nova's trunk branch (lp:nova) is, shall we say, "less than stable". :)
>
> First, before going into some suggestions on keeping trunk more
> stable, I'd like to point out that trunk is, by nature, an actively
> developed source tree. Nobody should have an expectation that they can
> simply bzr branch lp:nova and everything will magically work with a)
> their existing installations of software packages, b) whatever code
> commits they have made locally, or c) whatever specific
> hypervisor/volume/network environment that they test their local code
> with. The trunk branch is, after all, in act

Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-17 Thread Jim Curry
Soren, can you clarify what you mean by Ubuntu being the primary platform?  Why 
is that the reference?  What limitations does this introduce?

Jim

On Feb 17, 2011, at 4:31 AM, Soren Hansen wrote:

> 2011/2/17 Brian Schott :
>> One thing we saw in the list and experienced first hand is that your Hudson 
>> server uses a pre-configured environment and ours pulls virtual env every 
>> time.  We had failures on trunk that yours missed because of new pip pulled 
>> versions.
> 
>> A fresh run_tests.sh -f needs to work.  It is the only guaranteed sanity 
>> test everybody can replicate.
> 
> That's not technically accurate. Every part of the environment in
> which we run the tests can be rebuilt in a reproducible manner.
> Everything on that box is packaged and available in a PPA from which
> anyone can build an identical test system.
> 
>>  It might pull upstream bugs, but better to be ahead of that curve than 
>> behind.
> 
> I agree that the status quo is not good enough. However, I don't agree
> that we should pull stuff from pip directly. Ubuntu is our primary
> target platform, that's the reference, that's where we absolutely
> *must* function. I'd be *delighted* if we tested our stuff more
> broadly, and I welcome efforts to do so, but whether this works on
> Ubuntu or not is the deal breaker.
> 
> That said, our tests right now are run on Maverick with a set of
> backported packages (all available in a PPA, though), but really ought
> to run on Natty. We should look into that ASAP.
> 
> -- 
> Soren Hansen
> Ubuntu Developerhttp://www.ubuntu.com/
> OpenStack Developer http://www.openstack.org/
> 
> ___
> Mailing list: https://launchpad.net/~openstack
> Post to : openstack@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~openstack
> More help   : https://help.launchpad.net/ListHelp



Confidentiality Notice: This e-mail message (including any attached or
embedded documents) is intended for the exclusive and confidential use of the
individual or entity to which this message is addressed, and unless otherwise
expressly indicated, is confidential and privileged information of Rackspace. 
Any dissemination, distribution or copying of the enclosed material is 
prohibited.
If you receive this transmission in error, please notify us immediately by 
e-mail
at ab...@rackspace.com, and delete the original message. 
Your cooperation is appreciated.


___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-17 Thread Dan Prince
Hey Jay,

I like what you propose here. I have a couple of comments and questions.

I see the 'smoketests' directory in the nova code. Is anyone running these 
tests on a regular basis (every commit)? Is this the best place to further 
build out integration tests?

---

Regarding environment/setup tools: I been working on an Openstack VPC toolkit 
project that we are using in Blacksburg to stage test some things in the cloud. 
I'm using Chef along with the Anso/Opscode Openstack cookbooks to setup 
Rackspace Cloud Servers with the latest trunk PPA packages.

This setup works well however I can only test with Qemu (no Xenserver) and 
using network managers that have DHCP (I use FlatDHCPManager since Cloud 
Servers kernels don't currently have the 'ndb' kernel module which would 
support the network injection stuff). Using this setup I'm able to create multi 
node installations where instances on different machines can ping each other. 
While this isn't what I would call a true production setup it is fully 
functional and can easily be run in parallel. The only limitations are the 
limits on your Cloud Servers Account.

If you have bare metal then you can simply swap out the Cloud Servers API layer 
with something that interfaces with your PXE imaging system. I'm a big fan of 
slicking the machines between each test run to avoid the buildup of cruft in 
the system.

This would integrate as a Hudson job nicely as well. We've done some similar 
setups in Rackspace Email and Apps using a single Hudson server. The hudson 
server runs a simple Bash script that invokes the toolkit to create the cloud 
servers, chef them up with the latest PPA packages (or your branch code), and 
then uses Torque (an HPC'ish resource manager) to run schedule test jobs on 
some of the machines. I use Chef recipes to install Torque along with a REST 
interface to schedule and monitor the jobs on a "head" node. The Hudson job the 
waits for the Torque jobs to finish. The last thing the Hudson script does is 
'scp' the unit test results XML file back to the Hudson server where you can 
use something like the xUnit plugin to display and graph the results over time.

To summarize:

-testing in the cloud provides a low barrier of entry that anyone can use
-testing on bare metal is more expensive but gets us extra coverage (XenServer, 
etc.)
-we should do both as often as possible
-the same set of tools and tests should work in both environments

Dan

-Original Message-
From: "Jay Pipes" 
Sent: Wednesday, February 16, 2011 5:27pm
To: openstack@lists.launchpad.net
Subject: [Openstack] Steps that can help stabilize Nova's trunk

Hey all,

It's come to my attention that a number of folks are not happy that
Nova's trunk branch (lp:nova) is, shall we say, "less than stable". :)

First, before going into some suggestions on keeping trunk more
stable, I'd like to point out that trunk is, by nature, an actively
developed source tree. Nobody should have an expectation that they can
simply bzr branch lp:nova and everything will magically work with a)
their existing installations of software packages, b) whatever code
commits they have made locally, or c) whatever specific
hypervisor/volume/network environment that they test their local code
with. The trunk branch is, after all, in active development.

That said, there's *no* reason we can't *improve* the relative
stability of the trunk branch to make life less stressful for
contributors.  Here are a few suggestions on how to keep trunk a bit
more stable for those developers who actively develop from trunk.

1) Participate fully in code reviews. If you suspect a proposed branch
merge will "mess everything up for you", then you should notify
reviewers and developers about your concerns. Be proactive.

2) If you pull trunk and something breaks, don't just complain about
it. Log a bug immediately and talk to the reviewers/approvers of the
patch that broke your environment. Be constructive in your criticism,
and be clear about why the patch should have been more thoroughly or
carefully reviewed. If you don't, we're bound to repeat mistakes.

3) Help us to write functional and integration tests. It's become
increasingly clear from the frequency of breakages in trunk (and other
branches) that our unit tests are nowhere near sufficient to catch a
large portion of bugs. This is to be expected. Our unit tests use
mocks and stubs for virtually everything, and they only really test
code interfaces, and they don't even test that very well. We're
working on adding functional tests to Hudson that will run, as the
unit test do, before any merge into trunk, with any failure resulting
in a failed merge. However, we need your help to create functional
tests and integration tests (tests that various *real* components work
together properly).  We a

Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-17 Thread Soren Hansen
2011/2/17 Brian Schott :
> One thing we saw in the list and experienced first hand is that your Hudson 
> server uses a pre-configured environment and ours pulls virtual env every 
> time.  We had failures on trunk that yours missed because of new pip pulled 
> versions.

> A fresh run_tests.sh -f needs to work.  It is the only guaranteed sanity test 
> everybody can replicate.

That's not technically accurate. Every part of the environment in
which we run the tests can be rebuilt in a reproducible manner.
Everything on that box is packaged and available in a PPA from which
anyone can build an identical test system.

> It might pull upstream bugs, but better to be ahead of that curve than behind.

I agree that the status quo is not good enough. However, I don't agree
that we should pull stuff from pip directly. Ubuntu is our primary
target platform, that's the reference, that's where we absolutely
*must* function. I'd be *delighted* if we tested our stuff more
broadly, and I welcome efforts to do so, but whether this works on
Ubuntu or not is the deal breaker.

That said, our tests right now are run on Maverick with a set of
backported packages (all available in a PPA, though), but really ought
to run on Natty. We should look into that ASAP.

-- 
Soren Hansen
Ubuntu Developer    http://www.ubuntu.com/
OpenStack Developer http://www.openstack.org/

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-16 Thread Brian Schott
One thing we saw in the list and experienced first hand is that your Hudson 
server uses a pre-configured environment and ours pulls virtual env every time. 
 We had failures on trunk that yours missed because of new pip pulled versions.

A fresh run_tests.sh -f needs to work.  It is the only guaranteed sanity test 
everybody can replicate.  It might pull upstream bugs, but better to be ahead 
of that curve than behind.

We are now triggering on trunk commit emails and running Hudson on both trunk 
and our hpc-trunk.  We can forward to a list or autogenerate bug report 
somehow.  

Suggestions:
1. Let other teams setup their own trunk Hudson servers with preferred configs 
(os, virt, db, net) and doc how to forward results up (new list?). This way you 
quickly find commits that break mysql or Xen before you forgot what you did.
2. Jay already listed my other suggestions...

Sent from my iPhone

On Feb 16, 2011, at 11:44 PM, Paul Voccio  wrote:

> Jay,
> 
> Thanks for throwing this out. How would we build this with Hudson? What
> would a "standard deploy" of Nova even look like for integration tests?
> We've also bounced the idea within our team of not allowing code commits
> if the code to test ratio decreases but I'm not sure if that would work
> for such a large project like this one.
> 
> pvo
> 
> On 2/16/11 4:27 PM, "Jay Pipes"  wrote:
> 
>> Hey all,
>> 
>> It's come to my attention that a number of folks are not happy that
>> Nova's trunk branch (lp:nova) is, shall we say, "less than stable". :)
>> 
>> First, before going into some suggestions on keeping trunk more
>> stable, I'd like to point out that trunk is, by nature, an actively
>> developed source tree. Nobody should have an expectation that they can
>> simply bzr branch lp:nova and everything will magically work with a)
>> their existing installations of software packages, b) whatever code
>> commits they have made locally, or c) whatever specific
>> hypervisor/volume/network environment that they test their local code
>> with. The trunk branch is, after all, in active development.
>> 
>> That said, there's *no* reason we can't *improve* the relative
>> stability of the trunk branch to make life less stressful for
>> contributors.  Here are a few suggestions on how to keep trunk a bit
>> more stable for those developers who actively develop from trunk.
>> 
>> 1) Participate fully in code reviews. If you suspect a proposed branch
>> merge will "mess everything up for you", then you should notify
>> reviewers and developers about your concerns. Be proactive.
>> 
>> 2) If you pull trunk and something breaks, don't just complain about
>> it. Log a bug immediately and talk to the reviewers/approvers of the
>> patch that broke your environment. Be constructive in your criticism,
>> and be clear about why the patch should have been more thoroughly or
>> carefully reviewed. If you don't, we're bound to repeat mistakes.
>> 
>> 3) Help us to write functional and integration tests. It's become
>> increasingly clear from the frequency of breakages in trunk (and other
>> branches) that our unit tests are nowhere near sufficient to catch a
>> large portion of bugs. This is to be expected. Our unit tests use
>> mocks and stubs for virtually everything, and they only really test
>> code interfaces, and they don't even test that very well. We're
>> working on adding functional tests to Hudson that will run, as the
>> unit test do, before any merge into trunk, with any failure resulting
>> in a failed merge. However, we need your help to create functional
>> tests and integration tests (tests that various *real* components work
>> together properly).  We also need help writing test cases that ensure
>> software library dependencies and other packaging issues are handled
>> properly and don't break with minor patches.
>> 
>> 4) If you have a specific environment/setup that you use (Rackers and
>> Anso guys, here...), then we need your assistance to set up test
>> clusters that will pull trunk into a wiped test environment and ensure
>> that a series of realistic calls to the Nova API are properly handled.
>> I know some of you are working on getting hardware ready. We need help
>> from the software teams to ensure that these environments are
>> initialized with the exact setups you use.
> 
> Still working on this. We're hoping to have something built out in the
> next couple of weeks. Man, someone should write some hardware emulation
> stuff so I don't have to wait on real gear. ;)
> 
>> 
>> The more testing we fire off against each potential merge into trunk,
>> and the more those tests are hitting real-life deployment
>> environments, the more stable trunk will become and the easier your
>> life as a contributor will be.
>> 
>> Thanks in advance for your assistance, and please don't hesitate to
>> expand on any more suggestions you might have to stabilize trunk.
>> 
>> -jay
>> 
>> ___
>> Mailing list: https://launchp

Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-16 Thread Paul Voccio
Jay,

Thanks for throwing this out. How would we build this with Hudson? What
would a "standard deploy" of Nova even look like for integration tests?
We've also bounced the idea within our team of not allowing code commits
if the code to test ratio decreases but I'm not sure if that would work
for such a large project like this one.

pvo

On 2/16/11 4:27 PM, "Jay Pipes"  wrote:

>Hey all,
>
>It's come to my attention that a number of folks are not happy that
>Nova's trunk branch (lp:nova) is, shall we say, "less than stable". :)
>
>First, before going into some suggestions on keeping trunk more
>stable, I'd like to point out that trunk is, by nature, an actively
>developed source tree. Nobody should have an expectation that they can
>simply bzr branch lp:nova and everything will magically work with a)
>their existing installations of software packages, b) whatever code
>commits they have made locally, or c) whatever specific
>hypervisor/volume/network environment that they test their local code
>with. The trunk branch is, after all, in active development.
>
>That said, there's *no* reason we can't *improve* the relative
>stability of the trunk branch to make life less stressful for
>contributors.  Here are a few suggestions on how to keep trunk a bit
>more stable for those developers who actively develop from trunk.
>
>1) Participate fully in code reviews. If you suspect a proposed branch
>merge will "mess everything up for you", then you should notify
>reviewers and developers about your concerns. Be proactive.
>
>2) If you pull trunk and something breaks, don't just complain about
>it. Log a bug immediately and talk to the reviewers/approvers of the
>patch that broke your environment. Be constructive in your criticism,
>and be clear about why the patch should have been more thoroughly or
>carefully reviewed. If you don't, we're bound to repeat mistakes.
>
>3) Help us to write functional and integration tests. It's become
>increasingly clear from the frequency of breakages in trunk (and other
>branches) that our unit tests are nowhere near sufficient to catch a
>large portion of bugs. This is to be expected. Our unit tests use
>mocks and stubs for virtually everything, and they only really test
>code interfaces, and they don't even test that very well. We're
>working on adding functional tests to Hudson that will run, as the
>unit test do, before any merge into trunk, with any failure resulting
>in a failed merge. However, we need your help to create functional
>tests and integration tests (tests that various *real* components work
>together properly).  We also need help writing test cases that ensure
>software library dependencies and other packaging issues are handled
>properly and don't break with minor patches.
>
>4) If you have a specific environment/setup that you use (Rackers and
>Anso guys, here...), then we need your assistance to set up test
>clusters that will pull trunk into a wiped test environment and ensure
>that a series of realistic calls to the Nova API are properly handled.
>I know some of you are working on getting hardware ready. We need help
>from the software teams to ensure that these environments are
>initialized with the exact setups you use.

Still working on this. We're hoping to have something built out in the
next couple of weeks. Man, someone should write some hardware emulation
stuff so I don't have to wait on real gear. ;)

>
>The more testing we fire off against each potential merge into trunk,
>and the more those tests are hitting real-life deployment
>environments, the more stable trunk will become and the easier your
>life as a contributor will be.
>
>Thanks in advance for your assistance, and please don't hesitate to
>expand on any more suggestions you might have to stabilize trunk.
>
>-jay
>
>___
>Mailing list: https://launchpad.net/~openstack
>Post to : openstack@lists.launchpad.net
>Unsubscribe : https://launchpad.net/~openstack
>More help   : https://help.launchpad.net/ListHelp



Confidentiality Notice: This e-mail message (including any attached or
embedded documents) is intended for the exclusive and confidential use of the
individual or entity to which this message is addressed, and unless otherwise
expressly indicated, is confidential and privileged information of Rackspace.
Any dissemination, distribution or copying of the enclosed material is 
prohibited.
If you receive this transmission in error, please notify us immediately by 
e-mail
at ab...@rackspace.com, and delete the original message.
Your cooperation is appreciated.


___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Steps that can help stabilize Nova's trunk

2011-02-16 Thread Matt Dietz
These are all great points Jay.

I'd like to re-echo the comment about unit tests. Obviously they aren't
the panacea, but they can protect against some of the dumber errors that
have made their way into trunk. One particular bug stopped one developer
on my team dead in his tracks, and it ended up being a semi-colon in place
of a colon. There's a lot of utility in simply "exercising" code...

I think we may want to consider everyone's favorite topic of code coverage
as well in all of this. Specifically, we may want to take note of code
coverage on any given merge, and if subsequent merges reduce that number,
we throw a fit/reject the patch. I know that won't be a popular solution,
but it would definitely put a stop to the lack of unit tests.

On 2/16/11 4:27 PM, "Jay Pipes"  wrote:

>Hey all,
>
>It's come to my attention that a number of folks are not happy that
>Nova's trunk branch (lp:nova) is, shall we say, "less than stable". :)
>
>First, before going into some suggestions on keeping trunk more
>stable, I'd like to point out that trunk is, by nature, an actively
>developed source tree. Nobody should have an expectation that they can
>simply bzr branch lp:nova and everything will magically work with a)
>their existing installations of software packages, b) whatever code
>commits they have made locally, or c) whatever specific
>hypervisor/volume/network environment that they test their local code
>with. The trunk branch is, after all, in active development.
>
>That said, there's *no* reason we can't *improve* the relative
>stability of the trunk branch to make life less stressful for
>contributors.  Here are a few suggestions on how to keep trunk a bit
>more stable for those developers who actively develop from trunk.
>
>1) Participate fully in code reviews. If you suspect a proposed branch
>merge will "mess everything up for you", then you should notify
>reviewers and developers about your concerns. Be proactive.
>
>2) If you pull trunk and something breaks, don't just complain about
>it. Log a bug immediately and talk to the reviewers/approvers of the
>patch that broke your environment. Be constructive in your criticism,
>and be clear about why the patch should have been more thoroughly or
>carefully reviewed. If you don't, we're bound to repeat mistakes.
>
>3) Help us to write functional and integration tests. It's become
>increasingly clear from the frequency of breakages in trunk (and other
>branches) that our unit tests are nowhere near sufficient to catch a
>large portion of bugs. This is to be expected. Our unit tests use
>mocks and stubs for virtually everything, and they only really test
>code interfaces, and they don't even test that very well. We're
>working on adding functional tests to Hudson that will run, as the
>unit test do, before any merge into trunk, with any failure resulting
>in a failed merge. However, we need your help to create functional
>tests and integration tests (tests that various *real* components work
>together properly).  We also need help writing test cases that ensure
>software library dependencies and other packaging issues are handled
>properly and don't break with minor patches.
>
>4) If you have a specific environment/setup that you use (Rackers and
>Anso guys, here...), then we need your assistance to set up test
>clusters that will pull trunk into a wiped test environment and ensure
>that a series of realistic calls to the Nova API are properly handled.
>I know some of you are working on getting hardware ready. We need help
>from the software teams to ensure that these environments are
>initialized with the exact setups you use.
>
>The more testing we fire off against each potential merge into trunk,
>and the more those tests are hitting real-life deployment
>environments, the more stable trunk will become and the easier your
>life as a contributor will be.
>
>Thanks in advance for your assistance, and please don't hesitate to
>expand on any more suggestions you might have to stabilize trunk.
>
>-jay
>
>___
>Mailing list: https://launchpad.net/~openstack
>Post to : openstack@lists.launchpad.net
>Unsubscribe : https://launchpad.net/~openstack
>More help   : https://help.launchpad.net/ListHelp



Confidentiality Notice: This e-mail message (including any attached or
embedded documents) is intended for the exclusive and confidential use of the
individual or entity to which this message is addressed, and unless otherwise
expressly indicated, is confidential and privileged information of Rackspace. 
Any dissemination, distribution or copying of the enclosed material is 
prohibited.
If you receive this transmission in error, please notify us immediately by 
e-mail
at ab...@rackspace.com, and delete the original message. 
Your cooperation is appreciated.


___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpa

[Openstack] Steps that can help stabilize Nova's trunk

2011-02-16 Thread Jay Pipes
Hey all,

It's come to my attention that a number of folks are not happy that
Nova's trunk branch (lp:nova) is, shall we say, "less than stable". :)

First, before going into some suggestions on keeping trunk more
stable, I'd like to point out that trunk is, by nature, an actively
developed source tree. Nobody should have an expectation that they can
simply bzr branch lp:nova and everything will magically work with a)
their existing installations of software packages, b) whatever code
commits they have made locally, or c) whatever specific
hypervisor/volume/network environment that they test their local code
with. The trunk branch is, after all, in active development.

That said, there's *no* reason we can't *improve* the relative
stability of the trunk branch to make life less stressful for
contributors.  Here are a few suggestions on how to keep trunk a bit
more stable for those developers who actively develop from trunk.

1) Participate fully in code reviews. If you suspect a proposed branch
merge will "mess everything up for you", then you should notify
reviewers and developers about your concerns. Be proactive.

2) If you pull trunk and something breaks, don't just complain about
it. Log a bug immediately and talk to the reviewers/approvers of the
patch that broke your environment. Be constructive in your criticism,
and be clear about why the patch should have been more thoroughly or
carefully reviewed. If you don't, we're bound to repeat mistakes.

3) Help us to write functional and integration tests. It's become
increasingly clear from the frequency of breakages in trunk (and other
branches) that our unit tests are nowhere near sufficient to catch a
large portion of bugs. This is to be expected. Our unit tests use
mocks and stubs for virtually everything, and they only really test
code interfaces, and they don't even test that very well. We're
working on adding functional tests to Hudson that will run, as the
unit test do, before any merge into trunk, with any failure resulting
in a failed merge. However, we need your help to create functional
tests and integration tests (tests that various *real* components work
together properly).  We also need help writing test cases that ensure
software library dependencies and other packaging issues are handled
properly and don't break with minor patches.

4) If you have a specific environment/setup that you use (Rackers and
Anso guys, here...), then we need your assistance to set up test
clusters that will pull trunk into a wiped test environment and ensure
that a series of realistic calls to the Nova API are properly handled.
I know some of you are working on getting hardware ready. We need help
from the software teams to ensure that these environments are
initialized with the exact setups you use.

The more testing we fire off against each potential merge into trunk,
and the more those tests are hitting real-life deployment
environments, the more stable trunk will become and the easier your
life as a contributor will be.

Thanks in advance for your assistance, and please don't hesitate to
expand on any more suggestions you might have to stabilize trunk.

-jay

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp