On 11/18/2015 9:23 AM, Matt Riedemann wrote:
On 11/17/2015 10:37 PM, Nikhil Manchanda wrote:
Thanks for putting up that fix Matt.
The dependency on trunk python-troveclient (for stable/kilo) definitely
seems
screwy-- but I'm wondering if this was done for backwards compatibility
reasons?
(i.e. to ensure the latest version of python-troveclient should be able
to work
correctly against all previous releases of trove.)
If that was the plan, https://review.openstack.org/#/c/210004/ totally
blows that up since it's a backward incompatible change and was released
in a minor version rather than a major version. That change is really
what's breaking stable/kilo trove unit tests.
Either way, I think we should be honoring the requirements specified for
the respective
releases in g-r, so I think that this is the right fix.
Cheers,
Nikhil
On Tue, Nov 17, 2015 at 7:42 PM, Matt Riedemann
<[email protected] <mailto:[email protected]>> wrote:
On 11/17/2015 9:27 PM, Matt Riedemann wrote:
On 11/17/2015 9:22 PM, Matt Riedemann wrote:
I noticed this failing today:
http://logs.openstack.org/81/206681/3/check/gate-trove-python27/45d645d/console.html#_2015-11-17_17_07_28_061
Looks like https://review.openstack.org/#/c/218701/ and
maybe the
dependent python-troveclient change would need to be
backported to
stable/kilo (neither are clean backports), or we can just
skip the test
on stable/kilo if there is a good reason why it won't work.
I also see that the unit test job on stable/kilo is pulling in
trunk
python-troveclient:
http://logs.openstack.org/81/206681/3/check/gate-trove-python27/45d645d/console.html#_2015-11-17_17_07_28_393
Even though we have troveclient capped at 1.1.0 in kilo g-r:
https://github.com/openstack/requirements/blob/stable/kilo/global-requirements.txt#L136
So how is that happening?
Oh, because of this:
https://github.com/openstack/trove/blob/stable/kilo/test-requirements.txt#L17
And that's terrible....why are we doing that?
Attempting to fix here: https://review.openstack.org/#/c/246735/
--
Thanks,
Matt Riedemann
__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe:
[email protected]?subject:unsubscribe
<http://[email protected]?subject:unsubscribe>
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe:
[email protected]?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
Getting back to root causes, I discussed with a couple of people in IRC
and wanted to take notes here.
The root issue was the backward incompatible troveclient change:
https://review.openstack.org/#/c/210004/
That was released in 1.3.0 and 1.4.0. A server side change was made in
liberty that requires that:
https://review.openstack.org/#/c/218701/
The troveclient change is breaking stable/kilo since the server side
change isn't in stable/kilo. We could backport that, but given
global-requirements on troveclient in stable/kilo, it's technically invalid:
https://github.com/openstack/requirements/blob/stable/kilo/global-requirements.txt#L136
python-troveclient>=1.0.7,<1.1.0
Since it's unit tests only and stable/kilo trove is testing against
trunk troveclient, maybe we don't care - we just hack the fix and go
about our merry way.
I have little stake in trove as a project so it's ultimately up to the
project drivers.
The right thing to do, IMO, is revert that backward incompatible
troveclient change, release that as 1.4.1, restore the change and then
release that as 2.0. We'd also blacklist 1.3.0 and 1.4.0 in
global-requirements.
Unit tests on trove master and stable/liberty would break once the
revert on troveclient landed because the trove unit tests require that
code in troveclient, but that'd be fixed once you revert the revert
(since the trove unit tests run trunk troveclient, not from released
versions). This could be short term pain though and it's controllable
within the trove core team.
I think long-term trove should not be unit testing against trunk
troveclient, since it's a false sense of functionality as we've seen
here. Trove should really be requiring the same versions of troveclient
that are specified in global-requirements. Doing that would make this
unit test thing a bit messier though, but not unmanageable.
So, I guess the question is, what does the trove team want to do here?
--
Thanks,
Matt Riedemann
__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: [email protected]?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev