← Back to team overview

openstack-qa-team team mailing list archive

Re: What is going on with test_server_*_ops?

 

I will do that. I found out why the test wasn't running at all. The gate job is run for smoke and everything like this:

sudo -H -u stack NOSE_XUNIT_FILE=nosetests-smoke.xml nosetests --with-xunit -sv --nologcapture --attr=type=smoke tempest sudo -H -u stack NOSE_XUNIT_FILE=nosetests-full.xml nosetests --with-xunit -sv --nologcapture --eval-attr='type!=smoke' tempest

You forgot the smoke attribute which meant there is *no* attribute for the base and advanced smoke tests. For some reason, if there is no attribute then if you run with the --eval-attr flag then the test will not run even though it would appear that no attribute satisfies the condition. I wonder if this is a nose bug? Of course after I submit this all gates, not just tempest, will start running the basic and advanced smoke tests. Seems like a good idea but are we ready for that?

To be safe I will submit this first as "positive". I wonder how many other tests have not been running because of this? I certainly did not know that if you don't provide an attribute then the test will run for you locally but will not run in jenkins :(.

 -David


On 9/28/2012 1:19 PM, Jay Pipes wrote:
That's because I forgot to decorate the base SmokeTest with the
@attr(type="smoke") decorator :(

Feel like doing that?

-jay

On 09/28/2012 01:05 PM, David Kranz wrote:
Thanks, Jay. But this now confirms that test_server_basic_ops is not
running in the gating job. But it does run when I do 'nosetests -v
tempest' in my local
environment. How could this be?

   -David

Nothing in the gate log, but this in my local:

test_001_create_keypair
(tempest.tests.compute.test_server_basic_ops.TestServerBasicOps) ... ok
test_002_create_security_group
(tempest.tests.compute.test_server_basic_ops.TestServerBasicOps) ... ok
test_003_boot_instance
(tempest.tests.compute.test_server_basic_ops.TestServerBasicOps) ... ok
test_004_wait_on_active
(tempest.tests.compute.test_server_basic_ops.TestServerBasicOps) ... ok
test_005_pause_server
(tempest.tests.compute.test_server_basic_ops.TestServerBasicOps) ... ok
test_006_unpause_server
(tempest.tests.compute.test_server_basic_ops.TestServerBasicOps) ... ok
test_007_suspend_server
(tempest.tests.compute.test_server_basic_ops.TestServerBasicOps) ... ok
test_008_resume_server
(tempest.tests.compute.test_server_basic_ops.TestServerBasicOps) ... ok
test_099_terminate_instance
(tempest.tests.compute.test_server_basic_ops.TestServerBasicOps) ... ok



On 9/28/2012 12:12 PM, Jay Pipes wrote:
Approved and merged.

On 09/28/2012 11:51 AM, David Kranz wrote:
This was the problem (trivial)  https://review.openstack.org/#/c/13840/.
Some one please review.
I am not sure when the behavior changed.

   -David

On 9/25/2012 10:59 AM, Dolph Mathews wrote:
That generally pops up when you're bypassing authentication using
--endpoint&   --token (no authentication == no service catalog).

Is it using old command line options to specify auth attributes, which
were just removed in favor of --os-username, --os-password, etc?

https://github.com/openstack/python-keystoneclient/commit/641f6123624b6ac89182c303dfcb0459b28055a2


-Dolph


On Tue, Sep 25, 2012 at 9:35 AM, Jay Pipes<jaypipes@xxxxxxxxx
<mailto:jaypipes@xxxxxxxxx>>   wrote:

      On 09/25/2012 09:38 AM, David Kranz wrote:
      >   I heard from some of my team members that test_server_basic_ops and
      >   test_server_advanced_ops were failing and I can reproduce it with
      >   current devstack/tempest.
      >   Looking at the code it seems that the keystone Client object
      does not
      >   have a service_catalog object like the error says. So why is
      this not
      >   failing the tempest build?
      >   Looking at the transcript of a recent successful build I don't
      see any
      >   evidence that this test is running but I don't know why that
      would be.
      >
      >     -David
      >
      >
      ======================================================================
      >   ERROR: test suite for<class
      >   'tempest.tests.compute.test_server_basic_ops.TestServerBasicOps'>
      >
      ----------------------------------------------------------------------
      >   Traceback (most recent call last):
      >      File "/usr/lib/python2.7/dist-packages/nose/suite.py", line
      208, in run
      >        self.setUp()
      >      File "/usr/lib/python2.7/dist-packages/nose/suite.py", line
      291, in setUp
      >        self.setupContext(ancestor)
      >      File "/usr/lib/python2.7/dist-packages/nose/suite.py", line
      314, in
      >   setupContext
      >        try_run(context, names)
      >      File "/usr/lib/python2.7/dist-packages/nose/util.py", line
      478, in
      >   try_run
      >        return func()
      >      File "/opt/stack/tempest/tempest/test.py", line 39, in setUpClass
      >        cls.manager = cls.manager_class()
      >      File "/opt/stack/tempest/tempest/manager.py", line 96, in
      __init__
      >        self.image_client = self._get_image_client()
      >      File "/opt/stack/tempest/tempest/manager.py", line 138, in
      >   _get_image_client
      >        endpoint =
      keystone.service_catalog.url_for(service_type='image',
      >   AttributeError: 'Client' object has no attribute 'service_catalog'

      I wouldn't be surprised if this is due to a change in
      python-keystoneclient.

      Dolph, was anything changed recently that might have produced this
      failure?

      Thanks,
      -jay









References