Bug 1387788

Summary: Upgrade pip to 8.1 on Openshift v2 python gear
Product: OpenShift Online Reporter: Tadhg Pearson <tadhg.pearson>
Component: ImageAssignee: Rory Thrasher <rthrashe>
Status: CLOSED WONTFIX QA Contact: Wang Haoran <haowang>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 2.xCC: aos-bugs, jokerman, mmccomas
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-11-02 20:44:16 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Tadhg Pearson 2016-10-21 22:02:06 UTC
Description of problem:
I'd like to install Sqreen monitoring on my application, which is running in an Openshift v2 Python 2.7 gears that autoscale. 

In order to do this, I need to upgrade the installed pip version 8.1 on deploy, since the currently installed v7.1 can't install Sqreen.

However, I don't have sufficient permissions to upgrade pip. When I add `pip>=8.1` in my requirements.txt (which is installed at deploy time), it fails to uninstall the existing pip due to a permissions error

    remote: OSError: [Errno 13] Permission denied: '/opt/rh/python27/root/usr/bin/pip'

When I try to do 

> pip install --upgrade pip

over SSH or in a deploy_hook, I get the same error.


Steps to Reproduce:
1. Create new Python 2.7 gear.
2. Create requirments.txt containing pip>=8.1 and sqreen
3. Add file, commit & push to gear

Actual results:
remote:   File "/opt/rh/python27/root/usr/lib64/python2.7/shutil.py", line 303, in move
remote:     os.unlink(src)
remote: OSError: [Errno 13] Permission denied: '/opt/rh/python27/root/usr/bin/pip'

Expected results:


Additional info:

Comment 1 Rory Thrasher 2016-11-02 20:44:16 UTC
Hi Tadhg,

Unfortunately, the pip version is tied to the cartridge and there are no plans to update the python-2.7 cartridge.

You can try creating your own python 2.7 cartridge through the diy cart.  This blog post might be able to help with that: https://blog.openshift.com/enabling-python-27-on-a-paas-with-the-openshift-diy-app-type/


Hope that helps,
Rory