On Mon, 2014-02-03 at 17:13 -0500, David Kranz wrote:
 On 02/03/2014 03:55 PM, David Kranz wrote:
 > On 02/03/2014 02:27 PM, Lon Hohberger wrote:
 >> On 02/03/2014 10:50 AM, David Kranz wrote:
 >>> There has been a lot of interest in running tempest against real RDO
 >>> clusters. Having an rpm would make that a lot easier. There are several
 >>> issues peculiar to tempest that need to be resolved.
 >>>
 >>> 1. The way tempest configures itself and does test discovery depends
 >>> heavily on the tests being run from a directory containing the tests.
 >>> 2. Unlike OpenStack python client libraries, tempest changes from
 >>> release to release in incompatible ways, so you need "havana 
 >>> tempest" to
 >>> test a havana cluster and an "icehouse tempest" to test icehouse.
 >>>
 >>> The tempest group has little interest in changing either of these
 >>> behaviors. Additionally, it would be desirable if a tempest user could
 >>> install tempest rpms to test different RDO versions on the same 
 >>> machine.
 >>> Here is a proposal for how this could work and what the user experience
 >>> would be.
 >>>
 >>> Dealing with these tempest issues suggests that the the tempest code
 >>> should be copied to /var/lib/tempest/{4.0,5.0, etc.} and the user 
 >>> should
 >>> configure a separate directory for each OpenStack cluster to be tested.
 >>> Each directory needs to contain:
 >>>
 >>> .testr.conf
 >>> an etc directory containing the tempest.conf and logging.conf files
 >>> a symlink to the tempest test modules for the appropriate version
 >>> a copy of the test run scripts that are in the tools directory of 
 >>> tempest
 >>>
 >>> To help the user create such directories, there should be a global
 >>> executable "configure-tempest-directory" that takes an optional 
 >>> version.
 >>> If multiple versions are present in /var/lib/tempest and no version is
 >>> specified then the user will be asked which version to configure.
 >> Would it make sense to make the package name itself to have it?
 >>
 >> This way, you could say install tempest for grizzly and update tempest
 >> for havana - e.g.:
 >>
 >>     yum install tempest-grizzly
 >>     yum update -y tempest-havana
 >>
 >> ... and the RPMs would not obsolete each other.  If we use RPM
 >> versioning, "yum update" will blow away testing environments of
"older"
 >> tempest versions.
 >>
 >> We could perhaps do it using sub-rpms - which would allow us to add and
 >> remove tempest suites as we move along:
 >>
 >>    * ship no files except perhaps license in 'tempest' itself
 >>      and stand-up environment bits
 >>    * use subpackages for 
 >> tempest-grizzly/tempest-havana/tempest-icehouse/...
 >>    * get a special exception to *not* make tempest-* child
 >>      RPMs require a fully-versioned tempest base package all
 >>      the time just in case you wanted to have older tempest
 >>      for a given release
 >>        e.g. tempest-2.0.0
 >>             tempest-grizzly-1.0.0
 >>             tempest-havana-2.0.0
 >>
 >>      ... could all be installed, and if done right, you could
 >>      'yum update -y tempest-grizzly' to 3.0.0 without breaking
 >>      the tempest-havana-2.0.0 package.
 >>
 >> Just a thought.
 >>
 >>> User experience:
 >>>
 >>> 1. Install tempest rpm: yum install tempest-4.0
 >> The above would mean:
 >>
 >> yum install -y tempest-havana
 >> yum install -y tempest-grizzly
 >>
 >> etc.
 >>
 >>
 >>> 2. Run configure-tempest-directory
 >>> 3. Make changes to tempest.conf to match the cluster being tested (and
 >>> possibly logging.conf and .testr.conf as well)
 >>> 4. Run tempest with desired test selection using
 >>> tools/pretty_tox_serial.sh or tools/ pretty_tox_serial
 >>>
 >>> Does any one have any comments/suggestions about this?
 >>>
 >> -- Lon
 >>
 > Lon, I was not clear enough but I was proposing something very similar 
 > to your suggestion, just without subpackages which I don't understand 
 > well. Now that I understand the rules a little better and that the 
 > base package names should not have things that look like version 
 > numbers, I propose:
 >
 > package-names: tempest-havana.{version stuff}, 
 > tempest-icehouse.{version stuff}
 >
 > And a tempest-base package on which they all depend that creates 
 > "/var/lib/tempest" and the configure-tempest-directory script.
 Perhaps this complexity is not even needed. We can just use 
 /var/lib/tempest-{havana,icehouse} and 
 configure-tempest-{havana,icehouse}-directory scripts. The rpms for 
 havana and icehouse are just separate, end of story.
 >
 >  -David 
Agreed.. It seems it would be easier to configure and debug if each
release was installed into its own directory. +1
 
 _______________________________________________
 Rdo-list mailing list
 Rdo-list(a)redhat.com
 
https://www.redhat.com/mailman/listinfo/rdo-list