{"action":"created","issue":{"url":"https://api.github.com/repos/saltstack/salt/issues/19508","labels_url":"https://api.github.com/repos/saltstack/salt/issues/19508/labels{/name}","comments_url":"https://api.github.com/repos/saltstack/salt/issues/19508/comments","events_url":"https://api.github.com/repos/saltstack/salt/issues/19508/events","html_url":"https://github.com/saltstack/salt/issues/19508","id":53717931,"number":19508,"title":"salt-ssh should not use distro-specific Python libraries in the thin tarball","user":{"login":"davidjb","id":1002811,"avatar_url":"https://avatars.githubusercontent.com/u/1002811?v=3","gravatar_id":"","url":"https://api.github.com/users/davidjb","html_url":"https://github.com/davidjb","followers_url":"https://api.github.com/users/davidjb/followers","following_url":"https://api.github.com/users/davidjb/following{/other_user}","gists_url":"https://api.github.com/users/davidjb/gists{/gist_id}","starred_url":"https://api.github.com/users/davidjb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/davidjb/subscriptions","organizations_url":"https://api.github.com/users/davidjb/orgs","repos_url":"https://api.github.com/users/davidjb/repos","events_url":"https://api.github.com/users/davidjb/events{/privacy}","received_events_url":"https://api.github.com/users/davidjb/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/saltstack/salt/labels/Bug","name":"Bug","color":"e11d21"},{"url":"https://api.github.com/repos/saltstack/salt/labels/High+Severity","name":"High Severity","color":"eb6420"},{"url":"https://api.github.com/repos/saltstack/salt/labels/Salt-SSH","name":"Salt-SSH","color":"fef2c0"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/saltstack/salt/milestones/13","labels_url":"https://api.github.com/repos/saltstack/salt/milestones/13/labels","id":9265,"number":13,"title":"Approved","description":"All issues that are ready to be worked on, both bugs and features.","creator":{"login":"thatch45","id":507599,"avatar_url":"https://avatars.githubusercontent.com/u/507599?v=3","gravatar_id":"","url":"https://api.github.com/users/thatch45","html_url":"https://github.com/thatch45","followers_url":"https://api.github.com/users/thatch45/followers","following_url":"https://api.github.com/users/thatch45/following{/other_user}","gists_url":"https://api.github.com/users/thatch45/gists{/gist_id}","starred_url":"https://api.github.com/users/thatch45/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thatch45/subscriptions","organizations_url":"https://api.github.com/users/thatch45/orgs","repos_url":"https://api.github.com/users/thatch45/repos","events_url":"https://api.github.com/users/thatch45/events{/privacy}","received_events_url":"https://api.github.com/users/thatch45/received_events","type":"User","site_admin":false},"open_issues":1810,"closed_issues":1375,"state":"open","created_at":"2011-05-14T04:00:56Z","updated_at":"2015-01-08T22:49:59Z","due_on":null,"closed_at":null},"comments":3,"created_at":"2015-01-08T06:07:06Z","updated_at":"2015-01-08T22:50:09Z","closed_at":null,"body":"My recent issues (#16773, #17313, #18291) boil down to salt-ssh taking system-level Python libraries on my host, Ubuntu 14.10, and attempting to use these on the target machine.  In my case, because the libraries (requests, urllib3 -- so far) have been patched specifically for Ubuntu/Debian, they understandably fail to work on my RHEL/CentOS targets.  Whilst certain cases (#19321, #18291) can be worked around, *any* Python library used by Salt/salt-ssh is thus a source of potential cross-platform incompatibilities.\r\n\r\nSo, Salt/salt-ssh essentially needs to avoid copying system libraries entirely.  The original code for each of these libraries is cross-distribution compatible, so what about drawing them from PyPI/GitHub before rolling them into the thin tarball, or otherwise maintaining a virtualenv specifically for salt-ssh's dependencies?  Either way, usage of the system libraries needs to be avoided.\r\n\r\nFor what it's worth, in order to make my salt-ssh work, I've taken to hacking the copies of my libraries on my host to restore the distribution-agnostic code (as per #17313), but this will only stick until a  package upgrade comes around.  Replacing the Python packages entirely with from PyPI is not an option because other applications rely on the packages ``python-requests`` and ``python-urllib3`` being present."},"comment":{"url":"https://api.github.com/repos/saltstack/salt/issues/comments/69264732","html_url":"https://github.com/saltstack/salt/issues/19508#issuecomment-69264732","issue_url":"https://api.github.com/repos/saltstack/salt/issues/19508","id":69264732,"user":{"login":"davidjb","id":1002811,"avatar_url":"https://avatars.githubusercontent.com/u/1002811?v=3","gravatar_id":"","url":"https://api.github.com/users/davidjb","html_url":"https://github.com/davidjb","followers_url":"https://api.github.com/users/davidjb/followers","following_url":"https://api.github.com/users/davidjb/following{/other_user}","gists_url":"https://api.github.com/users/davidjb/gists{/gist_id}","starred_url":"https://api.github.com/users/davidjb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/davidjb/subscriptions","organizations_url":"https://api.github.com/users/davidjb/orgs","repos_url":"https://api.github.com/users/davidjb/repos","events_url":"https://api.github.com/users/davidjb/events{/privacy}","received_events_url":"https://api.github.com/users/davidjb/received_events","type":"User","site_admin":false},"created_at":"2015-01-08T22:50:09Z","updated_at":"2015-01-08T22:50:09Z","body":"Great, thanks.  For what it's worth, ``python-yaml`` and ``python-jinja2`` both are patched in Debian as well.  Their patches (http://anonscm.debian.org/viewvc/python-modules/packages/) don't appear to be something that would break across platforms currently, but as in the case of requests/urllib3 it could be a source of problems at any time."}}