We currently use a more permisive STRICT_ALL_TABLES mode, but that's not what modern MySQL versions default to (i.e. TRADITIONAL): https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sql-mode-changes (non-Devstack deployments will most likely use TRADITIONAL as well) Due to the fact that we default to TRADITIONAL in oslo.db, this produces annoying warnings on MySQL 5.7 versions we use in the gate: Warning: (3090, u"Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release.") https://git.openstack.org/cgit/openstack/oslo.db/tree/oslo_db/options.py#n49 Unlike STRICT_ALL_TABLES, TRADITIONAL mode includes NO_AUTO_CREATE_USER, and MySQL emits this warning on switching it on: https://dev.mysql.com/worklog/task/?id=8326 So we have two options here: 1) make oslo.db default to STRICT_ALL_TABLES 2) make Devstack default to TRADITIONAL The latter seems to be more appropriate as: 1) it's what modern MySQL versions default to 2) it's what people are actually using, if they do not override the oslo.db default 3) it's more strict Closes-Bug: #1652452 Change-Id: Ie6d823c9f8465ac9f2ce4825929d1a50438fab45
5.6 KiB
5.6 KiB