)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"98a3c4e17f12971d7a437abcbabd577ec907b702","unresolved":false,"context_lines":[{"line_number":13,"context_line":"\u0027mount_point\u0027 paramenter is removed from all trove-*.conf"},{"line_number":14,"context_line":"files."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Blueprint remove-mount-point-from-parameters-for-instance-prepare"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Fixes bug 1248212"},{"line_number":19,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"AAAATn%2F97LY%3D","line":16,"updated":"2013-12-04 12:23:07.000000000","message":"Implements: blueprint xxxxxx","commit_id":"ee17912f8614d1771427e0c57ef64c803b7ac25f"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"98a3c4e17f12971d7a437abcbabd577ec907b702","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Blueprint remove-mount-point-from-parameters-for-instance-prepare"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Fixes bug 1248212"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: I2631f7b7cd0de9a13a20bd986b7f3fe8d363bf0e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"AAAATn%2F97Lc%3D","line":18,"updated":"2013-12-04 12:23:07.000000000","message":"Close-bug: XXXX","commit_id":"ee17912f8614d1771427e0c57ef64c803b7ac25f"}],"trove/guestagent/backup/__init__.py":[{"author":{"_account_id":694,"name":"Tim Simpson","email":"tim.simpson@rackspace.com","username":"tim-simpson"},"change_message_id":"2ffc75514040b07f39e9e15e3985f906a784d22a","unresolved":false,"context_lines":[{"line_number":3,"context_line":"AGENT \u003d BackupAgent()"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"def backup(context, backup_info, mount_point):"},{"line_number":7,"context_line":"    \"\"\""},{"line_number":8,"context_line":"    Main entry point for starting a backup based on the given backup id.  This"},{"line_number":9,"context_line":"    will create a backup for this DB instance and will then store the backup"}],"source_content_type":"text/x-python","patch_set":15,"id":"AAAATn%2F9tr4%3D","line":6,"updated":"2013-12-06 20:14:34.000000000","message":"Using volumes with Trove is optional; therefore, this isn\u0027t the best name for this variable, as it implies that it\u0027s a mount point for a volume. Really all the code should guarantee is that it\u0027s where the datastore\u0027s data lives. \n\nHow about renaming this to data_dir?","commit_id":"70cce4f9d273a9a280da2b18ddda9fabb3df0dcb"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"cc7edbde44e29c599feeadb0265eb932140f24af","unresolved":false,"context_lines":[{"line_number":3,"context_line":"AGENT \u003d BackupAgent()"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"def backup(context, backup_info, mount_point):"},{"line_number":7,"context_line":"    \"\"\""},{"line_number":8,"context_line":"    Main entry point for starting a backup based on the given backup id.  This"},{"line_number":9,"context_line":"    will create a backup for this DB instance and will then store the backup"}],"source_content_type":"text/x-python","patch_set":15,"id":"AAAATn%2F9oFk%3D","line":6,"in_reply_to":"AAAATn%2F9tr4%3D","updated":"2013-12-09 15:10:54.000000000","message":"Done","commit_id":"70cce4f9d273a9a280da2b18ddda9fabb3df0dcb"},{"author":{"_account_id":694,"name":"Tim Simpson","email":"tim.simpson@rackspace.com","username":"tim-simpson"},"change_message_id":"2ffc75514040b07f39e9e15e3985f906a784d22a","unresolved":false,"context_lines":[{"line_number":13,"context_line":"    :param backup_id:   the id of the persisted backup object"},{"line_number":14,"context_line":"    :param mount_point: the mount point of volume used for data folder"},{"line_number":15,"context_line":"    \"\"\""},{"line_number":16,"context_line":"    return AGENT.execute_backup(context, backup_info, mount_point)"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"def restore(context, backup_info, restore_location):"}],"source_content_type":"text/x-python","patch_set":15,"id":"AAAATn%2F9tr0%3D","line":16,"updated":"2013-12-06 20:14:34.000000000","message":"Rename this to data_dir.","commit_id":"70cce4f9d273a9a280da2b18ddda9fabb3df0dcb"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"cc7edbde44e29c599feeadb0265eb932140f24af","unresolved":false,"context_lines":[{"line_number":13,"context_line":"    :param backup_id:   the id of the persisted backup object"},{"line_number":14,"context_line":"    :param mount_point: the mount point of volume used for data folder"},{"line_number":15,"context_line":"    \"\"\""},{"line_number":16,"context_line":"    return AGENT.execute_backup(context, backup_info, mount_point)"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"def restore(context, backup_info, restore_location):"}],"source_content_type":"text/x-python","patch_set":15,"id":"AAAATn%2F9oFo%3D","line":16,"in_reply_to":"AAAATn%2F9tr0%3D","updated":"2013-12-09 15:10:54.000000000","message":"Done","commit_id":"70cce4f9d273a9a280da2b18ddda9fabb3df0dcb"}],"trove/guestagent/backup/backupagent.py":[{"author":{"_account_id":694,"name":"Tim Simpson","email":"tim.simpson@rackspace.com","username":"tim-simpson"},"change_message_id":"2ffc75514040b07f39e9e15e3985f906a784d22a","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        return runner"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def execute_backup(self, context, backup_info,"},{"line_number":51,"context_line":"                       mount_point, runner\u003dRUNNER):"},{"line_number":52,"context_line":"        LOG.debug(\"Searching for backup instance %s\", backup_info[\u0027id\u0027])"},{"line_number":53,"context_line":"        ctxt \u003d trove_context.TroveContext("},{"line_number":54,"context_line":"            user\u003dCONF.nova_proxy_admin_user,"}],"source_content_type":"text/x-python","patch_set":15,"id":"AAAATn%2F9trs%3D","line":51,"updated":"2013-12-06 20:14:34.000000000","message":"Rename this from \"mount_point\" to \"data_dir\".","commit_id":"70cce4f9d273a9a280da2b18ddda9fabb3df0dcb"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"cc7edbde44e29c599feeadb0265eb932140f24af","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        return runner"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def execute_backup(self, context, backup_info,"},{"line_number":51,"context_line":"                       mount_point, runner\u003dRUNNER):"},{"line_number":52,"context_line":"        LOG.debug(\"Searching for backup instance %s\", backup_info[\u0027id\u0027])"},{"line_number":53,"context_line":"        ctxt \u003d trove_context.TroveContext("},{"line_number":54,"context_line":"            user\u003dCONF.nova_proxy_admin_user,"}],"source_content_type":"text/x-python","patch_set":15,"id":"AAAATn%2F9oF0%3D","line":51,"in_reply_to":"AAAATn%2F9trs%3D","updated":"2013-12-09 15:10:54.000000000","message":"Done","commit_id":"70cce4f9d273a9a280da2b18ddda9fabb3df0dcb"}],"trove/guestagent/datastore/mysql/manager.py":[{"author":{"_account_id":694,"name":"Tim Simpson","email":"tim.simpson@rackspace.com","username":"tim-simpson"},"change_message_id":"2ffc75514040b07f39e9e15e3985f906a784d22a","unresolved":false,"context_lines":[{"line_number":162,"context_line":"        :param backup_info: a dictionary containing the db instance id of the"},{"line_number":163,"context_line":"                            backup task, location, type, and other data."},{"line_number":164,"context_line":"        \"\"\""},{"line_number":165,"context_line":"        mount_point \u003d MySqlApp(MySqlAppStatus.get()).get_data_dir()"},{"line_number":166,"context_line":"        backup.backup(context, backup_info, mount_point)"}],"source_content_type":"text/x-python","patch_set":15,"id":"AAAATn%2F9trg%3D","line":165,"updated":"2013-12-06 20:14:34.000000000","message":"This should be called \"data_dir\".","commit_id":"70cce4f9d273a9a280da2b18ddda9fabb3df0dcb"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"cc7edbde44e29c599feeadb0265eb932140f24af","unresolved":false,"context_lines":[{"line_number":162,"context_line":"        :param backup_info: a dictionary containing the db instance id of the"},{"line_number":163,"context_line":"                            backup task, location, type, and other data."},{"line_number":164,"context_line":"        \"\"\""},{"line_number":165,"context_line":"        mount_point \u003d MySqlApp(MySqlAppStatus.get()).get_data_dir()"},{"line_number":166,"context_line":"        backup.backup(context, backup_info, mount_point)"}],"source_content_type":"text/x-python","patch_set":15,"id":"AAAATn%2F9oF4%3D","line":165,"in_reply_to":"AAAATn%2F9trg%3D","updated":"2013-12-09 15:10:54.000000000","message":"Done","commit_id":"70cce4f9d273a9a280da2b18ddda9fabb3df0dcb"},{"author":{"_account_id":694,"name":"Tim Simpson","email":"tim.simpson@rackspace.com","username":"tim-simpson"},"change_message_id":"3678ea30df31942dd904d9681b298995dc86497a","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        app \u003d MySqlApp(MySqlAppStatus.get())"},{"line_number":95,"context_line":"        app.install_if_needed(packages)"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"        data_dir \u003d app.get_data_dir()"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"        if device_path:"},{"line_number":100,"context_line":"            #stop and do not update database"}],"source_content_type":"text/x-python","patch_set":16,"id":"AAAATn%2F9n4I%3D","line":97,"updated":"2013-12-09 15:34:17.000000000","message":"I won\u0027t -1 it, but in this section the name \"mount_point\" was actually more appropriate for the local variable name as it was in fact a reference to the mount point.","commit_id":"8c63712da6bc8c92d9fd6bdb513f24d87d5807c9"}],"trove/guestagent/datastore/mysql/service.py":[{"author":{"_account_id":739,"name":"Michael Basnight","email":"mbasnight@gmail.com","username":"hubcap"},"change_message_id":"18ff48167f480f7ddbfc9a35d8b65bc24f98e303","unresolved":false,"context_lines":[{"line_number":797,"context_line":"    def _read_value_from_mycnf(self, key):"},{"line_number":798,"context_line":"        p \u003d re.compile(\u0027^\\\\s*%s\\\\s*\u003d\\\\s*(\\w+)\\\\s*$\u0027 % key)"},{"line_number":799,"context_line":"        value \u003d None"},{"line_number":800,"context_line":"        with open(MYSQL_CONFIG, \u0027r\u0027) as mycnf:"},{"line_number":801,"context_line":"            for line in mycnf.readlines():"},{"line_number":802,"context_line":"                m \u003d p.match(line)"},{"line_number":803,"context_line":"                if m:"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAATn%2F9%2Fig%3D","line":800,"updated":"2013-12-03 17:31:27.000000000","message":"Im not sure this will always work, since you might not have read access to the mycnf. Lets discuss today about using that vs \"sudo grep XXXX\"","commit_id":"4290faa61a5b362b085e632a24e7b760d134682e"}]}
