da36ad16e1
In some use cases, notably testing, it can be handy to do database migrations when the web service starts up. This changes adds that functionality, controlled by a [placement_database]/sync_on_startup option that defaults to False. When True, `migration.upgrade('head')` will be called before the placement application is made available to the wsgi server. Alembic protects us against concurrency issues and prevents re-doing already done migrations. This means that it is possible, with the help of oslo.config>=6.7.0 to do something like this: OS_PLACEMENT_DATABASE__CONNECTION=sqlite:// \ OS_PLACEMENT_DATABASE__SYNC_ON_STARTUP=True \ OS_API__AUTH_STRATEGY=noauth2 \ .tox/py36/bin/placement-api and have a ready to go placement api using an in-RAM sql database. A reno is added. Change-Id: Ie43a69be8b75250d9deca6a911eda7b722ef8648