tox -edocs fails when tox picks python 3.x

Bug #1646629 reported by melanie witt
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Fix Released
Low
melanie witt

Bug Description

Currently, the docs target can't be run with python 3.x and fail with a trace like this:

Traceback (most recent call last):classification
  File "setup.py", line 29, in <module>
    pbr=True)
  File "/usr/lib/python3.5/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/usr/lib/python3.5/distutils/dist.py", line 955, in run_commands
    self.run_command(cmd)
  File "/usr/lib/python3.5/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/home/ubuntu/nova/.tox/docs/lib/python3.5/site-packages/pbr/builddoc.py", line 196, in run
    self._sphinx_run()
  File "/home/ubuntu/nova/.tox/docs/lib/python3.5/site-packages/pbr/builddoc.py", line 150, in _sphinx_run
    app.build(force_all=self.all_files)
  File "/home/ubuntu/nova/.tox/docs/lib/python3.5/site-packages/sphinx/application.py", line 261, in build
    self.builder.build_all()
  File "/home/ubuntu/nova/.tox/docs/lib/python3.5/site-packages/sphinx/builders/__init__.py", line 211, in build_all
    self.build(None, summary='all source files', method='all')
  File "/home/ubuntu/nova/.tox/docs/lib/python3.5/site-packages/sphinx/builders/__init__.py", line 265, in build
    self.doctreedir, self.app))
  File "/home/ubuntu/nova/.tox/docs/lib/python3.5/site-packages/sphinx/environment.py", line 547, in update
    self._read_serial(docnames, app)
  File "/home/ubuntu/nova/.tox/docs/lib/python3.5/site-packages/sphinx/environment.py", line 567, in _read_serial
    self.read_doc(docname, app)
  File "/home/ubuntu/nova/.tox/docs/lib/python3.5/site-packages/sphinx/environment.py", line 720, in read_doc
    pub.publish()
  File "/home/ubuntu/nova/.tox/docs/lib/python3.5/site-packages/docutils/core.py", line 217, in publish
    self.settings)
  File "/home/ubuntu/nova/.tox/docs/lib/python3.5/site-packages/sphinx/io.py", line 46, in read
    self.parse()
  File "/home/ubuntu/nova/.tox/docs/lib/python3.5/site-packages/docutils/readers/__init__.py", line 78, in parse
    self.parser.parse(self.input, document)
  File "/home/ubuntu/nova/.tox/docs/lib/python3.5/site-packages/docutils/parsers/rst/__init__.py", line 172, in parse
    self.statemachine.run(inputlines, document, inliner=self.inliner)
  File "/home/ubuntu/nova/.tox/docs/lib/python3.5/site-packages/docutils/parsers/rst/states.py", line 170, in run
    input_source=document['source'])
  File "/home/ubuntu/nova/.tox/docs/lib/python3.5/site-packages/docutils/statemachine.py", line 239, in run
    context, state, transitions)
  File "/home/ubuntu/nova/.tox/docs/lib/python3.5/site-packages/docutils/statemachine.py", line 460, in check_line
    return method(match, context, next_state)
  File "/home/ubuntu/nova/.tox/docs/lib/python3.5/site-packages/docutils/parsers/rst/states.py", line 2961, in text
    self.section(title.lstrip(), source, style, lineno + 1, messages)
  File "/home/ubuntu/nova/.tox/docs/lib/python3.5/site-packages/docutils/parsers/rst/states.py", line 327, in section
    self.new_subsection(title, lineno, messages)
  File "/home/ubuntu/nova/.tox/docs/lib/python3.5/site-packages/docutils/parsers/rst/states.py", line 395, in new_subsection
    node=section_node, match_titles=True)
  File "/home/ubuntu/nova/.tox/docs/lib/python3.5/site-packages/docutils/parsers/rst/states.py", line 282, in nested_parse
    node=node, match_titles=match_titles)
  File "/home/ubuntu/nova/.tox/docs/lib/python3.5/site-packages/docutils/parsers/rst/states.py", line 195, in run
    results = StateMachineWS.run(self, input_lines, input_offset)
  File "/home/ubuntu/nova/.tox/docs/lib/python3.5/site-packages/docutils/statemachine.py", line 239, in run
    context, state, transitions)
  File "/home/ubuntu/nova/.tox/docs/lib/python3.5/site-packages/docutils/statemachine.py", line 460, in check_line
    return method(match, context, next_state)
  File "/home/ubuntu/nova/.tox/docs/lib/python3.5/site-packages/docutils/parsers/rst/states.py", line 2726, in underline
    self.section(title, source, style, lineno - 1, messages)
  File "/home/ubuntu/nova/.tox/docs/lib/python3.5/site-packages/docutils/parsers/rst/states.py", line 327, in section
    self.new_subsection(title, lineno, messages)
  File "/home/ubuntu/nova/.tox/docs/lib/python3.5/site-packages/docutils/parsers/rst/states.py", line 395, in new_subsection
    node=section_node, match_titles=True)
  File "/home/ubuntu/nova/.tox/docs/lib/python3.5/site-packages/docutils/parsers/rst/states.py", line 282, in nested_parse
    node=node, match_titles=match_titles)
  File "/home/ubuntu/nova/.tox/docs/lib/python3.5/site-packages/docutils/parsers/rst/states.py", line 195, in run
    results = StateMachineWS.run(self, input_lines, input_offset)
  File "/home/ubuntu/nova/.tox/docs/lib/python3.5/site-packages/docutils/statemachine.py", line 239, in run
    context, state, transitions)
  File "/home/ubuntu/nova/.tox/docs/lib/python3.5/site-packages/docutils/statemachine.py", line 460, in check_line
    return method(match, context, next_state)
  File "/home/ubuntu/nova/.tox/docs/lib/python3.5/site-packages/docutils/parsers/rst/states.py", line 2299, in explicit_markup
    nodelist, blank_finish = self.explicit_construct(match)
  File "/home/ubuntu/nova/.tox/docs/lib/python3.5/site-packages/docutils/parsers/rst/states.py", line 2311, in explicit_construct
    return method(self, expmatch)
  File "/home/ubuntu/nova/.tox/docs/lib/python3.5/site-packages/docutils/parsers/rst/states.py", line 2054, in directive
    directive_class, match, type_name, option_presets)
  File "/home/ubuntu/nova/.tox/docs/lib/python3.5/site-packages/docutils/parsers/rst/states.py", line 2103, in run_directive
    result = directive_instance.run()
  File "/home/ubuntu/nova/doc/ext/feature_matrix.py", line 153, in run
    return self._build_markup(matrix)
  File "/home/ubuntu/nova/doc/ext/feature_matrix.py", line 298, in _build_markup
    self._build_summary(matrix, content)
  File "/home/ubuntu/nova/doc/ext/feature_matrix.py", line 341, in _build_summary
    impls.sort()
AttributeError: 'dict_keys' object has no attribute 'sort'
ERROR: InvocationError: '/home/ubuntu/nova/.tox/docs/bin/python setup.py build_sphinx'
________________________________________________________________________________________________________________________________________ summary _________________________________________________________________________________________________________________________________________
ERROR: docs: commands failed

melanie witt (melwitt)
Changed in nova:
importance: Undecided → Low
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (master)

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

Changed in nova:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (master)

Reviewed: https://review.openstack.org/405665
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=b05e996ae55233235fa6feb73ddfb9f3c86958d2
Submitter: Jenkins
Branch: master

commit b05e996ae55233235fa6feb73ddfb9f3c86958d2
Author: melanie witt <email address hidden>
Date: Thu Dec 1 22:04:48 2016 +0000

    Always use python2.7 for docs target

    The docs testenv doesn't work with python 3.x on our codebase.
    If someone is on a platform that defaults to python => python3,
    building docs will fail for them.

    Closes-Bug: #1646629

    Change-Id: I56f3933e89e6fe9e181517325e2d7af5110c5656

Changed in nova:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/nova 15.0.0.0b2

This issue was fixed in the openstack/nova 15.0.0.0b2 development milestone.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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