It turns out our fix for package madness breaks when running on
xenserver. Put in a simple exclusion for that case until we figure out a
more total and systemic solution to everyone's problems.
Change-Id: I491917015337f83206937c53949a62aa63f4679f
| ... | ... |
@@ -601,23 +601,29 @@ if [[ is_fedora && $DISTRO =~ (rhel6) ]]; then |
| 601 | 601 |
sudo setenforce 0 |
| 602 | 602 |
fi |
| 603 | 603 |
|
| 604 |
- # An old version of ``python-crypto`` (2.0.1) may be installed on a |
|
| 605 |
- # fresh system via Anaconda and the dependency chain |
|
| 606 |
- # ``cas`` -> ``python-paramiko`` -> ``python-crypto``. |
|
| 607 |
- # ``pip uninstall pycrypto`` will remove the packaged ``.egg-info`` file |
|
| 608 |
- # but leave most of the actual library files behind in ``/usr/lib64/python2.6/Crypto``. |
|
| 609 |
- # Later ``pip install pycrypto`` will install over the packaged files resulting |
|
| 610 |
- # in a useless mess of old, rpm-packaged files and pip-installed files. |
|
| 611 |
- # Remove the package so that ``pip install python-crypto`` installs cleanly. |
|
| 612 |
- # Note: other RPM packages may require ``python-crypto`` as well. For example, |
|
| 613 |
- # RHEL6 does not install ``python-paramiko packages``. |
|
| 614 |
- uninstall_package python-crypto |
|
| 615 |
- |
|
| 616 |
- # A similar situation occurs with ``python-lxml``, which is required by |
|
| 617 |
- # ``ipa-client``, an auditing package we don't care about. The |
|
| 618 |
- # build-dependencies needed for ``pip install lxml`` (``gcc``, |
|
| 619 |
- # ``libxml2-dev`` and ``libxslt-dev``) are present in ``files/rpms/general``. |
|
| 620 |
- uninstall_package python-lxml |
|
| 604 |
+ # The following workarounds break xenserver |
|
| 605 |
+ if [ "$VIRT_DRIVER" != 'xenserver' ]; then |
|
| 606 |
+ # An old version of ``python-crypto`` (2.0.1) may be installed on a |
|
| 607 |
+ # fresh system via Anaconda and the dependency chain |
|
| 608 |
+ # ``cas`` -> ``python-paramiko`` -> ``python-crypto``. |
|
| 609 |
+ # ``pip uninstall pycrypto`` will remove the packaged ``.egg-info`` |
|
| 610 |
+ # file but leave most of the actual library files behind in |
|
| 611 |
+ # ``/usr/lib64/python2.6/Crypto``. Later ``pip install pycrypto`` |
|
| 612 |
+ # will install over the packaged files resulting |
|
| 613 |
+ # in a useless mess of old, rpm-packaged files and pip-installed files. |
|
| 614 |
+ # Remove the package so that ``pip install python-crypto`` installs |
|
| 615 |
+ # cleanly. |
|
| 616 |
+ # Note: other RPM packages may require ``python-crypto`` as well. |
|
| 617 |
+ # For example, RHEL6 does not install ``python-paramiko packages``. |
|
| 618 |
+ uninstall_package python-crypto |
|
| 619 |
+ |
|
| 620 |
+ # A similar situation occurs with ``python-lxml``, which is required by |
|
| 621 |
+ # ``ipa-client``, an auditing package we don't care about. The |
|
| 622 |
+ # build-dependencies needed for ``pip install lxml`` (``gcc``, |
|
| 623 |
+ # ``libxml2-dev`` and ``libxslt-dev``) are present in |
|
| 624 |
+ # ``files/rpms/general``. |
|
| 625 |
+ uninstall_package python-lxml |
|
| 626 |
+ fi |
|
| 621 | 627 |
|
| 622 | 628 |
# If the ``dbus`` package was installed by DevStack dependencies the |
| 623 | 629 |
# uuid may not be generated because the service was never started (PR#598200), |