[Rdo-list] Tempest IceHouse broken?

Tal Kammer tkammer at redhat.com
Thu Oct 2 14:18:27 UTC 2014


----- Original Message -----
> > -----Original Message-----
> > From: rdo-list-bounces at redhat.com [mailto:rdo-list-bounces at redhat.com] On
> > Behalf Of Ihar Hrachyshka
> > Sent: Thursday, October 02, 2014 3:38 PM
> > To: rdo-list at redhat.com
> > Subject: Re: [Rdo-list] Tempest IceHouse broken?
> > 
> > -----BEGIN PGP SIGNED MESSAGE-----
> > Hash: SHA512
> > 
> > It's not about 'which'... The problem is that subprocess.check_output was
> > introduced in Python 2.7 only, and not available in Python 2.6. We should
> > not
> > use the method for the code that is expected to be portable between those
> > python versions.

Indeed, that specific function is the problem and will be removed in the next commit.
I will push a fix as I am already doing some refactoring to the code.
Please note that this code is meant to be part of tempest, it is suppose to have the same base requirements tempest has and since the upstream tempest decided to move from python 2.6 to 2.7, the problem here lies in the choice of running tempest from a machine using python 2.6. (again, tempest requirement[1], not ours.. please note the first two lines :)

[1] - https://github.com/openstack/tempest#python-26

> 
> That's what I thought.
> 
> > 
> > On 02/10/14 14:29, David Kranz wrote:
> > > I  believe some recent improvements introduced an external dependency
> > > on 'which' so that needs to be installed. This is taken care of if you
> > > install via the tempest rpm. Tempest has never had clear documentation
> > > about what external (non-python) packages are needed. In the upstream
> > > gate jobs this is handled by devstack.
> 
> How do I get the Tempest RPM? Currently my Jenkins job is pulling from Red
> Hat's fork on Github.
> Y.

There is no real need for the tempest RPM in your case, you can (and probably should as per tempest requirements) simply install tempest on any machine that have python 2.7 (I run it from a fedora 20 machine for example) and it will work just fine.
You do not need tempest running from one of the Openstack instances.

