Skip to content
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

os_release incorrectly detects openstack version by keystone-middleware package if openstack-origin is not present #83

dshcherb opened this issue Jan 6, 2018 · 0 comments


Copy link

@dshcherb dshcherb commented Jan 6, 2018

For most of the OpenStack charms openstack-origin is present, however, subordinates may not always have this option because they rely on a primary charm's versions (e.g. keystone-ldap charm) given that they share a machine and debian packages (not sure how snaps will be handled in this case).

charms.openstack has default_select_release which uses python-keystonemiddleware as a package to be passed to os_release unconditionally:

There is no definition for python-keystonemiddleware in PACKAGE_CODENAMES

which is why OPENSTACK_CODENAMES are used:

For python-keystonemiddleware this results in KeyError because it uses different versions from the ones in OPENSTACK_CODENAMES (. versioning has no relevance):
A sample unfiltered trace (search for "KeyError: '4.14'"):

And, finally, _os_rel == base == 'essex' is returned from os_release:

This is quite problematic as default_select_release release selector from charms.openstack doesn't take release_pkg into account even if it is present in a charm class definition (because a handler is not aware of the charm class in use):

camille-rodriguez added a commit to camille-rodriguez/keystone-kerberos that referenced this issue Feb 25, 2020
openstack-origin is not present in the subordinate charm
see juju/charm-helpers#83
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
1 participant
You can’t perform that action at this time.