> On 18 May 2016, at 09:55, Ihar Hrachyshka <ihrac...@redhat.com> wrote:
> 
> 
>> On 18 May 2016, at 05:31, Darek Smigiel <smigiel.dari...@gmail.com> wrote:
>> 
>> Hello Stable Maint Team,
>> It seems that python-neutronclient gate for Liberty is broken[1][2] by 
>> update for keystoneclient. OpenStack proposal bot already sent update to 
>> requirements [3], but it needs to be merged.
>> If you have enough power, please unblock gate.
>> 
>> Thanks,
>> Darek
>> 
>> [1] https://review.openstack.org/#/c/296580/
>> [2] https://review.openstack.org/#/c/296576/
>> [3] https://review.openstack.org/#/c/258336/
> 
> Right.
> 
> I actually looked at the requirements update yesterday, and the problem is 
> that it also fails in gate due to fixtures 2.0.0 being used in client gate, 
> and apparently misbehaving for python3:
> 
> http://logs.openstack.org/36/258336/4/check/gate-python-neutronclient-python34/668ca60/testr_results.html.gz
> 
> This failure occurs only when the failing tests are executed by the same 
> python thread after any CLITestV20Base based test (like 
> CLITestV20ExtensionJSONChildResource). The base class mocks out 
> neutronclient.v2_0.client.Client.get_attr_metadata using 
> fixtures.MonkeyPatch, and apparently the patch is not cleaned up properly by 
> fixtures 2.0.0.
> 
> The reason why it fails for Liberty only is that in Mitaka+, we don’t call 
> this patched method in the course of the failing test runs, and hence don’t 
> trigger the issue.
> 
> The easiest way to solve that is by switching from fixtures to mock for the 
> monkey patch. It indeed solves the issue. If we go this route, ideally, we 
> would probably do the same for all branches starting from master, even if the 
> issue is not currently triggered there.
> 
> I would like to hear from client folks whether it’s a reasonable approach 
> here to just switch to mock and backport, or we want to stick to fixtures and 
> bring the issue with fixtures authors. Note that in neutron, we were already 
> hit by the release monkey patch breakage before, and switched to using mock 
> in base test class:
> 
> https://review.openstack.org/#/c/302997/

UPD: I pushed some patches for master that should be merged and backported back 
to stable/liberty to fix python3 gate there: 
https://review.openstack.org/#/q/topic:bug/1583029 [assuming we are fine with 
switching to mock there, for which I don’t see any reason not to].

> 
> ===
> 
> Now, the question is why the new fixtures release broke us. In Liberty, we 
> already have constraints in place, right? Not really. For clients, we have 
> not applied them (even in master). I made initial attempt to do it, by adding 
> -c… to install_command in the repo, but was hit by an issue:
> 
> Obtaining file:///home/vagrant/git/python-neutronclient
> Could not satisfy constraints for 'python-neutronclient': installation from 
> path or url cannot be constrained to a version
> 
> This happens because we have usedevelop = True in tox.ini, so it tries to 
> install the client from the repo path. But since upper-constraints.txt also 
> contains the client version pin, pip detects version conflict and fails. This 
> does not happen for neutron where we also use usedevelop = True because 
> neutron package version is not tracked in openstack/requirements and is not 
> pinned in upper-constraints.txt.
> 
> In devstack, before installing a library from git, we modify the provided 
> constraints file, by replacing the library version pin with file:// 
> definition:
> 
> http://git.openstack.org/cgit/openstack/requirements/tree/README.rst#n160
> 
> To make it work for tox based jobs, we would need to apply the same strategy 
> as part of install_command for all clients. Meaning, we would need a hack 
> similar to tox_install.sh found in neutron-*aas repos. We would also need to 
> install openstack/requirements as part of the process to get access to 
> edit-constraint tool.
> 
> Ihar


__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to