Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix broken dependencies. #816

Merged
merged 1 commit into from
Jun 18, 2019
Merged

Fix broken dependencies. #816

merged 1 commit into from
Jun 18, 2019

Conversation

Ark-kun
Copy link
Contributor

@Ark-kun Ark-kun commented Apr 23, 2019

All our libraries that depended on kubernetes started breaking today.
The reason is that pip does not do a good job properly resolving the compatible package versions.
It just install packages in order without caring about the incompatibilities.
The urllib3 package installed is incompatible with the requests package that's getting installed later.

Changing the order fixes the issue.

See kubeflow/pipelines#1201

Log illustrating the issue:

$ python3 -m pip install kubernetes==8.0.0
Collecting kubernetes==8.0.0
...

Collecting urllib3!=1.21,>=1.19.1 (from kubernetes==8.0.0)
  Downloading https://files.pythonhosted.org/packages/81/9b/715e96377cc1f87e71d9d4259c6f88bf561a539622ba3042e73188e0bc2d/urllib3-1.25-py2.py3-none-any.whl (149kB)

Collecting requests (from kubernetes==8.0.0)
  Downloading https://files.pythonhosted.org/packages/7d/e3/20f3d364d6c8e5d2353c72a67778eb189176f08e873c9900e10c0287b84b/requests-2.21.0-py2.py3-none-any.whl (57kB)
...

requests 2.21.0 has requirement urllib3<1.25,>=1.21.1, but you'll have urllib3 1.25 which is incompatible.
Installing collected packages: certifi, urllib3, six, idna, chardet, requests, oauthlib, requests-oauthlib, websocket-client, cachetools, pyasn1, rsa, pyasn1-modules, google-auth, pyyaml, asn1crypto, pycparser, cffi, cryptography, PyJWT, python-dateutil, adal, kubernetes
Successfully installed PyJWT-1.7.1 adal-1.2.1 asn1crypto-0.24.0 cachetools-3.1.0 certifi-2019.3.9 cffi-1.12.3 chardet-3.0.4 cryptography-2.6.1 google-auth-1.6.3 idna-2.8 kubernetes-8.0.0 oauthlib-3.0.1 pyasn1-0.4.5 pyasn1-modules-0.2.4 pycparser-2.19 python-dateutil-2.8.0 pyyaml-5.1 requests-2.21.0 requests-oauthlib-1.2.0 rsa-4.0 six-1.12.0 urllib3-1.25 websocket-client-0.56.0

Then the packages fail at runtime.

All our libraries that depended on `kubernetes` started breaking today.
The reason is that pip does not do a good job properly resolving the compatible package versions.
It just install packages in order without caring about the incompatibilities.
The urllib3 package installed is incompatible with the `requests` package that's getting installed later.

Changing the order fixes the issue.
@k8s-ci-robot
Copy link
Contributor

Thanks for your pull request. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

📝 Please follow instructions at https://git.k8s.io/community/CLA.md#the-contributor-license-agreement to sign the CLA.

It may take a couple minutes for the CLA signature to be fully registered; after that, please reply here with a new comment and we'll verify. Thanks.


Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@k8s-ci-robot k8s-ci-robot added cncf-cla: no Indicates the PR's author has not signed the CNCF CLA. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. labels Apr 23, 2019
@yliaog
Copy link
Contributor

yliaog commented Apr 23, 2019

please sign CLA

@luisdavim
Copy link

@Ark-kun can you sign the CLA?

@Ark-kun
Copy link
Contributor Author

Ark-kun commented Jun 18, 2019

I signed it

@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. and removed cncf-cla: no Indicates the PR's author has not signed the CNCF CLA. labels Jun 18, 2019
@Ark-kun
Copy link
Contributor Author

Ark-kun commented Jun 18, 2019

/cc @yliaog

@yliaog
Copy link
Contributor

yliaog commented Jun 18, 2019

/lgtm
/approve

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jun 18, 2019
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: Ark-kun, yliaog

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jun 18, 2019
@k8s-ci-robot k8s-ci-robot merged commit 05c1a43 into kubernetes-client:master Jun 18, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants