Deployment fails with package installation error

During deployment, a package might fail to install successfully and you receive a deployment error.

If you receive the following error during the deployment process, follow these steps to troubleshoot. The error message states:

========================================================================
Error executing action `upgrade` on resource 'package[openstack-nova-common]'
================================================================================
First, use one the following options to determine what caused the `package` to fail to install.
  • SSH to the node where the `upgrade` failed, and attempt to 'yum install' the `package` to see the detailed failure. For example, run # yum install openstack-nova-common. You receive a message similar to the one shown here.
    ...Error unpacking rpm package python-ecdsa-0.11-1.ibm.el6.noarch
    error: unpacking of archive failed on file /usr/lib/python2.6/site-packages/ecdsa-0.11-py2.6.egg-info: cpio: rename
    Verifying : python-ecdsa-0.11-1.ibm.el6.noarch 1/1
    
    Failed:
    python-ecdsa.noarch 0:0.11-1.ibm.el6
    
    Complete!
    
  • Otherwise, SSH to the node where the `upgrade` failed, and view the yum log in /var/log/yum.log and identify the package that failed. For example:
    # cat /var/log/yum.log | grep ecdsa
    Sep 29 03:07:44 python-ecdsa-0.11-1.ibm.el6.noarch: 100

The installation of a package might fail if you use PIP to install python packages, prior to installing the RPMs. This combination is error prone.

Use the following steps to resolve the issue:
  1. Uninstall the package that failed and deploy the topology again. For example:
    # pip uninstall ecdsa
    Uninstalling ecdsa:
      /usr/lib/python2.6/site-packages/ecdsa-0.11-py2.6.egg-info
      /usr/lib/python2.6/site-packages/ecdsa/__init__.py
      /usr/lib/python2.6/site-packages/ecdsa/__init__.pyc
      /usr/lib/python2.6/site-packages/ecdsa/_version.py
      /usr/lib/python2.6/site-packages/ecdsa/_version.pyc
      /usr/lib/python2.6/site-packages/ecdsa/curves.py
      /usr/lib/python2.6/site-packages/ecdsa/curves.pyc
      /usr/lib/python2.6/site-packages/ecdsa/der.py
      /usr/lib/python2.6/site-packages/ecdsa/der.pyc
      /usr/lib/python2.6/site-packages/ecdsa/ecdsa.py
      /usr/lib/python2.6/site-packages/ecdsa/ecdsa.pyc
      /usr/lib/python2.6/site-packages/ecdsa/ellipticcurve.py
      /usr/lib/python2.6/site-packages/ecdsa/ellipticcurve.pyc
      /usr/lib/python2.6/site-packages/ecdsa/keys.py
      /usr/lib/python2.6/site-packages/ecdsa/keys.pyc
      /usr/lib/python2.6/site-packages/ecdsa/numbertheory.py
      /usr/lib/python2.6/site-packages/ecdsa/numbertheory.pyc
      /usr/lib/python2.6/site-packages/ecdsa/rfc6979.py
      /usr/lib/python2.6/site-packages/ecdsa/rfc6979.pyc
      /usr/lib/python2.6/site-packages/ecdsa/six.py
      /usr/lib/python2.6/site-packages/ecdsa/six.pyc
      /usr/lib/python2.6/site-packages/ecdsa/test_pyecdsa.py
      /usr/lib/python2.6/site-packages/ecdsa/test_pyecdsa.pyc
      /usr/lib/python2.6/site-packages/ecdsa/util.py
      /usr/lib/python2.6/site-packages/ecdsa/util.pyc
    Proceed (y/n)? y
      Successfully uninstalled ecdsa
  2. Redeploy your topology.