proboscis tests randomly fail in stable/liberty with "TypeError: create() got an unexpected keyword argument 'slave_of'"

Bug #1538506 reported by Matt Riedemann
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack DBaaS (Trove)
Fix Released
High
Matt Riedemann
python-troveclient
Fix Released
Undecided
Matt Riedemann

Bug Description

http://logs.openstack.org/periodic-stable/periodic-trove-python27-liberty/6010371/console.html#_2016-01-27_07_02_06_776

2016-01-27 07:02:06.740 | ======================================================================
2016-01-27 07:02:06.776 | ERROR: proboscis.case.MethodTest (test_create_slave)
2016-01-27 07:02:06.776 | ----------------------------------------------------------------------
2016-01-27 07:02:06.776 | Traceback (most recent call last):
2016-01-27 07:02:06.776 | File "/home/jenkins/workspace/periodic-trove-python27-liberty/.tox/py27/local/lib/python2.7/site-packages/proboscis/case.py", line 296, in testng_method_mistake_capture_func
2016-01-27 07:02:06.777 | compatability.capture_type_error(s_func)
2016-01-27 07:02:06.777 | File "/home/jenkins/workspace/periodic-trove-python27-liberty/.tox/py27/local/lib/python2.7/site-packages/proboscis/compatability/exceptions_2_6.py", line 27, in capture_type_error
2016-01-27 07:02:06.777 | func()
2016-01-27 07:02:06.777 | File "/home/jenkins/workspace/periodic-trove-python27-liberty/.tox/py27/local/lib/python2.7/site-packages/proboscis/case.py", line 350, in func
2016-01-27 07:02:06.777 | func(test_case.state.get_state())
2016-01-27 07:02:06.777 | File "/home/jenkins/workspace/periodic-trove-python27-liberty/trove/tests/api/replication.py", line 131, in test_create_slave
2016-01-27 07:02:06.777 | slave_instance.id = create_slave()
2016-01-27 07:02:06.777 | File "/home/jenkins/workspace/periodic-trove-python27-liberty/trove/tests/api/replication.py", line 83, in create_slave
2016-01-27 07:02:06.777 | slave_of=instance_info.id)
2016-01-27 07:02:06.777 | TypeError: create() got an unexpected keyword argument 'slave_of'
2016-01-27 07:02:06.778 |
2016-01-27 07:02:06.778 | ======================================================================
2016-01-27 07:02:06.778 | ERROR: proboscis.case.MethodTest (test_replica_provisioning_with_missing_replica_source)
2016-01-27 07:02:06.778 | ----------------------------------------------------------------------
2016-01-27 07:02:06.778 | Traceback (most recent call last):
2016-01-27 07:02:06.779 | File "/home/jenkins/workspace/periodic-trove-python27-liberty/.tox/py27/local/lib/python2.7/site-packages/proboscis/case.py", line 296, in testng_method_mistake_capture_func
2016-01-27 07:02:06.779 | compatability.capture_type_error(s_func)
2016-01-27 07:02:06.779 | File "/home/jenkins/workspace/periodic-trove-python27-liberty/.tox/py27/local/lib/python2.7/site-packages/proboscis/compatability/exceptions_2_6.py", line 27, in capture_type_error
2016-01-27 07:02:06.779 | func()
2016-01-27 07:02:06.779 | File "/home/jenkins/workspace/periodic-trove-python27-liberty/.tox/py27/local/lib/python2.7/site-packages/proboscis/case.py", line 350, in func
2016-01-27 07:02:06.779 | func(test_case.state.get_state())
2016-01-27 07:02:06.779 | File "/home/jenkins/workspace/periodic-trove-python27-liberty/trove/tests/api/replication.py", line 118, in test_replica_provisioning_with_missing_replica_source
2016-01-27 07:02:06.779 | slave_of="Missing replica source")
2016-01-27 07:02:06.779 | File "/home/jenkins/workspace/periodic-trove-python27-liberty/.tox/py27/local/lib/python2.7/site-packages/proboscis/asserts.py", line 181, in assert_raises
2016-01-27 07:02:06.779 | exception_type)
2016-01-27 07:02:06.779 | File "/home/jenkins/workspace/periodic-trove-python27-liberty/.tox/py27/local/lib/python2.7/site-packages/proboscis/compatability/exceptions_2_6.py", line 19, in capture_exception
2016-01-27 07:02:06.780 | body_func()
2016-01-27 07:02:06.780 | File "/home/jenkins/workspace/periodic-trove-python27-liberty/.tox/py27/local/lib/python2.7/site-packages/proboscis/asserts.py", line 180, in <lambda>
2016-01-27 07:02:06.780 | lambda : function(*args, **kwargs),
2016-01-27 07:02:06.780 | TypeError: create() got an unexpected keyword argument 'slave_of'

http://logstash.openstack.org/#dashboard/file/logstash.json?query=message%3A%5C%22TypeError%3A%20create%5C%5C(%5C%5C)%20got%20an%20unexpected%20keyword%20argument%20'slave_of'%5C%22%20AND%20tags%3A%5C%22console%5C%22%20AND%20project%3A%5C%22openstack%2Ftrove%5C%22&from=7d

Tags: liberty stable
Revision history for this message
Matt Riedemann (mriedem) wrote :

Might need 0c94a5bae0aacff7fde9a9742b7d526096e51767 on stable/liberty.

Amrith Kumar (amrith)
Changed in trove:
assignee: nobody → Amrith (amrith)
Revision history for this message
Craig Vyvial (cp16net) wrote :

Ok so the issue here is that we have test-requirements for trove that use the latest troveclient and there was a change that removed the slave_of like Matt mentioned.

2 things we could do:

1. make a troveclient minor version release that would allow us to have a version for kilo that would work.
This is similar to what Amrith was trying to do with this patch but i dont think it is ideal to use a tarball for stable branches like this even though its just a test-requirements.txt change. https://review.openstack.org/#/c/274797/

2. push this patch that you mentioned to trove kilo branch

I'll make a patch for #2 to see if it resolves the issue. https://review.openstack.org/#/c/276934/

Changed in trove:
assignee: Amrith (amrith) → Craig Vyvial (cp16net)
status: New → In Progress
importance: Undecided → High
Revision history for this message
Amrith Kumar (amrith) wrote :

I also posed this question on the ML.

http://openstack.markmail.org/thread/tmy2dema4baoulif

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to trove (stable/liberty)

Fix proposed to branch: stable/liberty
Review: https://review.openstack.org/290023

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on trove (stable/kilo)

Change abandoned by Matt Riedemann (<email address hidden>) on branch: stable/kilo
Review: https://review.openstack.org/276934

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to trove (stable/liberty)

Fix proposed to branch: stable/liberty
Review: https://review.openstack.org/290069

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on trove (stable/liberty)

Change abandoned by amrith (<email address hidden>) on branch: stable/liberty
Review: https://review.openstack.org/290069
Reason: I don't get it but Matt has submitted a bunch of changes and I don't see much of a reason for both of us to be sending up changes for this.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to trove (master)

Fix proposed to branch: master
Review: https://review.openstack.org/290871

Changed in trove:
assignee: Craig Vyvial (cp16net) → Matt Riedemann (mriedem)
Revision history for this message
Matt Riedemann (mriedem) wrote :

python-troveclient is fixed in 2.1.1:

https://pypi.python.org/pypi/python-troveclient/2.1.1

Changed in python-troveclient:
status: New → Fix Released
assignee: nobody → Matt Riedemann (mriedem)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to trove (master)

Reviewed: https://review.openstack.org/290871
Committed: https://git.openstack.org/cgit/openstack/trove/commit/?id=cc1898581435ff4b07512a8b9b2e364d7f925094
Submitter: Jenkins
Branch: master

commit cc1898581435ff4b07512a8b9b2e364d7f925094
Author: Matt Riedemann <email address hidden>
Date: Wed Mar 9 16:47:35 2016 -0500

    Revert "Time to get rid of most vestiges of slave_of"

    This reverts commit 0c94a5bae0aacff7fde9a9742b7d526096e51767

    Removing 'slave_of' from the instance create API was a
    backward incompatible change.

    The parameter should be removed if/when trove has a new
    version in their API, or adopts microversions.

    This change depends on the change which reverts the
    removal of slave_of from python-troveclient since
    the tests depend on that argument being available in the
    client.

    Note that the tests could later be updated to no longer
    use 'slave_of' to avoid a deprecation warning from the
    client.

    Conflicts:
            trove/tests/api/replication.py

    NOTE(mriedem): The conflict was due to
    5515c5291cc0ebacad59973c87ba696b5ffc5efa.

    Depends-On: I9b3ec6c101a89f30e61fc683808506c404e5474f

    Change-Id: Ib6811293d99fbc20f6a52ee10de7c98bfb682b18
    Partial-Bug: #1538506

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on trove (stable/liberty)

Change abandoned by Matt Riedemann (<email address hidden>) on branch: stable/liberty
Review: https://review.openstack.org/290023
Reason: I moved this into https://review.openstack.org/#/c/252584/

Amrith Kumar (amrith)
Changed in trove:
milestone: none → mitaka-3
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers