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

Remote bug watches

Bug watches keep track of this bug in other bug trackers.