Re: [openstack-dev] [nova] [glance] [heat] bug 1203680 - fix requires doc

2014-02-27 Thread Sean Dague
On 02/27/2014 12:52 AM, Mike Spreitzer wrote:
 Dean Troyer dtro...@gmail.com wrote on 02/26/2014 03:28:04 PM:
 
 On Wed, Feb 26, 2014 at 1:09 PM, Mike Spreitzer mspre...@us.ibm.com
 wrote:
 Thanks for the further updates.  I have just one question about
 those.  One way to do both unit testing and system (integration)
 testing is to: git clone your favorite project to make a working
 local repo somewhere on your testing machine, edit and commit there,
 then use DevStack to create a running system in /opt/stack using
 your modified project in place of the copy at git.openstack.org.

 Yes, that is similar to what Sean mentioned, the difference being
 that his repos are actually in VirtualBox Shared Folders so the
 Linux VM has access to them. He works on them natively on his laptop
 so the VM doesn't need his desktop toolset installed.
 
 Sounds like he does unit testing in the VM and editing in the host
 laptop.  In other words, the things we are documenting (testing) are all
 done in the VM.

No, actually I usually do unit testing on laptops / desktops. There is
no reason to take VM overhead for unit tests when I've got a perfectly
working local env that can run tox. :)

The point is a ton of code is fixable / testable in the small. Then
exposing to a full environment once you've gotten it solid shape.

  I think the most direct approach would be to generalize the title of
 https://wiki.openstack.org/wiki/Gerrit_Workflow#Unit_Tests_Onlyand
 generalize the introductory remark to include a reference to
 https://wiki.openstack.org/wiki/Testing#Indirect_Approach.  Does
 this make sense to you? 

 Sure.  My edits were prompted by the loss of some information useful
 to making a choice between the two and tweaking the phrasing and
 sections.

 There are a lot of ways to do this, enumerating them is beyond the
 scope of that doc IMHO.  I think having the basic components/
 requirements available should be enough, but then I also have my
 workflow figured out so i probably am still missing something.
 
 Sure, documenting all the possible tropes and tweaks (such as editing
 shared files on another machine) is not needed.  I think documenting the
 basic ideas is helpful to newbies.
 
 As far as my experience goes, the fix to 1203680 would also cover
 1203723: the only thing I find lacking for nova unit testing in
 Ubuntu is libmysqlclient-dev, which is among the testing
 requirements of glance (see DevStack's files/apts/glance). 

 As far as I can tell, Sean Dague is saying the fix to 1203680 is
 wrong because it binds unit testing to DevStack and he thinks unit
 testing should be independent of DevStack.

 Let me summarize: Unit testing is not a default requirement for
 DevStack.
 
 But do we stipulate the converse: shall DevStack be a requirement for
 unit testing?  That is what I think Sean is objecting to.  But I am
 getting weary and wary of speaking so much on his behalf.  I wonder if
 anyone else wants to chime in on this.
 
 If the only people who speak up think that DevStack should be a
 requirement for unit testing then this should be documented, and I am
 likely to do so.

Right, that's what I object to. Because it's not a requirement for unit
testing. A requirement for unit testing is just that you run an
operating system that has basic tools, and that you can install pip and
tox == 1.6 in that environment.

Individual unit tests have additional requirements, but they don't
require a big running devstack environment. That's *one* way you might
decide to build such a thing, but it's really not the best way.

I think what you probably actually want is some way to let/make tox
actually install the -dev packages that are needed to run the unit tests
in questions. That's something I think monty has thought about in the
past. And I agree, that would probably be handy.

-Sean

-- 
Sean Dague
Samsung Research America
s...@dague.net / sean.da...@samsung.com
http://dague.net



signature.asc
Description: OpenPGP digital signature
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [nova] [glance] [heat] bug 1203680 - fix requires doc

2014-02-26 Thread Dean Troyer
On Wed, Feb 26, 2014 at 12:53 AM, Mike Spreitzer mspre...@us.ibm.comwrote:

 (I added some tags in the subject line, probably should have been there
 from the start.)

 Thanks guys, for an informative discussion.  I have updated
 https://wiki.openstack.org/wiki/Gerrit_Workflow and
 https://wiki.openstack.org/wiki/Testing to incorporate what I have
 learned.


Thanks for the updates, but I've massaged the project bits and
restored/expanded the reasons to consider one or the other option.


 But I still do not detect consensus on what to do about bug 1203680.  It
 looks like Sean thinks the fix is just wrong, but I'm not hearing much
 about what a good fix would look like.  As best I can tell, it would
 involve wrapping tox in a script that recapitulates the system package
 install logic from DevStack (I know of no other scripting for installing
 needed system packages).


That bug is closed and against Grizzly, is that the one you meant to
reference?  I added a note about INSTALL_TESTONLY_PACKAGES to the wiki page
above and it will be in the next rev of devstack.org.

dt

-- 

Dean Troyer
dtro...@gmail.com
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [nova] [glance] [heat] bug 1203680 - fix requires doc

2014-02-26 Thread Mike Spreitzer
Dean Troyer dtro...@gmail.com wrote on 02/26/2014 12:53:31 PM:

 Thanks for the updates, but I've massaged the project bits and 
 restored/expanded the reasons to consider one or the other option.

Thanks for the further updates.  I have just one question about those. One 
way to do both unit testing and system (integration) testing is to: git 
clone your favorite project to make a working local repo somewhere on your 
testing machine, edit and commit there, then use DevStack to create a 
running system in /opt/stack using your modified project in place of the 
copy at git.openstack.org.  I think this is what Sean Dague advocates 
(based on his remarks earlier in this thread), have tried it myself, and 
have documented it at 
https://wiki.openstack.org/wiki/Testing#Indirect_Approach .  I think 
https://wiki.openstack.org/wiki/Gerrit_Workflow#Project_Setup should 
reference that somehow; I think the most direct approach would be to 
generalize the title of 
https://wiki.openstack.org/wiki/Gerrit_Workflow#Unit_Tests_Only and 
generalize the introductory remark to include a reference to 
https://wiki.openstack.org/wiki/Testing#Indirect_Approach .  Does this 
make sense to you?

 That bug is closed and against Grizzly, is that the one you meant to
 reference?  I added a note about INSTALL_TESTONLY_PACKAGES to the 
 wiki page above and it will be in the next rev of devstack.org.

Yes, I am referring to https://bugs.launchpad.net/devstack/+bug/1203680 
--- and also to https://bugs.launchpad.net/devstack/+bug/1203723

As far as my experience goes, the fix to 1203680 would also cover 1203723: 
the only thing I find lacking for nova unit testing in Ubuntu is 
libmysqlclient-dev, which is among the testing requirements of glance (see 
DevStack's files/apts/glance).

As far as I can tell, Sean Dague is saying the fix to 1203680 is wrong 
because it binds unit testing to DevStack and he thinks unit testing 
should be independent of DevStack.

Interestingly, installing DevStack with INSTALL_TESTONLY_PACKAGES set to 
True will have a global side-effect and so will provide the unit testing 
requirements even if the indirect procedure (
https://wiki.openstack.org/wiki/Testing#Indirect_Approach) that Sean 
advocates is used.  In this way the only tie between unit testing and 
DevStack is that they be done on the same machine.  Maybe this is the way 
to go?

Thanks,
Mike___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [nova] [glance] [heat] bug 1203680 - fix requires doc

2014-02-26 Thread Dean Troyer
On Wed, Feb 26, 2014 at 1:09 PM, Mike Spreitzer mspre...@us.ibm.com wrote:

 Thanks for the further updates.  I have just one question about those.
  One way to do both unit testing and system (integration) testing is to:
 git clone your favorite project to make a working local repo somewhere on
 your testing machine, edit and commit there, then use DevStack to create a
 running system in /opt/stack using your modified project in place of the
 copy at git.openstack.org.


Yes, that is similar to what Sean mentioned, the difference being that his
repos are actually in VirtualBox Shared Folders so the Linux VM has access
to them. He works on them natively on his laptop so the VM doesn't need his
desktop toolset installed.


  I think the most direct approach would be to generalize the title of
 https://wiki.openstack.org/wiki/Gerrit_Workflow#Unit_Tests_Only and
 generalize the introductory remark to include a reference to
 https://wiki.openstack.org/wiki/Testing#Indirect_Approach .  Does this
 make sense to you?


Sure.  My edits were prompted by the loss of some information useful to
making a choice between the two and tweaking the phrasing and sections.

There are a lot of ways to do this, enumerating them is beyond the scope of
that doc IMHO.  I think having the basic components/requirements available
should be enough, but then I also have my workflow figured out so i
probably am still missing something.


 As far as my experience goes, the fix to 1203680 would also cover 1203723:
 the only thing I find lacking for nova unit testing in Ubuntu is
 libmysqlclient-dev, which is among the testing requirements of glance (see
 DevStack's files/apts/glance).

 As far as I can tell, Sean Dague is saying the fix to 1203680 is wrong
 because it binds unit testing to DevStack and he thinks unit testing should
 be independent of DevStack.


Let me summarize: Unit testing is not a default requirement for DevStack.
 If you want it, we have #testonly tags in the system packaging prereq
files that will be installed when INSTALL_TESTONLY_PACKAGES=True.

Following that, missing system package requirements that affect only unit
testing can be added with the #testonly tag.  It is good form to attempt to
verify those added on both Ubuntu and Fedora, even better form to get RHEL
and SuSE.


 Interestingly, installing DevStack with INSTALL_TESTONLY_PACKAGES set to
 True will have a global side-effect and so will provide the unit testing
 requirements even if the indirect procedure (
 https://wiki.openstack.org/wiki/Testing#Indirect_Approach) that Sean
 advocates is used.  In this way the only tie between unit testing and
 DevStack is that they be done on the same machine.  Maybe this is the way
 to go?


That is exactly what that variable is for.  There are times we don't want
those packages installed and it is MUCH easier to add them than to remove
them.

dt

-- 

Dean Troyer
dtro...@gmail.com
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [nova] [glance] [heat] bug 1203680 - fix requires doc

2014-02-26 Thread Mike Spreitzer
Dean Troyer dtro...@gmail.com wrote on 02/26/2014 03:28:04 PM:

 On Wed, Feb 26, 2014 at 1:09 PM, Mike Spreitzer mspre...@us.ibm.com 
wrote:
 Thanks for the further updates.  I have just one question about 
 those.  One way to do both unit testing and system (integration) 
 testing is to: git clone your favorite project to make a working 
 local repo somewhere on your testing machine, edit and commit there,
 then use DevStack to create a running system in /opt/stack using 
 your modified project in place of the copy at git.openstack.org. 
 
 Yes, that is similar to what Sean mentioned, the difference being 
 that his repos are actually in VirtualBox Shared Folders so the 
 Linux VM has access to them. He works on them natively on his laptop
 so the VM doesn't need his desktop toolset installed.

Sounds like he does unit testing in the VM and editing in the host laptop. 
 In other words, the things we are documenting (testing) are all done in 
the VM.

  I think the most direct approach would be to generalize the title of 
 https://wiki.openstack.org/wiki/Gerrit_Workflow#Unit_Tests_Only and 
 generalize the introductory remark to include a reference to 
 https://wiki.openstack.org/wiki/Testing#Indirect_Approach .  Does 
 this make sense to you? 
 
 Sure.  My edits were prompted by the loss of some information useful
 to making a choice between the two and tweaking the phrasing and 
sections.
 
 There are a lot of ways to do this, enumerating them is beyond the 
 scope of that doc IMHO.  I think having the basic components/
 requirements available should be enough, but then I also have my 
 workflow figured out so i probably am still missing something.

Sure, documenting all the possible tropes and tweaks (such as editing 
shared files on another machine) is not needed.  I think documenting the 
basic ideas is helpful to newbies.

 As far as my experience goes, the fix to 1203680 would also cover 
 1203723: the only thing I find lacking for nova unit testing in 
 Ubuntu is libmysqlclient-dev, which is among the testing 
 requirements of glance (see DevStack's files/apts/glance). 
 
 As far as I can tell, Sean Dague is saying the fix to 1203680 is 
 wrong because it binds unit testing to DevStack and he thinks unit 
 testing should be independent of DevStack. 
 
 Let me summarize: Unit testing is not a default requirement for 
 DevStack.

But do we stipulate the converse: shall DevStack be a requirement for unit 
testing?  That is what I think Sean is objecting to.  But I am getting 
weary and wary of speaking so much on his behalf.  I wonder if anyone else 
wants to chime in on this.

If the only people who speak up think that DevStack should be a 
requirement for unit testing then this should be documented, and I am 
likely to do so.

Thanks,
Mike___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [nova] [glance] [heat] bug 1203680 - fix requires doc

2014-02-25 Thread Mike Spreitzer
(I added some tags in the subject line, probably should have been there 
from the start.)

Thanks guys, for an informative discussion.  I have updated 
https://wiki.openstack.org/wiki/Gerrit_Workflow and 
https://wiki.openstack.org/wiki/Testing to incorporate what I have 
learned.

Like Ben I know of no more greased path from update to integration testing 
than git pull and manually recycle the right processes.  If there is 
something better, please let us know.

But I still do not detect consensus on what to do about bug 1203680.  It 
looks like Sean thinks the fix is just wrong, but I'm not hearing much 
about what a good fix would look like.  As best I can tell, it would 
involve wrapping tox in a script that recapitulates the system package 
install logic from DevStack (I know of no other scripting for installing 
needed system packages).

Thanks,
Mike___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev