Ubuntu 15.04 python3 path problem when running loguserdata.py
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Heat |
Fix Released
|
Medium
|
Oleksii Chuprykov | ||
Kilo |
Fix Released
|
Medium
|
Angus Salkeld |
Bug Description
cloud-init on Ubuntu 15.04 is now run by Python 3. However, the system Python version is 2.7.9.
Hence under Heat, when the cloud-init script
/usr/lib/
attempts to sweep across all the files in the target directory:
/var/lib/
and run them via an eventual call to POpen(...), it hits the file injected by Heat named:
loguserdata.py.
And tries to run it. However, the 2.7 environment is not correctly set for this file to run. The python 3 environment is the one that is correctly set for this file to run. Hence the attempted run of this script ends in tears.
(its the call pkg_resources.
Given that this bug is at the intersection of three different projects, I wasn't sure where it to report it to :( I eventually decided that as heat injects loguserdata.py, and that loguserdata.py is making the call that fails, this was where I should report it...
Changed in heat: | |
assignee: | nobody → Oleksii Chuprykov (ochuprykov) |
Changed in heat: | |
milestone: | none → liberty-3 |
status: | Fix Committed → Fix Released |
tags: | removed: kilo-backport-potential |
Changed in heat: | |
milestone: | liberty-3 → 5.0.0 |
Lets assume we can fix this by changing loguserdata.py.
As a workaround you can always set user_data_ format: RAW on your server resource (assuming the template doesn't actually need to run cfn-init). docs.openstack. org/developer/ heat/template_ guide/openstack .html#OS: :Nova:: Server
http://