tox fails to run on tripleo-common with tox.ConfigError: ConfigError: No support for the tty substitution type

Bug #1833754 reported by Alex Schultz
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tripleo
Fix Released
High
Sorin Sbarnea

Bug Description

Introduced with https://review.opendev.org/#/c/663336/31/tox.ini

$ tox -e py36
Traceback (most recent call last):
  File "/home/aschultz/.pyenv/versions/3.6.2/bin/tox", line 11, in <module>
    sys.exit(run_main())
  File "/home/aschultz/.pyenv/versions/3.6.2/lib/python3.6/site-packages/tox/session.py", line 40, in run_main
    main(args)
  File "/home/aschultz/.pyenv/versions/3.6.2/lib/python3.6/site-packages/tox/session.py", line 45, in main
    config = prepare(args)
  File "/home/aschultz/.pyenv/versions/3.6.2/lib/python3.6/site-packages/tox/session.py", line 27, in prepare
    config = parseconfig(args)
  File "/home/aschultz/.pyenv/versions/3.6.2/lib/python3.6/site-packages/tox/config.py", line 271, in parseconfig
    parseini(config, inipath)
  File "/home/aschultz/.pyenv/versions/3.6.2/lib/python3.6/site-packages/tox/config.py", line 838, in __init__
    config.envconfigs[name] = self.make_envconfig(name, section, reader._subs, config)
  File "/home/aschultz/.pyenv/versions/3.6.2/lib/python3.6/site-packages/tox/config.py", line 866, in make_envconfig
    res = meth(env_attr.name, env_attr.default, replace=replace)
  File "/home/aschultz/.pyenv/versions/3.6.2/lib/python3.6/site-packages/tox/config.py", line 1062, in getargvlist
    return _ArgvlistReader.getargvlist(self, s, replace=replace)
  File "/home/aschultz/.pyenv/versions/3.6.2/lib/python3.6/site-packages/tox/config.py", line 1247, in getargvlist
    commands.append(cls.processcommand(reader, current_command, replace))
  File "/home/aschultz/.pyenv/versions/3.6.2/lib/python3.6/site-packages/tox/config.py", line 1278, in processcommand
    new_word = reader._replace(word)
  File "/home/aschultz/.pyenv/versions/3.6.2/lib/python3.6/site-packages/tox/config.py", line 1108, in _replace
    replaced = Replacer(self, crossonly=crossonly).do_replace(value)
  File "/home/aschultz/.pyenv/versions/3.6.2/lib/python3.6/site-packages/tox/config.py", line 1141, in do_replace
    expanded = substitute_once(value)
  File "/home/aschultz/.pyenv/versions/3.6.2/lib/python3.6/site-packages/tox/config.py", line 1139, in substitute_once
    return self.RE_ITEM_REF.sub(self._replace_match, x)
  File "/home/aschultz/.pyenv/versions/3.6.2/lib/python3.6/site-packages/tox/config.py", line 1179, in _replace_match
    "No support for the %s substitution type" % sub_type)
tox.ConfigError: ConfigError: No support for the tty substitution type

Revision history for this message
Alex Schultz (alex-schultz) wrote :

$ pip freeze
filelock==3.0.12
importlib-metadata==0.18
pluggy==0.12.0
py==1.8.0
six==1.12.0
toml==0.10.0
tox==3.12.1
virtualenv==16.6.1
zipp==0.5.1

Revision history for this message
Alex Schultz (alex-schultz) wrote :

hmm despite saying tox==3.12.1, I appear to be getting 3.0.0

Revision history for this message
Alex Schultz (alex-schultz) wrote :

i think it's my pyenv doing silly stuff

Changed in tripleo:
status: Triaged → Invalid
Revision history for this message
Sorin Sbarnea (ssbarnea) wrote :

Not sure in which version of tox this was added but it was long time ago, upgrade tox and try again.

The option is important as it provides real time output when run on a tty and allows capture on. on non-tty (CI).

Sorin Sbarnea (ssbarnea)
Changed in tripleo:
assignee: nobody → Sorin Sbarnea (ssbarnea)
Revision history for this message
Sorin Sbarnea (ssbarnea) wrote :

Alex, please try https://review.opendev.org/#/c/667056/ and tell me if it fixes the issue for you.

Newer versions of tox are even able to upgrade itself in temporary virtualenv in order to use correct version. Clearly not bumping minversion was the source of the bug.

Changed in tripleo:
status: Invalid → Confirmed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/tripleo-common 11.1.0

This issue was fixed in the openstack/tripleo-common 11.1.0 release.

Changed in tripleo:
milestone: train-2 → train-3
Changed in tripleo:
milestone: train-3 → ussuri-1
Sorin Sbarnea (ssbarnea)
Changed in tripleo:
status: Confirmed → Fix Released
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.