Dmitriy Rabotyagov 4e2e36ad77 Fix DB migrations after alembic integration
With a change to swap sqlalchemy-migrate with alembic [1]
a `db_sync --check` was broken.

This is due to both `upgrades.get_db_version` and
`upgrades.get_current_heads` are actually checking "current" state of
the dabase by calling _get_current_heads[2][3], while obvious intention
was to compare intended state with current state.

With that we're introducing upgrade.get_head_revisions which will fetch
revisions not from the database, but from the environment [4]

As a result `db_sync --check` does compare desired state of the DB with
actual state and exists with corresponsive status again.

[1] f174b4fa7c
[2] https://opendev.org/openstack/keystone/src/branch/master/keystone/common/sql/upgrades.py#L147
[3] https://opendev.org/openstack/keystone/src/branch/master/keystone/common/sql/upgrades.py#L191
[4] https://alembic.sqlalchemy.org/en/latest/api/runtime.html#alembic.runtime.environment.EnvironmentContext.get_head_revisions

Closes-Bug: #2080542
Change-Id: I854d37e3b4a34a7880f157564466bde61a3f886a
(cherry picked from commit 5125d9feed)
2025-05-01 10:39:55 +00:00
2024-02-27 13:13:01 +00:00
2024-03-13 22:09:30 +09:00
2021-08-04 14:25:06 -04:00
2018-05-21 16:24:51 +08:00
2020-02-21 13:51:02 -05:00
2024-03-19 10:15:24 +00:00
2015-11-03 16:12:01 -08:00
2017-09-22 11:07:09 -05:00
2024-10-07 11:00:23 -05:00
2017-10-06 16:10:56 +00:00
2012-02-15 17:48:33 -08:00
2024-03-13 19:27:16 +09:00
2023-02-28 17:26:39 +00:00
2020-04-08 08:37:30 +02:00

OpenStack Keystone

image

OpenStack Keystone provides authentication, authorization and service discovery mechanisms via HTTP primarily for use by projects in the OpenStack family. It is most commonly deployed as an HTTP interface to existing identity systems, such as LDAP.

Developer documentation, the source of which is in doc/source/, is published at:

https://docs.openstack.org/keystone/latest

The API reference and documentation are available at:

https://docs.openstack.org/api-ref/identity

The canonical client library is available at:

https://opendev.org/openstack/python-keystoneclient

Documentation for cloud administrators is available at:

https://docs.openstack.org/

The source of documentation for cloud administrators is available at:

https://opendev.org/openstack/openstack-manuals

Information about our team meeting is available at:

https://wiki.openstack.org/wiki/Meetings/KeystoneMeeting

Release notes is available at:

https://docs.openstack.org/releasenotes/keystone

Bugs and feature requests are tracked on Launchpad at:

https://bugs.launchpad.net/keystone

Future design work is tracked at:

https://specs.openstack.org/openstack/keystone-specs

Contributors are encouraged to join IRC (#openstack-keystone on OFTC):

https://wiki.openstack.org/wiki/IRC

Source for the project:

https://opendev.org/openstack/keystone

For information on contributing to Keystone, see CONTRIBUTING.rst.

Description
OpenStack Identity (Keystone)
Readme 242 MiB
Languages
Python 99.5%
Shell 0.5%