> 
> > >
> > > -David
> > >
> > > On 10/02/2014 08:01 AM, Kaul, Yaniv wrote:
> > >>
> > >> On CentOS 6.5 (Python 2.6!)
> > >>
> > >>
> > >>
> > >> git init /var/jenkins/workspace/Tempest # timeout=10
> > >>
> > >> Fetching upstream changes from
> > >> https://github.com/redhat-openstack/tempest.git
> > >>
> > >>> git --version # timeout=10
> > >>
> > >>> git fetch --tags --progress
> > >> https://github.com/redhat-openstack/tempest.git
> > >> +refs/heads/*:refs/remotes/origin/*
> > >>
> > >>> git config remote.origin.url
> > >> https://github.com/redhat-openstack/tempest.git # timeout=10
> > >>
> > >>> git config remote.origin.fetch
> > >>> +refs/heads/*:refs/remotes/origin/* #
> > >> timeout=10
> > >>
> > >>> git config remote.origin.url
> > >> https://github.com/redhat-openstack/tempest.git # timeout=10
> > >>
> > >> Fetching upstream changes from
> > >> https://github.com/redhat-openstack/tempest.git
> > >>
> > >>> git fetch --tags --progress
> > >> https://github.com/redhat-openstack/tempest.git
> > >> +refs/heads/*:refs/remotes/origin/*
> > >>
> > >>> git rev-parse refs/remotes/origin/icehouse^{commit} #
> > >>> timeout=10
> > >>
> > >>> git rev-parse refs/remotes/origin/origin/icehouse^{commit} #
> > >>> timeout=10
> > >>
> > >> Checking out Revision fe12b3d0e2fb713efe923a44393880b0d4d9b0ba
> > >> (refs/remotes/origin/icehouse)
> > >>
> > >>
> > >>
> > >> ?
> > >>
> > >>
> > >>
> > >> TEMPEST_CONF=/var/jenkins/workspace/Tempest/etc/tempest.conf
> > >>
> > >> + tools/config_tempest.py --create identity.uri
> > >> http://10.103.234.141:5000/v2.0/ identity.admin_username admin
> > >> identity.admin_password secret identity.admin_tenant_name admin
> > >>
> > >> /usr/lib64/python2.6/site-packages/Crypto/Util/number.py:57:
> > >> PowmInsecureWarning: Not using mpz_powm_sec.  You should rebuild
> > >> using libgmp >= 5 to avoid timing attack vulnerability.
> > >>
> > >> _warn("Not using mpz_powm_sec.  You should rebuild using libgmp
> > >> >= 5 to avoid timing attack vulnerability.",
> > >> PowmInsecureWarning)
> > >>
> > >> Traceback (most recent call last):
> > >>
> > >> File "tools/config_tempest.py", line 654, in <module>
> > >>
> > >> main()
> > >>
> > >> File "tools/config_tempest.py", line 141, in main
> > >>
> > >> configure_cli(conf)
> > >>
> > >> File "tools/config_tempest.py", line 528, in configure_cli
> > >>
> > >> cli_dir = get_program_dir("nova")
> > >>
> > >> File "tools/config_tempest.py", line 595, in get_program_dir
> > >>
> > >> path = subprocess.check_output(["which", program],
> > >> stderr=devnull)
> > >>
> > >> AttributeError: 'module' object has no attribute 'check_output'
> > >>
> > >>
> > >>
> > >>
> > >>
> > >>
> > >>
> > >> Looks similar to https://bugs.launchpad.net/nova/+bug/1029014 ?
> > >>
> > >> Seems to be added in:
> > >>
> > >> commit 76ca1350749ea5e3c877813c6e7268122b5214ce
> > >>
> > >> Author: Martina Kollarova <mkollaro at redhat.com>
> > >>
> > >> Date:   Wed Sep 3 18:53:05 2014 +0200
> > >>
> > >>
> > >>
> > >> Refactored cli_dir setting
> > >>
> > >>
> > >>
> > >>
> > >>
> > >> And possibly because of:
> > >>
> > >> +def get_program_dir(program):
> > >>
> > >> +    """Get directory path of the external program.
> > >>
> > >> +
> > >>
> > >> +    :param program: name of program, e.g. 'ls' or 'cat'
> > >>
> > >> +    :returns: None if it wasn't found, '/path/to/it/' if found
> > >>
> > >> +    """
> > >>
> > >> +    devnull = open(os.devnull, 'w')
> > >>
> > >> +    try:
> > >>
> > >> +        path = subprocess.check_output(["which", program],
> > >> stderr=devnull)
> > >>
> > >> +        return os.path.dirname(path.strip())
> > >>
> > >> +    except subprocess.CalledProcessError:
> > >>
> > >> +        return None
> > >>
> > >> +
> > >>
> > >>
> > >>
> > >>
> > >>
> > >> Y.
> > >>
> > >>
> > >>
> > >> _______________________________________________ Rdo-list mailing
> > list
> > >> Rdo-list at redhat.com https://www.redhat.com/mailman/listinfo/rdo-list
> > >
> > >
> > >
> > > _______________________________________________ Rdo-list mailing
> > > list Rdo-list at redhat.com
> > > https://www.redhat.com/mailman/listinfo/rdo-list
> > >
> > -----BEGIN PGP SIGNATURE-----
> > Version: GnuPG/MacGPG2 v2.0.22 (Darwin)
> > 
> > iQEcBAEBCgAGBQJULUc6AAoJEC5aWaUY1u57mWkH/3+cs714eE0Ol2CAUmB+
> > nR5O
> > uyabUwQHG94ETLWorSG+TwVBNEBtJL54tcyajecJVlfeZRYful2bqncCNMfzB9XV
> > 4SFWRsCLqAB3tAHiaIpUaTWtUYMG2cFjssd6eXIehXoCJbUxtfulittoH1GDwpfT
> > acbmOlggkbU+eIdkFZ3oaZsAgz5S8+6vc0fR0Ew1s5z9aknWAHE8eJ5YUMjZuxo7
> > hIC3vBHl+3OIAZuefUxdWnLQG0zqEmeQKqmQuvvzR3AE9UCwnYR/J3audj/rDZ
> > mz
> > DjTL/Z5jTG1AzJ0hVIVVezANbmOsXiNCNzAeP6bfR5sF9S5sNEGlwRAtNwcNtQI=
> > =XZk0
> > -----END PGP SIGNATURE-----
> > 
> > _______________________________________________
> > Rdo-list mailing list
> > Rdo-list at redhat.com
> > https://www.redhat.com/mailman/listinfo/rdo-list
> 
> _______________________________________________
> Rdo-list mailing list
> Rdo-list at redhat.com
> https://www.redhat.com/mailman/listinfo/rdo-list
> 

-- 
Tal Kammer
Automation and infra Team Lead, Openstack platform.
Red Hat Israel




More information about the rdo-list mailing list