[MediaWiki-commits] [Gerrit] labs/toollabs[master]: Do not hardcore database hosts in list-user-databases
jenkins-bot has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/336171 ) Change subject: Do not hardcore database hosts in list-user-databases .. Do not hardcore database hosts in list-user-databases The database host that served c2.labsdb was decommissioned and is no longer accessible. This causes list-user-databases to fail because c2.labsdb is in the hardcoded list of database servers to check for a user's databases. There is no easy authoritative source for a list of active database servers; role::labs::db::maintain_dbusers lists all database servers, but does not differentiate between hosts that are accessible from the Labs network and hosts that are firewalled. Therefore this change removes the hardcoded list completely and instead requires that list-user-databases is called with an explicit list of database servers to check for a user's database. For the active database servers current at the time of this change, list-user-databases would be invoked as: | $ list-user-databases -H labsdb1001.eqiad.wmnet \ | -H labsdb1003.eqiad.wmnet \ | -H labsdb1005.eqiad.wmnet \ | /path/to/replica.my.cnf Change-Id: I861375502a04a839db69fa1b92e4acfecf6470e1 --- M debian/changelog M misctools/list-user-databases M misctools/list-user-databases.1.in 3 files changed, 23 insertions(+), 10 deletions(-) Approvals: Tim Landscheidt: Looks good to me, approved jenkins-bot: Verified diff --git a/debian/changelog b/debian/changelog index c6f5d53..b43d6cf 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,9 @@ toollabs (1.19~dev) unstable; urgency=medium * Remove toolwatcher + * Do not hardcore database hosts in list-user-databases - -- Tim Landscheidt Tue, 07 Feb 2017 15:57:45 + + -- Tim Landscheidt Sun, 26 Feb 2017 00:15:16 + toollabs (1.18) unstable; urgency=medium diff --git a/misctools/list-user-databases b/misctools/list-user-databases index cc9f374..5dc81eb 100755 --- a/misctools/list-user-databases +++ b/misctools/list-user-databases @@ -7,12 +7,13 @@ import mysql.connector -# Servers to search databases on. -DATABASE_SERVERS = ('c1.labsdb', 'c2.labsdb', 'c3.labsdb', 'tools.labsdb') - if __name__ == '__main__': # Get list of defaults files to extract user information from. parser = argparse.ArgumentParser(description='List databases owned by users, given by the credentials files.') +parser.add_argument('-H', '--host', +action='append', +required=True, +help='database hosts to check') parser.add_argument('mycnffilenames', metavar='MYCNFFILENAME', nargs='+', @@ -25,7 +26,7 @@ username = c.get('client', 'user').strip("'") password = c.get('client', 'password').strip("'") databases_found = [] -for server in DATABASE_SERVERS: +for server in args.host: conn = mysql.connector.connect(user=username, password=password, host=server, diff --git a/misctools/list-user-databases.1.in b/misctools/list-user-databases.1.in index d32ec71..0af7574 100644 --- a/misctools/list-user-databases.1.in +++ b/misctools/list-user-databases.1.in @@ -2,16 +2,27 @@ .SH NAME list-user-databases \- list databases a MySQL account has access to .SH SYNOPSIS -.B list-user-databases +.B list-user-databases -H +.I host +.RB [ -H +.I host +\[char46]..] .I filename -.RI [filename ...] +.RI [ filename +\[char46]..] .SH DESCRIPTION .B list-user-databases -lists all databases on the replica servers and -.I tools.labsdb -that the user has access to whose +lists all databases on the given database servers that the user has +access to whose .I replica.my.cnf file has been given as a command line argument. + +A list of potential database servers to check against can be gathered +from +.IR operation/puppet 's +.IR modules/role/manifests/labs/db/maintain_dbusers.pp . +Note that some of the database servers listed there are not accessible +from Labs and connection attempts will time out. .SH EXIT STATUS In case of success, .B list-user-databases -- To view, visit https://gerrit.wikimedia.org/r/336171 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I861375502a04a839db69fa1b92e4acfecf6470e1 Gerrit-PatchSet: 2 Gerrit-Project: labs/toollabs Gerrit-Branch: master Gerrit-Owner: Tim Landscheidt Gerrit-Reviewer: Coren Gerrit-Reviewer: Merlijn van Deen Gerrit-Reviewer: Tim Landscheidt Gerrit-Reviewer: Yuvipanda Gerrit-Reviewer: jenkins-bot <> ___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinf
[MediaWiki-commits] [Gerrit] labs/toollabs[master]: Do not hardcore database hosts in list-user-databases
Tim Landscheidt has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/336171 ) Change subject: Do not hardcore database hosts in list-user-databases .. Do not hardcore database hosts in list-user-databases The database host that served c2.labsdb was decommissioned and is no longer accessible. This causes list-user-databases to fail because c2.labsdb is in the hardcoded list of database servers to check for a user's databases. There is no easy authoritative source for a list of active database servers; role::labs::db::maintain_dbusers lists all database servers, but does not differentiate between hosts that are accessible from the Labs network and hosts that are firewalled. Therefore this change removes the hardcoded list completely and instead requires that list-user-databases is called with an explicit list of database servers to check for a user's database. For the active database servers current at the time of this change, list-user-databases would be invoked as: | $ list-user-databases -H labsdb1001.eqiad.wmnet \ | -H labsdb1003.eqiad.wmnet \ | -H labsdb1005.eqiad.wmnet \ | /path/to/replica.my.cnf Change-Id: I861375502a04a839db69fa1b92e4acfecf6470e1 --- M debian/changelog M misctools/list-user-databases M misctools/list-user-databases.1.in 3 files changed, 27 insertions(+), 9 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/labs/toollabs refs/changes/71/336171/1 diff --git a/debian/changelog b/debian/changelog index b17cf44..32d9cfa 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +toollabs (1.19) unstable; urgency=medium + + * Do not hardcore database hosts in list-user-databases + + -- Tim Landscheidt Sun, 05 Feb 2017 22:22:41 + + toollabs (1.18) unstable; urgency=medium * jsub: Change IOError string substitution conversion from '%e' diff --git a/misctools/list-user-databases b/misctools/list-user-databases index cc9f374..5dc81eb 100755 --- a/misctools/list-user-databases +++ b/misctools/list-user-databases @@ -7,12 +7,13 @@ import mysql.connector -# Servers to search databases on. -DATABASE_SERVERS = ('c1.labsdb', 'c2.labsdb', 'c3.labsdb', 'tools.labsdb') - if __name__ == '__main__': # Get list of defaults files to extract user information from. parser = argparse.ArgumentParser(description='List databases owned by users, given by the credentials files.') +parser.add_argument('-H', '--host', +action='append', +required=True, +help='database hosts to check') parser.add_argument('mycnffilenames', metavar='MYCNFFILENAME', nargs='+', @@ -25,7 +26,7 @@ username = c.get('client', 'user').strip("'") password = c.get('client', 'password').strip("'") databases_found = [] -for server in DATABASE_SERVERS: +for server in args.host: conn = mysql.connector.connect(user=username, password=password, host=server, diff --git a/misctools/list-user-databases.1.in b/misctools/list-user-databases.1.in index d32ec71..0af7574 100644 --- a/misctools/list-user-databases.1.in +++ b/misctools/list-user-databases.1.in @@ -2,16 +2,27 @@ .SH NAME list-user-databases \- list databases a MySQL account has access to .SH SYNOPSIS -.B list-user-databases +.B list-user-databases -H +.I host +.RB [ -H +.I host +\[char46]..] .I filename -.RI [filename ...] +.RI [ filename +\[char46]..] .SH DESCRIPTION .B list-user-databases -lists all databases on the replica servers and -.I tools.labsdb -that the user has access to whose +lists all databases on the given database servers that the user has +access to whose .I replica.my.cnf file has been given as a command line argument. + +A list of potential database servers to check against can be gathered +from +.IR operation/puppet 's +.IR modules/role/manifests/labs/db/maintain_dbusers.pp . +Note that some of the database servers listed there are not accessible +from Labs and connection attempts will time out. .SH EXIT STATUS In case of success, .B list-user-databases -- To view, visit https://gerrit.wikimedia.org/r/336171 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I861375502a04a839db69fa1b92e4acfecf6470e1 Gerrit-PatchSet: 1 Gerrit-Project: labs/toollabs Gerrit-Branch: master Gerrit-Owner: Tim Landscheidt ___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits