)]}'
{"tempest/stress/driver.py":[{"author":{"_account_id":6578,"name":"Tal Kammer","email":"tkammer@redhat.com","username":"tkammer"},"change_message_id":"e309adba9ccb6dc7667c360fe50555092105470a","unresolved":false,"context_lines":[{"line_number":26,"context_line":"from tempest.stress import cleanup"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"admin_manager \u003d None"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":31,"context_line":"processes \u003d []"},{"line_number":32,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2B2SI%3D","line":29,"updated":"2013-11-19 12:08:35.000000000","message":"why do you even need a client here?","commit_id":"0722bc09b8b477c38674939c93b210af1818d57d"},{"author":{"_account_id":6578,"name":"Tal Kammer","email":"tkammer@redhat.com","username":"tkammer"},"change_message_id":"e309adba9ccb6dc7667c360fe50555092105470a","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"def do_ssh(command, host):"},{"line_number":42,"context_line":"    username \u003d get_admin_manager().config.stress.target_ssh_user"},{"line_number":43,"context_line":"    key_filename \u003d get_admin_manager().config.stress.target_private_key_path"},{"line_number":44,"context_line":"    if not (username and key_filename):"},{"line_number":45,"context_line":"        LOG.error(\u0027username and key_filename should not be empty\u0027)"},{"line_number":46,"context_line":"        return None"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2B2Rw%3D","line":43,"updated":"2013-11-19 12:08:35.000000000","message":"why not just pass the relevant parameters to the command?\nwhy do you need to instantiate a new object just for the user and key?","commit_id":"0722bc09b8b477c38674939c93b210af1818d57d"},{"author":{"_account_id":6578,"name":"Tal Kammer","email":"tkammer@redhat.com","username":"tkammer"},"change_message_id":"e309adba9ccb6dc7667c360fe50555092105470a","unresolved":false,"context_lines":[{"line_number":100,"context_line":"    Goes through the process list and terminates all child processes."},{"line_number":101,"context_line":"    \"\"\""},{"line_number":102,"context_line":"    log_check_interval \u003d int(get_admin_manager()."},{"line_number":103,"context_line":"                             config.stress.log_check_interval)"},{"line_number":104,"context_line":"    for process in processes:"},{"line_number":105,"context_line":"        if process[\u0027process\u0027].is_alive():"},{"line_number":106,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2B2Rk%3D","line":103,"updated":"2013-11-19 12:08:35.000000000","message":"same as above","commit_id":"0722bc09b8b477c38674939c93b210af1818d57d"},{"author":{"_account_id":6578,"name":"Tal Kammer","email":"tkammer@redhat.com","username":"tkammer"},"change_message_id":"e309adba9ccb6dc7667c360fe50555092105470a","unresolved":false,"context_lines":[{"line_number":122,"context_line":"def stress_openstack(tests, duration, max_runs\u003dNone, stop_on_error\u003dFalse):"},{"line_number":123,"context_line":"    \"\"\""},{"line_number":124,"context_line":"    Workload driver. Executes an action function against a nova-cluster."},{"line_number":125,"context_line":"    \"\"\""},{"line_number":126,"context_line":"    logfiles \u003d get_admin_manager().config.stress.target_logfiles"},{"line_number":127,"context_line":"    log_check_interval \u003d int(get_admin_manager().config.stress."},{"line_number":128,"context_line":"                             log_check_interval)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2B2RU%3D","line":125,"updated":"2013-11-19 12:08:35.000000000","message":"why not just pass the client as a parameter?","commit_id":"0722bc09b8b477c38674939c93b210af1818d57d"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"f851792f35b861cf79185c3c2f04c1623ae89b14","unresolved":false,"context_lines":[{"line_number":31,"context_line":"processes \u003d []"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"def get_admin_manager():"},{"line_number":35,"context_line":"    global admin_manager"},{"line_number":36,"context_line":"    if admin_manager is None:"},{"line_number":37,"context_line":"        admin_manager \u003d clients.AdminManager()"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2Bf70%3D","line":34,"updated":"2013-11-25 13:18:42.000000000","message":"Consider using the tempest.common.utils.misc.singleton as a decorator.","commit_id":"081c52c3e28ae1b9c0cd6633d97d34d40ab427eb"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"eadfaf50a375f23948ac0624f5911cf8614b1019","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"def do_ssh(command, host):"},{"line_number":42,"context_line":"    username \u003d get_admin_manager().config.stress.target_ssh_user"},{"line_number":43,"context_line":"    key_filename \u003d get_admin_manager().config.stress.target_private_key_path"},{"line_number":44,"context_line":"    if not (username and key_filename):"},{"line_number":45,"context_line":"        LOG.error(\u0027username and key_filename should not be empty\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2Bf4o%3D","line":42,"updated":"2013-11-25 13:31:09.000000000","message":"This does not really needs a manager object,\nIt requires a tempest config.\ntempest.config.TempestConfig()","commit_id":"081c52c3e28ae1b9c0cd6633d97d34d40ab427eb"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"eadfaf50a375f23948ac0624f5911cf8614b1019","unresolved":false,"context_lines":[{"line_number":123,"context_line":"    \"\"\""},{"line_number":124,"context_line":"    Workload driver. Executes an action function against a nova-cluster."},{"line_number":125,"context_line":"    \"\"\""},{"line_number":126,"context_line":"    logfiles \u003d get_admin_manager().config.stress.target_logfiles"},{"line_number":127,"context_line":"    log_check_interval \u003d int(get_admin_manager().config.stress."},{"line_number":128,"context_line":"                             log_check_interval)"},{"line_number":129,"context_line":"    default_thread_num \u003d int(get_admin_manager().config.stress."}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2Bf4g%3D","line":126,"updated":"2013-11-25 13:31:09.000000000","message":"Looks like this is the only method which needs the manager instance,\ncan it be created here ?","commit_id":"081c52c3e28ae1b9c0cd6633d97d34d40ab427eb"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"14fae2dbfb56bf8829626cca040b0e2a5fe8410d","unresolved":false,"context_lines":[{"line_number":92,"context_line":"    \"\"\""},{"line_number":93,"context_line":"    Goes through the process list and terminates all child processes."},{"line_number":94,"context_line":"    \"\"\""},{"line_number":95,"context_line":"    log_check_interval \u003d int(admin_manager.config.stress.log_check_interval)"},{"line_number":96,"context_line":"    for process in processes:"},{"line_number":97,"context_line":"        if process[\u0027process\u0027].is_alive():"},{"line_number":98,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F%2Bfr0%3D","side":"PARENT","line":95,"updated":"2013-11-25 14:14:03.000000000","message":"After this change it will use the 20 sec wait before SIGKILL.\nThis timeout does not seems to be related to the the log checking anyway.","commit_id":"7089f14fb5ee3c10ba7e9c7b4b83a80c06fbd0a8"}]}
