The issue is that migration 90 [1] makes password column nullable=False, while the model sets it to nullable=True (which is the default) [2]. New installations, e.g gates running on master, pass the tests we have for that behavior [3], while deployment which had run that migration fail.
Besides fixing the issue in keystone side, we should follow up and create a test to ensure the result of migrations *always* match the current models.
The issue is that migration 90 [1] makes password column nullable=False, while the model sets it to nullable=True (which is the default) [2]. New installations, e.g gates running on master, pass the tests we have for that behavior [3], while deployment which had run that migration fail.
Besides fixing the issue in keystone side, we should follow up and create a test to ensure the result of migrations *always* match the current models.
[1] https:/ /github. com/openstack/ keystone/ blob/312a041/ keystone/ common/ sql/migrate_ repo/versions/ 090_add_ local_user_ and_password_ tables. py#L41 /github. com/openstack/ keystone/ blob/498ea91/ keystone/ identity/ backends/ sql_model. py#L157 /github. com/openstack/ keystone/ blob/498ea91/ keystone/ tests/unit/ test_backend_ sql.py# L229-L250
[2] https:/
[3] https:/