uncap kubernetes version
prometheanfire opened this issue · 5 comments
At the moment openshift-restclient-python is the only package requiring a specific version of the kubernetes python library. This causes co-installability issues. This blocks others from using new versions of kubernetes until you update/release. At that point they'd have to switch to the new version as you only support one version at a time.
specifically the following line
ContextualVersionConflict: (kubernetes 9.0.0 (/home/zuul/src/opendev.org/openstack/requirements/.tox/py27-check-uc/lib/python2.7/site-packages), Requirement.parse('kubernetes<9.0.0,>=8.0.0'), set(['openshift']))
Would it be possible to uncap the version of kubernetes you support. If you want to limit the version in your installs that is what constraints are for, see the following for an example.
https://github.com/openstack/requirements/blob/16e8fd6a0f179e3cad0ae2197a5c1be18ada2ea1/upper-constraints.txt#L427
https://github.com/openstack/requirements/blob/16e8fd6a0f179e3cad0ae2197a5c1be18ada2ea1/tox.ini#L19
if 1.3.0 comes out for foo (see below) the following would happen.
#in requirements.txt
foo>=1.0.0
#in constraints.txt
foo===1.2.3
pip install foo -r requirements.txt -c constraints.txt
# would install 1.2.3 even though 1.3.0 is done
so I think the reason we pinned the version in the past is that there were breaking changes that affected our client and broke a few projects, and since the API was only guaranteed at a major version level we wanted to make sure we didn't have random breakages again when a new release came out. That being said we should definitely get the 0.9.0 release (which is pinned to 9.x) out the door so that we at least have a version out that supports every release of the kubernetes client. If there's a cleverer way to solve this I'd be happy to hear it but I think if we just remove the version constraints it might end up causing more pain than it saves.
Ya, I'm not sure the state of your testing, but would adding tox jobs for each kubernetes version (and one uncapped) work for coverage?
I see 10.0.0a1 on pypi as of April 4th, so that's coming soon too.
looks like urllib3 is being blocked by openshift as well
2019-05-24 21:06:58.590007 | ubuntu-bionic | ContextualVersionConflict: (urllib3 1.25.3 (/home/zuul/src/opendev.org/openstack/requirements/.tox/py27-check-uc/lib/python2.7/site-packages), Requirement.parse('urllib3<1.25'), set(['openshift']))
I think we'll continue manually updating to track the kubernetes-client version, as breaking changes remain a concern (ie, kubernetes-client/python#974)
I think we removed the dep on openshift so we don't have this problem anymore.