install_tempest failed at uninstalling appdirs 1.4.1

Bug #1667545 reported by Jerry Zhao
92
This bug affects 19 people
Affects Status Importance Assigned to Milestone
devstack
Undecided
Unassigned

Bug Description

devstack failed on our 3rd party CI system when install_tempest.
first tox --notest -efull installed appdirs 1.4.1 which was pushed onto pypi.python.org today and upper constraints pin the version to 1.4.0, so when pip tried to uninstall 1.4.1, the following error occurred:

2017-02-24 02:13:11.045 | Requirement already satisfied: ipaddress===1.0.18 in ./.tox/tempest/lib/python2.7/site-packages (from -c /opt/stack/new/requirements/upper-constraints.txt (line 188))
2017-02-24 02:13:11.048 | Requirement already satisfied: pycparser===2.17 in ./.tox/tempest/lib/python2.7/site-packages (from -c /opt/stack/new/requirements/upper-constraints.txt (line 320))
2017-02-24 02:13:11.051 | Collecting appdirs===1.4.0 (from -c /opt/stack/new/requirements/upper-constraints.txt (line 74))
2017-02-24 02:13:11.069 | Using cached appdirs-1.4.0-py2.py3-none-any.whl
2017-02-24 02:13:11.080 | Requirement already satisfied: packaging===16.8 in ./.tox/tempest/lib/python2.7/site-packages (from -c /opt/stack/new/requirements/upper-constraints.txt (line 291))
2017-02-24 02:13:11.085 | Building wheels for collected packages: cmd2
2017-02-24 02:13:11.086 | Running setup.py bdist_wheel for cmd2: started
2017-02-24 02:13:11.716 | Running setup.py bdist_wheel for cmd2: finished with status 'done'
2017-02-24 02:13:11.716 | Stored in directory: /opt/stack/new/.cache/pip/wheels/8b/3a/c1/d9775ec3156f3636c5fba0bbb0f7d8639dba086bc9dfbd7d34
2017-02-24 02:13:11.729 | Successfully built cmd2
2017-02-24 02:13:11.731 | Installing collected packages: appdirs, cmd2
2017-02-24 02:13:11.731 | Found existing installation: appdirs 1.4.1
2017-02-24 02:13:11.739 | Uninstalling appdirs-1.4.1:
2017-02-24 02:13:11.752 | Successfully uninstalled appdirs-1.4.1
2017-02-24 02:13:11.867 | Rolling back uninstall of appdirs
2017-02-24 02:13:11.879 | Exception:
2017-02-24 02:13:11.879 | Traceback (most recent call last):
2017-02-24 02:13:11.879 | File "/opt/stack/new/tempest/.tox/tempest/local/lib/python2.7/site-packages/pip/basecommand.py", line 215, in main
2017-02-24 02:13:11.879 | status = self.run(options, args)
2017-02-24 02:13:11.879 | File "/opt/stack/new/tempest/.tox/tempest/local/lib/python2.7/site-packages/pip/commands/install.py", line 342, in run
2017-02-24 02:13:11.879 | prefix=options.prefix_path,
2017-02-24 02:13:11.879 | File "/opt/stack/new/tempest/.tox/tempest/local/lib/python2.7/site-packages/pip/req/req_set.py", line 784, in install
2017-02-24 02:13:11.879 | **kwargs
2017-02-24 02:13:11.879 | File "/opt/stack/new/tempest/.tox/tempest/local/lib/python2.7/site-packages/pip/req/req_install.py", line 851, in install
2017-02-24 02:13:11.879 | self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
2017-02-24 02:13:11.879 | File "/opt/stack/new/tempest/.tox/tempest/local/lib/python2.7/site-packages/pip/req/req_install.py", line 1064, in move_wheel_files
2017-02-24 02:13:11.879 | isolated=self.isolated,
2017-02-24 02:13:11.879 | File "/opt/stack/new/tempest/.tox/tempest/local/lib/python2.7/site-packages/pip/wheel.py", line 247, in move_wheel_files
2017-02-24 02:13:11.879 | prefix=prefix,
2017-02-24 02:13:11.879 | File "/opt/stack/new/tempest/.tox/tempest/local/lib/python2.7/site-packages/pip/locations.py", line 140, in distutils_scheme
2017-02-24 02:13:11.879 | d = Distribution(dist_args)
2017-02-24 02:13:11.879 | File "/opt/stack/new/tempest/.tox/tempest/local/lib/python2.7/site-packages/setuptools/dist.py", line 320, in __init__
2017-02-24 02:13:11.879 | _Distribution.__init__(self, attrs)
2017-02-24 02:13:11.879 | File "/usr/lib/python2.7/distutils/dist.py", line 287, in __init__
2017-02-24 02:13:11.879 | self.finalize_options()
2017-02-24 02:13:11.879 | File "/opt/stack/new/tempest/.tox/tempest/local/lib/python2.7/site-packages/setuptools/dist.py", line 386, in finalize_options
2017-02-24 02:13:11.880 | ep.require(installer=self.fetch_build_egg)
2017-02-24 02:13:11.880 | File "/opt/stack/new/tempest/.tox/tempest/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2324, in require
2017-02-24 02:13:11.880 | items = working_set.resolve(reqs, env, installer, extras=self.extras)
2017-02-24 02:13:11.880 | File "/opt/stack/new/tempest/.tox/tempest/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 862, in resolve
2017-02-24 02:13:11.880 | new_requirements = dist.requires(req.extras)[::-1]
2017-02-24 02:13:11.880 | File "/opt/stack/new/tempest/.tox/tempest/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2568, in requires
2017-02-24 02:13:11.880 | dm = self._dep_map
2017-02-24 02:13:11.880 | File "/opt/stack/new/tempest/.tox/tempest/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2815, in _dep_map
2017-02-24 02:13:11.880 | self.__dep_map = self._compute_dependencies()
2017-02-24 02:13:11.880 | File "/opt/stack/new/tempest/.tox/tempest/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2824, in _compute_dependencies
2017-02-24 02:13:11.880 | for req in self._parsed_pkg_info.get_all('Requires-Dist') or []:
2017-02-24 02:13:11.880 | File "/opt/stack/new/tempest/.tox/tempest/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2806, in _parsed_pkg_info
2017-02-24 02:13:11.880 | metadata = self.get_metadata(self.PKG_INFO)
2017-02-24 02:13:11.880 | File "/opt/stack/new/tempest/.tox/tempest/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 1468, in get_metadata
2017-02-24 02:13:11.880 | value = self._get(self._fn(self.egg_info, name))
2017-02-24 02:13:11.880 | File "/opt/stack/new/tempest/.tox/tempest/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 1577, in _get
2017-02-24 02:13:11.880 | with open(path, 'rb') as stream:
2017-02-24 02:13:11.880 | IOError: [Errno 2] No such file or directory: '/opt/stack/new/tempest/.tox/tempest/lib/python2.7/site-packages/appdirs-1.4.1.dist-info/METADATA'
2017-02-24 02:13:12.031 | + lib/tempest:install_tempest:1 : exit_trap

http://paste.openstack.org/show/600317/

I am not using pypi mirrors like upstream CI so the behavior might be different, because upstream CI doesn't fail here:
2017-02-23 23:19:17.996 | Collecting appdirs===1.4.0 (from -c ../requirements/upper-constraints.txt (line 74))
2017-02-23 23:19:18.523 | Downloading http://mirror.gra1.ovh.openstack.org/pypi/packages/7b/8b/eebc6e2002a1e0383f1c7108d0111d4d33ea93bf417d7e19e43ec9b87b2b/appdirs-1.4.0-py2.py3-none-any.whl
2017-02-23 23:19:18.530 | Requirement already satisfied: packaging===16.8 in ./.tox/tempest/lib/python2.7/site-packages (from -c ../requirements/upper-constraints.txt (line 294))
2017-02-23 23:19:18.534 | Requirement already satisfied: pycparser===2.17 in ./.tox/tempest/lib/python2.7/site-packages (from -c ../requirements/upper-constraints.txt (line 323))
2017-02-23 23:19:18.535 | Installing collected packages: appdirs, cmd2
2017-02-23 23:19:18.535 | Found existing installation: appdirs 1.4.1
2017-02-23 23:19:18.541 | Uninstalling appdirs-1.4.1:
2017-02-23 23:19:18.547 | Successfully uninstalled appdirs-1.4.1
2017-02-23 23:19:18.558 | Found existing installation: cmd2 0.7.0
2017-02-23 23:19:18.562 | Uninstalling cmd2-0.7.0:
2017-02-23 23:19:18.563 | Successfully uninstalled cmd2-0.7.0
2017-02-23 23:19:18.629 | Successfully installed appdirs-1.4.0 cmd2-0.6.9
2017-02-23 23:19:18.708 | ___________________________________ summary ____________________________________
2017-02-23 23:19:18.708 | venv-tempest: commands succeeded
2017-02-23 23:19:18.708 | congratulations :)

my node is built everyday by nodepool with latest pip 9.0.1 and setuptools, which was upgraded to 34.3.0 by devstack.

Revision history for this message
Jerry Zhao (zhaoxinyu) wrote :
Revision history for this message
Jerry Zhao (zhaoxinyu) wrote :

setuptools is pinned in global requirements https://review.openstack.org/#/c/436948/ but devstack script would not honor it. it just upgrade to whatever latest version there is.
https://github.com/openstack-dev/devstack/blob/master/tools/install_pip.sh#L147

Revision history for this message
Ian Wienand (iwienand) wrote :

It seems 34.3.0 was released which is not pinned, it was released just a little after the original pinning change. see https://review.openstack.org/#/c/437741/

Changed in devstack:
status: New → In Progress
Revision history for this message
Sam Wan (sam-wan) wrote :

Hi,

Pinning setuptools version in global-requirements.txt does not fix this issue because devstack installs tempset using tox which will install the latest version of setuptools, ie: 34.3.0 in tox virtualenv. Thus we still have this issue even https://review.openstack.org/#/c/437741/ is merged.

I've submitted a new patch for this https://review.openstack.org/#/c/437880/.

thanks and regards

Revision history for this message
Ronnie Gauny (rgauny) wrote :
Download full text (3.3 KiB)

Seems like it's still an issue, failing at Installing collectd now with appdirs.

Installing collected packages: appdirs, cmd2
==> devstack: 2017-02-25 15:32:46.818 | Found existing installation: appdirs 1.4.2
==> devstack: 2017-02-25 15:32:46.821 | Uninstalling appdirs-1.4.2:
==> devstack: 2017-02-25 15:32:46.825 | Successfully uninstalled appdirs-1.4.2
==> devstack: 2017-02-25 15:32:46.875 | Rolling back uninstall of appdirs
==> devstack: 2017-02-25 15:32:46.879 | Exception:
==> devstack: 2017-02-25 15:32:46.879 | Traceback (most recent call last):
==> devstack: 2017-02-25 15:32:46.879 | File "/opt/stack/tempest/.tox/tempest/local/lib/python2.7/site-packages/pip/basecommand.py", line 215, in main
==> devstack: 2017-02-25 15:32:46.879 | status = self.run(options, args)
==> devstack: 2017-02-25 15:32:46.879 | File "/opt/stack/tempest/.tox/tempest/local/lib/python2.7/site-packages/pip/commands/install.py", line 342, in run
==> devstack: 2017-02-25 15:32:46.879 | prefix=options.prefix_path,
==> devstack: 2017-02-25 15:32:46.879 | File "/opt/stack/tempest/.tox/tempest/local/lib/python2.7/site-packages/pip/req/req_set.py", line 784, in install
==> devstack: 2017-02-25 15:32:46.879 | **kwargs
==> devstack: 2017-02-25 15:32:46.879 | File "/opt/stack/tempest/.tox/tempest/local/lib/python2.7/site-packages/pip/req/req_install.py", line 851, in install
==> devstack: 2017-02-25 15:32:46.879 | self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
==> devstack: 2017-02-25 15:32:46.879 | File "/opt/stack/tempest/.tox/tempest/local/lib/python2.7/site-packages/pip/req/req_install.py", line 1064, in move_wheel_files
==> devstack: 2017-02-25 15:32:46.879 | isolated=self.isolated,
==> devstack: 2017-02-25 15:32:46.879 | File "/opt/stack/tempest/.tox/tempest/local/lib/python2.7/site-packages/pip/wheel.py", line 247, in move_wheel_files
==> devstack: 2017-02-25 15:32:46.879 | prefix=prefix,
==> devstack: 2017-02-25 15:32:46.879 | File "/opt/stack/tempest/.tox/tempest/local/lib/python2.7/site-packages/pip/locations.py", line 140, in distutils_scheme
==> devstack: 2017-02-25 15:32:46.879 | d = Distribution(dist_args)
==> devstack: 2017-02-25 15:32:46.879 | File "/opt/stack/tempest/.tox/tempest/local/lib/python2.7/site-packages/setuptools/dist.py", line 320, in __init__
==> devstack: 2017-02-25 15:32:46.879 | _Distribution.__init__(self, attrs)
==> devstack: 2017-02-25 15:32:46.879 | File "/usr/lib/python2.7/distutils/dist.py", line 287, in __init__
==> devstack: 2017-02-25 15:32:46.879 | self.finalize_options()
==> devstack: 2017-02-25 15:32:46.879 | File "/opt/stack/tempest/.tox/tempest/local/lib/python2.7/site-packages/setuptools/dist.py", line 386, in finalize_options
==> devstack: 2017-02-25 15:32:46.879 | ep.require(installer=self.fetch_build_egg)
==> devstack: 2017-02-25 15:32:46.879 | File "/opt/stack/tempest/.tox/tempest/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2324, in require
==> devstack: 2017-02-25 15:32:46.879 | items = working_set.resolve(reqs, env, installer, extras=self.extras)
==> devstack: 2017-02-25 15:32:46.879 | File "/opt/sta...

