[Rdo-list] Tempest IceHouse broken?

Ihar Hrachyshka ihrachys at redhat.com
Thu Oct 2 14:38:08 UTC 2014


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

On 02/10/14 16:18, Tal Kammer wrote:
> ----- 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?
>>> 
> 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 :)

Upstream is going to drop python 2.6 support in Kilo only. So in
theory all Icehouse/Juno code produced by Red Hat for Openstack should
work on EL6 (at least for Icehouse for which we produce EL6 RDO repos).

> 
>> [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
>>>>> 
>>> 
>>> _______________________________________________ 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)

iQEcBAEBCgAGBQJULWNQAAoJEC5aWaUY1u579IsH/1I/tHxo+bi+vZL74hrbVGj7
EUaA+LaaVUDKTgWa7I6wktaSiVAtXWEg9LPJKBdzoWU2EZ+8Gcu5iSiSGDCNWBLN
Rkj+6bRRk3lNxrWSMufpodyhLx5DW5Xvbv7KOVe8mKtFK/MTljXQ6rC4uy2Pb5Ny
tMDqanAhSjf2jh5Igrx7KZMs5CpoCC6X5Ul49D2zITm6qBa/15tEOtpa4R+GTydh
ZPbMzvYJlZNYXLxI+xcGD7kP1ktFc8LCHT3QDAhQyaZCs3OA1hxeTjsXhiFLK6m8
qnFFLG8WuoQsxDnwIDe9IPRoeAf7bBItxOwQwdJkAKWjdzAq62pmWyXDrFfkN90=
=s6F1
-----END PGP SIGNATURE-----




More information about the dev mailing list