Browse code

Merge "Don't uninstall packages when on xenserver"

Jenkins authored on 2013/08/07 05:11:27
Showing 1 changed files
... ...
@@ -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),