local registry uses admin's username&password for authentication.
And admin's password could be changed by openstack client cmd. It will
cause auth info in secrets obsolete, and lead to invalid authentication
in keystone.
To keep secrets info updated, keystone event notification is enabled.
And event notification listener is added in sysinv. So when there is
user password change, a user update event will be sent out by keystone.
And sysinv will call function audit_local_registry_secrets to check
whether kubernetes secret info need be updated or not.
A periodic task is added also to ensure secrets are always synced, in
case notification is missed or there is failure in handle notification.
oslo_messaging is added to tox's requirements.txt to avoid tox failure.
The version is based on global-requirements.txt from Openstack Train.
Test:
Pass deployment and secrets could be updated automatically with new auth
info.
Pass host-swact in duplex mode.
We lack of info how LP1853093 was triggered by the user, but this patch
can address the issue that local registry secrets are not updated
accordingly after the password of "admin" is changed.
And this fix will help technically.
Closes-Bug: 1853017
Closes-Bug: 1853093
Depends-On: https://review.opendev.org/707522
Depends-On: https://review.opendev.org/707523
Change-Id: I959b65288e0834b989aa87e40506e41d0bba0d59
Signed-off-by: Shuicheng Lin <shuicheng.lin@intel.com>
(cherry picked from commit 8ab1e2d7c6)