)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13157,"name":"Zhao Chao","email":"zhaochao1984@gmail.com","username":"zhaochao"},"change_message_id":"1dac0ff8332cfcfb9f4ea96c7b410f8f8466291d","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     jiansong \u003cjian.song@easystack.cn\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-10-30 04:14:47 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix redis restart can not use configuration"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"redis at deployment time, for security reasons will change the"},{"line_number":10,"context_line":"config command, change the results will be written to the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3f4b6375_748958c8","line":7,"updated":"2017-11-02 03:44:07.000000000","message":"Something like \u0027initialize RedisAdmin with correct config command\u0027 may be more clear.","commit_id":"17ff344c6c004c323a5b3046aeed86525a2ae57f"},{"author":{"_account_id":13157,"name":"Zhao Chao","email":"zhaochao1984@gmail.com","username":"zhaochao"},"change_message_id":"1dac0ff8332cfcfb9f4ea96c7b410f8f8466291d","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix redis restart can not use configuration"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"redis at deployment time, for security reasons will change the"},{"line_number":10,"context_line":"config command, change the results will be written to the"},{"line_number":11,"context_line":"config file, and placed in memory. If restart guestagnet will"},{"line_number":12,"context_line":"cause the use of the default config to write the configuration"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3f4b6375_3456402c","line":9,"range":{"start_line":9,"start_character":52,"end_line":9,"end_character":58},"updated":"2017-11-02 03:44:07.000000000","message":"\u0027mangle\u0027 is used in the source code, so we just use mangle to keep consistency.","commit_id":"17ff344c6c004c323a5b3046aeed86525a2ae57f"},{"author":{"_account_id":13157,"name":"Zhao Chao","email":"zhaochao1984@gmail.com","username":"zhaochao"},"change_message_id":"1dac0ff8332cfcfb9f4ea96c7b410f8f8466291d","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix redis restart can not use configuration"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"redis at deployment time, for security reasons will change the"},{"line_number":10,"context_line":"config command, change the results will be written to the"},{"line_number":11,"context_line":"config file, and placed in memory. If restart guestagnet will"},{"line_number":12,"context_line":"cause the use of the default config to write the configuration"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3f4b6375_573e5eb8","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":5},"updated":"2017-11-02 03:44:07.000000000","message":"Redis","commit_id":"17ff344c6c004c323a5b3046aeed86525a2ae57f"},{"author":{"_account_id":13157,"name":"Zhao Chao","email":"zhaochao1984@gmail.com","username":"zhaochao"},"change_message_id":"1dac0ff8332cfcfb9f4ea96c7b410f8f8466291d","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Fix redis restart can not use configuration"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"redis at deployment time, for security reasons will change the"},{"line_number":10,"context_line":"config command, change the results will be written to the"},{"line_number":11,"context_line":"config file, and placed in memory. If restart guestagnet will"},{"line_number":12,"context_line":"cause the use of the default config to write the configuration"},{"line_number":13,"context_line":" of the operation, which will lead to failure. The patch will"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3f4b6375_f79b0ac6","line":10,"range":{"start_line":10,"start_character":16,"end_line":10,"end_character":34},"updated":"2017-11-02 03:44:07.000000000","message":". The mangled config command name","commit_id":"17ff344c6c004c323a5b3046aeed86525a2ae57f"},{"author":{"_account_id":13157,"name":"Zhao Chao","email":"zhaochao1984@gmail.com","username":"zhaochao"},"change_message_id":"1dac0ff8332cfcfb9f4ea96c7b410f8f8466291d","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"redis at deployment time, for security reasons will change the"},{"line_number":10,"context_line":"config command, change the results will be written to the"},{"line_number":11,"context_line":"config file, and placed in memory. If restart guestagnet will"},{"line_number":12,"context_line":"cause the use of the default config to write the configuration"},{"line_number":13,"context_line":" of the operation, which will lead to failure. The patch will"},{"line_number":14,"context_line":"be in the initialization adminclient  use the get config rename"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3f4b6375_f7842a60","line":11,"range":{"start_line":11,"start_character":17,"end_line":11,"end_character":33},"updated":"2017-11-02 03:44:07.000000000","message":"also applied runtime.","commit_id":"17ff344c6c004c323a5b3046aeed86525a2ae57f"},{"author":{"_account_id":13157,"name":"Zhao Chao","email":"zhaochao1984@gmail.com","username":"zhaochao"},"change_message_id":"1dac0ff8332cfcfb9f4ea96c7b410f8f8466291d","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"redis at deployment time, for security reasons will change the"},{"line_number":10,"context_line":"config command, change the results will be written to the"},{"line_number":11,"context_line":"config file, and placed in memory. If restart guestagnet will"},{"line_number":12,"context_line":"cause the use of the default config to write the configuration"},{"line_number":13,"context_line":" of the operation, which will lead to failure. The patch will"},{"line_number":14,"context_line":"be in the initialization adminclient  use the get config rename"},{"line_number":15,"context_line":"method, to solve this problem"},{"line_number":16,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3f4b6375_17b90614","line":13,"range":{"start_line":11,"start_character":35,"end_line":13,"end_character":18},"updated":"2017-11-02 03:44:07.000000000","message":"Something like \u0027When it restarts, guestagent will use the default config command instead of the correct one in the configuration file,\u0027 may be better.","commit_id":"17ff344c6c004c323a5b3046aeed86525a2ae57f"},{"author":{"_account_id":13157,"name":"Zhao Chao","email":"zhaochao1984@gmail.com","username":"zhaochao"},"change_message_id":"1dac0ff8332cfcfb9f4ea96c7b410f8f8466291d","unresolved":false,"context_lines":[{"line_number":11,"context_line":"config file, and placed in memory. If restart guestagnet will"},{"line_number":12,"context_line":"cause the use of the default config to write the configuration"},{"line_number":13,"context_line":" of the operation, which will lead to failure. The patch will"},{"line_number":14,"context_line":"be in the initialization adminclient  use the get config rename"},{"line_number":15,"context_line":"method, to solve this problem"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Closes-Bug: #1726341"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3f4b6375_f760aaa7","line":15,"range":{"start_line":14,"start_character":0,"end_line":15,"end_character":6},"updated":"2017-11-02 03:44:07.000000000","message":"initialize RedisAdmin with the correct config command","commit_id":"17ff344c6c004c323a5b3046aeed86525a2ae57f"},{"author":{"_account_id":13157,"name":"Zhao Chao","email":"zhaochao1984@gmail.com","username":"zhaochao"},"change_message_id":"7c6b2620a2185ea43d74868561541a678c965bb3","unresolved":false,"context_lines":[{"line_number":12,"context_line":"config file, and also applied runtime.. When it restarts, "},{"line_number":13,"context_line":"guestagent will use the default config command instead of "},{"line_number":14,"context_line":"the correct one in the configuration file, then will lead "},{"line_number":15,"context_line":"to failure. The patch will initialize RedisAdmin with "},{"line_number":16,"context_line":"the correct config command"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Closes-Bug: #1726341"},{"line_number":19,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3f4b6375_aed2dbcf","line":16,"range":{"start_line":15,"start_character":12,"end_line":16,"end_character":26},"updated":"2017-11-02 08:25:58.000000000","message":"nitpick:\n1. \"The patch\" -\u003e \"This path\"\n2. \"... config command\"  -\u003e \"... config command.\", need a full stop at the end.","commit_id":"17a9e3ccdbab3c0064f819d7264de4ec4f9bd861"}],"trove/guestagent/datastore/experimental/redis/service.py":[{"author":{"_account_id":23540,"name":"Janice Chen","email":"chenshujuan@chinac.com","username":"Janice"},"change_message_id":"a1e3c7b5617964c06313b69c5ec5dacd356b82af","unresolved":false,"context_lines":[{"line_number":107,"context_line":"    def _build_admin_client(self):"},{"line_number":108,"context_line":"        password \u003d self.get_configuration_property(\u0027requirepass\u0027)"},{"line_number":109,"context_line":"        socket \u003d self.get_configuration_property(\u0027unixsocket\u0027)"},{"line_number":110,"context_line":"        cmd \u003d self.get_config_command_name()"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        return RedisAdmin(password\u003dpassword, unix_socket_path\u003dsocket,"},{"line_number":113,"context_line":"                          config_cmd\u003dcmd)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_33644fe5","line":110,"range":{"start_line":110,"start_character":42,"end_line":110,"end_character":44},"updated":"2017-10-31 11:00:44.000000000","message":"I don\u0027t think it\u0027s a good idea to add config command in the client function.you have changed the whole RedisAdmin()class. In fact, trove redis already has set_config_command() and get_config_command_name() function, just use it.","commit_id":"17ff344c6c004c323a5b3046aeed86525a2ae57f"},{"author":{"_account_id":13157,"name":"Zhao Chao","email":"zhaochao1984@gmail.com","username":"zhaochao"},"change_message_id":"1dac0ff8332cfcfb9f4ea96c7b410f8f8466291d","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        cmd \u003d self.get_config_command_name()"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        return RedisAdmin(password\u003dpassword, unix_socket_path\u003dsocket,"},{"line_number":113,"context_line":"                          config_cmd\u003dcmd)"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    def install_if_needed(self, packages):"},{"line_number":116,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_b7247261","line":113,"updated":"2017-11-02 03:44:07.000000000","message":"I personally prefer this patch. Adding an argument with default  value of None to RedisAdmin constructor will not change the original behavior.","commit_id":"17ff344c6c004c323a5b3046aeed86525a2ae57f"},{"author":{"_account_id":13157,"name":"Zhao Chao","email":"zhaochao1984@gmail.com","username":"zhaochao"},"change_message_id":"44710df47a45aae85b67ed4763f90d7168a2f192","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        cmd \u003d self.get_config_command_name()"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        return RedisAdmin(password\u003dpassword, unix_socket_path\u003dsocket,"},{"line_number":113,"context_line":"                          config_cmd\u003dcmd)"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    def install_if_needed(self, packages):"},{"line_number":116,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_77603a02","line":113,"in_reply_to":"3f4b6375_1770e607","updated":"2017-11-02 04:13:51.000000000","message":"The set_config_command_name method is for updating config command name when the config name modified, and it\u0027s original usage is in the deployment after the config command mangled.\n\nBut when RedisAdmin is initialized, if the config command is setting to the default one, that means we first construct a wrong RedisAdmin object(because it cannot be used to do any configuration related tasks) and then use set_config_command method to corrct it immediately. This just like we do something wrong and fix it quickly to pretend that no bad things happend. I don\u0027t think this is the right approach.","commit_id":"17ff344c6c004c323a5b3046aeed86525a2ae57f"},{"author":{"_account_id":23540,"name":"Janice Chen","email":"chenshujuan@chinac.com","username":"Janice"},"change_message_id":"0a5f27e1f43b9baed4ebe18187201800c6e77bdd","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        cmd \u003d self.get_config_command_name()"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        return RedisAdmin(password\u003dpassword, unix_socket_path\u003dsocket,"},{"line_number":113,"context_line":"                          config_cmd\u003dcmd)"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    def install_if_needed(self, packages):"},{"line_number":116,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_da94b539","line":113,"in_reply_to":"3f4b6375_77603a02","updated":"2017-11-02 04:49:28.000000000","message":"Like you said, that\u0027s what apply_initial_guestagent_configuration() called set_config_command_name() do.","commit_id":"17ff344c6c004c323a5b3046aeed86525a2ae57f"},{"author":{"_account_id":23540,"name":"Janice Chen","email":"chenshujuan@chinac.com","username":"Janice"},"change_message_id":"16205c0d57f78a82ed1671af32fe08258aa91828","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        cmd \u003d self.get_config_command_name()"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        return RedisAdmin(password\u003dpassword, unix_socket_path\u003dsocket,"},{"line_number":113,"context_line":"                          config_cmd\u003dcmd)"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    def install_if_needed(self, packages):"},{"line_number":116,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_1770e607","line":113,"in_reply_to":"3f4b6375_b7247261","updated":"2017-11-02 03:58:03.000000000","message":"In fact, the patch is the same way with https://review.openstack.org/#/c/516579/, both are getting the correct config command in the RedisAdmin instantiate object like \"admin\". Just this is the way by adding a parameter for RedisAdmin, Personally, I think is not necessary.Because trove has set_config_command_name() function.","commit_id":"17ff344c6c004c323a5b3046aeed86525a2ae57f"},{"author":{"_account_id":13157,"name":"Zhao Chao","email":"zhaochao1984@gmail.com","username":"zhaochao"},"change_message_id":"f66889b0a10c10a6cb895f4224f7693b41f73981","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        cmd \u003d self.get_config_command_name()"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        return RedisAdmin(password\u003dpassword, unix_socket_path\u003dsocket,"},{"line_number":113,"context_line":"                          config_cmd\u003dcmd)"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    def install_if_needed(self, packages):"},{"line_number":116,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_3d32a3f3","line":113,"in_reply_to":"3f4b6375_da94b539","updated":"2017-11-02 05:28:07.000000000","message":"apply_initial_guestagent_configuration() is only called by start_db_with_conf_changes, that means configurations changed (in fact, this method is only used for instance resizing).","commit_id":"17ff344c6c004c323a5b3046aeed86525a2ae57f"}]}
