Bug 1011269

Summary: initial requires in setup.py aren't installed in python 3.3 cartridge setup
Product: OpenShift Online Reporter: Andy Grimm <agrimm>
Component: ContainersAssignee: Mrunal Patel <mpatel>
Status: CLOSED UPSTREAM QA Contact: libra bugs <libra-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 2.xCC: jgoulding
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-09-27 19:10:08 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:
Embargoed:

Description Andy Grimm 2013-09-24 01:14:09 UTC
Description of problem:

The setup.py for the python cartridge has CherryPy in the install_requires.  CherryPy is not installed into the app until the first git push, though.  This means the initial webserver instance behaves differently than all subsequent starts, which is confusing.

Version-Release number of selected component (if applicable):

openshift-origin-cartridge-python-0.9.7-1.el6oso.noarch

How reproducible:

Always

Steps to Reproduce:
1. rhc app create py33 python-3.3
2. rhc tail py33
3. visit the app URL
4. modify something in git
5. git push (watch output for cherrypy install)
6. repeat #2 and #3

Actual results:

First run:
Traceback (most recent call last):
  File "app.py", line 38, in <module>
    run_cherrypy_server(zapp.application, ip, port)
  File "app.py", line 14, in run_cherrypy_server
    from cherrypy import wsgiserver
ImportError: No module named 'cherrypy'

Second run:
Starting WSGIServer on 127.x.y.z:8080 ... 


Expected results:

Consistency.

Additional info:

I have not yet tested python 2.6 or 2.7.  I just noticed this while doing other 3.3 testing.

Comment 1 Rob Millner 2013-09-24 19:20:42 UTC
There's a complexity with the HA story, passing to Mrunal.

Comment 2 Mrunal Patel 2013-09-25 17:22:35 UTC
Andy,
This is intentional. We debated whether to install cherrypy when the app is created. However, that was considered as an expensive operation and ruled out.
Do you think documenting this better helps? Also, this problem will go away as soon as we move to SCL for Python 3.3.

- Mrunal

Comment 3 Mrunal Patel 2013-09-27 19:10:08 UTC
The python 3.3 cartridge is an experimental community cartridge. This issue will be fixed when we move to using SCL for python 3.3

https://trello.com/c/C3gRDVv2/265-python-3-3-cartridge-from-scl-cart-future