Read more...

Revision history for this message
Sam Wan (sam-wan) wrote :

Hi Ronnie,

Have you tried my fix: https://review.openstack.org/#/c/437880/ ?

Revision history for this message
Jerry Zhao (zhaoxinyu) wrote :
Changed in devstack:
status: In Progress → Fix Committed
Revision history for this message
Sam Wan (sam-wan) wrote :
Revision history for this message
Jerry Zhao (zhaoxinyu) wrote :

this is still an issue for newton and ocata because the global requirements there is appdirs 1.4.0 instead of 1.4.2 on master branch and pip is trying to uninstall 1.4.2 from tempest venv. and the setuptools in venv is not limited by the global requirements as Sam Wan pointed out.

Revision history for this message
Jerry Zhao (zhaoxinyu) wrote :
Download full text (4.9 KiB)

2017-03-02 22:51:27.836 | Successfully built cmd2 cryptography pycparser retrying
2017-03-02 22:51:27.838 | Installing collected packages: appdirs, pycparser, cffi, cmd2, pbr, stevedore, cliff, idna, pyasn1, ipaddress, cryptography, debtcollector, jsonschema, netaddr, retrying, oslo.i18n, oslo.config, pytz, oslo.utils, oslo.concurrency, oslo.context, oslo.serialization, python-dateutil, oslo.log, paramiko, python-mimeparse, urllib3
2017-03-02 22:51:27.839 | Found existing installation: appdirs 1.4.2
2017-03-02 22:51:27.850 | Uninstalling appdirs-1.4.2:
2017-03-02 22:51:27.861 | Successfully uninstalled appdirs-1.4.2
2017-03-02 22:51:28.018 | Rolling back uninstall of appdirs
2017-03-02 22:51:28.102 | Exception:
2017-03-02 22:51:28.102 | Traceback (most recent call last):
2017-03-02 22:51:28.102 | File "/opt/stack/new/tempest/.tox/tempest/local/lib/python2.7/site-packages/pip/basecommand.py", line 215, in main
2017-03-02 22:51:28.102 | status = self.run(options, args)
2017-03-02 22:51:28.103 | File "/opt/stack/new/tempest/.tox/tempest/local/lib/python2.7/site-packages/pip/commands/install.py", line 342, in run
2017-03-02 22:51:28.103 | prefix=options.prefix_path,
2017-03-02 22:51:28.103 | File "/opt/stack/new/tempest/.tox/tempest/local/lib/python2.7/site-packages/pip/req/req_set.py", line 784, in install
2017-03-02 22:51:28.103 | **kwargs
2017-03-02 22:51:28.103 | File "/opt/stack/new/tempest/.tox/tempest/local/lib/python2.7/site-packages/pip/req/req_install.py", line 851, in install
2017-03-02 22:51:28.103 | self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
2017-03-02 22:51:28.103 | File "/opt/stack/new/tempest/.tox/tempest/local/lib/python2.7/site-packages/pip/req/req_install.py", line 1064, in move_wheel_files
2017-03-02 22:51:28.103 | isolated=self.isolated,
2017-03-02 22:51:28.103 | File "/opt/stack/new/tempest/.tox/tempest/local/lib/python2.7/site-packages/pip/wheel.py", line 247, in move_wheel_files
2017-03-02 22:51:28.103 | prefix=prefix,
2017-03-02 22:51:28.103 | File "/opt/stack/new/tempest/.tox/tempest/local/lib/python2.7/site-packages/pip/locations.py", line 140, in distutils_scheme
2017-03-02 22:51:28.103 | d = Distribution(dist_args)
2017-03-02 22:51:28.103 | File "/opt/stack/new/tempest/.tox/tempest/local/lib/python2.7/site-packages/setuptools/dist.py", line 320, in __init__
2017-03-02 22:51:28.103 | _Distribution.__init__(self, attrs)
2017-03-02 22:51:28.104 | File "/usr/lib/python2.7/distutils/dist.py", line 287, in __init__
2017-03-02 22:51:28.104 | self.finalize_options()
2017-03-02 22:51:28.104 | File "/opt/stack/new/tempest/.tox/tempest/local/lib/python2.7/site-packages/setuptools/dist.py", line 386, in finalize_options
2017-03-02 22:51:28.104 | ep.require(installer=self.fetch_build_egg)
2017-03-02 22:51:28.104 | File "/opt/stack/new/tempest/.tox/tempest/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2324, in require
2017-03-02 22:51:28.104 | items = working_set.resolve(reqs, env, installer, extras=self.extras)
2017-03-02 22:51:28.104 | File "/opt/stack/new/tempest/.tox/tempest/local/lib/python2.7/site-packa...

Read more...

Changed in devstack:
status: Fix Committed → In Progress
Revision history for this message
Devang Doshi (ddoshi) wrote :

Here is my observation.

I see this issue on a fresh setup. Once issue come then I unstack, stack again and then going forward I do not see issue again.

Stack and unstack process suppress this bug.

proposed tempest patch is also not helping.

Revision history for this message
jace (b436412) wrote :

This is still an issue..

Revision history for this message
Sihan Wang (wsihan) wrote :
Download full text (4.0 KiB)

I am failing with 34.3.1

2017-03-08 08:08:18.773 | Traceback (most recent call last):
2017-03-08 08:08:18.773 | File "/opt/stack/tempest/.tox/tempest/local/lib/python2.7/site-packages/pip/basecommand.py", line 215, in main
2017-03-08 08:08:18.774 | status = self.run(options, args)
2017-03-08 08:08:18.774 | File "/opt/stack/tempest/.tox/tempest/local/lib/python2.7/site-packages/pip/commands/install.py", line 342, in run
2017-03-08 08:08:18.774 | prefix=options.prefix_path,
2017-03-08 08:08:18.774 | File "/opt/stack/tempest/.tox/tempest/local/lib/python2.7/site-packages/pip/req/req_set.py", line 784, in install
2017-03-08 08:08:18.774 | **kwargs
2017-03-08 08:08:18.774 | File "/opt/stack/tempest/.tox/tempest/local/lib/python2.7/site-packages/pip/req/req_install.py", line 851, in install
2017-03-08 08:08:18.774 | self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
2017-03-08 08:08:18.774 | File "/opt/stack/tempest/.tox/tempest/local/lib/python2.7/site-packages/pip/req/req_install.py", line 1064, in move_wheel_files
2017-03-08 08:08:18.774 | isolated=self.isolated,
2017-03-08 08:08:18.774 | File "/opt/stack/tempest/.tox/tempest/local/lib/python2.7/site-packages/pip/wheel.py", line 247, in move_wheel_files
2017-03-08 08:08:18.774 | prefix=prefix,
2017-03-08 08:08:18.774 | File "/opt/stack/tempest/.tox/tempest/local/lib/python2.7/site-packages/pip/locations.py", line 140, in distutils_scheme
2017-03-08 08:08:18.774 | d = Distribution(dist_args)
2017-03-08 08:08:18.774 | File "/opt/stack/tempest/.tox/tempest/local/lib/python2.7/site-packages/setuptools/dist.py", line 320, in __init__
2017-03-08 08:08:18.774 | _Distribution.__init__(self, attrs)
2017-03-08 08:08:18.774 | File "/usr/lib/python2.7/distutils/dist.py", line 287, in __init__
2017-03-08 08:08:18.774 | self.finalize_options()
2017-03-08 08:08:18.774 | File "/opt/stack/tempest/.tox/tempest/local/lib/python2.7/site-packages/setuptools/dist.py", line 386, in finalize_options
2017-03-08 08:08:18.774 | ep.require(installer=self.fetch_build_egg)
2017-03-08 08:08:18.774 | File "/opt/stack/tempest/.tox/tempest/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2324, in require
2017-03-08 08:08:18.774 | items = working_set.resolve(reqs, env, installer, extras=self.extras)
2017-03-08 08:08:18.774 | File "/opt/stack/tempest/.tox/tempest/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 862, in resolve
2017-03-08 08:08:18.774 | new_requirements = dist.requires(req.extras)[::-1]
2017-03-08 08:08:18.774 | File "/opt/stack/tempest/.tox/tempest/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2568, in requires
2017-03-08 08:08:18.774 | dm = self._dep_map
2017-03-08 08:08:18.774 | File "/opt/stack/tempest/.tox/tempest/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2815, in _dep_map
2017-03-08 08:08:18.774 | self.__dep_map = self._compute_dependencies()
2017-03-08 08:08:18.774 | File "/opt/stack/tempest/.tox/tempest/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2824, in _compute_dependencies
2017-03-08 08:08:18.774 | ...

Read more...

Revision history for this message
Radoslav Gerganov (rgerganov) wrote :

I have submitted a patch to exclude setuptools 34.3.1 in global-requirements:

https://review.openstack.org/#/c/443099

We also need to excluded this version in https://review.openstack.org/#/c/437880/

Revision history for this message
yuval shalev (shalev67) wrote :

I'm having he same problem with the newton/stable branch

Revision history for this message
IBM zVM CI (zvmosci) wrote :

I have the same problem, but it my case it's the rollback of appdirs 1.4.3 to 1.4.0 is causing my stable/newton third-party CI's to fail.

There are a few commits related to topic appdirs_newton
https://review.openstack.org/#/c/454927/
https://review.openstack.org/#/c/446758/
https://review.openstack.org/#/c/447025/

Has anyone found a workaround for this?

Revision history for this message
Tim Serewicz (h-tim-2) wrote :

This continues to be a show-stopper at least with Newton on Ubuntu 16.04. Simply running stack.sh twice will not fix it. While not an elegant workaround I have found these steps work:

    sudo -i
    apt-get update ; apt-get -y upgrade ; apt-get install -y git vim python-pip
    ## You will need to answer a question in the middle of the upgrade. Use enter to choose default

    pip install --upgrade setuptools
    pip install --upgrade urllib3
    pip install --upgrade urllib3[secure]
    apt-get install -y python-jpype python-dev
    pip install --upgrade apptools appdirs

    exit #back to Ubuntu user

    git clone https://git.openstack.org/openstack-dev/devstack -b stable/newton

    cd devstack/
    vim local.conf
    ## Populate with various settings you usually use

    ./stack.sh
    #This wil fail after about ten minutes

    sudo -H pip install --upgrade appdirs
    ./stack.sh
    # This time ./stack.sh should complete and work

Hopefully this at least can get devstack working for you. If I can find a more automated fashion, please let me know.

Revision history for this message
Jerry Zhao (zhaoxinyu) wrote :

this would fix the failure.
https://review.openstack.org/#/c/454927/

Revision history for this message
Tim Serewicz (h-tim-2) wrote :

Thank you Jerry! Perfect. For others like me who didn't/don't know how to implement the change Jerry mentioned, this worked for me:

Clone devstack
    #As ubuntu user create the directory for the repo to download into
    sudo mkdir -p /opt/stack/requirements

    #Make sure Ubuntu can write to it
    sudo chown -R ubuntu:ubuntu /opt/stack/

    #Clone the requirements project into the newly created directory.
    git clone git://git.openstack.org/openstack/requirements.git /opt/stack/requirements -b stable/newton

    #Replace the version of appdirs to already use the newest to avoid the headache.
    sed -i 's/appdirs===1.4.0/appdirs===1.4.3/' /opt/stack/requirements/upper-constraints.txt

Then continue on as normal with creation of local.conf and the ./stack.sh.

Revision history for this message
Jerry Zhao (zhaoxinyu) wrote :

You can also set the global requirements branch/ref in local.conf [DEFAULT] section.
use this parameter to override the default
REQUIREMENTS_BRANCH=refs/changes/27/454927/1

Revision history for this message
Sean Dague (sdague) wrote :

There are no currently open reviews on this bug, changing the status back to the previous state and unassigning. If there are active reviews related to this bug, please include links in comments.

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

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.