)]}'
{"trove/guestagent/datastore/redis/manager.py":[{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"4a19f4ec3c6174f1ef95b5022ce253cb147d301f","unresolved":false,"context_lines":[{"line_number":92,"context_line":"            LOG.info(_(\u0027Securing redis now.\u0027))"},{"line_number":93,"context_line":"            app.write_config(config_contents)"},{"line_number":94,"context_line":"            app.restart()"},{"line_number":95,"context_line":"            LOG.debug(\u0027Redis instance has been setup and secured.\u0027)"},{"line_number":96,"context_line":"        except Exception:"},{"line_number":97,"context_line":"            LOG.exception(_(\"Error setting up Redis instance\"))"},{"line_number":98,"context_line":"            app.status.set_status(rd_instance.ServiceStatuses.FAILED)"}],"source_content_type":"text/x-python","patch_set":6,"id":"baada198_795fcee4","line":95,"updated":"2014-07-23 15:41:08.000000000","message":"In all other datastores, this has remained an INFO message","commit_id":"568f030a76efe88ea703c58937ea348d93274d4e"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"ff2c727ee6c8c5d0d35e9bb57bb2be7429073e29","unresolved":false,"context_lines":[{"line_number":92,"context_line":"            LOG.info(_(\u0027Securing redis now.\u0027))"},{"line_number":93,"context_line":"            app.write_config(config_contents)"},{"line_number":94,"context_line":"            app.restart()"},{"line_number":95,"context_line":"            LOG.debug(\u0027Redis instance has been setup and secured.\u0027)"},{"line_number":96,"context_line":"        except Exception:"},{"line_number":97,"context_line":"            LOG.exception(_(\"Error setting up Redis instance\"))"},{"line_number":98,"context_line":"            app.status.set_status(rd_instance.ServiceStatuses.FAILED)"}],"source_content_type":"text/x-python","patch_set":6,"id":"baada198_dc6a881a","line":95,"in_reply_to":"baada198_795fcee4","updated":"2014-07-23 16:19:07.000000000","message":"Done","commit_id":"568f030a76efe88ea703c58937ea348d93274d4e"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"e708de6556b3fb51756a14d18029b39c3cecc8a1","unresolved":false,"context_lines":[{"line_number":89,"context_line":"                operating_system.update_owner(\u0027redis\u0027, \u0027redis\u0027, mount_point)"},{"line_number":90,"context_line":"                LOG.debug(\u0027Mounted the volume.\u0027)"},{"line_number":91,"context_line":"            app.install_if_needed(packages)"},{"line_number":92,"context_line":"            LOG.info(_(\u0027Securing redis now.\u0027))"},{"line_number":93,"context_line":"            app.write_config(config_contents)"},{"line_number":94,"context_line":"            app.restart()"},{"line_number":95,"context_line":"            LOG.info(_(\u0027Redis instance has been setup and secured.\u0027))"}],"source_content_type":"text/x-python","patch_set":8,"id":"baada198_223e8829","line":92,"updated":"2014-08-04 07:56:36.000000000","message":"i\u0027d suggest to rewrite this logging call since it doesn\u0027t reflect what actually happening.\nThis call appears right before config content is being written to disk, it doesn\u0027t have nothing common with security.","commit_id":"b22d0ccd5a682a08dc80e5fc13c5bb575eaa29c8"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"c8a1d2904f2c32c164870983715fed684cd52a12","unresolved":false,"context_lines":[{"line_number":89,"context_line":"                operating_system.update_owner(\u0027redis\u0027, \u0027redis\u0027, mount_point)"},{"line_number":90,"context_line":"                LOG.debug(\u0027Mounted the volume.\u0027)"},{"line_number":91,"context_line":"            app.install_if_needed(packages)"},{"line_number":92,"context_line":"            LOG.info(_(\u0027Securing redis now.\u0027))"},{"line_number":93,"context_line":"            app.write_config(config_contents)"},{"line_number":94,"context_line":"            app.restart()"},{"line_number":95,"context_line":"            LOG.info(_(\u0027Redis instance has been setup and secured.\u0027))"}],"source_content_type":"text/x-python","patch_set":8,"id":"baada198_b131bd0c","line":92,"in_reply_to":"baada198_223e8829","updated":"2014-08-05 19:45:54.000000000","message":"Done","commit_id":"b22d0ccd5a682a08dc80e5fc13c5bb575eaa29c8"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"b6b71cd240fc7deff4cba867ffe5121e7f5a9f01","unresolved":false,"context_lines":[{"line_number":238,"context_line":"            operation\u003d\u0027get_replication_snapshot\u0027, datastore\u003dMANAGER)"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"    def attach_replication_slave(self, context, snapshot, slave_config):"},{"line_number":241,"context_line":"        LOG.debug(\"Attaching replication slave.\")"},{"line_number":242,"context_line":"        raise exception.DatastoreOperationNotSupported("},{"line_number":243,"context_line":"            operation\u003d\u0027attach_replication_slave\u0027, datastore\u003dMANAGER)"},{"line_number":244,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"fa98f980_d51fe759","line":241,"updated":"2014-09-08 16:35:04.000000000","message":"Please use \"replica\" instead of replication slave.","commit_id":"d2e6e7572bf7bd811761eb697a08e71db4dacd80"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"897c221c53c8e1f203e754e4ce90f33ee5a3a9c5","unresolved":false,"context_lines":[{"line_number":238,"context_line":"            operation\u003d\u0027get_replication_snapshot\u0027, datastore\u003dMANAGER)"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"    def attach_replication_slave(self, context, snapshot, slave_config):"},{"line_number":241,"context_line":"        LOG.debug(\"Attaching replication slave.\")"},{"line_number":242,"context_line":"        raise exception.DatastoreOperationNotSupported("},{"line_number":243,"context_line":"            operation\u003d\u0027attach_replication_slave\u0027, datastore\u003dMANAGER)"},{"line_number":244,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"fa98f980_6a82b453","line":241,"in_reply_to":"fa98f980_d51fe759","updated":"2014-09-09 14:28:20.000000000","message":"Done","commit_id":"d2e6e7572bf7bd811761eb697a08e71db4dacd80"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"b6b71cd240fc7deff4cba867ffe5121e7f5a9f01","unresolved":false,"context_lines":[{"line_number":248,"context_line":"            operation\u003d\u0027detach_replica\u0027, datastore\u003dMANAGER)"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"    def demote_replication_master(self, context):"},{"line_number":251,"context_line":"        LOG.debug(\"Demoting replication master.\")"},{"line_number":252,"context_line":"        raise exception.DatastoreOperationNotSupported("},{"line_number":253,"context_line":"            operation\u003d\u0027demote_replication_master\u0027, datastore\u003dMANAGER)"}],"source_content_type":"text/x-python","patch_set":13,"id":"fa98f980_353673e8","line":251,"updated":"2014-09-08 16:35:04.000000000","message":"Please use \"replica source\" instead of replication master.","commit_id":"d2e6e7572bf7bd811761eb697a08e71db4dacd80"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"897c221c53c8e1f203e754e4ce90f33ee5a3a9c5","unresolved":false,"context_lines":[{"line_number":248,"context_line":"            operation\u003d\u0027detach_replica\u0027, datastore\u003dMANAGER)"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"    def demote_replication_master(self, context):"},{"line_number":251,"context_line":"        LOG.debug(\"Demoting replication master.\")"},{"line_number":252,"context_line":"        raise exception.DatastoreOperationNotSupported("},{"line_number":253,"context_line":"            operation\u003d\u0027demote_replication_master\u0027, datastore\u003dMANAGER)"}],"source_content_type":"text/x-python","patch_set":13,"id":"fa98f980_8a85185b","line":251,"in_reply_to":"fa98f980_353673e8","updated":"2014-09-09 14:28:20.000000000","message":"Done","commit_id":"d2e6e7572bf7bd811761eb697a08e71db4dacd80"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"d1a8e256b8f3c5e3a2d8bdb4c8a47644881a96ee","unresolved":false,"context_lines":[{"line_number":95,"context_line":"            app.restart()"},{"line_number":96,"context_line":"            LOG.info(_(\u0027Redis instance has been setup and configured.\u0027))"},{"line_number":97,"context_line":"        except Exception:"},{"line_number":98,"context_line":"            LOG.exception(_(\"Error setting up Redis instance\"))"},{"line_number":99,"context_line":"            app.status.set_status(rd_instance.ServiceStatuses.FAILED)"},{"line_number":100,"context_line":"            raise RuntimeError(\"prepare call has failed.\")"},{"line_number":101,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"fa98f980_2c91a146","line":98,"updated":"2014-09-18 21:08:02.000000000","message":"Missing period","commit_id":"10510aa205e4f2948681def2337fb357f9864ba8"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"6e62eea2320a327c611411149a8c7b60cf9b4b5d","unresolved":false,"context_lines":[{"line_number":95,"context_line":"            app.restart()"},{"line_number":96,"context_line":"            LOG.info(_(\u0027Redis instance has been setup and configured.\u0027))"},{"line_number":97,"context_line":"        except Exception:"},{"line_number":98,"context_line":"            LOG.exception(_(\"Error setting up Redis instance\"))"},{"line_number":99,"context_line":"            app.status.set_status(rd_instance.ServiceStatuses.FAILED)"},{"line_number":100,"context_line":"            raise RuntimeError(\"prepare call has failed.\")"},{"line_number":101,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"baa201ad_847f4b14","line":98,"updated":"2014-10-07 20:40:04.000000000","message":"missing period","commit_id":"139d5266d173073919f151ebc0cbe18f96ade70e"},{"author":{"_account_id":8214,"name":"Auston McReynolds","email":"amcreynolds@ebaysf.com","username":"amcreynolds"},"change_message_id":"7a2402161fd350483fb35e3060f0aeceb1641a57","unresolved":false,"context_lines":[{"line_number":138,"context_line":"        raise exception.DatastoreOperationNotSupported("},{"line_number":139,"context_line":"            operation\u003d\u0027create_backup\u0027, datastore\u003dMANAGER)"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"    def mount_volume(self, context, device_path\u003dNone, mount_point\u003dNone):"},{"line_number":142,"context_line":"        device \u003d volume.VolumeDevice(device_path)"},{"line_number":143,"context_line":"        device.mount(mount_point, write_to_fstab\u003dFalse)"},{"line_number":144,"context_line":"        LOG.debug(\"Mounted the device %s at the mount point %s.\" %"}],"source_content_type":"text/x-python","patch_set":19,"id":"baa201ad_02547d52","line":141,"updated":"2014-10-14 19:00:35.000000000","message":"why are we not adding LOG.debugs to the rest of these operations above?","commit_id":"dd4c21b9d99b46d2d0eeb0e3781707859392b4ec"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"c93958bcd6a88672a01c60337b202826e121a408","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        Changes the redis instance password,"},{"line_number":52,"context_line":"        it is currently not not implemented."},{"line_number":53,"context_line":"        \"\"\""},{"line_number":54,"context_line":"        LOG.debug(\"change passwords called.\")"},{"line_number":55,"context_line":"        raise exception.DatastoreOperationNotSupported("},{"line_number":56,"context_line":"            operation\u003d\u0027change_passwords\u0027, datastore\u003dMANAGER)"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"baa201ad_c6d9a658","line":54,"updated":"2014-10-14 20:25:49.000000000","message":"I would capitalize the first word in a consistent way - compare line 46 with 54, and 110","commit_id":"9a7f7026845fc790e432e03d0f8fb2b974d569c2"},{"author":{"_account_id":8214,"name":"Auston McReynolds","email":"amcreynolds@ebaysf.com","username":"amcreynolds"},"change_message_id":"fbaf326267e871c981544676c0a8ae7b2a1863c7","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        Changes the redis instance password,"},{"line_number":52,"context_line":"        it is currently not not implemented."},{"line_number":53,"context_line":"        \"\"\""},{"line_number":54,"context_line":"        LOG.debug(\"change passwords called.\")"},{"line_number":55,"context_line":"        raise exception.DatastoreOperationNotSupported("},{"line_number":56,"context_line":"            operation\u003d\u0027change_passwords\u0027, datastore\u003dMANAGER)"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"baa201ad_267d121d","line":54,"in_reply_to":"baa201ad_c6d9a658","updated":"2014-10-14 20:29:55.000000000","message":"agreed, might as well while we\u0027re here.","commit_id":"9a7f7026845fc790e432e03d0f8fb2b974d569c2"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"c93958bcd6a88672a01c60337b202826e121a408","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        This method is called when the guest agent"},{"line_number":108,"context_line":"        gets a restart message from the taskmanager."},{"line_number":109,"context_line":"        \"\"\""},{"line_number":110,"context_line":"        LOG.debug(\"restart called.\")"},{"line_number":111,"context_line":"        app \u003d RedisApp(RedisAppStatus.get())"},{"line_number":112,"context_line":"        app.restart()"},{"line_number":113,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"baa201ad_e6da2a4a","line":110,"updated":"2014-10-14 20:25:49.000000000","message":"Let\u0027s capitalilze the first word","commit_id":"9a7f7026845fc790e432e03d0f8fb2b974d569c2"},{"author":{"_account_id":8214,"name":"Auston McReynolds","email":"amcreynolds@ebaysf.com","username":"amcreynolds"},"change_message_id":"fbaf326267e871c981544676c0a8ae7b2a1863c7","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        This method is called when the guest agent"},{"line_number":108,"context_line":"        gets a restart message from the taskmanager."},{"line_number":109,"context_line":"        \"\"\""},{"line_number":110,"context_line":"        LOG.debug(\"restart called.\")"},{"line_number":111,"context_line":"        app \u003d RedisApp(RedisAppStatus.get())"},{"line_number":112,"context_line":"        app.restart()"},{"line_number":113,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"baa201ad_467a1625","line":110,"in_reply_to":"baa201ad_e6da2a4a","updated":"2014-10-14 20:29:55.000000000","message":"agreed, might as well while we\u0027re here.","commit_id":"9a7f7026845fc790e432e03d0f8fb2b974d569c2"},{"author":{"_account_id":8214,"name":"Auston McReynolds","email":"amcreynolds@ebaysf.com","username":"amcreynolds"},"change_message_id":"98a3637409184f62e1a54f15318fc300b4d03d30","unresolved":false,"context_lines":[{"line_number":59,"context_line":"        \"\"\""},{"line_number":60,"context_line":"        Resets to the default configuration,"},{"line_number":61,"context_line":"        currently this does nothing."},{"line_number":62,"context_line":"        \"\"\""},{"line_number":63,"context_line":"        app \u003d RedisApp(RedisAppStatus.get())"},{"line_number":64,"context_line":"        app.reset_configuration(configuration)"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"baa201ad_a59b9864","line":62,"updated":"2014-10-15 19:13:28.000000000","message":"missing log statement.","commit_id":"d07c4e66b978b940929f225b48f92f4a5e316da9"},{"author":{"_account_id":8214,"name":"Auston McReynolds","email":"amcreynolds@ebaysf.com","username":"amcreynolds"},"change_message_id":"98a3637409184f62e1a54f15318fc300b4d03d30","unresolved":false,"context_lines":[{"line_number":66,"context_line":"    def _perform_restore(self, backup_info, context, restore_location, app):"},{"line_number":67,"context_line":"        \"\"\""},{"line_number":68,"context_line":"        Perform a restore on this instance,"},{"line_number":69,"context_line":"        currently it is not implemented."},{"line_number":70,"context_line":"        \"\"\""},{"line_number":71,"context_line":"        raise exception.DatastoreOperationNotSupported("},{"line_number":72,"context_line":"            operation\u003d\u0027_perform_restore\u0027, datastore\u003dMANAGER)"}],"source_content_type":"text/x-python","patch_set":21,"id":"baa201ad_c5a33c9c","line":69,"updated":"2014-10-15 19:13:28.000000000","message":"missing log statement.","commit_id":"d07c4e66b978b940929f225b48f92f4a5e316da9"}],"trove/guestagent/datastore/redis/service.py":[{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"246b1d51a49ff091342f49d0d1c4181d607821f4","unresolved":false,"context_lines":[{"line_number":98,"context_line":"                    \u0027PING\u0027,"},{"line_number":99,"context_line":"                    run_as_root\u003dTrue,"},{"line_number":100,"context_line":"                    root_helper\u003d\u0027sudo\u0027)"},{"line_number":101,"context_line":"            LOG.info(_(\u0027Redis is RUNNING.\u0027))"},{"line_number":102,"context_line":"            return rd_instance.ServiceStatuses.RUNNING"},{"line_number":103,"context_line":"        except exception.ProcessExecutionError as err:"},{"line_number":104,"context_line":"            LOG.error(_(\u0027Process execution error on redis-cli (%s).\u0027) % err)"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_f3cab96c","line":101,"updated":"2014-07-21 05:24:25.000000000","message":"Can we change this to something like \"Redis Service Status\"? These statuses (i.e. RUNNING / BLOCKED / CRASHED / SHUTDOWN) correspond to the status_id values in the trove ServiceStatuses table, and the logs should reflect this correlation.\n\nAlso, it\u0027s useful to have this while grepping logs to find out current / historical Service Status; grepping on Redis is going to get you a lot more noise.","commit_id":"bdfd06bf0a9fac7de30288767e9f85d0de30a932"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"0fec1d394cec67011726f14478a10acab762eb67","unresolved":false,"context_lines":[{"line_number":98,"context_line":"                    \u0027PING\u0027,"},{"line_number":99,"context_line":"                    run_as_root\u003dTrue,"},{"line_number":100,"context_line":"                    root_helper\u003d\u0027sudo\u0027)"},{"line_number":101,"context_line":"            LOG.info(_(\u0027Redis is RUNNING.\u0027))"},{"line_number":102,"context_line":"            return rd_instance.ServiceStatuses.RUNNING"},{"line_number":103,"context_line":"        except exception.ProcessExecutionError as err:"},{"line_number":104,"context_line":"            LOG.error(_(\u0027Process execution error on redis-cli (%s).\u0027) % err)"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_1030f154","line":101,"in_reply_to":"baada198_f3cab96c","updated":"2014-07-21 14:30:04.000000000","message":"Done (all four).\n\nAlso found some cases of the LOG.error in an exception handler that you flagged in another review. Got those as well.","commit_id":"bdfd06bf0a9fac7de30288767e9f85d0de30a932"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"246b1d51a49ff091342f49d0d1c4181d607821f4","unresolved":false,"context_lines":[{"line_number":109,"context_line":"                pid \u003d out.split()[0]"},{"line_number":110,"context_line":"                msg \u003d _(\u0027Redis pid: %s\u0027) % (pid)"},{"line_number":111,"context_line":"                LOG.info(msg)"},{"line_number":112,"context_line":"                LOG.info(_(\u0027Redis Status is BLOCKED.\u0027))"},{"line_number":113,"context_line":"                return rd_instance.ServiceStatuses.BLOCKED"},{"line_number":114,"context_line":"            except exception.ProcessExecutionError:"},{"line_number":115,"context_line":"                pid_file \u003d options.get(\u0027pidfile\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_93a7bdbb","line":112,"updated":"2014-07-21 05:24:25.000000000","message":"Ditto - \"Redis Service Status\", please.","commit_id":"bdfd06bf0a9fac7de30288767e9f85d0de30a932"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"246b1d51a49ff091342f49d0d1c4181d607821f4","unresolved":false,"context_lines":[{"line_number":115,"context_line":"                pid_file \u003d options.get(\u0027pidfile\u0027,"},{"line_number":116,"context_line":"                                       \u0027/var/run/redis/redis-server.pid\u0027)"},{"line_number":117,"context_line":"                if os.path.exists(pid_file):"},{"line_number":118,"context_line":"                    LOG.info(_(\u0027Redis Status is CRASHED.\u0027))"},{"line_number":119,"context_line":"                    return rd_instance.ServiceStatuses.CRASHED"},{"line_number":120,"context_line":"                else:"},{"line_number":121,"context_line":"                    LOG.info(_(\u0027Redis Status is SHUTDOWN.\u0027))"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_b3acc1a0","line":118,"updated":"2014-07-21 05:24:25.000000000","message":"Ditto - \"Redis Service Status\", please.","commit_id":"bdfd06bf0a9fac7de30288767e9f85d0de30a932"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"246b1d51a49ff091342f49d0d1c4181d607821f4","unresolved":false,"context_lines":[{"line_number":118,"context_line":"                    LOG.info(_(\u0027Redis Status is CRASHED.\u0027))"},{"line_number":119,"context_line":"                    return rd_instance.ServiceStatuses.CRASHED"},{"line_number":120,"context_line":"                else:"},{"line_number":121,"context_line":"                    LOG.info(_(\u0027Redis Status is SHUTDOWN.\u0027))"},{"line_number":122,"context_line":"                    return rd_instance.ServiceStatuses.SHUTDOWN"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_3398b174","line":121,"updated":"2014-07-21 05:24:25.000000000","message":"Ditto - \"Redis Service Status\", please.","commit_id":"bdfd06bf0a9fac7de30288767e9f85d0de30a932"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"6771b70695f215ffd2b01b355bc8bea47d19935a","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        err \u003d \"\""},{"line_number":84,"context_line":"        try:"},{"line_number":85,"context_line":"            if \u0027requirepass\u0027 in options:"},{"line_number":86,"context_line":"                LOG.debug(\u0027Password is set running ping with password.\u0027)"},{"line_number":87,"context_line":"                out, err \u003d utils.execute_with_timeout("},{"line_number":88,"context_line":"                    system.REDIS_CLI,"},{"line_number":89,"context_line":"                    \u0027-a\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_629c006b","line":86,"updated":"2014-07-21 16:21:06.000000000","message":"Shouldn\u0027t this have a \u0027;\u0027 after \u0027Password is set\u0027 ?","commit_id":"736ecb36c266baa149a69a43ad2fb82837f8c128"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"127bab139e517795e79740424ab0ec1e0a25936c","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        err \u003d \"\""},{"line_number":84,"context_line":"        try:"},{"line_number":85,"context_line":"            if \u0027requirepass\u0027 in options:"},{"line_number":86,"context_line":"                LOG.debug(\u0027Password is set running ping with password.\u0027)"},{"line_number":87,"context_line":"                out, err \u003d utils.execute_with_timeout("},{"line_number":88,"context_line":"                    system.REDIS_CLI,"},{"line_number":89,"context_line":"                    \u0027-a\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_654b2ab1","line":86,"in_reply_to":"baada198_629c006b","updated":"2014-07-21 16:37:06.000000000","message":"It should, shouldn\u0027t it.\n\n\u003cnotice how I got all three punctuations correct there?\u003e","commit_id":"736ecb36c266baa149a69a43ad2fb82837f8c128"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"6771b70695f215ffd2b01b355bc8bea47d19935a","unresolved":false,"context_lines":[{"line_number":92,"context_line":"                    run_as_root\u003dTrue,"},{"line_number":93,"context_line":"                    root_helper\u003d\u0027sudo\u0027)"},{"line_number":94,"context_line":"            else:"},{"line_number":95,"context_line":"                LOG.debug(\u0027Password not set running ping without password.\u0027)"},{"line_number":96,"context_line":"                out, err \u003d utils.execute_with_timeout("},{"line_number":97,"context_line":"                    system.REDIS_CLI,"},{"line_number":98,"context_line":"                    \u0027PING\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_82975444","line":95,"updated":"2014-07-21 16:21:06.000000000","message":"Ditto","commit_id":"736ecb36c266baa149a69a43ad2fb82837f8c128"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"127bab139e517795e79740424ab0ec1e0a25936c","unresolved":false,"context_lines":[{"line_number":92,"context_line":"                    run_as_root\u003dTrue,"},{"line_number":93,"context_line":"                    root_helper\u003d\u0027sudo\u0027)"},{"line_number":94,"context_line":"            else:"},{"line_number":95,"context_line":"                LOG.debug(\u0027Password not set running ping without password.\u0027)"},{"line_number":96,"context_line":"                out, err \u003d utils.execute_with_timeout("},{"line_number":97,"context_line":"                    system.REDIS_CLI,"},{"line_number":98,"context_line":"                    \u0027PING\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_e5ce5a2c","line":95,"in_reply_to":"baada198_82975444","updated":"2014-07-21 16:37:06.000000000","message":"Ditto","commit_id":"736ecb36c266baa149a69a43ad2fb82837f8c128"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"cd526f30a42f2c6387ec228099c534f96d365068","unresolved":false,"context_lines":[{"line_number":109,"context_line":"                pid \u003d out.split()[0]"},{"line_number":110,"context_line":"                msg \u003d _(\u0027Redis pid: %s\u0027) % (pid)"},{"line_number":111,"context_line":"                LOG.info(msg)"},{"line_number":112,"context_line":"                LOG.info(_(\u0027Redis Service Status is BLOCKED.\u0027))"},{"line_number":113,"context_line":"                return rd_instance.ServiceStatuses.BLOCKED"},{"line_number":114,"context_line":"            except exception.ProcessExecutionError:"},{"line_number":115,"context_line":"                pid_file \u003d options.get(\u0027pidfile\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_90ac0137","line":112,"updated":"2014-07-21 14:35:32.000000000","message":"can we merge this two calls into one, since they are coming one right after another ?","commit_id":"736ecb36c266baa149a69a43ad2fb82837f8c128"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"6771b70695f215ffd2b01b355bc8bea47d19935a","unresolved":false,"context_lines":[{"line_number":109,"context_line":"                pid \u003d out.split()[0]"},{"line_number":110,"context_line":"                msg \u003d _(\u0027Redis pid: %s\u0027) % (pid)"},{"line_number":111,"context_line":"                LOG.info(msg)"},{"line_number":112,"context_line":"                LOG.info(_(\u0027Redis Service Status is BLOCKED.\u0027))"},{"line_number":113,"context_line":"                return rd_instance.ServiceStatuses.BLOCKED"},{"line_number":114,"context_line":"            except exception.ProcessExecutionError:"},{"line_number":115,"context_line":"                pid_file \u003d options.get(\u0027pidfile\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_c216aca6","line":112,"in_reply_to":"baada198_90ac0137","updated":"2014-07-21 16:21:06.000000000","message":"I concur.  How about:\n\n  LOG.info(_(\u0027Redis Service Status is BLOCKED.  (pid: %(pid)s)\u0027) % {\u0027pid\u0027: pid})\n\nOr something like that","commit_id":"736ecb36c266baa149a69a43ad2fb82837f8c128"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"127bab139e517795e79740424ab0ec1e0a25936c","unresolved":false,"context_lines":[{"line_number":109,"context_line":"                pid \u003d out.split()[0]"},{"line_number":110,"context_line":"                msg \u003d _(\u0027Redis pid: %s\u0027) % (pid)"},{"line_number":111,"context_line":"                LOG.info(msg)"},{"line_number":112,"context_line":"                LOG.info(_(\u0027Redis Service Status is BLOCKED.\u0027))"},{"line_number":113,"context_line":"                return rd_instance.ServiceStatuses.BLOCKED"},{"line_number":114,"context_line":"            except exception.ProcessExecutionError:"},{"line_number":115,"context_line":"                pid_file \u003d options.get(\u0027pidfile\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_2503f242","line":112,"in_reply_to":"baada198_c216aca6","updated":"2014-07-21 16:37:06.000000000","message":"I\u0027ve moved the PID to a debug message. All the service status messages have a similar format; see Nikhil\u0027s earlier comment re: easy to grep.","commit_id":"736ecb36c266baa149a69a43ad2fb82837f8c128"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"6771b70695f215ffd2b01b355bc8bea47d19935a","unresolved":false,"context_lines":[{"line_number":146,"context_line":"        if not packager.pkg_is_installed(packages):"},{"line_number":147,"context_line":"            LOG.info(_(\u0027Installing Redis.\u0027))"},{"line_number":148,"context_line":"            self._install_redis(packages)"},{"line_number":149,"context_line":"        LOG.info(_(\u0027Redis install_if_needed complete.\u0027))"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"    def complete_install_or_restart(self):"},{"line_number":152,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_a2eff885","line":149,"updated":"2014-07-21 16:21:06.000000000","message":"I think we should avoid method names in INFO messages - they won\u0027t mean anything to an operator.","commit_id":"736ecb36c266baa149a69a43ad2fb82837f8c128"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"6771b70695f215ffd2b01b355bc8bea47d19935a","unresolved":false,"context_lines":[{"line_number":275,"context_line":"                                           root_helper\u003d\u0027sudo\u0027)"},{"line_number":276,"context_line":"            except exception.ProcessExecutionError as p:"},{"line_number":277,"context_line":"                LOG.exception(_(\u0027Error killing stalled redis start command.\u0027))"},{"line_number":278,"context_line":"                LOG.error(p)"},{"line_number":279,"context_line":"            self.status.end_install_or_restart()"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_023c24e0","line":278,"updated":"2014-07-21 16:21:06.000000000","message":"LOG.exception will log the exception, no need for explicit call.","commit_id":"736ecb36c266baa149a69a43ad2fb82837f8c128"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"4012cb3ef1780e86ec2f7a379a4661c74416e89a","unresolved":false,"context_lines":[{"line_number":145,"context_line":"        if not packager.pkg_is_installed(packages):"},{"line_number":146,"context_line":"            LOG.info(_(\u0027Installing Redis.\u0027))"},{"line_number":147,"context_line":"            self._install_redis(packages)"},{"line_number":148,"context_line":"        LOG.info(_(\u0027Redis install_if_needed complete.\u0027))"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"    def complete_install_or_restart(self):"},{"line_number":151,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_68aa2172","line":148,"updated":"2014-07-21 16:55:13.000000000","message":"I think we should avoid method names in INFO messages - they won\u0027t mean anything to an operator.","commit_id":"1a0e460636501cc084ce85fe2e092c14f612193a"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"4012cb3ef1780e86ec2f7a379a4661c74416e89a","unresolved":false,"context_lines":[{"line_number":145,"context_line":"        if not packager.pkg_is_installed(packages):"},{"line_number":146,"context_line":"            LOG.info(_(\u0027Installing Redis.\u0027))"},{"line_number":147,"context_line":"            self._install_redis(packages)"},{"line_number":148,"context_line":"        LOG.info(_(\u0027Redis install_if_needed complete.\u0027))"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"    def complete_install_or_restart(self):"},{"line_number":151,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_a8b7d9d6","line":148,"updated":"2014-07-21 16:55:13.000000000","message":"I think we should avoid method names in INFO messages - they won\u0027t mean anything to an operator.","commit_id":"1a0e460636501cc084ce85fe2e092c14f612193a"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"240fd598101b59af7f0b91ce068463c8469b9aa2","unresolved":false,"context_lines":[{"line_number":145,"context_line":"        if not packager.pkg_is_installed(packages):"},{"line_number":146,"context_line":"            LOG.info(_(\u0027Installing Redis.\u0027))"},{"line_number":147,"context_line":"            self._install_redis(packages)"},{"line_number":148,"context_line":"        LOG.info(_(\u0027Redis install_if_needed complete.\u0027))"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"    def complete_install_or_restart(self):"},{"line_number":151,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_e880f1c0","line":148,"in_reply_to":"baada198_a8b7d9d6","updated":"2014-07-21 16:56:14.000000000","message":"Sorry, duped this comment somehow.","commit_id":"1a0e460636501cc084ce85fe2e092c14f612193a"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"4012cb3ef1780e86ec2f7a379a4661c74416e89a","unresolved":false,"context_lines":[{"line_number":274,"context_line":"                                           root_helper\u003d\u0027sudo\u0027)"},{"line_number":275,"context_line":"            except exception.ProcessExecutionError as p:"},{"line_number":276,"context_line":"                LOG.exception(_(\u0027Error killing stalled redis start command.\u0027))"},{"line_number":277,"context_line":"                LOG.error(p)"},{"line_number":278,"context_line":"            self.status.end_install_or_restart()"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_88a5b5a0","line":277,"updated":"2014-07-21 16:55:13.000000000","message":"LOG.exception will log the exception, no need for explicit call.  Can also remove the \u0027as p\u0027 from the except.","commit_id":"1a0e460636501cc084ce85fe2e092c14f612193a"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"1c970f765798b047da12fc9eba530bba8df7d22a","unresolved":false,"context_lines":[{"line_number":145,"context_line":"        if not packager.pkg_is_installed(packages):"},{"line_number":146,"context_line":"            LOG.info(_(\u0027Installing Redis.\u0027))"},{"line_number":147,"context_line":"            self._install_redis(packages)"},{"line_number":148,"context_line":"        LOG.info(_(\u0027Redis install_if_needed complete.\u0027))"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"    def complete_install_or_restart(self):"},{"line_number":151,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_1f58f22f","line":148,"updated":"2014-07-21 19:25:11.000000000","message":"I still think this should say something like:\n\n  LOG.info(_(\u0027Redis installed successfully.\u0027))","commit_id":"e41c6a8190b0e2cb86f996a42e4d4165d7fef1fc"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"eda8d16bc1290cc045fa413adc0a5c058f5a90cf","unresolved":false,"context_lines":[{"line_number":211,"context_line":"        if not self.status.wait_for_real_status_to_change_to("},{"line_number":212,"context_line":"                rd_instance.ServiceStatuses.SHUTDOWN,"},{"line_number":213,"context_line":"                self.state_change_wait_time, update_db):"},{"line_number":214,"context_line":"            LOG.error(_(\u0027Could not stop Redis\u0027))"},{"line_number":215,"context_line":"            self.status.end_install_or_restart()"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"    def restart(self):"}],"source_content_type":"text/x-python","patch_set":7,"id":"baada198_b6432410","line":214,"updated":"2014-07-31 08:20:27.000000000","message":"You missed a period here.","commit_id":"d507f69d1ac9779749fe66ace16cf56a27141d2f"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"6b86650b5b5a7457333702a91d7efb365b2f7e42","unresolved":false,"context_lines":[{"line_number":211,"context_line":"        if not self.status.wait_for_real_status_to_change_to("},{"line_number":212,"context_line":"                rd_instance.ServiceStatuses.SHUTDOWN,"},{"line_number":213,"context_line":"                self.state_change_wait_time, update_db):"},{"line_number":214,"context_line":"            LOG.error(_(\u0027Could not stop Redis\u0027))"},{"line_number":215,"context_line":"            self.status.end_install_or_restart()"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"    def restart(self):"}],"source_content_type":"text/x-python","patch_set":7,"id":"baada198_ebce842c","line":214,"in_reply_to":"baada198_b6432410","updated":"2014-07-31 17:14:33.000000000","message":"Done","commit_id":"d507f69d1ac9779749fe66ace16cf56a27141d2f"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"762175b5a9161d4231896f9a1b9d4a41f18f5c18","unresolved":false,"context_lines":[{"line_number":107,"context_line":"                out, err \u003d utils.execute_with_timeout(\u0027/bin/ps\u0027, \u0027-C\u0027,"},{"line_number":108,"context_line":"                                                      \u0027redis-server\u0027, \u0027h\u0027)"},{"line_number":109,"context_line":"                pid \u003d out.split()[0]"},{"line_number":110,"context_line":"                LOG.debug(\u0027Redis pid: %s\u0027 % (pid))"},{"line_number":111,"context_line":"                LOG.info(_(\u0027Redis Service Status is BLOCKED.\u0027))"},{"line_number":112,"context_line":"                return rd_instance.ServiceStatuses.BLOCKED"},{"line_number":113,"context_line":"            except exception.ProcessExecutionError:"}],"source_content_type":"text/x-python","patch_set":13,"id":"fa98f980_acfdc670","line":110,"updated":"2014-09-08 13:13:09.000000000","message":"missing period","commit_id":"d2e6e7572bf7bd811761eb697a08e71db4dacd80"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"897c221c53c8e1f203e754e4ce90f33ee5a3a9c5","unresolved":false,"context_lines":[{"line_number":107,"context_line":"                out, err \u003d utils.execute_with_timeout(\u0027/bin/ps\u0027, \u0027-C\u0027,"},{"line_number":108,"context_line":"                                                      \u0027redis-server\u0027, \u0027h\u0027)"},{"line_number":109,"context_line":"                pid \u003d out.split()[0]"},{"line_number":110,"context_line":"                LOG.debug(\u0027Redis pid: %s\u0027 % (pid))"},{"line_number":111,"context_line":"                LOG.info(_(\u0027Redis Service Status is BLOCKED.\u0027))"},{"line_number":112,"context_line":"                return rd_instance.ServiceStatuses.BLOCKED"},{"line_number":113,"context_line":"            except exception.ProcessExecutionError:"}],"source_content_type":"text/x-python","patch_set":13,"id":"fa98f980_2ab98c2e","line":110,"in_reply_to":"fa98f980_acfdc670","updated":"2014-09-09 14:28:20.000000000","message":"Done","commit_id":"d2e6e7572bf7bd811761eb697a08e71db4dacd80"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"762175b5a9161d4231896f9a1b9d4a41f18f5c18","unresolved":false,"context_lines":[{"line_number":241,"context_line":"        LOG.info(_(\u0027Starting redis with conf changes.\u0027))"},{"line_number":242,"context_line":"        if self.status.is_running:"},{"line_number":243,"context_line":"            raise RuntimeError(\u0027Cannot start_db_with_conf_changes because \u0027"},{"line_number":244,"context_line":"                               \u0027status is %s\u0027 % self.status)"},{"line_number":245,"context_line":"        LOG.info(_(\"Initiating config.\"))"},{"line_number":246,"context_line":"        self.write_config(config_contents)"},{"line_number":247,"context_line":"        self.start_redis(True)"}],"source_content_type":"text/x-python","patch_set":13,"id":"fa98f980_cc020a6f","line":244,"updated":"2014-09-08 13:13:09.000000000","message":"missing period,\n\n\ni\u0027d suggest to add logging here too","commit_id":"d2e6e7572bf7bd811761eb697a08e71db4dacd80"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"897c221c53c8e1f203e754e4ce90f33ee5a3a9c5","unresolved":false,"context_lines":[{"line_number":241,"context_line":"        LOG.info(_(\u0027Starting redis with conf changes.\u0027))"},{"line_number":242,"context_line":"        if self.status.is_running:"},{"line_number":243,"context_line":"            raise RuntimeError(\u0027Cannot start_db_with_conf_changes because \u0027"},{"line_number":244,"context_line":"                               \u0027status is %s\u0027 % self.status)"},{"line_number":245,"context_line":"        LOG.info(_(\"Initiating config.\"))"},{"line_number":246,"context_line":"        self.write_config(config_contents)"},{"line_number":247,"context_line":"        self.start_redis(True)"}],"source_content_type":"text/x-python","patch_set":13,"id":"fa98f980_0aaa08d2","line":244,"in_reply_to":"fa98f980_cc020a6f","updated":"2014-09-09 14:28:20.000000000","message":"Done","commit_id":"d2e6e7572bf7bd811761eb697a08e71db4dacd80"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"d1a8e256b8f3c5e3a2d8bdb4c8a47644881a96ee","unresolved":false,"context_lines":[{"line_number":240,"context_line":"    def start_db_with_conf_changes(self, config_contents):"},{"line_number":241,"context_line":"        LOG.info(_(\u0027Starting redis with conf changes.\u0027))"},{"line_number":242,"context_line":"        if self.status.is_running:"},{"line_number":243,"context_line":"            format \u003d \u0027Cannot start_db_with_conf_changes because status is %s\u0027"},{"line_number":244,"context_line":"            LOG.debug(format, self.status)"},{"line_number":245,"context_line":"            raise RuntimeError(format % self.status)"},{"line_number":246,"context_line":"        LOG.info(_(\"Initiating config.\"))"}],"source_content_type":"text/x-python","patch_set":14,"id":"fa98f980_6ce9e9b6","line":243,"updated":"2014-09-18 21:08:02.000000000","message":"Missing period","commit_id":"10510aa205e4f2948681def2337fb357f9864ba8"}]}
