[openstack-dev] [devstack]VersionConflict exception during stack.sh - resend with explanation.

Wanjing Xu (waxu) waxu at cisco.com
Wed Dec 7 06:20:52 UTC 2016


Thanks Tony for reply
This is Jenkins third party.  So it is doing unstack and removing repo and stack again from master branch.  

It has been running OK and then it was disable for about a month.  Now when we reenabled it, it has this versionconflict one-by-one.  After I manually installed the required version for a lot of modules, it is OK now.  But I was just wondering why it won’t install the required package automatically instead of throwing exception?

You can look at our ci http://192.133.158.2:8080/job/cisco_zm_cinder/, look at all the failed cases yesterday.  I manually invoked pip install –c –e …   it will throw exception, is this really expected?  If it is not replace the modules with the required version, this kind of failure will happen again if somebody changed the requirement or constraints.

localadmin at ubuntu-dmz:/opt/stack/horizon$ sudo -H http_proxy= https_proxy= no_proxy= PIP_FIND_LINKS= SETUPTOOLS_SYS_PATH_TECHNIQUE=rewrite /usr/local/bin/pip2.7 install -c /opt/stack/requirements/upper-constraints.txt -v -e /opt/stack/horizon
Ignoring dnspython3: markers 'python_version == "3.4"' don't match your environment
Ignoring dnspython3: markers 'python_version == "3.5"' don't match your environment
Obtaining file:///opt/stack/horizon
  Running setup.py (path:/opt/stack/horizon/setup.py) egg_info for package from file:///opt/stack/horizon
    Running command python setup.py egg_info
    running egg_info
    writing requirements to horizon.egg-info/requires.txt
    writing horizon.egg-info/PKG-INFO
    writing top-level names to horizon.egg-info/top_level.txt
    writing dependency_links to horizon.egg-info/dependency_links.txt
    writing pbr to horizon.egg-info/pbr.json
    [pbr] Processing SOURCES.txt
    [pbr] In git context, generating filelist from git
    warning: no files found matching 'AUTHORS'
    warning: no files found matching 'ChangeLog'
    warning: no previously-included files matching '*.pyc' found anywhere in distribution
    reading manifest template 'MANIFEST.in'
    warning: no files found matching '*.scss' under directory 'doc'
    warning: no files found matching '*.js' under directory 'doc'
    warning: no files found matching '*.html' under directory 'doc'
    warning: no files found matching '*.conf' under directory 'doc'
    warning: no files found matching '*.jpg' under directory 'doc'
    warning: no files found matching '*.gif' under directory 'doc'
    warning: no files found matching '*.csv' under directory 'horizon'
    warning: no files found matching '*.template' under directory 'horizon'
    warning: no files found matching '*.mo' under directory 'horizon'
    warning: no files found matching '*.mo' under directory 'openstack_dashboard'
    warning: no files found matching '*.eot' under directory 'openstack_dashboard'
    warning: no files found matching '*.ttf' under directory 'openstack_dashboard'
    warning: no files found matching '*.woff' under directory 'openstack_dashboard'
    warning: no files found matching 'AUTHORS'
    warning: no files found matching 'ChangeLog'
    warning: no files found matching 'doc/source/_templates/.placeholder'
    warning: no previously-included files found matching 'openstack_dashboard/local/local_settings.py'
    writing manifest file 'horizon.egg-info/SOURCES.txt'
  Source in /opt/stack/horizon has version 11.0.0.0b2.dev67, which satisfies requirement horizon==11.0.0.0b2.dev67 from file:///opt/stack/horizon
Cleaning up...
Exception:
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/usr/local/lib/python2.7/dist-packages/pip/commands/install.py", line 335, in run
    wb.build(autobuilding=True)
  File "/usr/local/lib/python2.7/dist-packages/pip/wheel.py", line 749, in build
    self.requirement_set.prepare_files(self.finder)
  File "/usr/local/lib/python2.7/dist-packages/pip/req/req_set.py", line 380, in prepare_files
    ignore_dependencies=self.ignore_dependencies))
  File "/usr/local/lib/python2.7/dist-packages/pip/req/req_set.py", line 521, in _prepare_file
    req_to_install.check_if_exists()
  File "/usr/local/lib/python2.7/dist-packages/pip/req/req_install.py", line 1036, in check_if_exists
    self.req.name
  File "/usr/local/lib/python2.7/dist-packages/pip/_vendor/pkg_resources/__init__.py", line 558, in get_distribution
    dist = get_provider(dist)
  File "/usr/local/lib/python2.7/dist-packages/pip/_vendor/pkg_resources/__init__.py", line 432, in get_provider
    return working_set.find(moduleOrReq) or require(str(moduleOrReq))[0]
  File "/usr/local/lib/python2.7/dist-packages/pip/_vendor/pkg_resources/__init__.py", line 968, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/local/lib/python2.7/dist-packages/pip/_vendor/pkg_resources/__init__.py", line 859, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
ContextualVersionConflict: (python-heatclient 1.5.0 (/usr/local/lib/python2.7/dist-packages), Requirement.parse('python-heatclient>=1.6.1'), set(['horizon']))

Thanks!

Wanjing
On 12/6/16, 2:34 PM, "Tony Breeds" <tony at bakeyournoodle.com> wrote:

    On Tue, Dec 06, 2016 at 08:02:23PM +0000, Wanjing Xu (waxu) wrote:
    > 
    > Hi, 
    > My devstack had been OK a month ago. But recently it keeps having this
    > VersionConflict  error.  If I manually install the required module version,
    > it will move on but then it will error out at some other module.  I have
    > manually installed and fixed about 8 such modules, still it is not ending.  I
    > guess I have something fundamental that I missed.  Could somebody please help
    > me?  I was reading the pip code, there is some replace_conflicting env, but I
    > don’t know how to set it, maybe it is set in vendor package?
    
    You'll need to provide a little more information.  I'm assuming that you have a
    devstack setup that you're ./unstack,sh ; ./stack.sh to upgrade? and overtime
    the repos are gettiing out of sync.
    
    Can you explain what you're doing?
    
    Also can you please provide the out of:
    pip freeze | sort
    for repo in /opt/stack/* ; do (cd $repo ; [ -d .git ] && git describe ) ; done
    
    That will help us understand what you have and why the constratints file
    appears to be ineffective.
    
    Tony.
    



More information about the OpenStack-dev mailing list