kolla-toolbox fails to build on CentOS

Bug #1545215 reported by Steven Dake on 2016-02-13
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
kolla
Critical
Steven Dake

Bug Description

An exception is generated during pip install.

Pretty sure this is because python-six is conflicting between RPM and pip installs in this container. We had this same problem in stable since pip has updated to a later version of six then are in the RDO repositories.

INFO:__main__:kolla-toolbox:Exception:
INFO:__main__:kolla-toolbox:Traceback (most recent call last):
INFO:__main__:kolla-toolbox: File "/usr/lib/python2.7/site-packages/pip/basecommand.py", line 209, in main
INFO:__main__:kolla-toolbox: status = self.run(options, args)
INFO:__main__:kolla-toolbox: File "/usr/lib/python2.7/site-packages/pip/commands/install.py", line 317, in run
INFO:__main__:kolla-toolbox: prefix=options.prefix_path,
INFO:__main__:kolla-toolbox: File "/usr/lib/python2.7/site-packages/pip/req/req_set.py", line 742, in install
INFO:__main__:kolla-toolbox: requirement.commit_uninstall()
INFO:__main__:kolla-toolbox: File "/usr/lib/python2.7/site-packages/pip/req/req_install.py", line 765, in commit_uninstall
INFO:__main__:kolla-toolbox: self.uninstalled.commit()

Steven Dake (sdake) on 2016-02-13
Changed in kolla:
assignee: nobody → Steven Dake (sdake)
importance: Undecided → Critical
status: New → Triaged
milestone: none → mitaka-3
Steven Dake (sdake) on 2016-02-13
Changed in kolla:
status: Triaged → Confirmed

Fix proposed to branch: master
Review: https://review.openstack.org/279838

Changed in kolla:
status: Confirmed → In Progress
Jeffrey Zhang (jeffrey4l) wrote :
Download full text (3.7 KiB)

I build the kolla-toolbox failed with following error message, rather than the python-six. Maybe the bug description should be modified?

INFO:__main__:kolla-toolbox: Found existing installation: pytz 2012d
INFO:__main__:kolla-toolbox: DEPRECATION: Uninstalling a distutils installed project (pytz) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project.
INFO:__main__:kolla-toolbox:
INFO:__main__:kolla-toolbox: Uninstalling pytz-2012d:
INFO:__main__:kolla-toolbox: Successfully uninstalled pytz-2012d
INFO:__main__:kolla-toolbox:Exception:
INFO:__main__:kolla-toolbox:Traceback (most recent call last):
INFO:__main__:kolla-toolbox: File "/usr/lib/python2.7/site-packages/pip/basecommand.py", line 209, in main
INFO:__main__:kolla-toolbox: status = self.run(options, args)
INFO:__main__:kolla-toolbox: File "/usr/lib/python2.7/site-packages/pip/commands/install.py", line 317, in run
INFO:__main__:kolla-toolbox: prefix=options.prefix_path,
INFO:__main__:kolla-toolbox: File "/usr/lib/python2.7/site-packages/pip/req/req_set.py", line 742, in install
INFO:__main__:kolla-toolbox: requirement.commit_uninstall()
INFO:__main__:kolla-toolbox: File "/usr/lib/python2.7/site-packages/pip/req/req_install.py", line 765, in commit_uninstall
INFO:__main__:kolla-toolbox: self.uninstalled.commit()
INFO:__main__:kolla-toolbox: File "/usr/lib/python2.7/site-packages/pip/req/req_uninstall.py", line 142, in commit
INFO:__main__:kolla-toolbox: rmtree(self.save_dir)
INFO:__main__:kolla-toolbox: File "/usr/lib/python2.7/site-packages/pip/_vendor/retrying.py", line 49, in wrapped_f
INFO:__main__:kolla-toolbox: return Retrying(*dargs, **dkw).call(f, *args, **kw)
INFO:__main__:kolla-toolbox: File "/usr/lib/python2.7/site-packages/pip/_vendor/retrying.py", line 212, in call
INFO:__main__:kolla-toolbox: raise attempt.get()
INFO:__main__:kolla-toolbox: File "/usr/lib/python2.7/site-packages/pip/_vendor/retrying.py", line 247, in get
INFO:__main__:kolla-toolbox: six.reraise(self.value[0], self.value[1], self.value[2])
INFO:__main__:kolla-toolbox: File "/usr/lib/python2.7/site-packages/pip/_vendor/retrying.py", line 200, in call
INFO:__main__:kolla-toolbox: attempt = Attempt(fn(*args, **kwargs), attempt_number, False)
INFO:__main__:kolla-toolbox: File "/usr/lib/python2.7/site-packages/pip/utils/__init__.py", line 101, in rmtree
INFO:__main__:kolla-toolbox: onerror=rmtree_errorhandler)
INFO:__main__:kolla-toolbox: File "/usr/lib64/python2.7/shutil.py", line 247, in rmtree
INFO:__main__:kolla-toolbox: rmtree(fullname, ignore_errors, onerror)
INFO:__main__:kolla-toolbox: File "/usr/lib64/python2.7/shutil.py", line 247, in rmtree
INFO:__main__:kolla-toolbox: rmtree(fullname, ignore_errors, onerror)
INFO:__main__:kolla-toolbox: File "/usr/lib64/python2.7/shutil.py", line 247, in rmtree
INFO:__main__:kolla-toolbox: rmtree(fullname, ignore_errors, onerror)
INFO:__main__:kolla-toolbox: File "/usr/lib64/python2.7/shutil.py", line 247, in rmtree
INFO:__main__:kolla-toolbox: rmtree(fullname, ignore_errors, onerror)
INFO:_...

Read more...

Steven Dake (sdake) wrote :

Jeff,

I'm not a big fan of updating bug history (history shouldn't be revised imo :), but I'm happy to document that the problem is not that six had multiple versions, it is that python distutils uninstalled pytz which triggered pip to further backtrace. Usually its six that causes us problems in these cases - first time I've seen the distutil uninstall borking pip.

Regards
-steve

Reviewed: https://review.openstack.org/279838
Committed: https://git.openstack.org/cgit/openstack/kolla/commit/?id=5dd79bbbef1d886914a1bf77bb098442cfe522e4
Submitter: Jenkins
Branch: master

commit 5dd79bbbef1d886914a1bf77bb098442cfe522e4
Author: Steven Dake <email address hidden>
Date: Fri Jan 29 18:46:38 2016 -0700

    Make kolla-toolbox container build on CentOS bin

    Ansible installs pytz from pip which is newer then then pytz in
    RDO repositories. As part of this process, it removes pytz
    which corrupts the python installation in some way. This causes
    further pip usage to produce a backtrace causing the kolla-toolbox
    container not to build.

    Mixing pip and RPM is not good.

    Change-Id: I413468641bad5476cfcba61cb0e2189c31f3d682
    Closes-Bug: #1545215

Changed in kolla:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers