Bug #72656 mysqluserclone shows python exception instead of error message
Submitted: 15 May 2014 10:02 Modified: 12 Jun 2014 1:52
Reporter: Shahriyar Rzayev Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Utilities Severity:S1 (Critical)
Version:1.4.2 OS:Linux (CentOS 6.5)
Assigned to: CPU Architecture:Any

[15 May 2014 10:02] Shahriyar Rzayev
Description:
When you want to list users, if you do not specify password for --source:

[root@linuxsrv3 ~]# mysqluserclone --source=root@localhost --list --format=csv -vvv
# Source on localhost: ...
Traceback (most recent call last):
  File "/usr/bin/mysqluserclone", line 141, in <module>
    userclone.show_users(source_values, opt.verbosity, opt.format, opt.dump)
  File "/usr/lib/python2.6/site-packages/mysql/utilities/command/userclone.py", line 59, in show_users
    servers = connect_servers(src_val, None, conn_options)
  File "/usr/lib/python2.6/site-packages/mysql/utilities/common/server.py", line 353, in connect_servers
    source = get_server(src_name, src_dict, quiet)
  File "/usr/lib/python2.6/site-packages/mysql/utilities/common/server.py", line 218, in get_server
    server_conn.connect()
  File "/usr/lib/python2.6/site-packages/mysql/utilities/common/server.py", line 831, in connect
    self.db_conn = self.get_connection()
  File "/usr/lib/python2.6/site-packages/mysql/utilities/common/server.py", line 875, in get_connection
    "Error {1}".format(self.role, err.msg), err.errno)
mysql.utilities.exception.UtilError: ("Cannot connect to the Source server.\nError Access denied for user 'root'@'127.0.0.1' (using password: NO)", 1045)

How to repeat:
Try to use --list without specifying password for --source.

Suggested fix:
Show informative error message instead of exception.
[15 May 2014 10:23] MySQL Verification Team
Hello Shahriyar,

Thank you for the bug report.
Verified as described.

Thanks,
Umesh
[15 May 2014 10:23] MySQL Verification Team
// with 1.4.2

mysql-utilities-1.4.2]# mysqluserclone --source=ushastry@localhost --list --format=csv -vvv
# Source on localhost: ...
Traceback (most recent call last):
  File "/usr/bin/mysqluserclone", line 141, in <module>
    userclone.show_users(source_values, opt.verbosity, opt.format, opt.dump)
  File "/usr/lib/python2.6/site-packages/mysql/utilities/command/userclone.py", line 59, in show_users
    servers = connect_servers(src_val, None, conn_options)
  File "/usr/lib/python2.6/site-packages/mysql/utilities/common/server.py", line 353, in connect_servers
    source = get_server(src_name, src_dict, quiet)
  File "/usr/lib/python2.6/site-packages/mysql/utilities/common/server.py", line 218, in get_server
    server_conn.connect()
  File "/usr/lib/python2.6/site-packages/mysql/utilities/common/server.py", line 831, in connect
    self.db_conn = self.get_connection()
  File "/usr/lib/python2.6/site-packages/mysql/utilities/common/server.py", line 875, in get_connection
    "Error {1}".format(self.role, err.msg), err.errno)
mysql.utilities.exception.UtilError: ("Cannot connect to the Source server.\nError Access denied for user 'ushastry'@'localhost' (using password: NO)", 1045)
[12 Jun 2014 1:52] Philip Olson
Fixed as of the upcoming MySQL Utilities 1.4.4 release, and here's the changelog entry:

The "mysqluserclone" utility was throwing an unhandled exception when the
"--list" option was used with incorrect login credentials. The error
message is now emitted.

Thank you for the bug report.