)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13157,"name":"Zhao Chao","email":"zhaochao1984@gmail.com","username":"zhaochao"},"change_message_id":"53cf440794ddc8983cf9d75cc35c4dfde2d75fc2","unresolved":false,"context_lines":[{"line_number":9,"context_line":"The MySQL/MariaDB/Percona replication doesn\u0027t work anymore"},{"line_number":10,"context_line":"since this review: https://review.openstack.org/#/c/526728/"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"The way how the replication is created is by using \"os_admin\" user"},{"line_number":13,"context_line":"via innobackupex command. The previous commit override /root/.my.cnf"},{"line_number":14,"context_line":"with the \"os_admin\" credential by the \"root\" credentials."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"The way to preserve the \"root\" credentials without overriding the"},{"line_number":17,"context_line":"\"os_admin\" credentials is to change the \"/root/.my.cnf/ path"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"5f93b717_4d26e9d0","line":14,"range":{"start_line":12,"start_character":0,"end_line":14,"end_character":57},"updated":"2018-01-30 01:40:56.000000000","message":"This is not correct, the root cause is running guestagent under the root system user and then \"os_admin\" mysql user credential will be overridden.","commit_id":"f9c1204f7f1395a895acefa7f6b066cbace2028c"},{"author":{"_account_id":26895,"name":"Luke Browning","email":"lukebrowning@us.ibm.com","username":"lukebrowning"},"change_message_id":"bdb5185843db2016719c66c904ef28bcf46fdf07","unresolved":false,"context_lines":[{"line_number":9,"context_line":"The MySQL/MariaDB/Percona replication doesn\u0027t work anymore"},{"line_number":10,"context_line":"since this review: https://review.openstack.org/#/c/526728/"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"The way how the replication is created is by using \"os_admin\" user"},{"line_number":13,"context_line":"via innobackupex command. The previous commit override /root/.my.cnf"},{"line_number":14,"context_line":"with the \"os_admin\" credential by the \"root\" credentials."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"The way to preserve the \"root\" credentials without overriding the"},{"line_number":17,"context_line":"\"os_admin\" credentials is to change the \"/root/.my.cnf/ path"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"5f93b717_0f39a3a2","line":14,"range":{"start_line":12,"start_character":0,"end_line":14,"end_character":57},"in_reply_to":"5f93b717_4d26e9d0","updated":"2018-01-30 19:11:51.000000000","message":"The entire commit should be rewritten.   There is no bug in the previous commit.  It works as designed.  This commit is about adding a new architecture --- running the Trove guest agent as root.","commit_id":"f9c1204f7f1395a895acefa7f6b066cbace2028c"},{"author":{"_account_id":13157,"name":"Zhao Chao","email":"zhaochao1984@gmail.com","username":"zhaochao"},"change_message_id":"53cf440794ddc8983cf9d75cc35c4dfde2d75fc2","unresolved":false,"context_lines":[{"line_number":13,"context_line":"via innobackupex command. The previous commit override /root/.my.cnf"},{"line_number":14,"context_line":"with the \"os_admin\" credential by the \"root\" credentials."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"The way to preserve the \"root\" credentials without overriding the"},{"line_number":17,"context_line":"\"os_admin\" credentials is to change the \"/root/.my.cnf/ path"},{"line_number":18,"context_line":"to \"/root/.my_root.cnf\"."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: I7f4cc215721ad5951c40669428ac3dbc836d20bc"},{"line_number":21,"context_line":"Closes-Bug: #1744165"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"5f93b717_0d2c61aa","line":18,"range":{"start_line":16,"start_character":0,"end_line":18,"end_character":24},"updated":"2018-01-30 01:40:56.000000000","message":"This part should also be updated to follow how this patch actually works now.","commit_id":"f9c1204f7f1395a895acefa7f6b066cbace2028c"}],"trove/guestagent/datastore/mysql_common/service.py":[{"author":{"_account_id":24739,"name":"Yao Wang","email":"wangyao@cmss.chinamobile.com","username":"wangyao"},"change_message_id":"967ccfbe5c30af85c8443c5f7672354ef59823d0","unresolved":false,"context_lines":[{"line_number":670,"context_line":"           for root@localhost when invoking mysqladmin to"},{"line_number":671,"context_line":"           determine the execution status of the mysql service."},{"line_number":672,"context_line":"        \"\"\""},{"line_number":673,"context_line":"        localhost \u003d \"localhost\""},{"line_number":674,"context_line":"        new_password \u003d utils.generate_random_password()"},{"line_number":675,"context_line":"        uu \u003d sql_query.SetPassword("},{"line_number":676,"context_line":"            models.MySQLUser.root_username, host\u003dlocalhost,"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_62cb1572","side":"PARENT","line":673,"range":{"start_line":673,"start_character":21,"end_line":673,"end_character":30},"updated":"2018-01-20 14:18:17.000000000","message":"I think some operations must do as root in mysql 5.7. Not sure about this.\nI notice \u0027CONNECTION_STR_FORMAT \u003d \"mysql+pymysql://%s:%s@127.0.0.1:3306\"\u0027 in [1].\nMaybe we could just change localhost to \u0027127.0.0.1\u0027.\nCan you verify that?\n\n[1]https://github.com/openstack/trove/blob/master/trove/guestagent/datastore/mysql_common/service.py","commit_id":"ffa6019e9019e76e4b0deeeb2762b7406d64e757"},{"author":{"_account_id":26895,"name":"Luke Browning","email":"lukebrowning@us.ibm.com","username":"lukebrowning"},"change_message_id":"bbafe392383738662e1d839ec52f7e3fc1e0b586","unresolved":false,"context_lines":[{"line_number":670,"context_line":"           for root@localhost when invoking mysqladmin to"},{"line_number":671,"context_line":"           determine the execution status of the mysql service."},{"line_number":672,"context_line":"        \"\"\""},{"line_number":673,"context_line":"        localhost \u003d \"localhost\""},{"line_number":674,"context_line":"        new_password \u003d utils.generate_random_password()"},{"line_number":675,"context_line":"        uu \u003d sql_query.SetPassword("},{"line_number":676,"context_line":"            models.MySQLUser.root_username, host\u003dlocalhost,"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_38f8e07a","side":"PARENT","line":673,"range":{"start_line":673,"start_character":21,"end_line":673,"end_character":30},"in_reply_to":"7f96bb07_62cb1572","updated":"2018-01-20 23:14:42.000000000","message":"This says that localhost and 127.0.0.1 may be used [1].  The root account is established during installation \n\n[1] https://dev.mysql.com/doc/refman/5.7/en/default-privileges.html","commit_id":"ffa6019e9019e76e4b0deeeb2762b7406d64e757"},{"author":{"_account_id":26895,"name":"Luke Browning","email":"lukebrowning@us.ibm.com","username":"lukebrowning"},"change_message_id":"bbafe392383738662e1d839ec52f7e3fc1e0b586","unresolved":false,"context_lines":[{"line_number":682,"context_line":"        root_sect \u003d {\u0027client\u0027: {\u0027user\u0027: \u0027root\u0027,"},{"line_number":683,"context_line":"                                \u0027password\u0027: new_password,"},{"line_number":684,"context_line":"                                \u0027host\u0027: localhost}}"},{"line_number":685,"context_line":"        operating_system.write_file(\u0027/root/.my_root.cnf\u0027,"},{"line_number":686,"context_line":"                                    root_sect, codec\u003dIniCodec(), as_root\u003dTrue)"},{"line_number":687,"context_line":""},{"line_number":688,"context_line":"    def install_if_needed(self, packages):"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_98ea54aa","line":685,"range":{"start_line":685,"start_character":43,"end_line":685,"end_character":55},"updated":"2018-01-20 23:14:42.000000000","message":".my_root.cnf is not a documented file [1][2].\n\nI think you mean .mylogin.cnf. \n\n[1] https://dev.mysql.com/doc/refman/5.7/en/option-files.html\n[2] https://mariadb.com/kb/en/library/configuring-mariadb-with-mycnf/","commit_id":"86e969af99de4fd3d9bc6afcf071b0ccdb9f65a0"}],"trove/guestagent/strategies/backup/mysql_impl.py":[{"author":{"_account_id":13157,"name":"Zhao Chao","email":"zhaochao1984@gmail.com","username":"zhaochao"},"change_message_id":"53cf440794ddc8983cf9d75cc35c4dfde2d75fc2","unresolved":false,"context_lines":[{"line_number":38,"context_line":"            \u00272\u003e/tmp/mysqldump.log\u0027 %"},{"line_number":39,"context_line":"            {\u0027password\u0027: MySqlApp.get_auth_password(),"},{"line_number":40,"context_line":"             \u0027user\u0027: ADMIN_USER_NAME,"},{"line_number":41,"context_line":"             \u0027host\u0027: \u0027127.0.0.1\u0027})"},{"line_number":42,"context_line":"        cmd \u003d (\u0027mysqldump\u0027"},{"line_number":43,"context_line":"               \u0027 --all-databases\u0027"},{"line_number":44,"context_line":"               \u0027 %(extra_opts)s\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f93b717_90064a1c","line":41,"range":{"start_line":41,"start_character":13,"end_line":41,"end_character":32},"updated":"2018-01-30 01:40:56.000000000","message":"MySQL clients seem to use \u0027localhost\u0027 by default, and I think \u0027localhost\u0027 and \u0027127.0.0.1\u0027 is the same thing, could you explain why this change is needed, and if this is neccessary, adding an comment for this would be good.","commit_id":"f9c1204f7f1395a895acefa7f6b066cbace2028c"},{"author":{"_account_id":13157,"name":"Zhao Chao","email":"zhaochao1984@gmail.com","username":"zhaochao"},"change_message_id":"53cf440794ddc8983cf9d75cc35c4dfde2d75fc2","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        return (\u0027 --user\u003d%(user)s --password\u003d%(password)s --host\u003d%(host)s \u0027 %"},{"line_number":56,"context_line":"                {\u0027user\u0027: ADMIN_USER_NAME,"},{"line_number":57,"context_line":"                 \u0027password\u0027: MySqlApp.get_auth_password(),"},{"line_number":58,"context_line":"                 \u0027host\u0027: \u0027127.0.0.1\u0027})"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    @property"},{"line_number":61,"context_line":"    def cmd(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f93b717_70113e52","line":58,"range":{"start_line":58,"start_character":17,"end_line":58,"end_character":36},"updated":"2018-01-30 01:40:56.000000000","message":"Same here.","commit_id":"f9c1204f7f1395a895acefa7f6b066cbace2028c"}]}
