Merge "Fix MySQL user list pagination"
This commit is contained in:
commit
3a44619af3
|
@ -133,6 +133,7 @@ def load_mysqld_options():
|
|||
|
||||
|
||||
class BaseMySqlAppStatus(service.BaseDbStatus):
|
||||
|
||||
@classmethod
|
||||
def get(cls):
|
||||
if not cls._instance:
|
||||
|
@ -488,6 +489,9 @@ class BaseMySqlAdmin(object):
|
|||
LIMIT :limit;
|
||||
'''
|
||||
LOG.debug("---Listing Users---")
|
||||
ignored_user_names = "'%s'" % "', '".join(cfg.get_ignored_users())
|
||||
LOG.debug("The following user names are on ignore list and will "
|
||||
"be omitted from the listing: %s" % ignored_user_names)
|
||||
users = []
|
||||
with self.local_sql_client(self.mysql_app.get_engine()) as client:
|
||||
mysql_user = models.MySQLUser()
|
||||
|
@ -500,7 +504,9 @@ class BaseMySqlAdmin(object):
|
|||
oq = sql_query.Query() # Outer query.
|
||||
oq.columns = ['User', 'Host', 'Marker']
|
||||
oq.tables = ['(%s) as innerquery' % innerquery]
|
||||
oq.where = ["Host != 'localhost'"]
|
||||
oq.where = [
|
||||
"Host != 'localhost'",
|
||||
"User NOT IN (" + ignored_user_names + ")"]
|
||||
oq.order = ['Marker']
|
||||
if marker:
|
||||
oq.where.append("Marker %s '%s'" %
|
||||
|
|
|
@ -647,7 +647,8 @@ class MySqlAdminTest(trove_testtools.TestCase):
|
|||
expected = ("SELECT User, Host, Marker FROM"
|
||||
" (SELECT User, Host, CONCAT(User, '@', Host) as Marker"
|
||||
" FROM mysql.user ORDER BY User, Host) as innerquery WHERE"
|
||||
" Host != 'localhost' ORDER BY Marker;"
|
||||
" Host != 'localhost' AND User NOT IN ('os_admin', 'root')"
|
||||
" ORDER BY Marker;"
|
||||
)
|
||||
|
||||
with patch.object(self.mock_client, 'execute') as mock_execute:
|
||||
|
@ -659,7 +660,8 @@ class MySqlAdminTest(trove_testtools.TestCase):
|
|||
expected = ("SELECT User, Host, Marker FROM"
|
||||
" (SELECT User, Host, CONCAT(User, '@', Host) as Marker"
|
||||
" FROM mysql.user ORDER BY User, Host) as innerquery WHERE"
|
||||
" Host != 'localhost' ORDER BY Marker"
|
||||
" Host != 'localhost' AND User NOT IN ('os_admin', 'root')"
|
||||
" ORDER BY Marker"
|
||||
" LIMIT " + str(limit + 1) + ";"
|
||||
)
|
||||
|
||||
|
@ -672,7 +674,8 @@ class MySqlAdminTest(trove_testtools.TestCase):
|
|||
expected = ("SELECT User, Host, Marker FROM"
|
||||
" (SELECT User, Host, CONCAT(User, '@', Host) as Marker"
|
||||
" FROM mysql.user ORDER BY User, Host) as innerquery WHERE"
|
||||
" Host != 'localhost' AND Marker > '" + marker + "'"
|
||||
" Host != 'localhost' AND User NOT IN ('os_admin', 'root')"
|
||||
" AND Marker > '" + marker + "'"
|
||||
" ORDER BY Marker;"
|
||||
)
|
||||
|
||||
|
@ -685,7 +688,8 @@ class MySqlAdminTest(trove_testtools.TestCase):
|
|||
expected = ("SELECT User, Host, Marker FROM"
|
||||
" (SELECT User, Host, CONCAT(User, '@', Host) as Marker"
|
||||
" FROM mysql.user ORDER BY User, Host) as innerquery WHERE"
|
||||
" Host != 'localhost' AND Marker >= '" + marker + "'"
|
||||
" Host != 'localhost' AND User NOT IN ('os_admin', 'root')"
|
||||
" AND Marker >= '" + marker + "'"
|
||||
" ORDER BY Marker;"
|
||||
)
|
||||
|
||||
|
|
Loading…
Reference in New Issue