Install lxml from source to accomodate pip -U

We install nodepool with `pip install -U` which tries to upgrade all the
things including lxml which is now pulled in via shade via
keystoneclient. This breaks without the libxml2-dev and libxslt-dev
packages even though we were installing python-lxml via a system
package. Correct the install problem by adding the lxml build deps and
letting pip upgrade it.

Change-Id: I7d4fda3955cb0b023a29c8e0d36610b89086ce05
This commit is contained in:
Clark Boylan 2015-05-13 13:30:27 -07:00
parent da9b604e48
commit 5613173ba5

View File

@ -35,14 +35,6 @@ class nodepool (
$logging_conf_template = 'nodepool/nodepool.logging.conf.erb',
) {
# needed by python-keystoneclient, has system bindings
# Zuul and Nodepool both need it, so make it conditional
if ! defined(Package['python-lxml']) {
package { 'python-lxml':
ensure => present,
}
}
# required by the nodepool diskimage-builder element scripts
if ! defined(Package['python-yaml']) {
package { 'python-yaml':
@ -88,6 +80,9 @@ class nodepool (
'yum',
'yum-utils',
'python-lzma',
# xml2 and xslt are needed to build python lxml.
'libxml2-dev',
'libxslt-dev',
]
package { $packages:
@ -145,7 +140,8 @@ class nodepool (
Package['build-essential'],
Package['libffi-dev'],
Package['libssl-dev'],
Package['python-lxml'],
Package['libxml2-dev'],
Package['libxslt-dev'],
Package['libgmp-dev'],
],
}