Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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
- Loading branch information