-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Commands not found on Debian Buster ('init' is not a stestr command.) #336
Comments
A failing run (https://zuul.opendev.org/t/zuul/build/3f94b03ab2fe414ab9447e6574a7794c/console)
A passing run (https://zuul.opendev.org/t/zuul/build/34d8dae0dd944dffaa0b704cd9e1e061/console)
I guess the difference here is |
Downgrading this does seem to work
I also tried this in a fresh venv making sure to pre-upgrade pip & setuptools in the venv, but that didn't seem to make a difference to the behaviour |
This has now led me to python/importlib_metadata#411 which seems to be more or less the same problem; imports not quite working with Python 3.7 (which Debian Buster has). It seems like https://opendev.org/openstack/stevedore/commit/143a3e9f0716690be7343d4d083f65d7624b3d2e however clearly it's not working. Still unclear what the failing component is ... |
I think this is ultimately a stevedore issue https://review.opendev.org/c/openstack/stevedore/+/861695 |
A Debian Buster-based zuul-jobs test started failing when using stestr recently [1]. Upon further investigation, this is a Python 3.7 environment which is affected by a recent breaking change to importlib_metadata. It seems stevedore worked around this with Ib9c2b0a14edea91e97d122d2ac93b650029f918e, which was released with 3.5.1 -- but I was still seeing the issue. Upon further investigation, the "real_groups" dict being returned here with importlib-metadata 4.12.0 is in buckets by group, e.g. {'group.one': [EntryPoint(name='foo', ... , group='group.one'), EntryPoint(name='bar', ... , group='group.one')], 'group.two': [EntryPoint(name='moo', ... , group='group.two'), EntryPoint(name='goo', ... , group='group.two')], } This current code seems to return a dict with entry-points by thier name, e.g. {'foo': EntryPoint(name='foo', ... , group='group.one), 'bar': EntryPoint(name='bar', ... , group='group.one), 'moo': EntryPoint(name='moo', ... , group='group.two), 'goo': EntryPoint(name='goo', ... , group='group.two) } This reorgansies the fixup routine to put entry-points in a bucket by their group. With this change, stestr is again finding it's command plugins. [1] mtreinish/stestr#336 [2] python/importlib_metadata#409 Change-Id: I3496ab1dfa312b1098a869cdfd9a0c6f81653b28
* Update stevedore from branch 'master' to 5189992d719ad15e0e3504947895bf5ba9dc7a1d - Order old importlib-metadata results by group A Debian Buster-based zuul-jobs test started failing when using stestr recently [1]. Upon further investigation, this is a Python 3.7 environment which is affected by a recent breaking change to importlib_metadata. It seems stevedore worked around this with Ib9c2b0a14edea91e97d122d2ac93b650029f918e, which was released with 3.5.1 -- but I was still seeing the issue. Upon further investigation, the "real_groups" dict being returned here with importlib-metadata 4.12.0 is in buckets by group, e.g. {'group.one': [EntryPoint(name='foo', ... , group='group.one'), EntryPoint(name='bar', ... , group='group.one')], 'group.two': [EntryPoint(name='moo', ... , group='group.two'), EntryPoint(name='goo', ... , group='group.two')], } This current code seems to return a dict with entry-points by thier name, e.g. {'foo': EntryPoint(name='foo', ... , group='group.one), 'bar': EntryPoint(name='bar', ... , group='group.one), 'moo': EntryPoint(name='moo', ... , group='group.two), 'goo': EntryPoint(name='goo', ... , group='group.two) } This reorgansies the fixup routine to put entry-points in a bucket by their group. With this change, stestr is again finding it's command plugins. [1] mtreinish/stestr#336 [2] python/importlib_metadata#409 Change-Id: I3496ab1dfa312b1098a869cdfd9a0c6f81653b28
A Debian Buster-based zuul-jobs test started failing when using stestr recently [1]. Upon further investigation, this is a Python 3.7 environment which is affected by a recent breaking change to importlib_metadata. It seems stevedore worked around this with Ib9c2b0a14edea91e97d122d2ac93b650029f918e, which was released with 3.5.1 -- but I was still seeing the issue. Upon further investigation, the "real_groups" dict being returned here with importlib-metadata 4.12.0 is in buckets by group, e.g. {'group.one': [EntryPoint(name='foo', ... , group='group.one'), EntryPoint(name='bar', ... , group='group.one')], 'group.two': [EntryPoint(name='moo', ... , group='group.two'), EntryPoint(name='goo', ... , group='group.two')], } This current code seems to return a dict with entry-points by thier name, e.g. {'foo': EntryPoint(name='foo', ... , group='group.one), 'bar': EntryPoint(name='bar', ... , group='group.one), 'moo': EntryPoint(name='moo', ... , group='group.two), 'goo': EntryPoint(name='goo', ... , group='group.two) } This reorgansies the fixup routine to put entry-points in a bucket by their group. With this change, stestr is again finding it's command plugins. [1] mtreinish/stestr#336 [2] python/importlib_metadata#409 Change-Id: I3496ab1dfa312b1098a869cdfd9a0c6f81653b28 (cherry picked from commit 5189992)
A Debian Buster-based zuul-jobs test started failing when using stestr recently [1]. Upon further investigation, this is a Python 3.7 environment which is affected by a recent breaking change to importlib_metadata. It seems stevedore worked around this with Ib9c2b0a14edea91e97d122d2ac93b650029f918e, which was released with 3.5.1 -- but I was still seeing the issue. Upon further investigation, the "real_groups" dict being returned here with importlib-metadata 4.12.0 is in buckets by group, e.g. {'group.one': [EntryPoint(name='foo', ... , group='group.one'), EntryPoint(name='bar', ... , group='group.one')], 'group.two': [EntryPoint(name='moo', ... , group='group.two'), EntryPoint(name='goo', ... , group='group.two')], } This current code seems to return a dict with entry-points by thier name, e.g. {'foo': EntryPoint(name='foo', ... , group='group.one), 'bar': EntryPoint(name='bar', ... , group='group.one), 'moo': EntryPoint(name='moo', ... , group='group.two), 'goo': EntryPoint(name='goo', ... , group='group.two) } This reorgansies the fixup routine to put entry-points in a bucket by their group. With this change, stestr is again finding it's command plugins. [1] mtreinish/stestr#336 [2] python/importlib_metadata#409 Change-Id: I3496ab1dfa312b1098a869cdfd9a0c6f81653b28 (cherry picked from commit 5189992) (cherry picked from commit 93f1e09)
A Debian Buster-based zuul-jobs test started failing when using stestr recently [1]. Upon further investigation, this is a Python 3.7 environment which is affected by a recent breaking change to importlib_metadata. It seems stevedore worked around this with Ib9c2b0a14edea91e97d122d2ac93b650029f918e, which was released with 3.5.1 -- but I was still seeing the issue. Upon further investigation, the "real_groups" dict being returned here with importlib-metadata 4.12.0 is in buckets by group, e.g. {'group.one': [EntryPoint(name='foo', ... , group='group.one'), EntryPoint(name='bar', ... , group='group.one')], 'group.two': [EntryPoint(name='moo', ... , group='group.two'), EntryPoint(name='goo', ... , group='group.two')], } This current code seems to return a dict with entry-points by thier name, e.g. {'foo': EntryPoint(name='foo', ... , group='group.one), 'bar': EntryPoint(name='bar', ... , group='group.one), 'moo': EntryPoint(name='moo', ... , group='group.two), 'goo': EntryPoint(name='goo', ... , group='group.two) } This reorgansies the fixup routine to put entry-points in a bucket by their group. With this change, stestr is again finding it's command plugins. [1] mtreinish/stestr#336 [2] python/importlib_metadata#409 Change-Id: I3496ab1dfa312b1098a869cdfd9a0c6f81653b28 (cherry picked from commit 5189992) (cherry picked from commit 93f1e09) (cherry picked from commit 6c9978a)
A Debian Buster-based zuul-jobs test started failing when using stestr recently [1]. Upon further investigation, this is a Python 3.7 environment which is affected by a recent breaking change to importlib_metadata. It seems stevedore worked around this with Ib9c2b0a14edea91e97d122d2ac93b650029f918e, which was released with 3.5.1 -- but I was still seeing the issue. Upon further investigation, the "real_groups" dict being returned here with importlib-metadata 4.12.0 is in buckets by group, e.g. {'group.one': [EntryPoint(name='foo', ... , group='group.one'), EntryPoint(name='bar', ... , group='group.one')], 'group.two': [EntryPoint(name='moo', ... , group='group.two'), EntryPoint(name='goo', ... , group='group.two')], } This current code seems to return a dict with entry-points by thier name, e.g. {'foo': EntryPoint(name='foo', ... , group='group.one), 'bar': EntryPoint(name='bar', ... , group='group.one), 'moo': EntryPoint(name='moo', ... , group='group.two), 'goo': EntryPoint(name='goo', ... , group='group.two) } This reorgansies the fixup routine to put entry-points in a bucket by their group. With this change, stestr is again finding it's command plugins. [1] mtreinish/stestr#336 [2] python/importlib_metadata#409 Change-Id: I3496ab1dfa312b1098a869cdfd9a0c6f81653b28 (cherry picked from commit 5189992) (cherry picked from commit 93f1e09) (cherry picked from commit 6c9978a) (cherry picked from commit 1c12706)
Issue description
I'm not exactly sure what is going on, but trying to install this an Debian Buster environment (that's where this test is failing), it seems like stestr can't find it's commands.
There don't seem to be any errors even in debug mode
For reference this appeared in Zuul testing @ https://zuul.opendev.org/t/zuul/build/3f94b03ab2fe414ab9447e6574a7794c/console#1/9/13/debian-buster
The text was updated successfully, but these errors were encountered: