)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6786,"name":"Sergey Lukjanov","email":"me@slukjanov.name","username":"slukjanov"},"change_message_id":"15904f74f72babfc0ffd04d2fce2802cbb512443","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Nikolay Starodubtsev \u003cnstarodubtsev@mirantis.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-02-09 16:41:20 +0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Rewrite existing logging system"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This is an initial commit to make sahara logs relevant to new"},{"line_number":10,"context_line":"logging spec."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"da86d52c_c28c7682","line":7,"updated":"2015-02-09 14:02:23.000000000","message":"It\u0027s a kind of rewrite of system rewrite, it\u0027s rewrite of log levels and messages.","commit_id":"d23631d2ef538d9e9d9eeae7d683d57d81249458"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"2d85ef831b417589d8a551a75a6d701a22f397db","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Nikolay Starodubtsev \u003cnstarodubtsev@mirantis.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-02-09 16:41:20 +0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Rewrite existing logging system"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This is an initial commit to make sahara logs relevant to new"},{"line_number":10,"context_line":"logging spec."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"da86d52c_9c01de6c","line":7,"in_reply_to":"da86d52c_c28c7682","updated":"2015-02-10 05:53:19.000000000","message":"Ok, get it. Will change commit message.","commit_id":"d23631d2ef538d9e9d9eeae7d683d57d81249458"},{"author":{"_account_id":6786,"name":"Sergey Lukjanov","email":"me@slukjanov.name","username":"slukjanov"},"change_message_id":"15904f74f72babfc0ffd04d2fce2802cbb512443","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This is an initial commit to make sahara logs relevant to new"},{"line_number":10,"context_line":"logging spec."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"partially-implement bp new-style-logging"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I8e7b7c4c3f375648d2999b1d0e19b68390cc22a8"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"da86d52c_227c7272","line":12,"updated":"2015-02-09 14:02:23.000000000","message":"Sahara spec is needed. It should link to the openstack-spec one and describe some examples of how it maps to our objects.","commit_id":"d23631d2ef538d9e9d9eeae7d683d57d81249458"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"2d85ef831b417589d8a551a75a6d701a22f397db","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This is an initial commit to make sahara logs relevant to new"},{"line_number":10,"context_line":"logging spec."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"partially-implement bp new-style-logging"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I8e7b7c4c3f375648d2999b1d0e19b68390cc22a8"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"da86d52c_bcf7828b","line":12,"in_reply_to":"da86d52c_227c7272","updated":"2015-02-10 05:53:19.000000000","message":"Ok, will publish it today","commit_id":"d23631d2ef538d9e9d9eeae7d683d57d81249458"}],"sahara/api/middleware/auth_valid.py":[{"author":{"_account_id":8091,"name":"Trevor McKay","email":"tmckay@redhat.com","username":"tmckay"},"change_message_id":"4170223cf5dc94b7e460a6972965fe6b2f82fde3","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        if path !\u003d \u0027/\u0027:"},{"line_number":51,"context_line":"            version, url_tenant, rest \u003d commons.split_path(path, 3, 3, True)"},{"line_number":52,"context_line":"            if not version or not url_tenant or not rest:"},{"line_number":53,"context_line":"                LOG.warn(_LW(\"Incorrect path: %s\"), path)"},{"line_number":54,"context_line":"                resp \u003d ex.HTTPNotFound(_(\"Incorrect path\"))"},{"line_number":55,"context_line":"                return resp(env, start_response)"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_9c32990e","line":53,"updated":"2015-02-10 21:23:47.000000000","message":"Do we want to go a step further here in regards to the spec and say more?  Path didn\u0027t have the correct format, version, url_tenant and/or rest segments were missing","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"241e56782c7f8beace0721385b7706a0c6d034ae","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        if path !\u003d \u0027/\u0027:"},{"line_number":51,"context_line":"            version, url_tenant, rest \u003d commons.split_path(path, 3, 3, True)"},{"line_number":52,"context_line":"            if not version or not url_tenant or not rest:"},{"line_number":53,"context_line":"                LOG.warn(_LW(\"Incorrect path: %s\"), path)"},{"line_number":54,"context_line":"                resp \u003d ex.HTTPNotFound(_(\"Incorrect path\"))"},{"line_number":55,"context_line":"                return resp(env, start_response)"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_96e26d9e","line":53,"in_reply_to":"da86d52c_9c32990e","updated":"2015-02-11 03:41:23.000000000","message":"If we want so, well it\u0027s not the goal of this patch, as for me. The goal of this patch is setup our logging messages at right levels, may be add smthg if we move it from INFO to DEBUG of like this.","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"}],"sahara/context.py":[{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"65e52bdb97e2d23611c0d8f4c9b7f9e4991a116a","unresolved":false,"context_lines":[{"line_number":189,"context_line":"        func(*args, **kwargs)"},{"line_number":190,"context_line":"    except BaseException as e:"},{"line_number":191,"context_line":"        LOG.debug("},{"line_number":192,"context_line":"            \"Thread {thread} fails with exception: {exception}\".format("},{"line_number":193,"context_line":"                thread\u003dthread_description, exception\u003de))"},{"line_number":194,"context_line":"        if thread_group and not thread_group.exc:"},{"line_number":195,"context_line":"            thread_group.exc \u003d e"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a80dd14_e3e8b67e","line":192,"range":{"start_line":192,"start_character":32,"end_line":192,"end_character":34},"updated":"2015-03-04 19:28:48.000000000","message":"fails? maybe failed? Or why fails?","commit_id":"de411558c195366c609f166c5455e26992e675a3"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"2faca26fac94084ebf8e0a0433d0e6e3122070d0","unresolved":false,"context_lines":[{"line_number":189,"context_line":"        func(*args, **kwargs)"},{"line_number":190,"context_line":"    except BaseException as e:"},{"line_number":191,"context_line":"        LOG.debug("},{"line_number":192,"context_line":"            \"Thread {thread} fails with exception: {exception}\".format("},{"line_number":193,"context_line":"                thread\u003dthread_description, exception\u003de))"},{"line_number":194,"context_line":"        if thread_group and not thread_group.exc:"},{"line_number":195,"context_line":"            thread_group.exc \u003d e"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a80dd14_f5377aae","line":192,"in_reply_to":"9a80dd14_e3e8b67e","updated":"2015-03-05 01:13:22.000000000","message":"+1 for \"failed\"","commit_id":"de411558c195366c609f166c5455e26992e675a3"}],"sahara/db/sqlalchemy/api.py":[{"author":{"_account_id":8091,"name":"Trevor McKay","email":"tmckay@redhat.com","username":"tmckay"},"change_message_id":"4170223cf5dc94b7e460a6972965fe6b2f82fde3","unresolved":false,"context_lines":[{"line_number":174,"context_line":"        engine \u003d get_engine()"},{"line_number":175,"context_line":"        m.Cluster.metadata.create_all(engine)"},{"line_number":176,"context_line":"    except sa.exc.OperationalError as e:"},{"line_number":177,"context_line":"        LOG.warn(_LW(\"Database registration exception: %s\"), e)"},{"line_number":178,"context_line":"        return False"},{"line_number":179,"context_line":"    return True"},{"line_number":180,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_3fdb5f7d","line":177,"updated":"2015-02-10 21:23:47.000000000","message":"Is this really a warning?  Sahara can\u0027t do anything without a database.  If the create_all fails, isn\u0027t it catastrophic?","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"241e56782c7f8beace0721385b7706a0c6d034ae","unresolved":false,"context_lines":[{"line_number":174,"context_line":"        engine \u003d get_engine()"},{"line_number":175,"context_line":"        m.Cluster.metadata.create_all(engine)"},{"line_number":176,"context_line":"    except sa.exc.OperationalError as e:"},{"line_number":177,"context_line":"        LOG.warn(_LW(\"Database registration exception: %s\"), e)"},{"line_number":178,"context_line":"        return False"},{"line_number":179,"context_line":"    return True"},{"line_number":180,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_964b4db0","line":177,"in_reply_to":"da86d52c_3fdb5f7d","updated":"2015-02-11 03:41:23.000000000","message":"May be you\u0027re right. This change is build on https://github.com/openstack/openstack-specs/blob/master/specs/log-guidelines.rst#logging-by-non-openstack-components\nSo, we can increase sqlalchemy logging level in Sahara. Let\u0027s discuss it on spec review change https://review.openstack.org/#/c/154448/","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":6786,"name":"Sergey Lukjanov","email":"me@slukjanov.name","username":"slukjanov"},"change_message_id":"06c97344e76faf16d46226eba47b82e3b310b0b7","unresolved":false,"context_lines":[{"line_number":174,"context_line":"        engine \u003d get_engine()"},{"line_number":175,"context_line":"        m.Cluster.metadata.create_all(engine)"},{"line_number":176,"context_line":"    except sa.exc.OperationalError as e:"},{"line_number":177,"context_line":"        LOG.warn(_LW(\"Database registration exception: %s\"), e)"},{"line_number":178,"context_line":"        return False"},{"line_number":179,"context_line":"    return True"},{"line_number":180,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"ba7be1f8_cf837802","line":177,"in_reply_to":"da86d52c_964b4db0","updated":"2015-02-24 11:17:29.000000000","message":"IMO SQLA logging could be Errors only, but for this line we should display fatal error happens, because sahara will stop working after that message.","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"67e60030237d33ebe86668b4acd0a4880a76f62f","unresolved":false,"context_lines":[{"line_number":174,"context_line":"        engine \u003d get_engine()"},{"line_number":175,"context_line":"        m.Cluster.metadata.create_all(engine)"},{"line_number":176,"context_line":"    except sa.exc.OperationalError as e:"},{"line_number":177,"context_line":"        LOG.warn(_LW(\"Database registration exception: {exc}\").format(exc\u003de))"},{"line_number":178,"context_line":"        return False"},{"line_number":179,"context_line":"    return True"},{"line_number":180,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"9a80dd14_68c72446","line":177,"updated":"2015-03-05 09:00:23.000000000","message":"Is it ok that somewhere we use log.warn, and in another places log.warning?","commit_id":"33b08c5907761a8eac12b8d3f4fc0e9d6e4ce114"}],"sahara/main.py":[{"author":{"_account_id":8091,"name":"Trevor McKay","email":"tmckay@redhat.com","username":"tmckay"},"change_message_id":"4170223cf5dc94b7e460a6972965fe6b2f82fde3","unresolved":false,"context_lines":[{"line_number":178,"context_line":"def _get_infrastructure_engine():"},{"line_number":179,"context_line":"    \"\"\"Import and return one of sahara.service.*_engine.py modules.\"\"\""},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"    LOG.info(_LI(\"Infrastructure engine %s loaded\"),"},{"line_number":182,"context_line":"             CONF.infrastructure_engine)"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"    return _load_driver(\u0027sahara.infrastructure.engine\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_1f4cdb41","line":181,"updated":"2015-02-10 21:23:47.000000000","message":"To make this really past tense, result of _load_driver should be assigned to temporary var, then the log message, then return var","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"241e56782c7f8beace0721385b7706a0c6d034ae","unresolved":false,"context_lines":[{"line_number":178,"context_line":"def _get_infrastructure_engine():"},{"line_number":179,"context_line":"    \"\"\"Import and return one of sahara.service.*_engine.py modules.\"\"\""},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"    LOG.info(_LI(\"Infrastructure engine %s loaded\"),"},{"line_number":182,"context_line":"             CONF.infrastructure_engine)"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"    return _load_driver(\u0027sahara.infrastructure.engine\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_f6f4895c","line":181,"in_reply_to":"da86d52c_1f4cdb41","updated":"2015-02-11 03:41:23.000000000","message":"thx for the notice","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":200,"context_line":"def start_server(app):"},{"line_number":201,"context_line":"    sock \u003d eventlet.listen((cfg.CONF.host, cfg.CONF.port), backlog\u003d500)"},{"line_number":202,"context_line":"    if sslutils.is_enabled():"},{"line_number":203,"context_line":"        LOG.info(_LI(\"HTTPS for port %s have been used\"), cfg.CONF.port)"},{"line_number":204,"context_line":"        sock \u003d sslutils.wrap(sock)"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"    wsgi.server(sock, app, log\u003dloggers.WritableLogger(LOG), debug\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_d0a400bb","line":203,"updated":"2015-02-10 17:43:04.000000000","message":"this should probably be \"HTTPS configured for use on port %s\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":8091,"name":"Trevor McKay","email":"tmckay@redhat.com","username":"tmckay"},"change_message_id":"4170223cf5dc94b7e460a6972965fe6b2f82fde3","unresolved":false,"context_lines":[{"line_number":200,"context_line":"def start_server(app):"},{"line_number":201,"context_line":"    sock \u003d eventlet.listen((cfg.CONF.host, cfg.CONF.port), backlog\u003d500)"},{"line_number":202,"context_line":"    if sslutils.is_enabled():"},{"line_number":203,"context_line":"        LOG.info(_LI(\"HTTPS for port %s have been used\"), cfg.CONF.port)"},{"line_number":204,"context_line":"        sock \u003d sslutils.wrap(sock)"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"    wsgi.server(sock, app, log\u003dloggers.WritableLogger(LOG), debug\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_7ffdd7b0","line":203,"in_reply_to":"da86d52c_d0a400bb","updated":"2015-02-10 21:23:47.000000000","message":"\"Port %s has been configured to use HTTPS\"\n\nAnd again, if we really are going to stick to the spec, this log message should come after the sock call below so that it is not logged until it has really happened.","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"974608c549d0b76d219ab2cb14588c8efab9d96d","unresolved":false,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    plugins_base.setup_plugins()"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    LOG.info(_LI(\u0027Sahara {service} Started\u0027).format(service\u003dservice_name))"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"def setup_sahara_api(mode):"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba7be1f8_aacff654","line":88,"range":{"start_line":88,"start_character":35,"end_line":88,"end_character":36},"updated":"2015-03-03 09:48:46.000000000","message":"why is capital letter?","commit_id":"76b5c78b5942243524a7ed070829a1034981b6c3"},{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"c1ff21820d3426506a0f7195f2122472db8b3e21","unresolved":false,"context_lines":[{"line_number":181,"context_line":""},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"def _get_remote_driver():"},{"line_number":184,"context_line":"    LOG.info(_LI(\"Remote {remote}  loaded\").format(remote\u003dCONF.remote))"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"    return _load_driver(\u0027sahara.remote\u0027, CONF.remote)"},{"line_number":187,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_49059d78","line":184,"range":{"start_line":184,"start_character":34,"end_line":184,"end_character":35},"updated":"2015-03-03 14:07:01.000000000","message":"2 white spaces","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":6786,"name":"Sergey Lukjanov","email":"me@slukjanov.name","username":"slukjanov"},"change_message_id":"af36879942ecce10bbee0a3c10edcd8fc2f7cce3","unresolved":false,"context_lines":[{"line_number":174,"context_line":"def _get_infrastructure_engine():"},{"line_number":175,"context_line":"    \"\"\"Import and return one of sahara.service.*_engine.py modules.\"\"\""},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"    LOG.info(_LI(\"Infrastructure engine {engine} loaded\").format("},{"line_number":178,"context_line":"             engine\u003dCONF.infrastructure_engine))"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"    return _load_driver(\u0027sahara.infrastructure.engine\u0027,"}],"source_content_type":"text/x-python","patch_set":18,"id":"9a80dd14_fb7849fa","line":177,"updated":"2015-03-11 13:02:30.000000000","message":"Drive isn\u0027t loaded when we\u0027re printing this message, so, it\u0027ll be better to write debug message \"loading something\" and add \"loaded\" message to _load_driver.","commit_id":"2d8550a934d1a16c0f5a2ef2a140692bfc61d47b"},{"author":{"_account_id":6786,"name":"Sergey Lukjanov","email":"me@slukjanov.name","username":"slukjanov"},"change_message_id":"af36879942ecce10bbee0a3c10edcd8fc2f7cce3","unresolved":false,"context_lines":[{"line_number":182,"context_line":""},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"def _get_remote_driver():"},{"line_number":185,"context_line":"    LOG.info(_LI(\"Remote {remote} loaded\").format(remote\u003dCONF.remote))"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"    return _load_driver(\u0027sahara.remote\u0027, CONF.remote)"},{"line_number":188,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"9a80dd14_db738513","line":185,"updated":"2015-03-11 13:02:30.000000000","message":"ditto","commit_id":"2d8550a934d1a16c0f5a2ef2a140692bfc61d47b"},{"author":{"_account_id":6786,"name":"Sergey Lukjanov","email":"me@slukjanov.name","username":"slukjanov"},"change_message_id":"af36879942ecce10bbee0a3c10edcd8fc2f7cce3","unresolved":false,"context_lines":[{"line_number":188,"context_line":""},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"def _get_ops_driver(driver_name):"},{"line_number":191,"context_line":"    LOG.info(_LI(\"Ops {driver} loaded\").format(driver\u003ddriver_name))"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"    return _load_driver(\u0027sahara.run.mode\u0027, driver_name)"},{"line_number":194,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"9a80dd14_fb5f6973","line":191,"updated":"2015-03-11 13:02:30.000000000","message":"ditto","commit_id":"2d8550a934d1a16c0f5a2ef2a140692bfc61d47b"}],"sahara/openstack/common/loopingcall.py":[{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"c67b0f2e877945a11d2a23a80ff7a131497a63e9","unresolved":false,"context_lines":[{"line_number":85,"context_line":"                    delay \u003d end - start - interval"},{"line_number":86,"context_line":"                    if delay \u003e 0:"},{"line_number":87,"context_line":"                        LOG.warn(_LW(\u0027task {func_name} run outlasted \u0027"},{"line_number":88,"context_line":"                                     \u0027interval by {delay}.2f sec\u0027).format("},{"line_number":89,"context_line":"                                 func_name\u003dself.f, delay\u003ddelay))"},{"line_number":90,"context_line":"                    greenthread.sleep(-delay if delay \u003c 0 else 0)"},{"line_number":91,"context_line":"            except LoopingCallDone as e:"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba7be1f8_a24e6bbf","line":88,"updated":"2015-03-02 14:00:37.000000000","message":"it\u0027s common openstack code, which we copy from oslo-incubator. you shouldn\u0027t modify it at all.","commit_id":"1ee6465ff3d83582b0503ff3cc2fa97393df9da7"}],"sahara/openstack/common/periodic_task.py":[{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"c67b0f2e877945a11d2a23a80ff7a131497a63e9","unresolved":false,"context_lines":[{"line_number":118,"context_line":""},{"line_number":119,"context_line":"        if task._periodic_spacing \u003c 0:"},{"line_number":120,"context_line":"            LOG.info(_LI(\u0027Skipping periodic task {task} because \u0027"},{"line_number":121,"context_line":"                         \u0027its interval is negative\u0027).format(task\u003dname))"},{"line_number":122,"context_line":"            return False"},{"line_number":123,"context_line":"        if not task._periodic_enabled:"},{"line_number":124,"context_line":"            LOG.info(_LI(\u0027Skipping periodic task {task} because \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba7be1f8_a2e58ba9","line":121,"updated":"2015-03-02 14:00:37.000000000","message":"ditto","commit_id":"1ee6465ff3d83582b0503ff3cc2fa97393df9da7"}],"sahara/plugins/cdh/cloudera_utils.py":[{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"7b1da168d3bda6875c56db46541e3e674375cce7","unresolved":false,"context_lines":[{"line_number":195,"context_line":"    def await_agents(self, cluster, instances):"},{"line_number":196,"context_line":"        api \u003d self.get_api_client(instances[0].cluster)"},{"line_number":197,"context_line":"        timeout \u003d 300"},{"line_number":198,"context_line":"        LOG.debug(\"Waiting {timeout} seconds for agent connected to manager\"."},{"line_number":199,"context_line":"                  format(timeout\u003dtimeout))"},{"line_number":200,"context_line":"        s_time \u003d timeutils.utcnow()"},{"line_number":201,"context_line":"        while timeutils.delta_seconds(s_time, timeutils.utcnow()) \u003c timeout:"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_baf03dff","line":198,"updated":"2015-03-06 10:00:01.000000000","message":"Is it ok location for dot?","commit_id":"861d95d4d93a214d4a484f412b9ce358cebe0008"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"21cc1fc5cb2bb0a858cdd6aa1405604b4855bc33","unresolved":false,"context_lines":[{"line_number":195,"context_line":"    def await_agents(self, cluster, instances):"},{"line_number":196,"context_line":"        api \u003d self.get_api_client(instances[0].cluster)"},{"line_number":197,"context_line":"        timeout \u003d 300"},{"line_number":198,"context_line":"        LOG.debug(\"Waiting {timeout} seconds for agent connected to manager\"."},{"line_number":199,"context_line":"                  format(timeout\u003dtimeout))"},{"line_number":200,"context_line":"        s_time \u003d timeutils.utcnow()"},{"line_number":201,"context_line":"        while timeutils.delta_seconds(s_time, timeutils.utcnow()) \u003c timeout:"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_1d222352","line":198,"in_reply_to":"9a80dd14_baf03dff","updated":"2015-03-06 10:46:32.000000000","message":"yeap, sometimes it happens","commit_id":"861d95d4d93a214d4a484f412b9ce358cebe0008"}],"sahara/plugins/cdh/plugin_utils.py":[{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"65e52bdb97e2d23611c0d8f4c9b7f9e4991a116a","unresolved":false,"context_lines":[{"line_number":271,"context_line":"            cmd.start_manager(r)"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"        timeout \u003d 300"},{"line_number":274,"context_line":"        LOG.debug(\"Waiting {timeout} seconds for Manager to start : \""},{"line_number":275,"context_line":"                  .format(timeout\u003dtimeout))"},{"line_number":276,"context_line":"        s_time \u003d timeutils.utcnow()"},{"line_number":277,"context_line":"        while timeutils.delta_seconds(s_time, timeutils.utcnow()) \u003c timeout:"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a80dd14_837e1aad","line":274,"range":{"start_line":274,"start_character":65,"end_line":274,"end_character":66},"updated":"2015-03-04 19:28:48.000000000","message":"we can remove this space as well","commit_id":"de411558c195366c609f166c5455e26992e675a3"},{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"65e52bdb97e2d23611c0d8f4c9b7f9e4991a116a","unresolved":false,"context_lines":[{"line_number":305,"context_line":"    def _configure_repo_from_inst(self, instance):"},{"line_number":306,"context_line":"        LOG.debug(\"Configure repos from instance {instance}\".format("},{"line_number":307,"context_line":"                  instance\u003dinstance.instance_name))"},{"line_number":308,"context_line":"        cluster \u003d instance.node_group.cluster"},{"line_number":309,"context_line":""},{"line_number":310,"context_line":"        cdh5_key \u003d self.c_helper.get_cdh5_key_url(cluster)"},{"line_number":311,"context_line":"        cm5_key \u003d self.c_helper.get_cm5_key_url(cluster)"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a80dd14_03414a5a","line":308,"updated":"2015-03-04 19:28:48.000000000","message":"this addition is not required, we can get cluster directly from instance","commit_id":"de411558c195366c609f166c5455e26992e675a3"}],"sahara/plugins/hdp/ambariplugin.py":[{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"3a552806bc3a8a5adee675f3035d5c4a3307e979","unresolved":false,"context_lines":[{"line_number":197,"context_line":"        ambari_client.provision_cluster("},{"line_number":198,"context_line":"            cluster_spec, servers, ambari_info, name)"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"        LOG.info(_LI(\u0027Cluster provisioned via Ambari Server: {0} ...\u0027)"},{"line_number":201,"context_line":"                 .format(ambari_info.get_address()))"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"    # TODO(jspeidel): invoke during scale cluster.  Will need to handle dups"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_30b73288","line":200,"range":{"start_line":200,"start_character":64,"end_line":200,"end_character":68},"updated":"2015-02-10 08:50:43.000000000","message":"Let\u0027s remove this dots","commit_id":"a94360a866ec5902c40b62da33f7419203070434"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"650c99ce0cd9af1060910040308943d487459ba1","unresolved":false,"context_lines":[{"line_number":197,"context_line":"        ambari_client.provision_cluster("},{"line_number":198,"context_line":"            cluster_spec, servers, ambari_info, name)"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"        LOG.info(_LI(\u0027Cluster provisioned via Ambari Server: {0} ...\u0027)"},{"line_number":201,"context_line":"                 .format(ambari_info.get_address()))"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"    # TODO(jspeidel): invoke during scale cluster.  Will need to handle dups"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_7377f4d4","line":200,"range":{"start_line":200,"start_character":64,"end_line":200,"end_character":68},"in_reply_to":"da86d52c_30b73288","updated":"2015-02-10 09:20:32.000000000","message":"Done","commit_id":"a94360a866ec5902c40b62da33f7419203070434"}],"sahara/plugins/hdp/hadoopserver.py":[{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"3a552806bc3a8a5adee675f3035d5c4a3307e979","unresolved":false,"context_lines":[{"line_number":97,"context_line":"                                             run_as_root\u003dTrue,"},{"line_number":98,"context_line":"                                             raise_when_error\u003dFalse)"},{"line_number":99,"context_line":"        if ret_code !\u003d 0:"},{"line_number":100,"context_line":"            LOG.debug(_LI(\"{0}: Unable to install swift integration from \""},{"line_number":101,"context_line":"                          \"source, checking for local rpm.\")"},{"line_number":102,"context_line":"                      .format(self.instance.hostname()))"},{"line_number":103,"context_line":"            ret_code, stdout \u003d r.execute_command("}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_7077ead4","line":100,"range":{"start_line":100,"start_character":21,"end_line":100,"end_character":25},"updated":"2015-02-10 08:50:43.000000000","message":"shouldn\u0027t be translated","commit_id":"a94360a866ec5902c40b62da33f7419203070434"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"650c99ce0cd9af1060910040308943d487459ba1","unresolved":false,"context_lines":[{"line_number":97,"context_line":"                                             run_as_root\u003dTrue,"},{"line_number":98,"context_line":"                                             raise_when_error\u003dFalse)"},{"line_number":99,"context_line":"        if ret_code !\u003d 0:"},{"line_number":100,"context_line":"            LOG.debug(_LI(\"{0}: Unable to install swift integration from \""},{"line_number":101,"context_line":"                          \"source, checking for local rpm.\")"},{"line_number":102,"context_line":"                      .format(self.instance.hostname()))"},{"line_number":103,"context_line":"            ret_code, stdout \u003d r.execute_command("}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_d37c20b8","line":100,"range":{"start_line":100,"start_character":21,"end_line":100,"end_character":25},"in_reply_to":"da86d52c_7077ead4","updated":"2015-02-10 09:20:32.000000000","message":"Done","commit_id":"a94360a866ec5902c40b62da33f7419203070434"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":67,"context_line":"    @saharautils.inject_remote(\u0027r\u0027)"},{"line_number":68,"context_line":"    def install_rpms(self, r):"},{"line_number":69,"context_line":"        LOG.debug("},{"line_number":70,"context_line":"            (\"{0}: Installing rpm\u0027s ...\").format(self.instance.hostname()))"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        # TODO(jspeidel): based on image type, use correct command"},{"line_number":73,"context_line":"        curl_cmd \u003d (\u0027curl -f -s -o /etc/yum.repos.d/ambari.repo %s\u0027 %"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_c429a18a","line":70,"updated":"2015-02-10 17:43:04.000000000","message":"this should change to \"{0}: Install Ambari rpms\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":89,"context_line":"    @saharautils.inject_remote(\u0027r\u0027)"},{"line_number":90,"context_line":"    def install_swift_integration(self, r):"},{"line_number":91,"context_line":"        LOG.debug("},{"line_number":92,"context_line":"            (\"{0}: Installing swift integration ...\")"},{"line_number":93,"context_line":"            .format(self.instance.hostname()))"},{"line_number":94,"context_line":"        base_rpm_cmd \u003d \u0027rpm -U --quiet \u0027"},{"line_number":95,"context_line":"        rpm_cmd \u003d base_rpm_cmd + HADOOP_SWIFT_RPM"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_842fa987","line":92,"updated":"2015-02-10 17:43:04.000000000","message":"this should change to \"{0}: Install swift integration\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    @saharautils.inject_remote(\u0027r\u0027)"},{"line_number":126,"context_line":"    def _setup_and_start_ambari_server(self, port, jdk_path, r):"},{"line_number":127,"context_line":"        LOG.debug((\u0027{0}: Installing ambari-server ...\u0027).format("},{"line_number":128,"context_line":"            self.instance.hostname()))"},{"line_number":129,"context_line":"        r.execute_command(\u0027yum -y install ambari-server\u0027, run_as_root\u003dTrue)"},{"line_number":130,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_a474ad9c","line":127,"updated":"2015-02-10 17:43:04.000000000","message":"this should change to \"{0}: Install ambari-server\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":128,"context_line":"            self.instance.hostname()))"},{"line_number":129,"context_line":"        r.execute_command(\u0027yum -y install ambari-server\u0027, run_as_root\u003dTrue)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        LOG.debug((\u0027Running Ambari Server setup ...\u0027))"},{"line_number":132,"context_line":"        # remove postgres data directory as a precaution since its existence"},{"line_number":133,"context_line":"        # has prevented successful postgres installation"},{"line_number":134,"context_line":"        r.execute_command(\u0027rm -rf /var/lib/pgsql/data\u0027, run_as_root\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_4463f1dc","line":131,"updated":"2015-02-10 17:43:04.000000000","message":"this should change to \"Run Ambari server setup\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":178,"context_line":""},{"line_number":179,"context_line":"    @saharautils.inject_remote(\u0027r\u0027)"},{"line_number":180,"context_line":"    def _setup_and_start_ambari_agent(self, ambari_server_ip, r):"},{"line_number":181,"context_line":"        LOG.debug((\u0027{0}: Installing Ambari Agent ...\u0027).format("},{"line_number":182,"context_line":"            self.instance.hostname()))"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"        r.execute_command(\u0027yum -y install ambari-agent\u0027, run_as_root\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_a49bcdc7","line":181,"updated":"2015-02-10 17:43:04.000000000","message":"this should change to \"{0}: Install Ambari agent\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"974608c549d0b76d219ab2cb14588c8efab9d96d","unresolved":false,"context_lines":[{"line_number":245,"context_line":"                          run_as_root\u003dTrue)"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"    def _log(self, buf):"},{"line_number":248,"context_line":"        # FIXME(Kezar): I don\u0027t know what\u0027s this. Will check later."},{"line_number":249,"context_line":"        LOG.debug(buf)"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"    def _is_component_available(self, component):"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba7be1f8_2a1946d7","line":248,"updated":"2015-03-03 09:48:46.000000000","message":"Is this code used somewhere?","commit_id":"76b5c78b5942243524a7ed070829a1034981b6c3"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"2b48ba541e4cab1fd78ac5905e3cfd2ba1d89fd5","unresolved":false,"context_lines":[{"line_number":245,"context_line":"                          run_as_root\u003dTrue)"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"    def _log(self, buf):"},{"line_number":248,"context_line":"        # FIXME(Kezar): I don\u0027t know what\u0027s this. Will check later."},{"line_number":249,"context_line":"        LOG.debug(buf)"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"    def _is_component_available(self, component):"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba7be1f8_cef993c9","line":248,"in_reply_to":"ba7be1f8_2a1946d7","updated":"2015-03-03 13:54:24.000000000","message":"I don\u0027t know. But, it\u0027s not necessary in this patch to remove it. Will do it later.","commit_id":"76b5c78b5942243524a7ed070829a1034981b6c3"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":67,"context_line":"    @saharautils.inject_remote(\u0027r\u0027)"},{"line_number":68,"context_line":"    def install_rpms(self, r):"},{"line_number":69,"context_line":"        LOG.debug("},{"line_number":70,"context_line":"            (\"{hostname}: Installing rpm\u0027s ...\")"},{"line_number":71,"context_line":"            .format(hostname\u003dself.instance.hostname()))"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"        # TODO(jspeidel): based on image type, use correct command"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_fe6fe25d","line":70,"updated":"2015-03-03 15:28:59.000000000","message":"extra parenthesis around the string not needed","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":81,"context_line":"            r.execute_command(yum_cmd, run_as_root\u003dTrue)"},{"line_number":82,"context_line":"        else:"},{"line_number":83,"context_line":"            LOG.debug((\"{hostname}: Unable to install rpm\u0027s from repo, \""},{"line_number":84,"context_line":"                       \"checking for local install.\")"},{"line_number":85,"context_line":"                      .format(hostname\u003dself.instance.hostname()))"},{"line_number":86,"context_line":"            if not self.rpms_installed():"},{"line_number":87,"context_line":"                raise ex.HadoopProvisionError("}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_5e962e3f","line":84,"updated":"2015-03-03 15:28:59.000000000","message":"ditto","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":90,"context_line":"    @saharautils.inject_remote(\u0027r\u0027)"},{"line_number":91,"context_line":"    def install_swift_integration(self, r):"},{"line_number":92,"context_line":"        LOG.debug("},{"line_number":93,"context_line":"            (\"{hostname}: Installing swift integration\")"},{"line_number":94,"context_line":"            .format(hostname\u003dself.instance.hostname()))"},{"line_number":95,"context_line":"        base_rpm_cmd \u003d \u0027rpm -U --quiet \u0027"},{"line_number":96,"context_line":"        rpm_cmd \u003d base_rpm_cmd + HADOOP_SWIFT_RPM"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_bea00a91","line":93,"updated":"2015-03-03 15:28:59.000000000","message":"ditto","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":99,"context_line":"                                             raise_when_error\u003dFalse)"},{"line_number":100,"context_line":"        if ret_code !\u003d 0:"},{"line_number":101,"context_line":"            LOG.debug((\"{hostname}: Unable to install swift integration from \""},{"line_number":102,"context_line":"                       \"source, checking for local rpm.\")"},{"line_number":103,"context_line":"                      .format(hostname\u003dself.instance.hostname()))"},{"line_number":104,"context_line":"            ret_code, stdout \u003d r.execute_command("},{"line_number":105,"context_line":"                \u0027ls \u0027 + HADOOP_SWIFT_LOCAL_RPM,"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_3ebc1abb","line":102,"updated":"2015-03-03 15:28:59.000000000","message":"ditto","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":125,"context_line":""},{"line_number":126,"context_line":"    @saharautils.inject_remote(\u0027r\u0027)"},{"line_number":127,"context_line":"    def _setup_and_start_ambari_server(self, port, jdk_path, r):"},{"line_number":128,"context_line":"        LOG.debug((\u0027{hostname}: Installing ambari-server\u0027).format("},{"line_number":129,"context_line":"            hostname\u003dself.instance.hostname()))"},{"line_number":130,"context_line":"        r.execute_command(\u0027yum -y install ambari-server\u0027, run_as_root\u003dTrue)"},{"line_number":131,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_5ee46edf","line":128,"updated":"2015-03-03 15:28:59.000000000","message":"ditto","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":129,"context_line":"            hostname\u003dself.instance.hostname()))"},{"line_number":130,"context_line":"        r.execute_command(\u0027yum -y install ambari-server\u0027, run_as_root\u003dTrue)"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"        LOG.debug((\u0027Running Ambari Server setup\u0027))"},{"line_number":133,"context_line":"        # remove postgres data directory as a precaution since its existence"},{"line_number":134,"context_line":"        # has prevented successful postgres installation"},{"line_number":135,"context_line":"        r.execute_command(\u0027rm -rf /var/lib/pgsql/data\u0027, run_as_root\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_9ed186fd","line":132,"updated":"2015-03-03 15:28:59.000000000","message":"ditto","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":180,"context_line":""},{"line_number":181,"context_line":"    @saharautils.inject_remote(\u0027r\u0027)"},{"line_number":182,"context_line":"    def _setup_and_start_ambari_agent(self, ambari_server_ip, r):"},{"line_number":183,"context_line":"        LOG.debug((\u0027{hostname}: Installing Ambari Agent\u0027).format("},{"line_number":184,"context_line":"            hostname\u003dself.instance.hostname()))"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"        r.execute_command(\u0027yum -y install ambari-agent\u0027, run_as_root\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_3e317a5a","line":183,"updated":"2015-03-03 15:28:59.000000000","message":"same as above, also i don\u0027t think \"Agent\" needs to be capitalized","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"}],"sahara/plugins/hdp/versions/version_1_3_2/versionhandler.py":[{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"3a552806bc3a8a5adee675f3035d5c4a3307e979","unresolved":false,"context_lines":[{"line_number":505,"context_line":"                           self._get_host_list(servers)))"},{"line_number":506,"context_line":"        self._exec_ambari_command(ambari_info, body, install_uri)"},{"line_number":507,"context_line":"        LOG.info(_LI(\u0027Started Hadoop components while scaling up\u0027))"},{"line_number":508,"context_line":"        LOG.info(_LI(\u0027Cluster name %(cluster_name)s, Ambari server ip %(ip)s\u0027),"},{"line_number":509,"context_line":"                 {\u0027cluster_name\u0027: cluster_name,"},{"line_number":510,"context_line":"                  \u0027ip\u0027: ambari_info.get_address()})"},{"line_number":511,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_5372f0ad","line":508,"updated":"2015-02-10 08:50:43.000000000","message":"Let\u0027s remove cluster name. All log messages related to some cluster will contains cluster id after patch with logs-improvements merged","commit_id":"a94360a866ec5902c40b62da33f7419203070434"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"650c99ce0cd9af1060910040308943d487459ba1","unresolved":false,"context_lines":[{"line_number":505,"context_line":"                           self._get_host_list(servers)))"},{"line_number":506,"context_line":"        self._exec_ambari_command(ambari_info, body, install_uri)"},{"line_number":507,"context_line":"        LOG.info(_LI(\u0027Started Hadoop components while scaling up\u0027))"},{"line_number":508,"context_line":"        LOG.info(_LI(\u0027Cluster name %(cluster_name)s, Ambari server ip %(ip)s\u0027),"},{"line_number":509,"context_line":"                 {\u0027cluster_name\u0027: cluster_name,"},{"line_number":510,"context_line":"                  \u0027ip\u0027: ambari_info.get_address()})"},{"line_number":511,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_732534c1","line":508,"in_reply_to":"da86d52c_5372f0ad","updated":"2015-02-10 09:20:32.000000000","message":"I think we should wait what will be merged first. And we don\u0027t have an idea to rewrite log messages seriously if it\u0027s not needed. not in this patch.","commit_id":"a94360a866ec5902c40b62da33f7419203070434"},{"author":{"_account_id":8091,"name":"Trevor McKay","email":"tmckay@redhat.com","username":"tmckay"},"change_message_id":"4170223cf5dc94b7e460a6972965fe6b2f82fde3","unresolved":false,"context_lines":[{"line_number":221,"context_line":""},{"line_number":222,"context_line":"        if result.status_code !\u003d 201:"},{"line_number":223,"context_line":"            # NOTE(Kezar): we need to discuss it later"},{"line_number":224,"context_line":"            LOG.critical(_LC(\u0027Create cluster command failed. %s\u0027),"},{"line_number":225,"context_line":"                         result.text)"},{"line_number":226,"context_line":"            raise ex.HadoopProvisionError("},{"line_number":227,"context_line":"                _(\u0027Failed to add cluster: %s\u0027) % result.text)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_ff84670c","line":224,"updated":"2015-02-10 21:23:47.000000000","message":"Questioning whether this is \"critical\" ie, \"wake up anyone and everyone because the service is hopelessly broken.\"\n\nThe HDP plugin might be broken, or this instance of _add_cluster may have failed, but does that mean Sahara is broken and unusable?  Maybe another try works, maybe a different version works, maybe another plugin works ...","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"241e56782c7f8beace0721385b7706a0c6d034ae","unresolved":false,"context_lines":[{"line_number":221,"context_line":""},{"line_number":222,"context_line":"        if result.status_code !\u003d 201:"},{"line_number":223,"context_line":"            # NOTE(Kezar): we need to discuss it later"},{"line_number":224,"context_line":"            LOG.critical(_LC(\u0027Create cluster command failed. %s\u0027),"},{"line_number":225,"context_line":"                         result.text)"},{"line_number":226,"context_line":"            raise ex.HadoopProvisionError("},{"line_number":227,"context_line":"                _(\u0027Failed to add cluster: %s\u0027) % result.text)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_169d9d0a","line":224,"in_reply_to":"da86d52c_ff84670c","updated":"2015-02-11 03:41:23.000000000","message":"ok, get it.\nwe can discuss it here: https://review.openstack.org/#/c/154448/\nat the examples section or like this.","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":8091,"name":"Trevor McKay","email":"tmckay@redhat.com","username":"tmckay"},"change_message_id":"4170223cf5dc94b7e460a6972965fe6b2f82fde3","unresolved":false,"context_lines":[{"line_number":370,"context_line":"                    _(\u0027Installation of Hadoop stack failed.\u0027))"},{"line_number":371,"context_line":"        elif result.status_code !\u003d 200:"},{"line_number":372,"context_line":"            LOG.critical("},{"line_number":373,"context_line":"                _LC(\u0027Install command failed. {0}\u0027).format(result.text))"},{"line_number":374,"context_line":"            raise ex.HadoopProvisionError("},{"line_number":375,"context_line":"                _(\u0027Installation of Hadoop stack failed.\u0027))"},{"line_number":376,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_7f707740","line":373,"updated":"2015-02-10 21:23:47.000000000","message":"ditto, is it really critical?\n\nI think critical is \"Sahara can\u0027t start, crashing...\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":8091,"name":"Trevor McKay","email":"tmckay@redhat.com","username":"tmckay"},"change_message_id":"4170223cf5dc94b7e460a6972965fe6b2f82fde3","unresolved":false,"context_lines":[{"line_number":447,"context_line":"                    _(\u0027Start of Hadoop services failed.\u0027))"},{"line_number":448,"context_line":""},{"line_number":449,"context_line":"        elif result.status_code !\u003d 200:"},{"line_number":450,"context_line":"            LOG.critical("},{"line_number":451,"context_line":"                _LC(\u0027Start command failed. Status: %(status)s, \u0027"},{"line_number":452,"context_line":"                    \u0027response: %(response)s\u0027),"},{"line_number":453,"context_line":"                {\u0027status\u0027: result.status_code, \u0027response\u0027: result.text})"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_9fb7ebd7","line":450,"updated":"2015-02-10 21:23:47.000000000","message":"ditto","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"974608c549d0b76d219ab2cb14588c8efab9d96d","unresolved":false,"context_lines":[{"line_number":219,"context_line":"                            self.handler.get_version() + \u0027\"}}\u0027)"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"        if result.status_code !\u003d 201:"},{"line_number":222,"context_line":"            # NOTE(Kezar): we need to discuss it later"},{"line_number":223,"context_line":"            LOG.error(_LE(\u0027Create cluster command failed. {result}\u0027).format("},{"line_number":224,"context_line":"                      result\u003dresult.text))"},{"line_number":225,"context_line":"            raise ex.HadoopProvisionError("}],"source_content_type":"text/x-python","patch_set":7,"id":"ba7be1f8_ca742a00","line":222,"updated":"2015-03-03 09:48:46.000000000","message":"what we need to discuss?","commit_id":"76b5c78b5942243524a7ed070829a1034981b6c3"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"2b48ba541e4cab1fd78ac5905e3cfd2ba1d89fd5","unresolved":false,"context_lines":[{"line_number":219,"context_line":"                            self.handler.get_version() + \u0027\"}}\u0027)"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"        if result.status_code !\u003d 201:"},{"line_number":222,"context_line":"            # NOTE(Kezar): we need to discuss it later"},{"line_number":223,"context_line":"            LOG.error(_LE(\u0027Create cluster command failed. {result}\u0027).format("},{"line_number":224,"context_line":"                      result\u003dresult.text))"},{"line_number":225,"context_line":"            raise ex.HadoopProvisionError("}],"source_content_type":"text/x-python","patch_set":7,"id":"ba7be1f8_2eecefba","line":222,"in_reply_to":"ba7be1f8_ca742a00","updated":"2015-03-03 13:54:24.000000000","message":"I need to remove it. Spec has been created.","commit_id":"76b5c78b5942243524a7ed070829a1034981b6c3"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":176,"context_line":""},{"line_number":177,"context_line":"    def _post(self, url, ambari_info, data\u003dNone):"},{"line_number":178,"context_line":"        if data:"},{"line_number":179,"context_line":"            LOG.debug((\u0027AmbariClient:_post call, url \u003d {url} data \u003d {data}\u0027)"},{"line_number":180,"context_line":"                      .format(url\u003durl, data\u003dstr(data)))"},{"line_number":181,"context_line":"        else:"},{"line_number":182,"context_line":"            LOG.debug((\u0027AmbariClient:_post call, url \u003d {url}\u0027).format(url\u003durl))"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_9e26e614","line":179,"updated":"2015-03-03 15:28:59.000000000","message":"extra parenthesis not needed","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":179,"context_line":"            LOG.debug((\u0027AmbariClient:_post call, url \u003d {url} data \u003d {data}\u0027)"},{"line_number":180,"context_line":"                      .format(url\u003durl, data\u003dstr(data)))"},{"line_number":181,"context_line":"        else:"},{"line_number":182,"context_line":"            LOG.debug((\u0027AmbariClient:_post call, url \u003d {url}\u0027).format(url\u003durl))"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"        session \u003d self._get_http_session(ambari_info.host, ambari_info.port)"},{"line_number":185,"context_line":"        return session.post(url, data\u003ddata,"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_fe70c209","line":182,"updated":"2015-03-03 15:28:59.000000000","message":"ditto","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":187,"context_line":"                            headers\u003dself._get_standard_headers())"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"    def _delete(self, url, ambari_info):"},{"line_number":190,"context_line":"        LOG.debug((\u0027AmbariClient:_delete call, url \u003d {url}\u0027).format(url\u003durl))"},{"line_number":191,"context_line":"        session \u003d self._get_http_session(ambari_info.host, ambari_info.port)"},{"line_number":192,"context_line":"        return session.delete(url,"},{"line_number":193,"context_line":"                              auth\u003d(ambari_info.user, ambari_info.password),"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_1ec83621","line":190,"updated":"2015-03-03 15:28:59.000000000","message":"ditto","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":195,"context_line":""},{"line_number":196,"context_line":"    def _put(self, url, ambari_info, data\u003dNone):"},{"line_number":197,"context_line":"        if data:"},{"line_number":198,"context_line":"            LOG.debug((\u0027AmbariClient:_put call, url \u003d {url} data \u003d {data}\u0027)"},{"line_number":199,"context_line":"                      .format(url\u003durl, data\u003dstr(data)))"},{"line_number":200,"context_line":"        else:"},{"line_number":201,"context_line":"            LOG.debug((\u0027AmbariClient:_put call, url \u003d {url}\u0027).format(url\u003durl))"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_dee13e9c","line":198,"updated":"2015-03-03 15:28:59.000000000","message":"ditto","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":198,"context_line":"            LOG.debug((\u0027AmbariClient:_put call, url \u003d {url} data \u003d {data}\u0027)"},{"line_number":199,"context_line":"                      .format(url\u003durl, data\u003dstr(data)))"},{"line_number":200,"context_line":"        else:"},{"line_number":201,"context_line":"            LOG.debug((\u0027AmbariClient:_put call, url \u003d {url}\u0027).format(url\u003durl))"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"        session \u003d self._get_http_session(ambari_info.host, ambari_info.port)"},{"line_number":204,"context_line":"        auth \u003d (ambari_info.user, ambari_info.password)"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_1eef5688","line":201,"updated":"2015-03-03 15:28:59.000000000","message":"ditto","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":206,"context_line":"                           headers\u003dself._get_standard_headers())"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"    def _get(self, url, ambari_info):"},{"line_number":209,"context_line":"        LOG.debug((\u0027AmbariClient:_get call, url \u003d {url}\u0027).format(url\u003durl))"},{"line_number":210,"context_line":"        session \u003d self._get_http_session(ambari_info.host, ambari_info.port)"},{"line_number":211,"context_line":"        return session.get(url, auth\u003d(ambari_info.user, ambari_info.password),"},{"line_number":212,"context_line":"                           headers\u003dself._get_standard_headers())"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_beff2a33","line":209,"updated":"2015-03-03 15:28:59.000000000","message":"ditto","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":384,"context_line":"        while not started:"},{"line_number":385,"context_line":"            result \u003d self._get(request_url, ambari_info)"},{"line_number":386,"context_line":"            LOG.debug(("},{"line_number":387,"context_line":"                \u0027async request {url} response: {response}\u0027).format("},{"line_number":388,"context_line":"                url\u003drequest_url, response\u003dresult.text))"},{"line_number":389,"context_line":"            json_result \u003d json.loads(result.text)"},{"line_number":390,"context_line":"            started \u003d True"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_9e77c6d3","line":387,"updated":"2015-03-03 15:28:59.000000000","message":"ditto","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":12707,"name":"Jacob Bin Wang","email":"wangbin@awcloud.com","username":"Jacob"},"change_message_id":"56eec54741a03b83fef2e75fef58b24f238c77c2","unresolved":false,"context_lines":[{"line_number":565,"context_line":"                    host\u003dhosts[\u0027Hosts\u0027][\u0027host_name\u0027]))"},{"line_number":566,"context_line":"            return result and len(json_result[\u0027items\u0027]) \u003e\u003d num_hosts"},{"line_number":567,"context_line":"        except Exception:"},{"line_number":568,"context_line":"            LOG.debug(\u0027Waiting to connect to ambari server\u0027)"},{"line_number":569,"context_line":"            return False"},{"line_number":570,"context_line":""},{"line_number":571,"context_line":"    def update_ambari_admin_user(self, password, ambari_info):"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_499cbdc0","line":568,"updated":"2015-03-03 14:02:10.000000000","message":"Maybe warning? Since it\u0027s in exception.","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":565,"context_line":"                    host\u003dhosts[\u0027Hosts\u0027][\u0027host_name\u0027]))"},{"line_number":566,"context_line":"            return result and len(json_result[\u0027items\u0027]) \u003e\u003d num_hosts"},{"line_number":567,"context_line":"        except Exception:"},{"line_number":568,"context_line":"            LOG.debug(\u0027Waiting to connect to ambari server\u0027)"},{"line_number":569,"context_line":"            return False"},{"line_number":570,"context_line":""},{"line_number":571,"context_line":"    def update_ambari_admin_user(self, password, ambari_info):"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_5e0f0e39","line":568,"in_reply_to":"ba7be1f8_2971490c","updated":"2015-03-03 15:28:59.000000000","message":"agreed with Vitaly","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"c1ff21820d3426506a0f7195f2122472db8b3e21","unresolved":false,"context_lines":[{"line_number":565,"context_line":"                    host\u003dhosts[\u0027Hosts\u0027][\u0027host_name\u0027]))"},{"line_number":566,"context_line":"            return result and len(json_result[\u0027items\u0027]) \u003e\u003d num_hosts"},{"line_number":567,"context_line":"        except Exception:"},{"line_number":568,"context_line":"            LOG.debug(\u0027Waiting to connect to ambari server\u0027)"},{"line_number":569,"context_line":"            return False"},{"line_number":570,"context_line":""},{"line_number":571,"context_line":"    def update_ambari_admin_user(self, password, ambari_info):"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_69d98156","line":568,"in_reply_to":"ba7be1f8_499cbdc0","updated":"2015-03-03 14:07:01.000000000","message":"-1 for that. It just informs, and report some errors.","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"dcffce178f7ea841cc95572bc7bbe4d87fd6ca41","unresolved":false,"context_lines":[{"line_number":565,"context_line":"                    host\u003dhosts[\u0027Hosts\u0027][\u0027host_name\u0027]))"},{"line_number":566,"context_line":"            return result and len(json_result[\u0027items\u0027]) \u003e\u003d num_hosts"},{"line_number":567,"context_line":"        except Exception:"},{"line_number":568,"context_line":"            LOG.debug(\u0027Waiting to connect to ambari server\u0027)"},{"line_number":569,"context_line":"            return False"},{"line_number":570,"context_line":""},{"line_number":571,"context_line":"    def update_ambari_admin_user(self, password, ambari_info):"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_2971490c","line":568,"in_reply_to":"ba7be1f8_69d98156","updated":"2015-03-03 14:07:42.000000000","message":"and -\u003e not","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":12707,"name":"Jacob Bin Wang","email":"wangbin@awcloud.com","username":"Jacob"},"change_message_id":"31c5ef54054e39d9d713880bb9aadc482347ec8d","unresolved":false,"context_lines":[{"line_number":369,"context_line":"                    _(\u0027Installation of Hadoop stack failed.\u0027))"},{"line_number":370,"context_line":"        elif result.status_code !\u003d 200:"},{"line_number":371,"context_line":"            LOG.error("},{"line_number":372,"context_line":"                _LE(\u0027Install command failed. {result}\u0027).format(result.text))"},{"line_number":373,"context_line":"            raise ex.HadoopProvisionError("},{"line_number":374,"context_line":"                _(\u0027Installation of Hadoop stack failed.\u0027))"},{"line_number":375,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"9a80dd14_53524714","line":372,"updated":"2015-03-04 10:21:20.000000000","message":"result\u003dresult.text?","commit_id":"4c07111c3e7906f24e1afa38ca1ddb1403b17f0e"},{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"65e52bdb97e2d23611c0d8f4c9b7f9e4991a116a","unresolved":false,"context_lines":[{"line_number":557,"context_line":"            result \u003d self._get(url, ambari_info)"},{"line_number":558,"context_line":"            json_result \u003d json.loads(result.text)"},{"line_number":559,"context_line":""},{"line_number":560,"context_line":"            LOG.info(_LI(\u0027Registered Hosts: {current_number} \u0027"},{"line_number":561,"context_line":"                         \u0027of {final_number}\u0027).format("},{"line_number":562,"context_line":"                     current_number\u003dlen(json_result[\u0027items\u0027]),"},{"line_number":563,"context_line":"                     final_number\u003dnum_hosts))"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a80dd14_a6e96c1c","line":560,"updated":"2015-03-04 19:28:48.000000000","message":"same here, i think it should be just debug","commit_id":"de411558c195366c609f166c5455e26992e675a3"},{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"65e52bdb97e2d23611c0d8f4c9b7f9e4991a116a","unresolved":false,"context_lines":[{"line_number":566,"context_line":"                    host\u003dhosts[\u0027Hosts\u0027][\u0027host_name\u0027]))"},{"line_number":567,"context_line":"            return result and len(json_result[\u0027items\u0027]) \u003e\u003d num_hosts"},{"line_number":568,"context_line":"        except Exception:"},{"line_number":569,"context_line":"            LOG.warning(_LW(\u0027Waiting to connect to ambari server\u0027))"},{"line_number":570,"context_line":"            return False"},{"line_number":571,"context_line":""},{"line_number":572,"context_line":"    def update_ambari_admin_user(self, password, ambari_info):"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a80dd14_865f080e","line":569,"range":{"start_line":569,"start_character":15,"end_line":569,"end_character":29},"updated":"2015-03-04 19:28:48.000000000","message":"I would prefer to use log.debug here. It\u0027s not an error, we use this try catch to manage that all hosts are connected","commit_id":"de411558c195366c609f166c5455e26992e675a3"}],"sahara/plugins/hdp/versions/version_2_0_6/services.py":[{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"3a552806bc3a8a5adee675f3035d5c4a3307e979","unresolved":false,"context_lines":[{"line_number":1228,"context_line":""},{"line_number":1229,"context_line":"                if \u0027HDFS_CLIENT\u0027 not in components:"},{"line_number":1230,"context_line":"                    components.append(\u0027HDFS_CLIENT\u0027)"},{"line_number":1231,"context_line":"                    LOG.info(_LI(\u0027HDFS client was missed from Hue node.\u0027"},{"line_number":1232,"context_line":"                                 \u0027Added it since it is required for Hue\u0027))"},{"line_number":1233,"context_line":""},{"line_number":1234,"context_line":"                if cluster_spec.get_deployed_node_group_count(\u0027HIVE_SERVER\u0027):"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_b3032cb7","line":1231,"range":{"start_line":1231,"start_character":70,"end_line":1231,"end_character":72},"updated":"2015-02-10 08:50:43.000000000","message":"Missed space","commit_id":"a94360a866ec5902c40b62da33f7419203070434"},{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"1198a1d42f1fd2a3d08e5e7e3f60db97709695aa","unresolved":false,"context_lines":[{"line_number":1228,"context_line":""},{"line_number":1229,"context_line":"                if \u0027HDFS_CLIENT\u0027 not in components:"},{"line_number":1230,"context_line":"                    components.append(\u0027HDFS_CLIENT\u0027)"},{"line_number":1231,"context_line":"                    LOG.info(_LI(\u0027HDFS client was missed from Hue node.\u0027"},{"line_number":1232,"context_line":"                                 \u0027Added it since it is required for Hue\u0027))"},{"line_number":1233,"context_line":""},{"line_number":1234,"context_line":"                if cluster_spec.get_deployed_node_group_count(\u0027HIVE_SERVER\u0027):"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_c10366b6","line":1231,"range":{"start_line":1231,"start_character":70,"end_line":1231,"end_character":72},"in_reply_to":"da86d52c_730c5443","updated":"2015-02-10 09:36:25.000000000","message":"But I don\u0027t see space, I would like to add it.","commit_id":"a94360a866ec5902c40b62da33f7419203070434"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"650c99ce0cd9af1060910040308943d487459ba1","unresolved":false,"context_lines":[{"line_number":1228,"context_line":""},{"line_number":1229,"context_line":"                if \u0027HDFS_CLIENT\u0027 not in components:"},{"line_number":1230,"context_line":"                    components.append(\u0027HDFS_CLIENT\u0027)"},{"line_number":1231,"context_line":"                    LOG.info(_LI(\u0027HDFS client was missed from Hue node.\u0027"},{"line_number":1232,"context_line":"                                 \u0027Added it since it is required for Hue\u0027))"},{"line_number":1233,"context_line":""},{"line_number":1234,"context_line":"                if cluster_spec.get_deployed_node_group_count(\u0027HIVE_SERVER\u0027):"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_730c5443","line":1231,"range":{"start_line":1231,"start_character":70,"end_line":1231,"end_character":72},"in_reply_to":"da86d52c_b3032cb7","updated":"2015-02-10 09:20:32.000000000","message":"it will look like:\n\u0027HDFS client was missed from Hue node.Added it since it is required for Hue\u0027 if I remove this space.","commit_id":"a94360a866ec5902c40b62da33f7419203070434"},{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"3a552806bc3a8a5adee675f3035d5c4a3307e979","unresolved":false,"context_lines":[{"line_number":1234,"context_line":"                if cluster_spec.get_deployed_node_group_count(\u0027HIVE_SERVER\u0027):"},{"line_number":1235,"context_line":"                    if \u0027HIVE_CLIENT\u0027 not in components:"},{"line_number":1236,"context_line":"                        components.append(\u0027HIVE_CLIENT\u0027)"},{"line_number":1237,"context_line":"                        LOG.info(_LI(\u0027HIVE client was missed from Hue node.\u0027"},{"line_number":1238,"context_line":"                                     \u0027Added it since it is required for \u0027"},{"line_number":1239,"context_line":"                                     \u0027Beeswax and HCatalog\u0027))"},{"line_number":1240,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_33273c66","line":1237,"range":{"start_line":1237,"start_character":74,"end_line":1237,"end_character":76},"updated":"2015-02-10 08:50:43.000000000","message":"missed space","commit_id":"a94360a866ec5902c40b62da33f7419203070434"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"650c99ce0cd9af1060910040308943d487459ba1","unresolved":false,"context_lines":[{"line_number":1234,"context_line":"                if cluster_spec.get_deployed_node_group_count(\u0027HIVE_SERVER\u0027):"},{"line_number":1235,"context_line":"                    if \u0027HIVE_CLIENT\u0027 not in components:"},{"line_number":1236,"context_line":"                        components.append(\u0027HIVE_CLIENT\u0027)"},{"line_number":1237,"context_line":"                        LOG.info(_LI(\u0027HIVE client was missed from Hue node.\u0027"},{"line_number":1238,"context_line":"                                     \u0027Added it since it is required for \u0027"},{"line_number":1239,"context_line":"                                     \u0027Beeswax and HCatalog\u0027))"},{"line_number":1240,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_9307081d","line":1237,"range":{"start_line":1237,"start_character":74,"end_line":1237,"end_character":76},"in_reply_to":"da86d52c_33273c66","updated":"2015-02-10 09:20:32.000000000","message":"ditto.","commit_id":"a94360a866ec5902c40b62da33f7419203070434"},{"author":{"_account_id":8091,"name":"Trevor McKay","email":"tmckay@redhat.com","username":"tmckay"},"change_message_id":"4170223cf5dc94b7e460a6972965fe6b2f82fde3","unresolved":false,"context_lines":[{"line_number":1086,"context_line":"                                                property_name))"},{"line_number":1087,"context_line":""},{"line_number":1088,"context_line":"                dst_config[property_name] \u003d property_value"},{"line_number":1089,"context_line":"                LOG.info(_LI(\u0027Merged configuration properties: %(source)s -\u003e \u0027"},{"line_number":1090,"context_line":"                             \u0027%(destination)s\u0027),"},{"line_number":1091,"context_line":"                         {\u0027source\u0027: src_config_name,"},{"line_number":1092,"context_line":"                          \u0027destination\u0027: dst_config_name})"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_bf182fd4","line":1089,"updated":"2015-02-10 21:23:47.000000000","message":"maybe this is Debug level?  Does the user care that config properties were merged?","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"241e56782c7f8beace0721385b7706a0c6d034ae","unresolved":false,"context_lines":[{"line_number":1086,"context_line":"                                                property_name))"},{"line_number":1087,"context_line":""},{"line_number":1088,"context_line":"                dst_config[property_name] \u003d property_value"},{"line_number":1089,"context_line":"                LOG.info(_LI(\u0027Merged configuration properties: %(source)s -\u003e \u0027"},{"line_number":1090,"context_line":"                             \u0027%(destination)s\u0027),"},{"line_number":1091,"context_line":"                         {\u0027source\u0027: src_config_name,"},{"line_number":1092,"context_line":"                          \u0027destination\u0027: dst_config_name})"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_f63729fd","line":1089,"in_reply_to":"da86d52c_bf182fd4","updated":"2015-02-11 03:41:23.000000000","message":"May be you\u0027re right. I think that it can be useful for Cloud administrators, and they don\u0027t want to read DEBUG level logs but I can be wrong.","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":8091,"name":"Trevor McKay","email":"tmckay@redhat.com","username":"tmckay"},"change_message_id":"4170223cf5dc94b7e460a6972965fe6b2f82fde3","unresolved":false,"context_lines":[{"line_number":1229,"context_line":"                if \u0027HDFS_CLIENT\u0027 not in components:"},{"line_number":1230,"context_line":"                    components.append(\u0027HDFS_CLIENT\u0027)"},{"line_number":1231,"context_line":"                    LOG.info(_LI(\u0027HDFS client was missed from Hue node. \u0027"},{"line_number":1232,"context_line":"                                 \u0027Added it since it is required for Hue\u0027))"},{"line_number":1233,"context_line":""},{"line_number":1234,"context_line":"                if cluster_spec.get_deployed_node_group_count(\u0027HIVE_SERVER\u0027):"},{"line_number":1235,"context_line":"                    if \u0027HIVE_CLIENT\u0027 not in components:"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_9f61ab3b","line":1232,"updated":"2015-02-10 21:23:47.000000000","message":"I would just say\n\n\"Added HDFS client to Hue node\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"241e56782c7f8beace0721385b7706a0c6d034ae","unresolved":false,"context_lines":[{"line_number":1229,"context_line":"                if \u0027HDFS_CLIENT\u0027 not in components:"},{"line_number":1230,"context_line":"                    components.append(\u0027HDFS_CLIENT\u0027)"},{"line_number":1231,"context_line":"                    LOG.info(_LI(\u0027HDFS client was missed from Hue node. \u0027"},{"line_number":1232,"context_line":"                                 \u0027Added it since it is required for Hue\u0027))"},{"line_number":1233,"context_line":""},{"line_number":1234,"context_line":"                if cluster_spec.get_deployed_node_group_count(\u0027HIVE_SERVER\u0027):"},{"line_number":1235,"context_line":"                    if \u0027HIVE_CLIENT\u0027 not in components:"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_31238ba8","line":1232,"in_reply_to":"da86d52c_9f61ab3b","updated":"2015-02-11 03:41:23.000000000","message":"Done","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":8091,"name":"Trevor McKay","email":"tmckay@redhat.com","username":"tmckay"},"change_message_id":"4170223cf5dc94b7e460a6972965fe6b2f82fde3","unresolved":false,"context_lines":[{"line_number":1234,"context_line":"                if cluster_spec.get_deployed_node_group_count(\u0027HIVE_SERVER\u0027):"},{"line_number":1235,"context_line":"                    if \u0027HIVE_CLIENT\u0027 not in components:"},{"line_number":1236,"context_line":"                        components.append(\u0027HIVE_CLIENT\u0027)"},{"line_number":1237,"context_line":"                        LOG.info(_LI(\u0027HIVE client was missed from Hue node. \u0027"},{"line_number":1238,"context_line":"                                     \u0027Added it since it is required for \u0027"},{"line_number":1239,"context_line":"                                     \u0027Beeswax and HCatalog\u0027))"},{"line_number":1240,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_df57a358","line":1237,"updated":"2015-02-10 21:23:47.000000000","message":"ditto,\n\nAdded Hive client to Hue node","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"241e56782c7f8beace0721385b7706a0c6d034ae","unresolved":false,"context_lines":[{"line_number":1234,"context_line":"                if cluster_spec.get_deployed_node_group_count(\u0027HIVE_SERVER\u0027):"},{"line_number":1235,"context_line":"                    if \u0027HIVE_CLIENT\u0027 not in components:"},{"line_number":1236,"context_line":"                        components.append(\u0027HIVE_CLIENT\u0027)"},{"line_number":1237,"context_line":"                        LOG.info(_LI(\u0027HIVE client was missed from Hue node. \u0027"},{"line_number":1238,"context_line":"                                     \u0027Added it since it is required for \u0027"},{"line_number":1239,"context_line":"                                     \u0027Beeswax and HCatalog\u0027))"},{"line_number":1240,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_d14eaf6e","line":1237,"in_reply_to":"da86d52c_df57a358","updated":"2015-02-11 03:41:23.000000000","message":"Done","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"67e60030237d33ebe86668b4acd0a4880a76f62f","unresolved":false,"context_lines":[{"line_number":956,"context_line":"        config \u003d cluster_spec.configurations[config_name]"},{"line_number":957,"context_line":""},{"line_number":958,"context_line":"        if config is None:"},{"line_number":959,"context_line":"            LOG.warning(_LW(\u0027Missing configuration named {config_name}, \u0027"},{"line_number":960,"context_line":"                            \u0027aborting Hue ini file creation\u0027).format("},{"line_number":961,"context_line":"                        config_name\u003dconfig_name))"},{"line_number":962,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":13,"id":"9a80dd14_88db781a","line":959,"updated":"2015-03-05 09:00:23.000000000","message":"As example, log.warning here","commit_id":"33b08c5907761a8eac12b8d3f4fc0e9d6e4ce114"}],"sahara/plugins/hdp/versions/version_2_0_6/versionhandler.py":[{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"9363f73e06a0050b6c4b8627c9b28ad0a46ce0a5","unresolved":false,"context_lines":[{"line_number":348,"context_line":"                    _(\u0027Installation of Hadoop stack failed.\u0027))"},{"line_number":349,"context_line":"        elif result.status_code !\u003d 200:"},{"line_number":350,"context_line":"            LOG.critical("},{"line_number":351,"context_line":"                _LE(\u0027Install command failed. {0}\u0027).format(result.text))"},{"line_number":352,"context_line":"            raise ex.HadoopProvisionError("},{"line_number":353,"context_line":"                _(\u0027Installation of Hadoop stack failed.\u0027))"},{"line_number":354,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_87e37004","line":351,"updated":"2015-02-09 13:50:39.000000000","message":"_LC?","commit_id":"d23631d2ef538d9e9d9eeae7d683d57d81249458"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"2d85ef831b417589d8a551a75a6d701a22f397db","unresolved":false,"context_lines":[{"line_number":348,"context_line":"                    _(\u0027Installation of Hadoop stack failed.\u0027))"},{"line_number":349,"context_line":"        elif result.status_code !\u003d 200:"},{"line_number":350,"context_line":"            LOG.critical("},{"line_number":351,"context_line":"                _LE(\u0027Install command failed. {0}\u0027).format(result.text))"},{"line_number":352,"context_line":"            raise ex.HadoopProvisionError("},{"line_number":353,"context_line":"                _(\u0027Installation of Hadoop stack failed.\u0027))"},{"line_number":354,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_dcf2769a","line":351,"in_reply_to":"da86d52c_87e37004","updated":"2015-02-10 05:53:19.000000000","message":"thx, will fix it.","commit_id":"d23631d2ef538d9e9d9eeae7d683d57d81249458"},{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"3a552806bc3a8a5adee675f3035d5c4a3307e979","unresolved":false,"context_lines":[{"line_number":419,"context_line":"                LOG.info("},{"line_number":420,"context_line":"                    _LI(\"Successfully started Hadoop cluster \u0027{0}\u0027.\").format("},{"line_number":421,"context_line":"                        cluster_name))"},{"line_number":422,"context_line":"                LOG.info(_LI(\u0027Cluster name: %(cluster_name)s, Ambari server \u0027"},{"line_number":423,"context_line":"                             \u0027address: %(server_address)s\u0027),"},{"line_number":424,"context_line":"                         {\u0027cluster_name\u0027: cluster_name,"},{"line_number":425,"context_line":"                          \u0027server_address\u0027: ambari_info.get_address()})"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_d3ec20f6","line":422,"range":{"start_line":422,"start_character":38,"end_line":422,"end_character":45},"updated":"2015-02-10 08:50:43.000000000","message":"Same message about cluster name","commit_id":"a94360a866ec5902c40b62da33f7419203070434"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"650c99ce0cd9af1060910040308943d487459ba1","unresolved":false,"context_lines":[{"line_number":419,"context_line":"                LOG.info("},{"line_number":420,"context_line":"                    _LI(\"Successfully started Hadoop cluster \u0027{0}\u0027.\").format("},{"line_number":421,"context_line":"                        cluster_name))"},{"line_number":422,"context_line":"                LOG.info(_LI(\u0027Cluster name: %(cluster_name)s, Ambari server \u0027"},{"line_number":423,"context_line":"                             \u0027address: %(server_address)s\u0027),"},{"line_number":424,"context_line":"                         {\u0027cluster_name\u0027: cluster_name,"},{"line_number":425,"context_line":"                          \u0027server_address\u0027: ambari_info.get_address()})"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_763a82ce","line":422,"range":{"start_line":422,"start_character":38,"end_line":422,"end_character":45},"in_reply_to":"da86d52c_d3ec20f6","updated":"2015-02-10 09:20:32.000000000","message":"we don\u0027t have an idea to rewrite log messages seriously if it\u0027s not needed. not in this patch.","commit_id":"a94360a866ec5902c40b62da33f7419203070434"},{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"3a552806bc3a8a5adee675f3035d5c4a3307e979","unresolved":false,"context_lines":[{"line_number":487,"context_line":"                           self._get_host_list(servers)))"},{"line_number":488,"context_line":"        self._exec_ambari_command(ambari_info, body, install_uri)"},{"line_number":489,"context_line":"        LOG.info(_LI(\u0027Started Hadoop components while scaling up\u0027))"},{"line_number":490,"context_line":"        LOG.info(_LI(\u0027Cluster name %(cluster_name)s, Ambari server ip %(ip)s\u0027),"},{"line_number":491,"context_line":"                 {\u0027cluster_name\u0027: cluster_name,"},{"line_number":492,"context_line":"                  \u0027ip\u0027: ambari_info.get_address()})"},{"line_number":493,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_33b57cee","line":490,"range":{"start_line":490,"start_character":34,"end_line":490,"end_character":42},"updated":"2015-02-10 08:50:43.000000000","message":"ditto","commit_id":"a94360a866ec5902c40b62da33f7419203070434"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"650c99ce0cd9af1060910040308943d487459ba1","unresolved":false,"context_lines":[{"line_number":487,"context_line":"                           self._get_host_list(servers)))"},{"line_number":488,"context_line":"        self._exec_ambari_command(ambari_info, body, install_uri)"},{"line_number":489,"context_line":"        LOG.info(_LI(\u0027Started Hadoop components while scaling up\u0027))"},{"line_number":490,"context_line":"        LOG.info(_LI(\u0027Cluster name %(cluster_name)s, Ambari server ip %(ip)s\u0027),"},{"line_number":491,"context_line":"                 {\u0027cluster_name\u0027: cluster_name,"},{"line_number":492,"context_line":"                  \u0027ip\u0027: ambari_info.get_address()})"},{"line_number":493,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_f64d9273","line":490,"range":{"start_line":490,"start_character":34,"end_line":490,"end_character":42},"in_reply_to":"da86d52c_33b57cee","updated":"2015-02-10 09:20:32.000000000","message":"ditto","commit_id":"a94360a866ec5902c40b62da33f7419203070434"},{"author":{"_account_id":8091,"name":"Trevor McKay","email":"tmckay@redhat.com","username":"tmckay"},"change_message_id":"4170223cf5dc94b7e460a6972965fe6b2f82fde3","unresolved":false,"context_lines":[{"line_number":347,"context_line":"                raise ex.HadoopProvisionError("},{"line_number":348,"context_line":"                    _(\u0027Installation of Hadoop stack failed.\u0027))"},{"line_number":349,"context_line":"        elif result.status_code !\u003d 200:"},{"line_number":350,"context_line":"            LOG.critical("},{"line_number":351,"context_line":"                _LC(\u0027Install command failed. {0}\u0027).format(result.text))"},{"line_number":352,"context_line":"            raise ex.HadoopProvisionError("},{"line_number":353,"context_line":"                _(\u0027Installation of Hadoop stack failed.\u0027))"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_7fdf97d6","line":350,"updated":"2015-02-10 21:23:47.000000000","message":"same note on critical -- does this relate to this attempt at a cluster launch, or do we think Sahara is really, really broken?","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"241e56782c7f8beace0721385b7706a0c6d034ae","unresolved":false,"context_lines":[{"line_number":347,"context_line":"                raise ex.HadoopProvisionError("},{"line_number":348,"context_line":"                    _(\u0027Installation of Hadoop stack failed.\u0027))"},{"line_number":349,"context_line":"        elif result.status_code !\u003d 200:"},{"line_number":350,"context_line":"            LOG.critical("},{"line_number":351,"context_line":"                _LC(\u0027Install command failed. {0}\u0027).format(result.text))"},{"line_number":352,"context_line":"            raise ex.HadoopProvisionError("},{"line_number":353,"context_line":"                _(\u0027Installation of Hadoop stack failed.\u0027))"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_16103d58","line":350,"in_reply_to":"da86d52c_7fdf97d6","updated":"2015-02-11 03:41:23.000000000","message":"I think we should discuss it here: https://review.openstack.org/#/c/154448/\nand when fix it here if needed","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":369,"context_line":"        started \u003d False"},{"line_number":370,"context_line":"        while not started:"},{"line_number":371,"context_line":"            result \u003d self._get(request_url, ambari_info)"},{"line_number":372,"context_line":"            LOG.debug((\u0027async request url: {url}  response:\\n{response}\u0027)"},{"line_number":373,"context_line":"                      .format(url\u003drequest_url, response\u003dresult.text))"},{"line_number":374,"context_line":"            json_result \u003d json.loads(result.text)"},{"line_number":375,"context_line":"            started \u003d True"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_91a3379d","line":372,"updated":"2015-03-03 15:28:59.000000000","message":"extra parenthesis not needed","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":626,"context_line":"                # determine the instances that include HDFS support"},{"line_number":627,"context_line":"                hosts_to_decommission.append(instance.fqdn())"},{"line_number":628,"context_line":""},{"line_number":629,"context_line":"        LOG.debug((\u0027AmbariClient: hosts_to_decommission \u003d {hosts}\u0027).format("},{"line_number":630,"context_line":"            str(hosts_to_decommission)))"},{"line_number":631,"context_line":""},{"line_number":632,"context_line":"        # template for request body"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_b448292e","line":629,"updated":"2015-03-03 15:28:59.000000000","message":"ditto","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":640,"context_line":"        # generate comma-separated list of hosts to de-commission"},{"line_number":641,"context_line":"        list_of_hosts \u003d \",\".join(hosts_to_decommission)"},{"line_number":642,"context_line":""},{"line_number":643,"context_line":"        LOG.debug((\u0027AmbariClient: list_of_hosts \u003d {hosts}\u0027).format("},{"line_number":644,"context_line":"            hosts\u003dlist_of_hosts))"},{"line_number":645,"context_line":""},{"line_number":646,"context_line":"        # create the request body"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_346439b8","line":643,"updated":"2015-03-03 15:28:59.000000000","message":"ditto","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":651,"context_line":"            + \u0027, \"Requests/resource_filters\":[{\"service_name\":\"HDFS\",\u0027"},{"line_number":652,"context_line":"            \u0027\"component_name\":\"NAMENODE\"}]}\u0027)"},{"line_number":653,"context_line":""},{"line_number":654,"context_line":"        LOG.debug((\u0027AmbariClient: about to make decommission request, uri \u003d \u0027"},{"line_number":655,"context_line":"                  \u0027{uri}\u0027).format(uri\u003drequest_uri))"},{"line_number":656,"context_line":"        LOG.debug((\u0027AmbariClient: about to make decommission request, \u0027"},{"line_number":657,"context_line":"                  \u0027request body  \u003d {body}\u0027).format(body\u003drequest_body))"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_9472457a","line":654,"updated":"2015-03-03 15:28:59.000000000","message":"ditto","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":653,"context_line":""},{"line_number":654,"context_line":"        LOG.debug((\u0027AmbariClient: about to make decommission request, uri \u003d \u0027"},{"line_number":655,"context_line":"                  \u0027{uri}\u0027).format(uri\u003drequest_uri))"},{"line_number":656,"context_line":"        LOG.debug((\u0027AmbariClient: about to make decommission request, \u0027"},{"line_number":657,"context_line":"                  \u0027request body  \u003d {body}\u0027).format(body\u003drequest_body))"},{"line_number":658,"context_line":""},{"line_number":659,"context_line":"        # ask Ambari to decommission the datanodes"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_140655ce","line":656,"updated":"2015-03-03 15:28:59.000000000","message":"ditto","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":684,"context_line":"            \u0027NAMENODE\u0027)"},{"line_number":685,"context_line":""},{"line_number":686,"context_line":"        LOG.debug((\u0027AmbariClient: about to make decommission status request,\u0027"},{"line_number":687,"context_line":"                   \u0027uri \u003d {uri}\u0027).format(uri\u003dstatus_request))"},{"line_number":688,"context_line":""},{"line_number":689,"context_line":"        count \u003d 0"},{"line_number":690,"context_line":"        while count \u003c 100 and len(hosts_to_decommission) \u003e 0:"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_54236d57","line":687,"updated":"2015-03-03 15:28:59.000000000","message":"ditto","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":689,"context_line":"        count \u003d 0"},{"line_number":690,"context_line":"        while count \u003c 100 and len(hosts_to_decommission) \u003e 0:"},{"line_number":691,"context_line":"            LOG.debug((\u0027AmbariClient: number of hosts waiting for \u0027"},{"line_number":692,"context_line":"                       \u0027decommissioning to complete \u003d {count}\u0027).format("},{"line_number":693,"context_line":"                      count\u003dstr(len(hosts_to_decommission))))"},{"line_number":694,"context_line":""},{"line_number":695,"context_line":"            result \u003d self._get(status_request, ambari_info)"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_34d99957","line":692,"updated":"2015-03-03 15:28:59.000000000","message":"ditto","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":12707,"name":"Jacob Bin Wang","email":"wangbin@awcloud.com","username":"Jacob"},"change_message_id":"56eec54741a03b83fef2e75fef58b24f238c77c2","unresolved":false,"context_lines":[{"line_number":1064,"context_line":"        body[\u0027Clusters\u0027][\u0027desired_config\u0027][\u0027properties\u0027] \u003d properties"},{"line_number":1065,"context_line":""},{"line_number":1066,"context_line":"        # FIXME(Kezar): I think this should be a little bit more invormative"},{"line_number":1067,"context_line":"        LOG.debug((\"body: body\").format(body\u003dbody))"},{"line_number":1068,"context_line":""},{"line_number":1069,"context_line":"        result \u003d self._put(config_url, hac[\u0027ambari_info\u0027],"},{"line_number":1070,"context_line":"                           data\u003djson.dumps(body))"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_2945c942","line":1067,"updated":"2015-03-03 14:02:10.000000000","message":"missing {}?","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"c1ff21820d3426506a0f7195f2122472db8b3e21","unresolved":false,"context_lines":[{"line_number":1064,"context_line":"        body[\u0027Clusters\u0027][\u0027desired_config\u0027][\u0027properties\u0027] \u003d properties"},{"line_number":1065,"context_line":""},{"line_number":1066,"context_line":"        # FIXME(Kezar): I think this should be a little bit more invormative"},{"line_number":1067,"context_line":"        LOG.debug((\"body: body\").format(body\u003dbody))"},{"line_number":1068,"context_line":""},{"line_number":1069,"context_line":"        result \u003d self._put(config_url, hac[\u0027ambari_info\u0027],"},{"line_number":1070,"context_line":"                           data\u003djson.dumps(body))"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_69bc21bc","line":1067,"in_reply_to":"ba7be1f8_2945c942","updated":"2015-03-03 14:07:01.000000000","message":"+1","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":1064,"context_line":"        body[\u0027Clusters\u0027][\u0027desired_config\u0027][\u0027properties\u0027] \u003d properties"},{"line_number":1065,"context_line":""},{"line_number":1066,"context_line":"        # FIXME(Kezar): I think this should be a little bit more invormative"},{"line_number":1067,"context_line":"        LOG.debug((\"body: body\").format(body\u003dbody))"},{"line_number":1068,"context_line":""},{"line_number":1069,"context_line":"        result \u003d self._put(config_url, hac[\u0027ambari_info\u0027],"},{"line_number":1070,"context_line":"                           data\u003djson.dumps(body))"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_1489f525","line":1067,"in_reply_to":"ba7be1f8_69bc21bc","updated":"2015-03-03 15:28:59.000000000","message":"also, extraneous parenthesis","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":12707,"name":"Jacob Bin Wang","email":"wangbin@awcloud.com","username":"Jacob"},"change_message_id":"31c5ef54054e39d9d713880bb9aadc482347ec8d","unresolved":false,"context_lines":[{"line_number":319,"context_line":"                    if result.status_code !\u003d 201:"},{"line_number":320,"context_line":"                        LOG.error("},{"line_number":321,"context_line":"                            _LE(\u0027Create host_component command failed. \u0027"},{"line_number":322,"context_line":"                                \u0027{result}\u0027).format(resuklt\u003dresult.text))"},{"line_number":323,"context_line":"                        raise ex.HadoopProvisionError("},{"line_number":324,"context_line":"                            _(\u0027Failed to add host component: %s\u0027)"},{"line_number":325,"context_line":"                            % result.text)"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a80dd14_935d9fec","line":322,"updated":"2015-03-04 10:21:20.000000000","message":"typo: resuklt","commit_id":"4c07111c3e7906f24e1afa38ca1ddb1403b17f0e"},{"author":{"_account_id":12707,"name":"Jacob Bin Wang","email":"wangbin@awcloud.com","username":"Jacob"},"change_message_id":"31c5ef54054e39d9d713880bb9aadc482347ec8d","unresolved":false,"context_lines":[{"line_number":421,"context_line":"                LOG.info("},{"line_number":422,"context_line":"                    _LI(\"Successfully started Hadoop cluster \u0027{name}\u0027.\")"},{"line_number":423,"context_line":"                    .format(name\u003dcluster_name))"},{"line_number":424,"context_line":"                LOG.info(_LI(\u0027Cluster name: cluster_name, Ambari server \u0027"},{"line_number":425,"context_line":"                             \u0027address: server_address\u0027).format("},{"line_number":426,"context_line":"                         cluster_name\u003dcluster_name,"},{"line_number":427,"context_line":"                         server_address\u003dambari_info.get_address()))"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a80dd14_93e2ff01","line":424,"updated":"2015-03-04 10:21:20.000000000","message":"cluster_name missing {}","commit_id":"4c07111c3e7906f24e1afa38ca1ddb1403b17f0e"},{"author":{"_account_id":12707,"name":"Jacob Bin Wang","email":"wangbin@awcloud.com","username":"Jacob"},"change_message_id":"31c5ef54054e39d9d713880bb9aadc482347ec8d","unresolved":false,"context_lines":[{"line_number":422,"context_line":"                    _LI(\"Successfully started Hadoop cluster \u0027{name}\u0027.\")"},{"line_number":423,"context_line":"                    .format(name\u003dcluster_name))"},{"line_number":424,"context_line":"                LOG.info(_LI(\u0027Cluster name: cluster_name, Ambari server \u0027"},{"line_number":425,"context_line":"                             \u0027address: server_address\u0027).format("},{"line_number":426,"context_line":"                         cluster_name\u003dcluster_name,"},{"line_number":427,"context_line":"                         server_address\u003dambari_info.get_address()))"},{"line_number":428,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a80dd14_33ba33e2","line":425,"updated":"2015-03-04 10:21:20.000000000","message":"ditto server_address","commit_id":"4c07111c3e7906f24e1afa38ca1ddb1403b17f0e"},{"author":{"_account_id":12707,"name":"Jacob Bin Wang","email":"wangbin@awcloud.com","username":"Jacob"},"change_message_id":"31c5ef54054e39d9d713880bb9aadc482347ec8d","unresolved":false,"context_lines":[{"line_number":627,"context_line":"                hosts_to_decommission.append(instance.fqdn())"},{"line_number":628,"context_line":""},{"line_number":629,"context_line":"        LOG.debug(\u0027AmbariClient: hosts_to_decommission \u003d {hosts}\u0027.format("},{"line_number":630,"context_line":"            str(hosts_to_decommission)))"},{"line_number":631,"context_line":""},{"line_number":632,"context_line":"        # template for request body"},{"line_number":633,"context_line":"        body_header \u003d (\u0027{\"RequestInfo\" : { \"context\": \"Decommission DataNode\",\u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a80dd14_93b03ff6","line":630,"updated":"2015-03-04 10:21:20.000000000","message":"missing hosts\u003d?","commit_id":"4c07111c3e7906f24e1afa38ca1ddb1403b17f0e"},{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"65e52bdb97e2d23611c0d8f4c9b7f9e4991a116a","unresolved":false,"context_lines":[{"line_number":434,"context_line":"            LOG.error("},{"line_number":435,"context_line":"                _LE(\u0027Start command failed. Status: {status}, response: \u0027"},{"line_number":436,"context_line":"                    \u0027{response}\u0027).format(status\u003dresult.status_code,"},{"line_number":437,"context_line":"                                         result\u003dresult.text))"},{"line_number":438,"context_line":"            raise ex.HadoopProvisionError("},{"line_number":439,"context_line":"                _(\u0027Start of Hadoop services failed.\u0027))"},{"line_number":440,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"9a80dd14_06ba38de","line":437,"range":{"start_line":437,"start_character":41,"end_line":437,"end_character":47},"updated":"2015-03-04 19:28:48.000000000","message":"result-\u003eresponse","commit_id":"de411558c195366c609f166c5455e26992e675a3"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"2faca26fac94084ebf8e0a0433d0e6e3122070d0","unresolved":false,"context_lines":[{"line_number":434,"context_line":"            LOG.error("},{"line_number":435,"context_line":"                _LE(\u0027Start command failed. Status: {status}, response: \u0027"},{"line_number":436,"context_line":"                    \u0027{response}\u0027).format(status\u003dresult.status_code,"},{"line_number":437,"context_line":"                                         result\u003dresult.text))"},{"line_number":438,"context_line":"            raise ex.HadoopProvisionError("},{"line_number":439,"context_line":"                _(\u0027Start of Hadoop services failed.\u0027))"},{"line_number":440,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"9a80dd14_150b2ed7","line":437,"in_reply_to":"9a80dd14_06ba38de","updated":"2015-03-05 01:13:22.000000000","message":"+1","commit_id":"de411558c195366c609f166c5455e26992e675a3"},{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"65e52bdb97e2d23611c0d8f4c9b7f9e4991a116a","unresolved":false,"context_lines":[{"line_number":1004,"context_line":"                              \"{host} {component}\").format("},{"line_number":1005,"context_line":"                                  host\u003dhost, component\u003dcomponent))"},{"line_number":1006,"context_line":"                raise ex.NameNodeHAConfigurationError("},{"line_number":1007,"context_line":"                    \u0027Configuring HDFS HA failed. %s\u0027 % result.text)"},{"line_number":1008,"context_line":"        elif result.status_code !\u003d 200:"},{"line_number":1009,"context_line":"            LOG.error("},{"line_number":1010,"context_line":"                _LE(\u0027Configuring HDFS HA failed. {result}\u0027).format("}],"source_content_type":"text/x-python","patch_set":12,"id":"9a80dd14_e6b0c4df","line":1007,"updated":"2015-03-04 19:28:48.000000000","message":"Oy, many missed translations here. I think we should report bug for this.","commit_id":"de411558c195366c609f166c5455e26992e675a3"}],"sahara/plugins/mapr/base/base_cluster_configurer.py":[{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":156,"context_line":"                    configs\u003dng_configs[service.ui_name],"},{"line_number":157,"context_line":"                    instance\u003dng.instances[0]"},{"line_number":158,"context_line":"                )"},{"line_number":159,"context_line":"                LOG.debug((\u0027Rendering {ui_name} config files\u0027).format("},{"line_number":160,"context_line":"                    ui_name\u003dservice.ui_name))"},{"line_number":161,"context_line":"                for conf_file in service_conf_files:"},{"line_number":162,"context_line":"                    ng_config_files.update({"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_749b1166","line":159,"updated":"2015-03-03 15:28:59.000000000","message":"extra parenthesis not needed","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":6786,"name":"Sergey Lukjanov","email":"me@slukjanov.name","username":"slukjanov"},"change_message_id":"af36879942ecce10bbee0a3c10edcd8fc2f7cce3","unresolved":false,"context_lines":[{"line_number":229,"context_line":"                        \u0027echo \"%s:%s\"|chpasswd\u0027 % (\u0027mapr\u0027, \u0027mapr\u0027),"},{"line_number":230,"context_line":"                        run_as_root\u003dTrue)"},{"line_number":231,"context_line":"            else:"},{"line_number":232,"context_line":"                LOG.warning(_LW(\u0027user \"mapr\" does not exists\u0027))"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"        def create_home_mapr(instance):"},{"line_number":235,"context_line":"            target_path \u003d \u0027/home/mapr\u0027"}],"source_content_type":"text/x-python","patch_set":18,"id":"9a80dd14_7e128759","line":232,"updated":"2015-03-11 13:02:30.000000000","message":"Should it starts with capital letter?","commit_id":"2d8550a934d1a16c0f5a2ef2a140692bfc61d47b"},{"author":{"_account_id":6786,"name":"Sergey Lukjanov","email":"me@slukjanov.name","username":"slukjanov"},"change_message_id":"af36879942ecce10bbee0a3c10edcd8fc2f7cce3","unresolved":false,"context_lines":[{"line_number":240,"context_line":"                with instance.remote() as r:"},{"line_number":241,"context_line":"                    r.execute_command(cmd, run_as_root\u003dTrue)"},{"line_number":242,"context_line":"            else:"},{"line_number":243,"context_line":"                LOG.warning(_LW(\u0027user \"mapr\" does not exists\u0027))"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"        util.execute_on_instances(instances, set_user_password)"},{"line_number":246,"context_line":"        util.execute_on_instances(instances, create_home_mapr)"}],"source_content_type":"text/x-python","patch_set":18,"id":"9a80dd14_de19b37a","line":243,"updated":"2015-03-11 13:02:30.000000000","message":"ditto","commit_id":"2d8550a934d1a16c0f5a2ef2a140692bfc61d47b"}],"sahara/plugins/mapr/base/base_node_manager.py":[{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":160,"context_line":"            cmd \u003d cmd % args"},{"line_number":161,"context_line":"            LOG.debug(("},{"line_number":162,"context_line":"                \u0027Executing \"{command}\" on node\u003d{ip}\u0027).format("},{"line_number":163,"context_line":"                command\u003dcmd, ip\u003dinstance.management_ip))"},{"line_number":164,"context_line":"            r.execute_command(cmd, run_as_root\u003dTrue)"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"    def _start_service(self, instance, service):"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_f4eb81a1","line":163,"updated":"2015-03-03 15:28:59.000000000","message":"extra parenthesis not needed","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"}],"sahara/plugins/mapr/services/mysql/mysql.py":[{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        with instance.remote() as r:"},{"line_number":69,"context_line":"            if script_text:"},{"line_number":70,"context_line":"                r.write_file_to(script_path, script_text, run_as_root\u003dTrue)"},{"line_number":71,"context_line":"            LOG.debug((\u0027Executing SQL script {path}\u0027).format(path\u003dscript_path))"},{"line_number":72,"context_line":"            r.execute_command((\"mysql %s %s \u003c %s\" %"},{"line_number":73,"context_line":"                               (\u0027-u\u0027 + user if user else \u0027\u0027,"},{"line_number":74,"context_line":"                                \u0027-p\u0027 + password if password else \u0027\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_943fa524","line":71,"updated":"2015-03-03 15:28:59.000000000","message":"extra parenthesis not needed","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"}],"sahara/plugins/mapr/util/config.py":[{"author":{"_account_id":8411,"name":"Andrew Lazarev","email":"alazarev@mirantis.com","username":"alazarev"},"change_message_id":"38d6a0202ac5f7999c73e62aecfa2ff8699d60d1","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        else:"},{"line_number":52,"context_line":"            LOG.debug(\u0027Data locality is disabled.\u0027)"},{"line_number":53,"context_line":"    LOG.debug(\u0027END: Post configuration for instance.\u0027)"},{"line_number":54,"context_line":"    LOG.info(_LI(\"Post configured for instance\"))"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"def configure_instances(cluster, instances):"}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_fa067520","line":54,"updated":"2015-02-09 18:32:46.000000000","message":"This doesn\u0027t looks like \"english\" for me","commit_id":"d23631d2ef538d9e9d9eeae7d683d57d81249458"},{"author":{"_account_id":8411,"name":"Andrew Lazarev","email":"alazarev@mirantis.com","username":"alazarev"},"change_message_id":"163956e0929c492bb6fe244acfac0fe45c698776","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        else:"},{"line_number":52,"context_line":"            LOG.debug(\u0027Data locality is disabled.\u0027)"},{"line_number":53,"context_line":"    LOG.debug(\u0027END: Post configuration for instance.\u0027)"},{"line_number":54,"context_line":"    LOG.info(_LI(\"Post configured for instance\"))"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"def configure_instances(cluster, instances):"}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_52e02fcc","line":54,"in_reply_to":"da86d52c_7c350a45","updated":"2015-02-10 06:41:32.000000000","message":"What about \"Post configuration for instance is finished.\"? The main issue with your phrase is that \"Post configuration\" is an one term.","commit_id":"d23631d2ef538d9e9d9eeae7d683d57d81249458"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"2d85ef831b417589d8a551a75a6d701a22f397db","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        else:"},{"line_number":52,"context_line":"            LOG.debug(\u0027Data locality is disabled.\u0027)"},{"line_number":53,"context_line":"    LOG.debug(\u0027END: Post configuration for instance.\u0027)"},{"line_number":54,"context_line":"    LOG.info(_LI(\"Post configured for instance\"))"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"def configure_instances(cluster, instances):"}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_7c350a45","line":54,"in_reply_to":"da86d52c_fa067520","updated":"2015-02-10 05:53:19.000000000","message":"Can you help me with that?","commit_id":"d23631d2ef538d9e9d9eeae7d683d57d81249458"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"def configure_topology_data(cluster, is_node_awareness):"},{"line_number":66,"context_line":"    LOG.debug(\u0027START: configuring topology data.\u0027)"},{"line_number":67,"context_line":"    if is_data_locality_enabled(cluster):"},{"line_number":68,"context_line":"        LOG.debug(\u0027Data locality is enabled.\u0027)"},{"line_number":69,"context_line":"        LOG.debug(\u0027Start generating topology map.\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_64063522","line":66,"updated":"2015-02-10 17:43:04.000000000","message":"this should be \"START: configure topology data.\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":78,"context_line":"            LOG.debug(\u0027Done writing to file: %s/topology.data\u0027, MAPR_HOME)"},{"line_number":79,"context_line":"    else:"},{"line_number":80,"context_line":"        LOG.debug(\u0027Data locality is disabled.\u0027)"},{"line_number":81,"context_line":"    LOG.debug(\u0027END: configuring topology data.\u0027)"},{"line_number":82,"context_line":"    LOG.info(_LI(\"Topology data is configured\"))"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_671d5766","line":81,"updated":"2015-02-10 17:43:04.000000000","message":"this should be \"END: configure topology data.\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"}],"sahara/plugins/mapr/util/run_scripts.py":[{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"def run_configure_sh(remote, script_string):"},{"line_number":22,"context_line":"    LOG.debug(\"running configure.sh script\")"},{"line_number":23,"context_line":"    remote.execute_command(script_string, run_as_root\u003dTrue)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_87188b76","line":22,"updated":"2015-02-10 17:43:04.000000000","message":"this should be \"run configure.sh script\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"def start_zookeeper(remote):"},{"line_number":27,"context_line":"    LOG.debug(\"Starting mapr-zookeeper\")"},{"line_number":28,"context_line":"    remote.execute_command(\u0027service mapr-zookeeper start\u0027, run_as_root\u003dTrue)"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_273a7fcd","line":27,"updated":"2015-02-10 17:43:04.000000000","message":"this should be \"Start mapr-zookeeper\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"def start_oozie(remote):"},{"line_number":32,"context_line":"    LOG.debug(\"Starting mapr-oozie\")"},{"line_number":33,"context_line":"    remote.execute_command(\u0027service mapr-oozie start\u0027,"},{"line_number":34,"context_line":"                           run_as_root\u003dTrue,"},{"line_number":35,"context_line":"                           raise_when_error\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_872fab87","line":32,"updated":"2015-02-10 17:43:04.000000000","message":"this should be \"Start mapr-oozie\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"def start_hive_metastore(remote):"},{"line_number":39,"context_line":"    LOG.debug(\"Starting mapr-hive-server2\")"},{"line_number":40,"context_line":"    remote.execute_command(\u0027service mapr-hivemetastore start\u0027,"},{"line_number":41,"context_line":"                           run_as_root\u003dTrue)"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_075bbb2e","line":39,"updated":"2015-02-10 17:43:04.000000000","message":"this should be \"Start mapr-hive-server2\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"def start_hive_server2(remote):"},{"line_number":45,"context_line":"    LOG.debug(\"Starting mapr-hive-server2\")"},{"line_number":46,"context_line":"    remote.execute_command(\u0027service mapr-hiveserver2 start\u0027, run_as_root\u003dTrue)"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_875deb17","line":45,"updated":"2015-02-10 17:43:04.000000000","message":"ditto, \"Start....\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"def start_warden(remote):"},{"line_number":50,"context_line":"    LOG.debug(\"Starting mapr-warden\")"},{"line_number":51,"context_line":"    remote.execute_command(\u0027service mapr-warden start\u0027, run_as_root\u003dTrue)"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_e7a5c704","line":50,"updated":"2015-02-10 17:43:04.000000000","message":"ditto, \"Start....\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"def start_cldb(remote):"},{"line_number":55,"context_line":"    LOG.debug(\"Starting mapr-cldb\")"},{"line_number":56,"context_line":"    remote.execute_command(\u0027service mapr-cldb start\u0027, run_as_root\u003dTrue)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_47aa13d3","line":55,"updated":"2015-02-10 17:43:04.000000000","message":"ditto, \"Start....\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"def start_node_manager(remote):"},{"line_number":60,"context_line":"    LOG.debug(\"Starting nodemanager\")"},{"line_number":61,"context_line":"    remote.execute_command((\u0027/opt/mapr/hadoop/hadoop-2.3.0\u0027"},{"line_number":62,"context_line":"                            \u0027/sbin/yarn-daemon.sh start nodemanager\u0027),"},{"line_number":63,"context_line":"                           run_as_root\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_a782ef4f","line":60,"updated":"2015-02-10 17:43:04.000000000","message":"ditto, \"Start....\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"def start_resource_manager(remote):"},{"line_number":67,"context_line":"    LOG.debug(\"Starting resourcemanager\")"},{"line_number":68,"context_line":"    remote.execute_command((\u0027/opt/mapr/hadoop/hadoop-2.3.0\u0027"},{"line_number":69,"context_line":"                            \u0027/sbin/yarn-daemon.sh start resourcemanager\u0027),"},{"line_number":70,"context_line":"                           run_as_root\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_e77ce774","line":67,"updated":"2015-02-10 17:43:04.000000000","message":"ditto, \"Start....\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"}],"sahara/plugins/mapr/util/scaling.py":[{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"3a552806bc3a8a5adee675f3035d5c4a3307e979","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    start_services(cluster, instances, disk_setup_script_path,"},{"line_number":51,"context_line":"                   waiting_script, configure_sh_string)"},{"line_number":52,"context_line":"    LOG.debug(\u0027END: Cluster scaling. Cluster \u003d %s\u0027 % cluster)"},{"line_number":53,"context_line":"    LOG.info(_LI(\u0027Cluster scaled %s\u0027) % cluster)"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"def decommission_nodes(cluster, instances, configure_sh_string):"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_33ac9ca0","line":53,"range":{"start_line":53,"start_character":37,"end_line":53,"end_character":39},"updated":"2015-02-10 08:50:43.000000000","message":"% -\u003e , (http://docs.openstack.org/developer/oslo.i18n/guidelines.html)","commit_id":"a94360a866ec5902c40b62da33f7419203070434"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"650c99ce0cd9af1060910040308943d487459ba1","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    start_services(cluster, instances, disk_setup_script_path,"},{"line_number":51,"context_line":"                   waiting_script, configure_sh_string)"},{"line_number":52,"context_line":"    LOG.debug(\u0027END: Cluster scaling. Cluster \u003d %s\u0027 % cluster)"},{"line_number":53,"context_line":"    LOG.info(_LI(\u0027Cluster scaled %s\u0027) % cluster)"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"def decommission_nodes(cluster, instances, configure_sh_string):"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_b64b1a58","line":53,"range":{"start_line":53,"start_character":37,"end_line":53,"end_character":39},"in_reply_to":"da86d52c_33ac9ca0","updated":"2015-02-10 09:20:32.000000000","message":"Done","commit_id":"a94360a866ec5902c40b62da33f7419203070434"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":43,"context_line":""},{"line_number":44,"context_line":"def scale_cluster(cluster, instances, disk_setup_script_path, waiting_script,"},{"line_number":45,"context_line":"                  context, configure_sh_string, is_node_awareness):"},{"line_number":46,"context_line":"    LOG.debug(\u0027START: Cluster scaling. Cluster \u003d %s\u0027, cluster.name)"},{"line_number":47,"context_line":"    for inst in instances:"},{"line_number":48,"context_line":"        start_helper.install_role_on_instance(inst, context)"},{"line_number":49,"context_line":"    config.configure_instances(cluster, instances)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_a7d02f54","line":46,"updated":"2015-02-10 17:43:04.000000000","message":"this should be \"START: Cluster scale. Cluster \u003d %s\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    config.configure_instances(cluster, instances)"},{"line_number":50,"context_line":"    start_services(cluster, instances, disk_setup_script_path,"},{"line_number":51,"context_line":"                   waiting_script, configure_sh_string)"},{"line_number":52,"context_line":"    LOG.debug(\u0027END: Cluster scaling. Cluster \u003d %s\u0027,  cluster.name)"},{"line_number":53,"context_line":"    LOG.info(_LI(\u0027Cluster scaled %s\u0027), cluster.name)"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_a7374faf","line":52,"updated":"2015-02-10 17:43:04.000000000","message":"this should be \"END: Cluster scale. Cluster \u003d %s\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"def start_services(cluster, instances, disk_setup_script_path,"},{"line_number":75,"context_line":"                   waiting_script, configure_sh_string):"},{"line_number":76,"context_line":"    LOG.debug(\u0027START: Starting services.\u0027)"},{"line_number":77,"context_line":"    for inst in instances:"},{"line_number":78,"context_line":"        start_helper.exec_configure_sh_on_instance("},{"line_number":79,"context_line":"            cluster, inst, configure_sh_string)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_675557c5","line":76,"updated":"2015-02-10 17:43:04.000000000","message":"this should be \"START: Start services.\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":88,"context_line":"    if check_for_cldb_or_zookeeper_service(instances):"},{"line_number":89,"context_line":"        start_helper.exec_configure_sh_on_cluster("},{"line_number":90,"context_line":"            cluster, configure_sh_string)"},{"line_number":91,"context_line":"    LOG.debug(\u0027END: Starting services.\u0027)"},{"line_number":92,"context_line":"    LOG.info(_LI(\u0027Service started.\u0027))"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_075c9bec","line":91,"updated":"2015-02-10 17:43:04.000000000","message":"this should be \"END: Start services.\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"}],"sahara/plugins/mapr/util/start_helper.py":[{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"3a552806bc3a8a5adee675f3035d5c4a3307e979","unresolved":false,"context_lines":[{"line_number":61,"context_line":"    create_disk_list_file(instance, path_to_disk_setup_script)"},{"line_number":62,"context_line":"    execute_disksetup(instance)"},{"line_number":63,"context_line":"    LOG.debug(\u0027END: Setup maprfs on instance.\u0027)"},{"line_number":64,"context_line":"    LOG.info(_LI(\u0027Maprfs installed on instance %s\u0027) % instance.instance_name)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"def create_disk_list_file(instance, path_to_disk_setup_script):"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_939e2853","line":64,"range":{"start_line":64,"start_character":52,"end_line":64,"end_character":53},"updated":"2015-02-10 08:50:43.000000000","message":"% -\u003e ,","commit_id":"a94360a866ec5902c40b62da33f7419203070434"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"650c99ce0cd9af1060910040308943d487459ba1","unresolved":false,"context_lines":[{"line_number":61,"context_line":"    create_disk_list_file(instance, path_to_disk_setup_script)"},{"line_number":62,"context_line":"    execute_disksetup(instance)"},{"line_number":63,"context_line":"    LOG.debug(\u0027END: Setup maprfs on instance.\u0027)"},{"line_number":64,"context_line":"    LOG.info(_LI(\u0027Maprfs installed on instance %s\u0027) % instance.instance_name)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"def create_disk_list_file(instance, path_to_disk_setup_script):"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_b6623ad6","line":64,"range":{"start_line":64,"start_character":52,"end_line":64,"end_character":53},"in_reply_to":"da86d52c_939e2853","updated":"2015-02-10 09:20:32.000000000","message":"Done","commit_id":"a94360a866ec5902c40b62da33f7419203070434"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"def exec_configure_sh_on_instance(cluster, instance, script_string):"},{"line_number":36,"context_line":"    LOG.debug(\u0027START: Executing configure.sh\u0027)"},{"line_number":37,"context_line":"    if check_for_mapr_db(cluster):"},{"line_number":38,"context_line":"        script_string +\u003d \u0027 -M7\u0027"},{"line_number":39,"context_line":"    if not check_if_mapr_user_exist(instance):"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_c708c3db","line":36,"updated":"2015-02-10 17:43:04.000000000","message":"should be \"START: Execute configure.sh\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        script_string +\u003d \u0027 --create-user\u0027"},{"line_number":41,"context_line":"    LOG.debug(\u0027script_string \u003d %s\u0027, script_string)"},{"line_number":42,"context_line":"    instance.remote().execute_command(script_string, run_as_root\u003dTrue)"},{"line_number":43,"context_line":"    LOG.debug(\u0027END: Executing configure.sh\u0027)"},{"line_number":44,"context_line":"    LOG.info(_LI(\"Instance %s configured\"), instance)"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_27f99fc8","line":43,"updated":"2015-02-10 17:43:04.000000000","message":"should be \"END: Execute configure.sh\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"def create_disk_list_file(instance, path_to_disk_setup_script):"},{"line_number":68,"context_line":"    LOG.debug(\u0027START: Creating disk list file.\u0027)"},{"line_number":69,"context_line":"    script_path \u003d \u0027/tmp/disk_setup_script.sh\u0027"},{"line_number":70,"context_line":"    rmt \u003d instance.remote()"},{"line_number":71,"context_line":"    LOG.debug(\u0027Writing /tmp/disk_setup_script.sh\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_e726a767","line":68,"updated":"2015-02-10 17:43:04.000000000","message":"should be \"START: Create disk list file.\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":78,"context_line":"    cmd \u003d \u0027%s %s\u0027 % (script_path, args)"},{"line_number":79,"context_line":"    LOG.debug(\u0027Executing %s\u0027, cmd)"},{"line_number":80,"context_line":"    rmt.execute_command(cmd, run_as_root\u003dTrue)"},{"line_number":81,"context_line":"    LOG.debug(\u0027END: Creating disk list file.\u0027)"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"def execute_disksetup(instance):"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_2720bf48","line":81,"updated":"2015-02-10 17:43:04.000000000","message":"should be \"END: Create disk list file.\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"def execute_disksetup(instance):"},{"line_number":85,"context_line":"    LOG.debug(\u0027START: Executing disksetup.\u0027)"},{"line_number":86,"context_line":"    rmt \u003d instance.remote()"},{"line_number":87,"context_line":"    rmt.execute_command("},{"line_number":88,"context_line":"        \u0027/opt/mapr/server/disksetup -F /tmp/disk.list\u0027, run_as_root\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_a7d3cf36","line":85,"updated":"2015-02-10 17:43:04.000000000","message":"should be \"START: Execute disksetup.\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":86,"context_line":"    rmt \u003d instance.remote()"},{"line_number":87,"context_line":"    rmt.execute_command("},{"line_number":88,"context_line":"        \u0027/opt/mapr/server/disksetup -F /tmp/disk.list\u0027, run_as_root\u003dTrue)"},{"line_number":89,"context_line":"    LOG.debug(\u0027END: Executing disksetup.\u0027)"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"def wait_for_mfs_unlock(cluster, path_to_waiting_script):"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_47e21302","line":89,"updated":"2015-02-10 17:43:04.000000000","message":"should be \"END: Execute disksetup.\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":122,"context_line":""},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"def create_waiting_script_file(instance, path_to_waiting_script):"},{"line_number":125,"context_line":"    LOG.debug(\u0027START: Creating waiting script file.\u0027)"},{"line_number":126,"context_line":"    script_path \u003d \u0027/tmp/waiting_script.sh\u0027"},{"line_number":127,"context_line":"    rmt \u003d instance.remote()"},{"line_number":128,"context_line":"    rmt.write_file_to(script_path, files.get_file_text(path_to_waiting_script))"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_07b81be4","line":125,"updated":"2015-02-10 17:43:04.000000000","message":"should be \"START: Create waiting script file.\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":126,"context_line":"    script_path \u003d \u0027/tmp/waiting_script.sh\u0027"},{"line_number":127,"context_line":"    rmt \u003d instance.remote()"},{"line_number":128,"context_line":"    rmt.write_file_to(script_path, files.get_file_text(path_to_waiting_script))"},{"line_number":129,"context_line":"    LOG.debug(\u0027END: Creating waiting script file.\u0027)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"def exec_waiting_script_on_instance(instance):"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_a7a10fab","line":129,"updated":"2015-02-10 17:43:04.000000000","message":"should be \"END: Create waiting script file.\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":130,"context_line":""},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"def exec_waiting_script_on_instance(instance):"},{"line_number":133,"context_line":"    LOG.debug(\u0027START: Waiting script\u0027)"},{"line_number":134,"context_line":"    rmt \u003d instance.remote()"},{"line_number":135,"context_line":"    rmt.execute_command(\u0027chmod +x /tmp/waiting_script.sh\u0027, run_as_root\u003dTrue)"},{"line_number":136,"context_line":"    rmt.execute_command(\u0027/tmp/waiting_script.sh\u0027, run_as_root\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_27951f40","line":133,"updated":"2015-02-10 17:43:04.000000000","message":"should be \"START: Execute waiting script\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":134,"context_line":"    rmt \u003d instance.remote()"},{"line_number":135,"context_line":"    rmt.execute_command(\u0027chmod +x /tmp/waiting_script.sh\u0027, run_as_root\u003dTrue)"},{"line_number":136,"context_line":"    rmt.execute_command(\u0027/tmp/waiting_script.sh\u0027, run_as_root\u003dTrue)"},{"line_number":137,"context_line":"    LOG.debug(\u0027END: Waiting script\u0027)"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"def check_if_mapr_user_exist(instance):"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_879a4b6c","line":137,"updated":"2015-02-10 17:43:04.000000000","message":"should be \"END: Execute waiting script\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":150,"context_line":""},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"def install_role_on_instance(instance,  cluster_context):"},{"line_number":153,"context_line":"    LOG.debug(\u0027START: Installing roles on node \u0027)"},{"line_number":154,"context_line":"    roles_list \u003d instance.node_group.node_processes"},{"line_number":155,"context_line":"    exec_str \u003d (cluster_context.get_install_manager()"},{"line_number":156,"context_line":"                + cluster_context.get_roles_str(roles_list))"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_4777733b","line":153,"updated":"2015-02-10 17:43:04.000000000","message":"should be \"START: Install roles on node\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":158,"context_line":"              {\u0027command\u0027: exec_str, \u0027instance\u0027: instance.instance_id})"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"    instance.remote().execute_command(exec_str, run_as_root\u003dTrue, timeout\u003d900)"},{"line_number":161,"context_line":"    LOG.debug(\u0027END: Installing roles on node \u0027)"},{"line_number":162,"context_line":"    LOG.info(_LI(\u0027Roles installed on node %\u0027), instance.instance_name)"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_e799476f","line":161,"updated":"2015-02-10 17:43:04.000000000","message":"should be \"END: Install roles on node\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":163,"context_line":""},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"def install_roles(cluster,  cluster_context):"},{"line_number":166,"context_line":"    LOG.debug(\u0027START: Installing roles on cluster\u0027)"},{"line_number":167,"context_line":"    instances \u003d utils.get_instances(cluster)"},{"line_number":168,"context_line":"    with context.ThreadGroup(len(instances)) as tg:"},{"line_number":169,"context_line":"        for instance in instances:"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_67ad5788","line":166,"updated":"2015-02-10 17:43:04.000000000","message":"should be \"START: Install roles on cluster\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":171,"context_line":"                     install_role_on_instance,"},{"line_number":172,"context_line":"                     instance,"},{"line_number":173,"context_line":"                     cluster_context)"},{"line_number":174,"context_line":"    LOG.debug(\u0027END: Installing roles on cluster\u0027)"},{"line_number":175,"context_line":"    LOG.info(_LI(\u0027Roles installed on cluster\u0027))"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_e7b067df","line":174,"updated":"2015-02-10 17:43:04.000000000","message":"should be \"END: Install roles on cluster\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"}],"sahara/plugins/mapr/versions/base_cluster_configurer.py":[{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"9363f73e06a0050b6c4b8627c9b28ad0a46ce0a5","unresolved":false,"context_lines":[{"line_number":126,"context_line":"            instances \u003d u.get_instances(self.cluster)"},{"line_number":127,"context_line":"        for i in instances:"},{"line_number":128,"context_line":"            i_files \u003d self.node_group_files[i.node_group_id]"},{"line_number":129,"context_line":"            LOG.debug((\u0027Writing files %(f_names)s to node %(node)s\u0027),"},{"line_number":130,"context_line":"                      {\u0027f_names\u0027: i_files.keys(), \u0027node\u0027: i.management_ip})"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"            with i.remote() as r:"}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_27356446","line":129,"updated":"2015-02-09 13:50:39.000000000","message":"redundant brackets","commit_id":"d23631d2ef538d9e9d9eeae7d683d57d81249458"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"2d85ef831b417589d8a551a75a6d701a22f397db","unresolved":false,"context_lines":[{"line_number":126,"context_line":"            instances \u003d u.get_instances(self.cluster)"},{"line_number":127,"context_line":"        for i in instances:"},{"line_number":128,"context_line":"            i_files \u003d self.node_group_files[i.node_group_id]"},{"line_number":129,"context_line":"            LOG.debug((\u0027Writing files %(f_names)s to node %(node)s\u0027),"},{"line_number":130,"context_line":"                      {\u0027f_names\u0027: i_files.keys(), \u0027node\u0027: i.management_ip})"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"            with i.remote() as r:"}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_fce49aad","line":129,"in_reply_to":"da86d52c_27356446","updated":"2015-02-10 05:53:19.000000000","message":"nope. pep8 failed on redundant brackets.\nlook, the message in this case organize like:\nLOG.\u003clevel\u003e((\u003cmessage with vars\u003e), \u003cdict with vars\u003e)","commit_id":"d23631d2ef538d9e9d9eeae7d683d57d81249458"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":126,"context_line":"            instances \u003d u.get_instances(self.cluster)"},{"line_number":127,"context_line":"        for i in instances:"},{"line_number":128,"context_line":"            i_files \u003d self.node_group_files[i.node_group_id]"},{"line_number":129,"context_line":"            LOG.debug((\u0027Writing files %(f_names)s to node %(node)s\u0027),"},{"line_number":130,"context_line":"                      {\u0027f_names\u0027: i_files.keys(), \u0027node\u0027: i.management_ip})"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"            with i.remote() as r:"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_27d19ffb","line":129,"updated":"2015-02-10 17:43:04.000000000","message":"should be \"Write files %(f_names)s to node %(node)s\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"}],"sahara/plugins/mapr/versions/v4_0_1_mrv1/cluster_configurer.py":[{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    def set_cluster_mode(self, instances):"},{"line_number":36,"context_line":"        if not instances:"},{"line_number":37,"context_line":"            instances \u003d u.get_instances(self.cluster)"},{"line_number":38,"context_line":"        LOG.debug(\u0027Setting cluster mode to classic\u0027)"},{"line_number":39,"context_line":"        hv_template \u003d f.get_file_text(self.hadoop_version_local)"},{"line_number":40,"context_line":"        hv \u003d hv_template % {\"mode\": self.hadoop_mode}"},{"line_number":41,"context_line":"        for i in instances:"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_e735c746","line":38,"updated":"2015-02-10 17:43:04.000000000","message":"should be \"Set cluster mode to classic\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        hv \u003d hv_template % {\"mode\": self.hadoop_mode}"},{"line_number":41,"context_line":"        for i in instances:"},{"line_number":42,"context_line":"            with i.remote() as r:"},{"line_number":43,"context_line":"                LOG.debug(\u0027Writing file %(f_name)s to node %(node)s\u0027,"},{"line_number":44,"context_line":"                          {\u0027f_name\u0027: self.hadoop_version_path,"},{"line_number":45,"context_line":"                           \u0027node\u0027: i.management_ip})"},{"line_number":46,"context_line":"                r.write_file_to(self.hadoop_version_path, hv,"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_07101ba7","line":43,"updated":"2015-02-10 17:43:04.000000000","message":"not specifically in the change, but this should be \"Write file %(f_name)s to node %(node)s\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"}],"sahara/plugins/spark/config_helper.py":[{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":262,"context_line":"        for name, value in configs[\u0027general\u0027].items():"},{"line_number":263,"context_line":"            if value:"},{"line_number":264,"context_line":"                cfg \u003d _set_config(cfg, general_config, name)"},{"line_number":265,"context_line":"                LOG.debug(\"Applying config: %s\" % name)"},{"line_number":266,"context_line":"    else:"},{"line_number":267,"context_line":"        cfg \u003d _set_config(cfg, general_config)"},{"line_number":268,"context_line":"    return cfg"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_c77c43ee","line":265,"updated":"2015-02-10 17:43:04.000000000","message":"should be \"Applied config: %s\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":262,"context_line":"        for name, value in configs[\u0027general\u0027].items():"},{"line_number":263,"context_line":"            if value:"},{"line_number":264,"context_line":"                cfg \u003d _set_config(cfg, general_config, name)"},{"line_number":265,"context_line":"                LOG.debug((\"Applying config: {name}\").format(name\u003dname))"},{"line_number":266,"context_line":"    else:"},{"line_number":267,"context_line":"        cfg \u003d _set_config(cfg, general_config)"},{"line_number":268,"context_line":"    return cfg"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_3418b9d2","line":265,"updated":"2015-03-03 15:28:59.000000000","message":"extra parenthesis not needed","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"}],"sahara/plugins/vanilla/hadoop2/config.py":[{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"def configure_cluster(pctx, cluster):"},{"line_number":41,"context_line":"    LOG.debug((\"Configuring cluster {cluster}\").format(cluster\u003dcluster.name))"},{"line_number":42,"context_line":"    if (CONF.use_identity_api_v3 and CONF.use_domain_for_proxy_users and"},{"line_number":43,"context_line":"            vu.get_hiveserver(cluster) and"},{"line_number":44,"context_line":"            c_helper.is_swift_enabled(pctx, cluster)):"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_f470e109","line":41,"updated":"2015-03-03 15:28:59.000000000","message":"extra parenthesis not needed","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":261,"context_line":""},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"def _push_configs_to_instance(instance, configs):"},{"line_number":264,"context_line":"    LOG.debug((\"Push configs to instance {instance}\").format("},{"line_number":265,"context_line":"        instance\u003dinstance.instance_name))"},{"line_number":266,"context_line":"    with instance.remote() as r:"},{"line_number":267,"context_line":"        for fl, data in six.iteritems(configs):"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_745cf17d","line":264,"updated":"2015-03-03 15:28:59.000000000","message":"ditto","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"}],"sahara/plugins/vanilla/hadoop2/run_scripts.py":[{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":147,"context_line":"    if datanodes_count \u003c 1:"},{"line_number":148,"context_line":"        return"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"    LOG.debug(\"Waiting %s datanodes to start up\", datanodes_count)"},{"line_number":151,"context_line":"    with vu.get_namenode(cluster).remote() as r:"},{"line_number":152,"context_line":"        while True:"},{"line_number":153,"context_line":"            if _check_datanodes_count(r, datanodes_count):"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_e75a2782","line":150,"updated":"2015-02-10 17:43:04.000000000","message":"should be \"Wait for %s datanodes to start up\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":147,"context_line":"    if datanodes_count \u003c 1:"},{"line_number":148,"context_line":"        return"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"    LOG.debug((\"Waiting {count} datanodes to start up\").format("},{"line_number":151,"context_line":"              count\u003ddatanodes_count))"},{"line_number":152,"context_line":"    with vu.get_namenode(cluster).remote() as r:"},{"line_number":153,"context_line":"        while True:"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_f44701a1","line":150,"updated":"2015-03-03 15:28:59.000000000","message":"extra parenthesis not needed\n\nalso, this should probably read:\n\n    Waiting for {count} datanodes to start up","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":161,"context_line":""},{"line_number":162,"context_line":"            if not g.check_cluster_exists(cluster):"},{"line_number":163,"context_line":"                LOG.info("},{"line_number":164,"context_line":"                    _LI(\u0027Stop waiting datanodes on cluster {cluster} since it \u0027"},{"line_number":165,"context_line":"                        \u0027has been deleted\u0027).format(cluster\u003dcluster.name))"},{"line_number":166,"context_line":"                return"},{"line_number":167,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_74ea3175","line":164,"updated":"2015-03-03 15:28:59.000000000","message":"this should probably read:\n\n    Stop waiting for datanodes on cluster {cluster} since it","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":175,"context_line":"        \u0027sudo su -lc \"hdfs dfsadmin -report\" hadoop | \u0027"},{"line_number":176,"context_line":"        \u0027grep \\\u0027Live datanodes\\|Datanodes available:\\\u0027 | \u0027"},{"line_number":177,"context_line":"        \u0027grep -o \\\u0027[0-9]\\+\\\u0027 | head -n 1\u0027)"},{"line_number":178,"context_line":"    LOG.debug((\"Datanode count\u003d\u0027{count}\u0027\").format(count\u003dstdout.rstrip()))"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"    return exit_code \u003d\u003d 0 and stdout and int(stdout) \u003d\u003d count"},{"line_number":181,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_74a15145","line":178,"updated":"2015-03-03 15:28:59.000000000","message":"extra parenthesis","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"}],"sahara/plugins/vanilla/v1_2_1/config_helper.py":[{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":223,"context_line":"        for name, value in configs[\u0027general\u0027].items():"},{"line_number":224,"context_line":"            if value:"},{"line_number":225,"context_line":"                cfg \u003d _set_config(cfg, general_config, name)"},{"line_number":226,"context_line":"                LOG.debug(\"Applying config: %s\", name)"},{"line_number":227,"context_line":"    else:"},{"line_number":228,"context_line":"        cfg \u003d _set_config(cfg, general_config)"},{"line_number":229,"context_line":"    return cfg"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_a7c74f11","line":226,"updated":"2015-02-10 17:43:04.000000000","message":"should be \"Applied config: %s\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":223,"context_line":"        for name, value in configs[\u0027general\u0027].items():"},{"line_number":224,"context_line":"            if value:"},{"line_number":225,"context_line":"                cfg \u003d _set_config(cfg, general_config, name)"},{"line_number":226,"context_line":"                LOG.debug((\"Applying config: {config}\").format(config\u003dname))"},{"line_number":227,"context_line":"    else:"},{"line_number":228,"context_line":"        cfg \u003d _set_config(cfg, general_config)"},{"line_number":229,"context_line":"    return cfg"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_f48c61d9","line":226,"updated":"2015-03-03 15:28:59.000000000","message":"extra parenthesis not needed","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":342,"context_line":"                                                       proxy_configs)"},{"line_number":343,"context_line":"        xml_configs.update({\u0027hive-site\u0027:"},{"line_number":344,"context_line":"                            x.create_hadoop_xml(cfg, cfg_filter)})"},{"line_number":345,"context_line":"        LOG.debug((\u0027Generated hive-site.xml for hive {host}\u0027).format("},{"line_number":346,"context_line":"            host\u003dhive_hostname))"},{"line_number":347,"context_line":""},{"line_number":348,"context_line":"    if oozie_hostname:"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_74b87175","line":345,"updated":"2015-03-03 15:28:59.000000000","message":"ditto","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":348,"context_line":"    if oozie_hostname:"},{"line_number":349,"context_line":"        xml_configs.update({\u0027oozie-site\u0027:"},{"line_number":350,"context_line":"                            x.create_hadoop_xml(all_cfg, o_h.OOZIE_DEFAULT)})"},{"line_number":351,"context_line":"        LOG.debug((\u0027Generated oozie-site.xml for oozie {host}\u0027).format("},{"line_number":352,"context_line":"            host\u003doozie_hostname))"},{"line_number":353,"context_line":""},{"line_number":354,"context_line":"    return xml_configs"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_b4ad8933","line":351,"updated":"2015-03-03 15:28:59.000000000","message":"ditto","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"}],"sahara/plugins/vanilla/v1_2_1/run_scripts.py":[{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"def oozie_share_lib(remote, nn_hostname):"},{"line_number":53,"context_line":"    LOG.debug((\"Sharing Oozie libs to hdfs://{host}:8020\").format("},{"line_number":54,"context_line":"        host\u003dnn_hostname))"},{"line_number":55,"context_line":"    # remote.execute_command(\u0027sudo su - -c \"/opt/oozie/bin/oozie-setup.sh \u0027"},{"line_number":56,"context_line":"    #                        \u0027sharelib create -fs hdfs://%s:8020\" hadoop\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_f451c130","line":53,"updated":"2015-03-03 15:28:59.000000000","message":"extra parenthesis not needed","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        \u0027sudo su -c \"hadoop dfsadmin -report | \u0027"},{"line_number":80,"context_line":"        \u0027grep \\\u0027Datanodes available:\\\u0027 | \u0027"},{"line_number":81,"context_line":"        \u0027awk \\\u0027{print \\\\$3}\\\u0027\" hadoop\u0027)"},{"line_number":82,"context_line":"    LOG.debug((\"Datanode count\u003d{count}\").format(count\u003dstdout.rstrip()))"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    return exit_code \u003d\u003d 0 and stdout and int(stdout) \u003d\u003d count"},{"line_number":85,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_3437d900","line":82,"updated":"2015-03-03 15:28:59.000000000","message":"ditto","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"def mysql_start(remote, mysql_instance):"},{"line_number":88,"context_line":"    LOG.debug((\"Starting mysql at {host}\").format("},{"line_number":89,"context_line":"        host\u003dmysql_instance.hostname()))"},{"line_number":90,"context_line":"    remote.execute_command(\"/opt/start-mysql.sh\")"},{"line_number":91,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_9425e5c3","line":88,"updated":"2015-03-03 15:28:59.000000000","message":"ditto","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"}],"sahara/plugins/vanilla/v1_2_1/versionhandler.py":[{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":195,"context_line":"        if datanodes_count \u003c 1:"},{"line_number":196,"context_line":"            return"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"        LOG.debug(\"Waiting %s datanodes to start up\", datanodes_count)"},{"line_number":199,"context_line":"        with remote.get_remote(vu.get_namenode(cluster)) as r:"},{"line_number":200,"context_line":"            while True:"},{"line_number":201,"context_line":"                if run.check_datanodes_count(r, datanodes_count):"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_a7ee6f89","line":198,"updated":"2015-02-10 17:43:04.000000000","message":"should be \"Wait for %s datanodes to start up\"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":207,"context_line":"                context.sleep(1)"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"                if not g.check_cluster_exists(cluster):"},{"line_number":210,"context_line":"                    LOG.debug(\u0027Stop waiting datanodes on cluster %s since it \u0027"},{"line_number":211,"context_line":"                              \u0027has been deleted\u0027, cluster.name)"},{"line_number":212,"context_line":"                    return"},{"line_number":213,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_27027f3e","line":210,"updated":"2015-02-10 17:43:04.000000000","message":"should be \"Stop waiting on datanodes for cluster %s since it \"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":196,"context_line":"        if datanodes_count \u003c 1:"},{"line_number":197,"context_line":"            return"},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"        LOG.debug((\"Waiting {count} datanodes to start up\").format("},{"line_number":200,"context_line":"            count\u003ddatanodes_count))"},{"line_number":201,"context_line":"        with remote.get_remote(vu.get_namenode(cluster)) as r:"},{"line_number":202,"context_line":"            while True:"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_0f2e428c","line":199,"updated":"2015-03-03 15:28:59.000000000","message":"extra parenthesis not needed\n\nalso, this should read:\n\n    Waiting for {count} datanodes to start up","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":210,"context_line":""},{"line_number":211,"context_line":"                if not g.check_cluster_exists(cluster):"},{"line_number":212,"context_line":"                    LOG.debug((\u0027Stop waiting datanodes on cluster {cluster} \u0027"},{"line_number":213,"context_line":"                               \u0027since it has been deleted\u0027).format("},{"line_number":214,"context_line":"                                   cluster\u003dcluster.name))"},{"line_number":215,"context_line":"                    return"},{"line_number":216,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_8f595237","line":213,"updated":"2015-03-03 15:28:59.000000000","message":"ditto\n\nalso, first line should read:\n\n    Stop waiting for datanodes on cluster {cluster}","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"}],"sahara/service/direct_engine.py":[{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"9363f73e06a0050b6c4b8627c9b28ad0a46ce0a5","unresolved":false,"context_lines":[{"line_number":480,"context_line":""},{"line_number":481,"context_line":"    def _rollback_cluster_creation(self, cluster, ex):"},{"line_number":482,"context_line":"        \"\"\"Shutdown all instances and update cluster status.\"\"\""},{"line_number":483,"context_line":"        LOG.debug((\"Cluster \u0027%(name)s\u0027 creation rollback \""},{"line_number":484,"context_line":"                   \"(reason: %(reason)s)\"),"},{"line_number":485,"context_line":"                  {\u0027name\u0027: cluster.name, \u0027reason\u0027: ex})"},{"line_number":486,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_07e220d5","line":483,"updated":"2015-02-09 13:50:39.000000000","message":"redundant brackets","commit_id":"d23631d2ef538d9e9d9eeae7d683d57d81249458"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"2d85ef831b417589d8a551a75a6d701a22f397db","unresolved":false,"context_lines":[{"line_number":480,"context_line":""},{"line_number":481,"context_line":"    def _rollback_cluster_creation(self, cluster, ex):"},{"line_number":482,"context_line":"        \"\"\"Shutdown all instances and update cluster status.\"\"\""},{"line_number":483,"context_line":"        LOG.debug((\"Cluster \u0027%(name)s\u0027 creation rollback \""},{"line_number":484,"context_line":"                   \"(reason: %(reason)s)\"),"},{"line_number":485,"context_line":"                  {\u0027name\u0027: cluster.name, \u0027reason\u0027: ex})"},{"line_number":486,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_fc92daf4","line":483,"in_reply_to":"da86d52c_07e220d5","updated":"2015-02-10 05:53:19.000000000","message":"the message in this case organize like: LOG.\u003clevel\u003e((\u003cmessage with vars\u003e), \u003cdict with vars\u003e)\nso, brackets are okay","commit_id":"d23631d2ef538d9e9d9eeae7d683d57d81249458"},{"author":{"_account_id":8411,"name":"Andrew Lazarev","email":"alazarev@mirantis.com","username":"alazarev"},"change_message_id":"8e2ae6ce982a1f610a5e022cd1b51a714d4d2776","unresolved":false,"context_lines":[{"line_number":480,"context_line":""},{"line_number":481,"context_line":"    def _rollback_cluster_creation(self, cluster, ex):"},{"line_number":482,"context_line":"        \"\"\"Shutdown all instances and update cluster status.\"\"\""},{"line_number":483,"context_line":"        LOG.debug((\"Cluster \u0027%(name)s\u0027 creation rollback \""},{"line_number":484,"context_line":"                   \"(reason: %(reason)s)\"),"},{"line_number":485,"context_line":"                  {\u0027name\u0027: cluster.name, \u0027reason\u0027: ex})"},{"line_number":486,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_b225eb0b","line":483,"in_reply_to":"da86d52c_fc92daf4","updated":"2015-02-10 06:42:47.000000000","message":"It is better without them. Note, there is no %.","commit_id":"d23631d2ef538d9e9d9eeae7d683d57d81249458"},{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"9363f73e06a0050b6c4b8627c9b28ad0a46ce0a5","unresolved":false,"context_lines":[{"line_number":488,"context_line":""},{"line_number":489,"context_line":"    def _rollback_cluster_scaling(self, cluster, instances, ex):"},{"line_number":490,"context_line":"        \"\"\"Attempt to rollback cluster scaling.\"\"\""},{"line_number":491,"context_line":"        LOG.debug((\"Cluster \u0027%(name)s\u0027 scaling rollback \""},{"line_number":492,"context_line":"                   \"(reason: %(reason)s)\"),"},{"line_number":493,"context_line":"                  {\u0027name\u0027: cluster.name, \u0027reason\u0027: ex})"},{"line_number":494,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_67d03cf8","line":491,"updated":"2015-02-09 13:50:39.000000000","message":"ditto","commit_id":"d23631d2ef538d9e9d9eeae7d683d57d81249458"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"2d85ef831b417589d8a551a75a6d701a22f397db","unresolved":false,"context_lines":[{"line_number":488,"context_line":""},{"line_number":489,"context_line":"    def _rollback_cluster_scaling(self, cluster, instances, ex):"},{"line_number":490,"context_line":"        \"\"\"Attempt to rollback cluster scaling.\"\"\""},{"line_number":491,"context_line":"        LOG.debug((\"Cluster \u0027%(name)s\u0027 scaling rollback \""},{"line_number":492,"context_line":"                   \"(reason: %(reason)s)\"),"},{"line_number":493,"context_line":"                  {\u0027name\u0027: cluster.name, \u0027reason\u0027: ex})"},{"line_number":494,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_3cbc726c","line":491,"in_reply_to":"da86d52c_67d03cf8","updated":"2015-02-10 05:53:19.000000000","message":"ditto","commit_id":"d23631d2ef538d9e9d9eeae7d683d57d81249458"},{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"793c87dd28120f4ad3ab98db3a78a5973c099c65","unresolved":false,"context_lines":[{"line_number":547,"context_line":"            volumes.detach_from_instance(instance)"},{"line_number":548,"context_line":"        except Exception:"},{"line_number":549,"context_line":"            LOG.warn(_LW(\"Detaching volumes from instance {uuid} failed\")"},{"line_number":550,"context_line":"                     .format(uuid\u003dinstance.instance_id))"},{"line_number":551,"context_line":""},{"line_number":552,"context_line":"        try:"},{"line_number":553,"context_line":"            nova.client().servers.delete(instance.instance_id)"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba7be1f8_25f097fd","line":550,"updated":"2015-03-03 09:51:44.000000000","message":"maybe id?","commit_id":"76b5c78b5942243524a7ed070829a1034981b6c3"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"2b48ba541e4cab1fd78ac5905e3cfd2ba1d89fd5","unresolved":false,"context_lines":[{"line_number":547,"context_line":"            volumes.detach_from_instance(instance)"},{"line_number":548,"context_line":"        except Exception:"},{"line_number":549,"context_line":"            LOG.warn(_LW(\"Detaching volumes from instance {uuid} failed\")"},{"line_number":550,"context_line":"                     .format(uuid\u003dinstance.instance_id))"},{"line_number":551,"context_line":""},{"line_number":552,"context_line":"        try:"},{"line_number":553,"context_line":"            nova.client().servers.delete(instance.instance_id)"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba7be1f8_aedfff38","line":550,"in_reply_to":"ba7be1f8_25f097fd","updated":"2015-03-03 13:54:24.000000000","message":"Done","commit_id":"76b5c78b5942243524a7ed070829a1034981b6c3"},{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"793c87dd28120f4ad3ab98db3a78a5973c099c65","unresolved":false,"context_lines":[{"line_number":552,"context_line":"        try:"},{"line_number":553,"context_line":"            nova.client().servers.delete(instance.instance_id)"},{"line_number":554,"context_line":"        except nova_exceptions.NotFound:"},{"line_number":555,"context_line":"            LOG.warn(_LW(\"Attempted to delete non-existent instance {uuid}\")"},{"line_number":556,"context_line":"                     .format(uuid\u003dinstance.instance_id))"},{"line_number":557,"context_line":""},{"line_number":558,"context_line":"        conductor.instance_remove(ctx, instance)"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba7be1f8_c5e41b3e","line":555,"updated":"2015-03-03 09:51:44.000000000","message":"ditto","commit_id":"76b5c78b5942243524a7ed070829a1034981b6c3"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"2b48ba541e4cab1fd78ac5905e3cfd2ba1d89fd5","unresolved":false,"context_lines":[{"line_number":552,"context_line":"        try:"},{"line_number":553,"context_line":"            nova.client().servers.delete(instance.instance_id)"},{"line_number":554,"context_line":"        except nova_exceptions.NotFound:"},{"line_number":555,"context_line":"            LOG.warn(_LW(\"Attempted to delete non-existent instance {uuid}\")"},{"line_number":556,"context_line":"                     .format(uuid\u003dinstance.instance_id))"},{"line_number":557,"context_line":""},{"line_number":558,"context_line":"        conductor.instance_remove(ctx, instance)"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba7be1f8_cee7d310","line":555,"in_reply_to":"ba7be1f8_c5e41b3e","updated":"2015-03-03 13:54:24.000000000","message":"Done","commit_id":"76b5c78b5942243524a7ed070829a1034981b6c3"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":455,"context_line":"            for instance in instances:"},{"line_number":456,"context_line":"                if instance.id not in deleted_ids:"},{"line_number":457,"context_line":"                    if self._check_if_deleted(instance):"},{"line_number":458,"context_line":"                        LOG.debug((\"Instance {instance} is deleted\").format("},{"line_number":459,"context_line":"                                  instance\u003dinstance.instance_name))"},{"line_number":460,"context_line":"                        deleted_ids.add(instance.id)"},{"line_number":461,"context_line":"                        cpo.add_successful_event(instance)"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_2f830657","line":458,"updated":"2015-03-03 15:28:59.000000000","message":"extra parenthesis not needed","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":482,"context_line":"    def _rollback_cluster_creation(self, cluster, ex):"},{"line_number":483,"context_line":"        \"\"\"Shutdown all instances and update cluster status.\"\"\""},{"line_number":484,"context_line":"        LOG.debug((\"Cluster {name} creation rollback \""},{"line_number":485,"context_line":"                   \"(reason: {reason})\").format(name\u003dcluster.name,"},{"line_number":486,"context_line":"                                                reason\u003dex))"},{"line_number":487,"context_line":""},{"line_number":488,"context_line":"        self.shutdown_cluster(cluster)"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_0f8ac263","line":485,"updated":"2015-03-03 15:28:59.000000000","message":"ditto","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":490,"context_line":"    def _rollback_cluster_scaling(self, cluster, instances, ex):"},{"line_number":491,"context_line":"        \"\"\"Attempt to rollback cluster scaling.\"\"\""},{"line_number":492,"context_line":"        LOG.debug((\"Cluster {name} scaling rollback \""},{"line_number":493,"context_line":"                   \"(reason: {reason})\").format(name\u003dcluster.name,"},{"line_number":494,"context_line":"                                                reason\u003dex))"},{"line_number":495,"context_line":""},{"line_number":496,"context_line":"        for i in instances:"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_4fef5a1e","line":493,"updated":"2015-03-03 15:28:59.000000000","message":"ditto","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":12707,"name":"Jacob Bin Wang","email":"wangbin@awcloud.com","username":"Jacob"},"change_message_id":"a59a1b31f71dc83d58745960d6e6dc14a32b66c1","unresolved":false,"context_lines":[{"line_number":439,"context_line":"            context.sleep(1)"},{"line_number":440,"context_line":""},{"line_number":441,"context_line":"        LOG.info(_LI(\"Cluster {cluster_id}: all instances are active\").format("},{"line_number":442,"context_line":"                 cluster\u003dcluster.id))"},{"line_number":443,"context_line":""},{"line_number":444,"context_line":"    def _await_deleted(self, cluster, instances):"},{"line_number":445,"context_line":"        \"\"\"Await all instances are deleted.\"\"\""}],"source_content_type":"text/x-python","patch_set":11,"id":"9a80dd14_0481678f","line":442,"updated":"2015-03-04 11:58:23.000000000","message":"cluster -\u003e cluster_id","commit_id":"a1173e2b03d8db2e72bfce22d5dee6e7dfcb78f0"},{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"42f648aa57ed6715e8ced06eeb57bc5f1851c49c","unresolved":false,"context_lines":[{"line_number":439,"context_line":"            context.sleep(1)"},{"line_number":440,"context_line":""},{"line_number":441,"context_line":"        LOG.info(_LI(\"Cluster {cluster_id}: all instances are active\").format("},{"line_number":442,"context_line":"                 cluster\u003dcluster.id))"},{"line_number":443,"context_line":""},{"line_number":444,"context_line":"    def _await_deleted(self, cluster, instances):"},{"line_number":445,"context_line":"        \"\"\"Await all instances are deleted.\"\"\""}],"source_content_type":"text/x-python","patch_set":11,"id":"9a80dd14_7f446a74","line":442,"in_reply_to":"9a80dd14_0481678f","updated":"2015-03-04 12:21:46.000000000","message":"+1","commit_id":"a1173e2b03d8db2e72bfce22d5dee6e7dfcb78f0"},{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"7b1da168d3bda6875c56db46541e3e674375cce7","unresolved":false,"context_lines":[{"line_number":481,"context_line":""},{"line_number":482,"context_line":"    def _rollback_cluster_creation(self, cluster, ex):"},{"line_number":483,"context_line":"        \"\"\"Shutdown all instances and update cluster status.\"\"\""},{"line_number":484,"context_line":"        LOG.debug(\"Cluster {name} creation rollback \""},{"line_number":485,"context_line":"                  \"(reason: {reason})\".format(name\u003dcluster.name, reason\u003dex))"},{"line_number":486,"context_line":""},{"line_number":487,"context_line":"        self.shutdown_cluster(cluster)"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_d7394cf3","line":484,"updated":"2015-03-06 10:00:01.000000000","message":"same here about rollback","commit_id":"861d95d4d93a214d4a484f412b9ce358cebe0008"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"21cc1fc5cb2bb0a858cdd6aa1405604b4855bc33","unresolved":false,"context_lines":[{"line_number":481,"context_line":""},{"line_number":482,"context_line":"    def _rollback_cluster_creation(self, cluster, ex):"},{"line_number":483,"context_line":"        \"\"\"Shutdown all instances and update cluster status.\"\"\""},{"line_number":484,"context_line":"        LOG.debug(\"Cluster {name} creation rollback \""},{"line_number":485,"context_line":"                  \"(reason: {reason})\".format(name\u003dcluster.name, reason\u003dex))"},{"line_number":486,"context_line":""},{"line_number":487,"context_line":"        self.shutdown_cluster(cluster)"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_c006e41c","line":484,"in_reply_to":"9a80dd14_d7394cf3","updated":"2015-03-06 10:46:32.000000000","message":"good notice, but we should add log.warning not here but in rollback_cluster.","commit_id":"861d95d4d93a214d4a484f412b9ce358cebe0008"},{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"7b1da168d3bda6875c56db46541e3e674375cce7","unresolved":false,"context_lines":[{"line_number":488,"context_line":""},{"line_number":489,"context_line":"    def _rollback_cluster_scaling(self, cluster, instances, ex):"},{"line_number":490,"context_line":"        \"\"\"Attempt to rollback cluster scaling.\"\"\""},{"line_number":491,"context_line":"        LOG.debug(\"Cluster {name} scaling rollback \""},{"line_number":492,"context_line":"                  \"(reason: {reason})\".format(name\u003dcluster.name, reason\u003dex))"},{"line_number":493,"context_line":""},{"line_number":494,"context_line":"        for i in instances:"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_f73e50d9","line":491,"updated":"2015-03-06 10:00:01.000000000","message":"ditto","commit_id":"861d95d4d93a214d4a484f412b9ce358cebe0008"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"21cc1fc5cb2bb0a858cdd6aa1405604b4855bc33","unresolved":false,"context_lines":[{"line_number":488,"context_line":""},{"line_number":489,"context_line":"    def _rollback_cluster_scaling(self, cluster, instances, ex):"},{"line_number":490,"context_line":"        \"\"\"Attempt to rollback cluster scaling.\"\"\""},{"line_number":491,"context_line":"        LOG.debug(\"Cluster {name} scaling rollback \""},{"line_number":492,"context_line":"                  \"(reason: {reason})\".format(name\u003dcluster.name, reason\u003dex))"},{"line_number":493,"context_line":""},{"line_number":494,"context_line":"        for i in instances:"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_000d5c37","line":491,"in_reply_to":"9a80dd14_f73e50d9","updated":"2015-03-06 10:46:32.000000000","message":"same","commit_id":"861d95d4d93a214d4a484f412b9ce358cebe0008"}],"sahara/service/engine.py":[{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"793c87dd28120f4ad3ab98db3a78a5973c099c65","unresolved":false,"context_lines":[{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    @cpo.event_wrapper(mark_successful_on_exit\u003dTrue)"},{"line_number":148,"context_line":"    def _configure_instance(self, instance, hosts_file):"},{"line_number":149,"context_line":"        LOG.debug((\u0027Configuring instance {intance_name}\u0027).format("},{"line_number":150,"context_line":"            instance_name\u003dinstance.instance_name))"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"        with instance.remote() as r:"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba7be1f8_e5b83f13","line":149,"range":{"start_line":149,"start_character":43,"end_line":149,"end_character":46},"updated":"2015-03-03 09:51:44.000000000","message":"misprint here","commit_id":"76b5c78b5942243524a7ed070829a1034981b6c3"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"2b48ba541e4cab1fd78ac5905e3cfd2ba1d89fd5","unresolved":false,"context_lines":[{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    @cpo.event_wrapper(mark_successful_on_exit\u003dTrue)"},{"line_number":148,"context_line":"    def _configure_instance(self, instance, hosts_file):"},{"line_number":149,"context_line":"        LOG.debug((\u0027Configuring instance {intance_name}\u0027).format("},{"line_number":150,"context_line":"            instance_name\u003dinstance.instance_name))"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"        with instance.remote() as r:"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba7be1f8_ee1d7710","line":149,"range":{"start_line":149,"start_character":43,"end_line":149,"end_character":46},"in_reply_to":"ba7be1f8_e5b83f13","updated":"2015-03-03 13:54:24.000000000","message":"Done","commit_id":"76b5c78b5942243524a7ed070829a1034981b6c3"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":112,"context_line":""},{"line_number":113,"context_line":"                if exit_code \u003d\u003d 0:"},{"line_number":114,"context_line":"                    LOG.debug(("},{"line_number":115,"context_line":"                        \u0027Instance {instance_name} is accessible\u0027)"},{"line_number":116,"context_line":"                        .format(instance_name\u003dinstance.instance_name))"},{"line_number":117,"context_line":"                    return"},{"line_number":118,"context_line":"            except Exception as ex:"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_4f0bdad5","line":115,"updated":"2015-03-03 15:28:59.000000000","message":"extra parenthesis not needed","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":117,"context_line":"                    return"},{"line_number":118,"context_line":"            except Exception as ex:"},{"line_number":119,"context_line":"                LOG.debug((\"Can\u0027t login to node {instance_name} {mgmt_ip}, \""},{"line_number":120,"context_line":"                          \"reason {reason}\")"},{"line_number":121,"context_line":"                          .format(instance_name\u003dinstance.instance_name,"},{"line_number":122,"context_line":"                                  mgmt_ip\u003dinstance.management_ip,"},{"line_number":123,"context_line":"                                  reason\u003dex))"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_6f0c1eed","line":120,"updated":"2015-03-03 15:28:59.000000000","message":"ditto","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    @cpo.event_wrapper(mark_successful_on_exit\u003dTrue)"},{"line_number":148,"context_line":"    def _configure_instance(self, instance, hosts_file):"},{"line_number":149,"context_line":"        LOG.debug((\u0027Configuring instance {instance_name}\u0027).format("},{"line_number":150,"context_line":"            instance_name\u003dinstance.instance_name))"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"        with instance.remote() as r:"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_aff9b6c9","line":149,"updated":"2015-03-03 15:28:59.000000000","message":"ditto","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"}],"sahara/service/heat/heat_engine.py":[{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":149,"context_line":"    def _rollback_cluster_creation(self, cluster, ex):"},{"line_number":150,"context_line":"        \"\"\"Shutdown all instances and update cluster status.\"\"\""},{"line_number":151,"context_line":"        LOG.debug((\"Cluster {name} creation rollback \""},{"line_number":152,"context_line":"                   \"(reason: {reason})\").format(name\u003dcluster.name,"},{"line_number":153,"context_line":"                                                reason\u003dex))"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"        self.shutdown_cluster(cluster)"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_4f32faa7","line":152,"updated":"2015-03-03 15:28:59.000000000","message":"extra parenthesis not needed","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":166,"context_line":"        \"\"\""},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"        LOG.debug((\"Cluster {name} scaling rollback \""},{"line_number":169,"context_line":"                   \"(reason: {reason})\").format(name\u003dcluster.name,"},{"line_number":170,"context_line":"                                                reason\u003dex))"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"        for ng in rollback_count:"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_8f287234","line":169,"updated":"2015-03-03 15:28:59.000000000","message":"ditto","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"7b1da168d3bda6875c56db46541e3e674375cce7","unresolved":false,"context_lines":[{"line_number":148,"context_line":""},{"line_number":149,"context_line":"    def _rollback_cluster_creation(self, cluster, ex):"},{"line_number":150,"context_line":"        \"\"\"Shutdown all instances and update cluster status.\"\"\""},{"line_number":151,"context_line":"        LOG.debug(\"Cluster {name} creation rollback \""},{"line_number":152,"context_line":"                  \"(reason: {reason})\".format(name\u003dcluster.name,"},{"line_number":153,"context_line":"                                              reason\u003dex))"},{"line_number":154,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_97bef463","line":151,"updated":"2015-03-06 10:00:01.000000000","message":"Suppose it\u0027s important for user, because rollback can tell us, that there are some error with operating cluster. Should we use warning here?","commit_id":"861d95d4d93a214d4a484f412b9ce358cebe0008"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"21cc1fc5cb2bb0a858cdd6aa1405604b4855bc33","unresolved":false,"context_lines":[{"line_number":148,"context_line":""},{"line_number":149,"context_line":"    def _rollback_cluster_creation(self, cluster, ex):"},{"line_number":150,"context_line":"        \"\"\"Shutdown all instances and update cluster status.\"\"\""},{"line_number":151,"context_line":"        LOG.debug(\"Cluster {name} creation rollback \""},{"line_number":152,"context_line":"                  \"(reason: {reason})\".format(name\u003dcluster.name,"},{"line_number":153,"context_line":"                                              reason\u003dex))"},{"line_number":154,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_a0281087","line":151,"in_reply_to":"9a80dd14_97bef463","updated":"2015-03-06 10:46:32.000000000","message":"we should add WARNING notification in other place, like \u0027rollback_cluster\u0027. but it\u0027s not include in this patch.","commit_id":"861d95d4d93a214d4a484f412b9ce358cebe0008"},{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"7b1da168d3bda6875c56db46541e3e674375cce7","unresolved":false,"context_lines":[{"line_number":165,"context_line":"        maximize the chance of rollback success."},{"line_number":166,"context_line":"        \"\"\""},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"        LOG.debug(\"Cluster {name} scaling rollback \""},{"line_number":169,"context_line":"                  \"(reason: {reason})\".format(name\u003dcluster.name,"},{"line_number":170,"context_line":"                                              reason\u003dex))"},{"line_number":171,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_d7b4ec83","line":168,"updated":"2015-03-06 10:00:01.000000000","message":"ditto","commit_id":"861d95d4d93a214d4a484f412b9ce358cebe0008"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"21cc1fc5cb2bb0a858cdd6aa1405604b4855bc33","unresolved":false,"context_lines":[{"line_number":165,"context_line":"        maximize the chance of rollback success."},{"line_number":166,"context_line":"        \"\"\""},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"        LOG.debug(\"Cluster {name} scaling rollback \""},{"line_number":169,"context_line":"                  \"(reason: {reason})\".format(name\u003dcluster.name,"},{"line_number":170,"context_line":"                                              reason\u003dex))"},{"line_number":171,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_403914d6","line":168,"in_reply_to":"9a80dd14_d7b4ec83","updated":"2015-03-06 10:46:32.000000000","message":"ditto","commit_id":"861d95d4d93a214d4a484f412b9ce358cebe0008"}],"sahara/service/heat_engine.py":[{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"9363f73e06a0050b6c4b8627c9b28ad0a46ce0a5","unresolved":false,"context_lines":[{"line_number":147,"context_line":""},{"line_number":148,"context_line":"    def _rollback_cluster_creation(self, cluster, ex):"},{"line_number":149,"context_line":"        \"\"\"Shutdown all instances and update cluster status.\"\"\""},{"line_number":150,"context_line":"        LOG.debug((\"Cluster \u0027%(name)s\u0027 creation rollback \""},{"line_number":151,"context_line":"                   \"(reason: %(reason)s)\"),"},{"line_number":152,"context_line":"                  {\u0027name\u0027: cluster.name, \u0027reason\u0027: ex})"},{"line_number":153,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_47b5f8cb","line":150,"updated":"2015-02-09 13:50:39.000000000","message":"redundant brackets","commit_id":"d23631d2ef538d9e9d9eeae7d683d57d81249458"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"2d85ef831b417589d8a551a75a6d701a22f397db","unresolved":false,"context_lines":[{"line_number":147,"context_line":""},{"line_number":148,"context_line":"    def _rollback_cluster_creation(self, cluster, ex):"},{"line_number":149,"context_line":"        \"\"\"Shutdown all instances and update cluster status.\"\"\""},{"line_number":150,"context_line":"        LOG.debug((\"Cluster \u0027%(name)s\u0027 creation rollback \""},{"line_number":151,"context_line":"                   \"(reason: %(reason)s)\"),"},{"line_number":152,"context_line":"                  {\u0027name\u0027: cluster.name, \u0027reason\u0027: ex})"},{"line_number":153,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_bcaf822a","line":150,"in_reply_to":"da86d52c_47b5f8cb","updated":"2015-02-10 05:53:19.000000000","message":"the message in this case organize like: LOG.\u003clevel\u003e((\u003cmessage with vars\u003e), \u003cdict with vars\u003e)\nso, brackets are okay","commit_id":"d23631d2ef538d9e9d9eeae7d683d57d81249458"},{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"9363f73e06a0050b6c4b8627c9b28ad0a46ce0a5","unresolved":false,"context_lines":[{"line_number":164,"context_line":"        maximize the chance of rollback success."},{"line_number":165,"context_line":"        \"\"\""},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"        LOG.debug((\"Cluster \u0027%(name)s\u0027 scaling rollback \""},{"line_number":168,"context_line":"                   \"(reason: %(reason)s)\"),"},{"line_number":169,"context_line":"                  {\u0027name\u0027: cluster.name, \u0027reason\u0027: ex})"},{"line_number":170,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_87c61048","line":167,"updated":"2015-02-09 13:50:39.000000000","message":"ditto","commit_id":"d23631d2ef538d9e9d9eeae7d683d57d81249458"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"2d85ef831b417589d8a551a75a6d701a22f397db","unresolved":false,"context_lines":[{"line_number":164,"context_line":"        maximize the chance of rollback success."},{"line_number":165,"context_line":"        \"\"\""},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"        LOG.debug((\"Cluster \u0027%(name)s\u0027 scaling rollback \""},{"line_number":168,"context_line":"                   \"(reason: %(reason)s)\"),"},{"line_number":169,"context_line":"                  {\u0027name\u0027: cluster.name, \u0027reason\u0027: ex})"},{"line_number":170,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_dcaa7619","line":167,"in_reply_to":"da86d52c_87c61048","updated":"2015-02-10 05:53:19.000000000","message":"ditto","commit_id":"d23631d2ef538d9e9d9eeae7d683d57d81249458"}],"sahara/service/networks.py":[{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":57,"context_line":"    # NOTE(aignatov): Once bug #1262529 is fixed this \u0027if\u0027 block should be"},{"line_number":58,"context_line":"    # reviewed and reformatted again, probably removed completely."},{"line_number":59,"context_line":"    if CONF.use_neutron and not (management_ip and internal_ip):"},{"line_number":60,"context_line":"        LOG.debug((\"Instance {instance_name} doesn\u0027t contain yet Floating IP \""},{"line_number":61,"context_line":"                   \"or Internal IP. Floating IP\u003d{mgmt_ip}, Internal IP\u003d\""},{"line_number":62,"context_line":"                   \"{internal_ip}. Trying to get via Neutron.\").format("},{"line_number":63,"context_line":"                  instance_name\u003dserver.name, mgmt_ip\u003dmanagement_ip,"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_6fb17e00","line":60,"updated":"2015-03-03 15:28:59.000000000","message":"this should read:\n\n    Instance {instance_name} doesn\u0027t yet contain Floating IP","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":59,"context_line":"    if CONF.use_neutron and not (management_ip and internal_ip):"},{"line_number":60,"context_line":"        LOG.debug((\"Instance {instance_name} doesn\u0027t contain yet Floating IP \""},{"line_number":61,"context_line":"                   \"or Internal IP. Floating IP\u003d{mgmt_ip}, Internal IP\u003d\""},{"line_number":62,"context_line":"                   \"{internal_ip}. Trying to get via Neutron.\").format("},{"line_number":63,"context_line":"                  instance_name\u003dserver.name, mgmt_ip\u003dmanagement_ip,"},{"line_number":64,"context_line":"                  internal_ip\u003dinternal_ip))"},{"line_number":65,"context_line":"        neutron_client \u003d neutron.client()"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_0f1482e7","line":62,"updated":"2015-03-03 15:28:59.000000000","message":"extra parenthesis not needed","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":72,"context_line":"                fl_ip \u003d fl_ips[0]"},{"line_number":73,"context_line":"                if not internal_ip:"},{"line_number":74,"context_line":"                    internal_ip \u003d fl_ip[\u0027fixed_ip_address\u0027]"},{"line_number":75,"context_line":"                    LOG.debug((\u0027Found fixed IP {intenal_ip} for {server}\u0027)"},{"line_number":76,"context_line":"                              .format(internal_ip\u003dinternal_ip,"},{"line_number":77,"context_line":"                                      server\u003dserver.name))"},{"line_number":78,"context_line":"                # Zeroing management_ip if Sahara in private network"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_0fc2c252","line":75,"updated":"2015-03-03 15:28:59.000000000","message":"extra parenthesis","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":80,"context_line":"                    management_ip \u003d internal_ip"},{"line_number":81,"context_line":"                elif not management_ip:"},{"line_number":82,"context_line":"                    management_ip \u003d fl_ip[\u0027floating_ip_address\u0027]"},{"line_number":83,"context_line":"                    LOG.debug((\u0027Found floating IP {mgmt_ip} for {server}\u0027)"},{"line_number":84,"context_line":"                              .format(mgmt_ip\u003dmanagement_ip,"},{"line_number":85,"context_line":"                                      server\u003dserver.name))"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_6fa89e8c","line":83,"updated":"2015-03-03 15:28:59.000000000","message":"ditto","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":12039,"name":"Andrey Pavlov","email":"apavlov@mirantis.com","username":"apavlov"},"change_message_id":"dbeeb229f7d72a86736ef0b5e9db4dd09cd4b5bf","unresolved":false,"context_lines":[{"line_number":57,"context_line":"    # NOTE(aignatov): Once bug #1262529 is fixed this \u0027if\u0027 block should be"},{"line_number":58,"context_line":"    # reviewed and reformatted again, probably removed completely."},{"line_number":59,"context_line":"    if CONF.use_neutron and not (management_ip and internal_ip):"},{"line_number":60,"context_line":"        LOG.debug(\"Instance {instance_name} doesn\u0027t yet contain yet Floating \""},{"line_number":61,"context_line":"                  \"IP or Internal IP. Floating IP\u003d{mgmt_ip}, Internal IP\u003d\""},{"line_number":62,"context_line":"                  \"{internal_ip}. Trying to get via Neutron.\".format("},{"line_number":63,"context_line":"                      instance_name\u003dserver.name, mgmt_ip\u003dmanagement_ip,"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a80dd14_7541eb0a","line":60,"range":{"start_line":60,"start_character":52,"end_line":60,"end_character":55},"updated":"2015-03-04 13:17:55.000000000","message":"\u0027yet\u0027 is duplicated. \"Instance {instance_name} doesn\u0027t contain Floating IP or Internal IP yet\" will looks better I guess.","commit_id":"a1173e2b03d8db2e72bfce22d5dee6e7dfcb78f0"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"f801bfba9ced6ca56455fd7c4770ba5104040786","unresolved":false,"context_lines":[{"line_number":57,"context_line":"    # NOTE(aignatov): Once bug #1262529 is fixed this \u0027if\u0027 block should be"},{"line_number":58,"context_line":"    # reviewed and reformatted again, probably removed completely."},{"line_number":59,"context_line":"    if CONF.use_neutron and not (management_ip and internal_ip):"},{"line_number":60,"context_line":"        LOG.debug(\"Instance {instance_name} doesn\u0027t yet contain yet Floating \""},{"line_number":61,"context_line":"                  \"IP or Internal IP. Floating IP\u003d{mgmt_ip}, Internal IP\u003d\""},{"line_number":62,"context_line":"                  \"{internal_ip}. Trying to get via Neutron.\".format("},{"line_number":63,"context_line":"                      instance_name\u003dserver.name, mgmt_ip\u003dmanagement_ip,"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a80dd14_1f4b695a","line":60,"range":{"start_line":60,"start_character":52,"end_line":60,"end_character":55},"in_reply_to":"9a80dd14_7541eb0a","updated":"2015-03-04 14:23:50.000000000","message":"It\u0027s duplicated, my bad. Forgot to remove it after Michael comment at patchset 8","commit_id":"a1173e2b03d8db2e72bfce22d5dee6e7dfcb78f0"},{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"7b1da168d3bda6875c56db46541e3e674375cce7","unresolved":false,"context_lines":[{"line_number":54,"context_line":"             not instance.node_group.is_proxy_gateway)):"},{"line_number":55,"context_line":"        management_ip \u003d internal_ip"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    # NOTE(aignatov): Once bug #1262529 is fixed this \u0027if\u0027 block should be"},{"line_number":58,"context_line":"    # reviewed and reformatted again, probably removed completely."},{"line_number":59,"context_line":"    if CONF.use_neutron and not (management_ip and internal_ip):"},{"line_number":60,"context_line":"        LOG.debug(\"Instance {instance_name} doesn\u0027t yet contain Floating \""}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_774980b6","line":57,"range":{"start_line":57,"start_character":32,"end_line":57,"end_character":40},"updated":"2015-03-06 10:00:01.000000000","message":"Is it time for reviewing this part again?","commit_id":"861d95d4d93a214d4a484f412b9ce358cebe0008"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"21cc1fc5cb2bb0a858cdd6aa1405604b4855bc33","unresolved":false,"context_lines":[{"line_number":54,"context_line":"             not instance.node_group.is_proxy_gateway)):"},{"line_number":55,"context_line":"        management_ip \u003d internal_ip"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    # NOTE(aignatov): Once bug #1262529 is fixed this \u0027if\u0027 block should be"},{"line_number":58,"context_line":"    # reviewed and reformatted again, probably removed completely."},{"line_number":59,"context_line":"    if CONF.use_neutron and not (management_ip and internal_ip):"},{"line_number":60,"context_line":"        LOG.debug(\"Instance {instance_name} doesn\u0027t yet contain Floating \""}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_5dc65b69","line":57,"range":{"start_line":57,"start_character":32,"end_line":57,"end_character":40},"in_reply_to":"9a80dd14_774980b6","updated":"2015-03-06 10:46:32.000000000","message":"may be, but that\u0027s not the aim of this patch","commit_id":"861d95d4d93a214d4a484f412b9ce358cebe0008"}],"sahara/service/ops.py":[{"author":{"_account_id":12707,"name":"Jacob Bin Wang","email":"wangbin@awcloud.com","username":"Jacob"},"change_message_id":"6a2db575d7af7599a4cff9841f5aa64aab4f5dd4","unresolved":false,"context_lines":[{"line_number":166,"context_line":"                # check if cluster still exists (it might have been removed)"},{"line_number":167,"context_line":"                if cluster is None or cluster.status \u003d\u003d \u0027Deleting\u0027:"},{"line_number":168,"context_line":"                    LOG.debug(("},{"line_number":169,"context_line":"                        \"Cluster id\u003did was deleted or marked for \""},{"line_number":170,"context_line":"                        \"deletion. Canceling current operation.\").format("},{"line_number":171,"context_line":"                        id\u003dcluster_id))"},{"line_number":172,"context_line":"                    return"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba7be1f8_feeff71b","line":169,"updated":"2015-03-03 06:05:50.000000000","message":"id\u003did? missing {}?","commit_id":"f10eb608d08e38dbab2cc7d75d8c0f9d6555c30a"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":167,"context_line":"                if cluster is None or cluster.status \u003d\u003d \u0027Deleting\u0027:"},{"line_number":168,"context_line":"                    LOG.debug(("},{"line_number":169,"context_line":"                        \"Cluster id\u003d{id} was deleted or marked for \""},{"line_number":170,"context_line":"                        \"deletion. Canceling current operation.\").format("},{"line_number":171,"context_line":"                        id\u003dcluster_id))"},{"line_number":172,"context_line":"                    return"},{"line_number":173,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_af953641","line":170,"updated":"2015-03-03 15:28:59.000000000","message":"extra parenthesis not needed","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":190,"context_line":"                    if cluster is None or cluster.status \u003d\u003d \u0027Deleting\u0027:"},{"line_number":191,"context_line":"                        LOG.debug(("},{"line_number":192,"context_line":"                            \"Cluster id\u003d{id} was deleted or marked for \""},{"line_number":193,"context_line":"                            \"deletion. Canceling current operation.\").format("},{"line_number":194,"context_line":"                            id\u003dcluster_id))"},{"line_number":195,"context_line":"                        return"},{"line_number":196,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_2f894626","line":193,"updated":"2015-03-03 15:28:59.000000000","message":"ditto","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"}],"sahara/service/periodic.py":[{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fd9ba347daa978e5f85a4cbc0e32fab589785cd2","unresolved":false,"context_lines":[{"line_number":105,"context_line":"                if CONF.use_identity_api_v3:"},{"line_number":106,"context_line":"                    trusts.use_os_admin_auth_token(cluster)"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"                    LOG.debug((\u0027Terminating transient cluster %(cluster)s \u0027"},{"line_number":109,"context_line":"                              \u0027with id %(id)s\u0027),"},{"line_number":110,"context_line":"                              {\u0027cluster\u0027: cluster.name, \u0027id\u0027: cluster.id})"},{"line_number":111,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_e744e775","line":108,"updated":"2015-02-10 17:43:04.000000000","message":"this should be \"Terminate transient cluster %(cluster)s \"","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"2738bb93642967220e6690fd1ff559163734138c","unresolved":false,"context_lines":[{"line_number":105,"context_line":"                if CONF.use_identity_api_v3:"},{"line_number":106,"context_line":"                    trusts.use_os_admin_auth_token(cluster)"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"                    LOG.debug((\u0027Terminating transient cluster %(cluster)s \u0027"},{"line_number":109,"context_line":"                              \u0027with id %(id)s\u0027),"},{"line_number":110,"context_line":"                              {\u0027cluster\u0027: cluster.name, \u0027id\u0027: cluster.id})"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"                    try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_ec777a9d","line":109,"range":{"start_line":108,"start_character":30,"end_line":109,"end_character":47},"updated":"2015-02-10 12:15:30.000000000","message":"Why this brackets can\u0027t be removed? Just for keeping pattern Log.level((message), dict)? If yes, then it should be everywhere. Also it affects other not translated debug messages","commit_id":"28f486a5e5e3214094d1305bee884faabca58f36"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        trusts.use_os_admin_auth_token(cluster)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"        LOG.debug((\u0027Terminating {description} cluster {cluster} \u0027"},{"line_number":86,"context_line":"                  \u0027in \"{status}\" state with id {id}\u0027)"},{"line_number":87,"context_line":"                  .format(cluster\u003dcluster.name,"},{"line_number":88,"context_line":"                          id\u003dcluster.id,"},{"line_number":89,"context_line":"                          status\u003dcluster.status,"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_cfa0aa92","line":86,"updated":"2015-03-03 15:28:59.000000000","message":"extra parenthesis not needed","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"}],"sahara/service/trusts.py":[{"author":{"_account_id":12707,"name":"Jacob Bin Wang","email":"wangbin@awcloud.com","username":"Jacob"},"change_message_id":"6a2db575d7af7599a4cff9841f5aa64aab4f5dd4","unresolved":false,"context_lines":[{"line_number":62,"context_line":"            trust_id\u003dsix.text_type(trust.id)))"},{"line_number":63,"context_line":"        return trust.id"},{"line_number":64,"context_line":"    except Exception as e:"},{"line_number":65,"context_line":"        LOG.error(_LE(\u0027Unable to create trust (reason: {reason})\u0027).format("},{"line_number":66,"context_line":"            reason\u003de))"},{"line_number":67,"context_line":"        raise ex.CreationFailed(_(\u0027Failed to create trust\u0027))"},{"line_number":68,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"ba7be1f8_9ee43b3d","line":65,"updated":"2015-03-03 06:05:50.000000000","message":"Why change LOG.exception to LOG.error?","commit_id":"f10eb608d08e38dbab2cc7d75d8c0f9d6555c30a"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"c5c1d364d9fa50d5475358fd46cf0eda6930d298","unresolved":false,"context_lines":[{"line_number":62,"context_line":"            trust_id\u003dsix.text_type(trust.id)))"},{"line_number":63,"context_line":"        return trust.id"},{"line_number":64,"context_line":"    except Exception as e:"},{"line_number":65,"context_line":"        LOG.error(_LE(\u0027Unable to create trust (reason: {reason})\u0027).format("},{"line_number":66,"context_line":"            reason\u003de))"},{"line_number":67,"context_line":"        raise ex.CreationFailed(_(\u0027Failed to create trust\u0027))"},{"line_number":68,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"ba7be1f8_deb793d6","line":65,"in_reply_to":"ba7be1f8_9ee43b3d","updated":"2015-03-03 06:15:22.000000000","message":"According to the main OpenStack spec we don\u0027t have exception level now. Also, we don\u0027t have this level in Sahara spec. So, we need to change it to LOG.warning/LOG.error\nLOG.error looks better in the cases we have here and in other places in our project.","commit_id":"f10eb608d08e38dbab2cc7d75d8c0f9d6555c30a"}],"sahara/service/volumes.py":[{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"7b1da168d3bda6875c56db46541e3e674375cce7","unresolved":false,"context_lines":[{"line_number":176,"context_line":""},{"line_number":177,"context_line":"@cpo.event_wrapper(mark_successful_on_exit\u003dTrue)"},{"line_number":178,"context_line":"def _mount_volume_to_node(instance, idx, device):"},{"line_number":179,"context_line":"    LOG.debug(\"Mounting volume {device} to instance {uuid}\".format("},{"line_number":180,"context_line":"              device\u003ddevice, uuid\u003dinstance.instance_name))"},{"line_number":181,"context_line":"    mount_point \u003d instance.node_group.storage_paths()[idx]"},{"line_number":182,"context_line":"    _mount_volume(instance, device, mount_point)"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_17d3e404","line":179,"range":{"start_line":179,"start_character":53,"end_line":179,"end_character":57},"updated":"2015-03-06 10:00:01.000000000","message":"suppose it\u0027s not uuid, it\u0027s name","commit_id":"861d95d4d93a214d4a484f412b9ce358cebe0008"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"21cc1fc5cb2bb0a858cdd6aa1405604b4855bc33","unresolved":false,"context_lines":[{"line_number":176,"context_line":""},{"line_number":177,"context_line":"@cpo.event_wrapper(mark_successful_on_exit\u003dTrue)"},{"line_number":178,"context_line":"def _mount_volume_to_node(instance, idx, device):"},{"line_number":179,"context_line":"    LOG.debug(\"Mounting volume {device} to instance {uuid}\".format("},{"line_number":180,"context_line":"              device\u003ddevice, uuid\u003dinstance.instance_name))"},{"line_number":181,"context_line":"    mount_point \u003d instance.node_group.storage_paths()[idx]"},{"line_number":182,"context_line":"    _mount_volume(instance, device, mount_point)"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_7da5df45","line":179,"range":{"start_line":179,"start_character":53,"end_line":179,"end_character":57},"in_reply_to":"9a80dd14_17d3e404","updated":"2015-03-06 10:46:32.000000000","message":"we should make it uuid","commit_id":"861d95d4d93a214d4a484f412b9ce358cebe0008"},{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"7b1da168d3bda6875c56db46541e3e674375cce7","unresolved":false,"context_lines":[{"line_number":180,"context_line":"              device\u003ddevice, uuid\u003dinstance.instance_name))"},{"line_number":181,"context_line":"    mount_point \u003d instance.node_group.storage_paths()[idx]"},{"line_number":182,"context_line":"    _mount_volume(instance, device, mount_point)"},{"line_number":183,"context_line":"    LOG.debug(\"Mounted volume to instance {uuid}\".format("},{"line_number":184,"context_line":"        uuid\u003dinstance.instance_id))"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_17fa0475","line":183,"range":{"start_line":183,"start_character":42,"end_line":183,"end_character":47},"updated":"2015-03-06 10:00:01.000000000","message":"strange. but here we use instance_id instead. Possibly it\u0027s better to use instance_name?","commit_id":"861d95d4d93a214d4a484f412b9ce358cebe0008"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"21cc1fc5cb2bb0a858cdd6aa1405604b4855bc33","unresolved":false,"context_lines":[{"line_number":180,"context_line":"              device\u003ddevice, uuid\u003dinstance.instance_name))"},{"line_number":181,"context_line":"    mount_point \u003d instance.node_group.storage_paths()[idx]"},{"line_number":182,"context_line":"    _mount_volume(instance, device, mount_point)"},{"line_number":183,"context_line":"    LOG.debug(\"Mounted volume to instance {uuid}\".format("},{"line_number":184,"context_line":"        uuid\u003dinstance.instance_id))"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_fdb9cf79","line":183,"range":{"start_line":183,"start_character":42,"end_line":183,"end_character":47},"in_reply_to":"9a80dd14_17fa0475","updated":"2015-03-06 10:46:32.000000000","message":"as for me it\u0027s better to use id - it\u0027s unique instead of name","commit_id":"861d95d4d93a214d4a484f412b9ce358cebe0008"}],"sahara/topology/topology_helper.py":[{"author":{"_account_id":8411,"name":"Andrew Lazarev","email":"alazarev@mirantis.com","username":"alazarev"},"change_message_id":"38d6a0202ac5f7999c73e62aecfa2ff8699d60d1","unresolved":false,"context_lines":[{"line_number":145,"context_line":"            param[\u0027value\u0027] \u003d \u0027org.apache.hadoop.net.NetworkTopology\u0027"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    LOG.debug(\"Vm awareness will add following configs in core-site \""},{"line_number":148,"context_line":"              \"params: %s\" % result)"},{"line_number":149,"context_line":"    return result"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_45b40235","line":148,"updated":"2015-02-09 18:32:46.000000000","message":"it is better to leave \u0027,\u0027","commit_id":"d23631d2ef538d9e9d9eeae7d683d57d81249458"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"2d85ef831b417589d8a551a75a6d701a22f397db","unresolved":false,"context_lines":[{"line_number":145,"context_line":"            param[\u0027value\u0027] \u003d \u0027org.apache.hadoop.net.NetworkTopology\u0027"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    LOG.debug(\"Vm awareness will add following configs in core-site \""},{"line_number":148,"context_line":"              \"params: %s\" % result)"},{"line_number":149,"context_line":"    return result"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_b7395dda","line":148,"in_reply_to":"da86d52c_45b40235","updated":"2015-02-10 05:53:19.000000000","message":"Done","commit_id":"d23631d2ef538d9e9d9eeae7d683d57d81249458"},{"author":{"_account_id":8411,"name":"Andrew Lazarev","email":"alazarev@mirantis.com","username":"alazarev"},"change_message_id":"38d6a0202ac5f7999c73e62aecfa2ff8699d60d1","unresolved":false,"context_lines":[{"line_number":153,"context_line":"    c \u003d x.load_hadoop_xml_defaults(\u0027topology/resources/mapred-template.xml\u0027)"},{"line_number":154,"context_line":"    result \u003d [cfg for cfg in c if cfg[\u0027value\u0027]]"},{"line_number":155,"context_line":"    LOG.debug(\"Vm awareness will add following configs in map-red \""},{"line_number":156,"context_line":"              \"params: %s\" % result)"},{"line_number":157,"context_line":"    return result"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_85851a5b","line":156,"updated":"2015-02-09 18:32:46.000000000","message":"ditto","commit_id":"d23631d2ef538d9e9d9eeae7d683d57d81249458"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"2d85ef831b417589d8a551a75a6d701a22f397db","unresolved":false,"context_lines":[{"line_number":153,"context_line":"    c \u003d x.load_hadoop_xml_defaults(\u0027topology/resources/mapred-template.xml\u0027)"},{"line_number":154,"context_line":"    result \u003d [cfg for cfg in c if cfg[\u0027value\u0027]]"},{"line_number":155,"context_line":"    LOG.debug(\"Vm awareness will add following configs in map-red \""},{"line_number":156,"context_line":"              \"params: %s\" % result)"},{"line_number":157,"context_line":"    return result"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_d73411e1","line":156,"in_reply_to":"da86d52c_85851a5b","updated":"2015-02-10 05:53:19.000000000","message":"Done","commit_id":"d23631d2ef538d9e9d9eeae7d683d57d81249458"}],"sahara/utils/api.py":[{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":63,"context_line":"            def handler(**kwargs):"},{"line_number":64,"context_line":"                context.set_ctx(None)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"                LOG.debug((\"Rest.route.decorator.handler, kwargs\u003d{kwargs}\")"},{"line_number":67,"context_line":"                          .format(kwargs\u003dkwargs))"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"                _init_resp_type(file_upload)"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_0ff6425d","line":66,"updated":"2015-03-03 15:28:59.000000000","message":"extra parenthesis not needed","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":244,"context_line":"    error_code \u003d 400"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"    LOG.debug((\"Validation Error occurred: \""},{"line_number":247,"context_line":"              \"error_code\u003d{code}, error_message\u003d{message}, error_name\u003d{name}\")"},{"line_number":248,"context_line":"              .format(code\u003derror_code, message\u003derror.message, name\u003derror.code))"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"    return render_error_message(error_code, error.message, error.code)"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_4a2ca899","line":247,"updated":"2015-03-03 15:28:59.000000000","message":"ditto","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":254,"context_line":"    error_code \u003d 403"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"    LOG.debug((\"Access Denied: \""},{"line_number":257,"context_line":"               \"error_code\u003d{code}, error_message\u003d{message}, error_name\u003d{name}\")"},{"line_number":258,"context_line":"              .format(code\u003derror_code, message\u003derror.message, name\u003derror.code))"},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"    return render_error_message(error_code, error.message, error.code)"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_2a4e946f","line":257,"updated":"2015-03-03 15:28:59.000000000","message":"ditto","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":264,"context_line":"    error_code \u003d 404"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"    LOG.debug((\"Not Found exception occurred: \""},{"line_number":267,"context_line":"               \"error_code\u003d{code}, error_message\u003d{message}, error_name\u003d{name}\")"},{"line_number":268,"context_line":"              .format(code\u003derror_code, message\u003derror.message, name\u003derror.code))"},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"    return render_error_message(error_code, error.message, error.code)"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_8a594037","line":267,"updated":"2015-03-03 15:28:59.000000000","message":"ditto","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"},{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"7b1da168d3bda6875c56db46541e3e674375cce7","unresolved":false,"context_lines":[{"line_number":243,"context_line":"def bad_request(error):"},{"line_number":244,"context_line":"    error_code \u003d 400"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"    LOG.debug(\"Validation Error occurred: \""},{"line_number":247,"context_line":"              \"error_code\u003d{code}, error_message\u003d{message}, error_name\u003d{name}\""},{"line_number":248,"context_line":"              .format(code\u003derror_code, message\u003derror.message, name\u003derror.code))"},{"line_number":249,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_f79c905f","line":246,"range":{"start_line":246,"start_character":8,"end_line":246,"end_character":13},"updated":"2015-03-06 10:00:01.000000000","message":"ditto","commit_id":"861d95d4d93a214d4a484f412b9ce358cebe0008"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"21cc1fc5cb2bb0a858cdd6aa1405604b4855bc33","unresolved":false,"context_lines":[{"line_number":243,"context_line":"def bad_request(error):"},{"line_number":244,"context_line":"    error_code \u003d 400"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"    LOG.debug(\"Validation Error occurred: \""},{"line_number":247,"context_line":"              \"error_code\u003d{code}, error_message\u003d{message}, error_name\u003d{name}\""},{"line_number":248,"context_line":"              .format(code\u003derror_code, message\u003derror.message, name\u003derror.code))"},{"line_number":249,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_e06cc8d2","line":246,"range":{"start_line":246,"start_character":8,"end_line":246,"end_character":13},"in_reply_to":"9a80dd14_f79c905f","updated":"2015-03-06 10:46:32.000000000","message":"Done","commit_id":"861d95d4d93a214d4a484f412b9ce358cebe0008"},{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"7b1da168d3bda6875c56db46541e3e674375cce7","unresolved":false,"context_lines":[{"line_number":253,"context_line":"def access_denied(error):"},{"line_number":254,"context_line":"    error_code \u003d 403"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"    LOG.debug(\"Access Denied: \""},{"line_number":257,"context_line":"              \"error_code\u003d{code}, error_message\u003d{message}, error_name\u003d{name}\""},{"line_number":258,"context_line":"              .format(code\u003derror_code, message\u003derror.message, name\u003derror.code))"},{"line_number":259,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_57747c35","line":256,"range":{"start_line":256,"start_character":8,"end_line":256,"end_character":14},"updated":"2015-03-06 10:00:01.000000000","message":"Hm, why this is debug? all previous predicates have log.error inside, but here only debug. strange","commit_id":"861d95d4d93a214d4a484f412b9ce358cebe0008"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"21cc1fc5cb2bb0a858cdd6aa1405604b4855bc33","unresolved":false,"context_lines":[{"line_number":253,"context_line":"def access_denied(error):"},{"line_number":254,"context_line":"    error_code \u003d 403"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"    LOG.debug(\"Access Denied: \""},{"line_number":257,"context_line":"              \"error_code\u003d{code}, error_message\u003d{message}, error_name\u003d{name}\""},{"line_number":258,"context_line":"              .format(code\u003derror_code, message\u003derror.message, name\u003derror.code))"},{"line_number":259,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_c07b448a","line":256,"range":{"start_line":256,"start_character":8,"end_line":256,"end_character":14},"in_reply_to":"9a80dd14_57747c35","updated":"2015-03-06 10:46:32.000000000","message":"you\u0027re right. my bad.","commit_id":"861d95d4d93a214d4a484f412b9ce358cebe0008"}],"sahara/utils/notification/sender.py":[{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"ab18adfefe157b4124633d3e090316661ca5ac3c","unresolved":false,"context_lines":[{"line_number":74,"context_line":"        return"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    LOG.debug((\"Notification about cluster (id\u003d{id}, name\u003d{name}, \""},{"line_number":77,"context_line":"              \"type\u003d{type}, status \u003d {status}) is going to be sent\")"},{"line_number":78,"context_line":"              .format(id\u003dcluster_id, name\u003dcluster_name, type\u003dev_type,"},{"line_number":79,"context_line":"                      status\u003dcluster_status))"},{"line_number":80,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_eab55c32","line":77,"updated":"2015-03-03 15:28:59.000000000","message":"extra parenthesis not needed","commit_id":"c7180db839f7e85ff32fa1d4f9e3e67ff66258b5"}],"sahara/utils/rpc.py":[{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"9363f73e06a0050b6c4b8627c9b28ad0a46ce0a5","unresolved":false,"context_lines":[{"line_number":95,"context_line":"    global TRANSPORT, NOTIFIER, SERIALIZER"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    if not cfg.CONF.enable_notifications:"},{"line_number":98,"context_line":"        LOG.debug(\"Notifications disabled\")"},{"line_number":99,"context_line":"        return"},{"line_number":100,"context_line":"    LOG.debug(\"Notifications enabled\")"},{"line_number":101,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_c772c848","line":98,"updated":"2015-02-09 13:50:39.000000000","message":"Why it\u0027s changed to debug?","commit_id":"d23631d2ef538d9e9d9eeae7d683d57d81249458"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"2d85ef831b417589d8a551a75a6d701a22f397db","unresolved":false,"context_lines":[{"line_number":95,"context_line":"    global TRANSPORT, NOTIFIER, SERIALIZER"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    if not cfg.CONF.enable_notifications:"},{"line_number":98,"context_line":"        LOG.debug(\"Notifications disabled\")"},{"line_number":99,"context_line":"        return"},{"line_number":100,"context_line":"    LOG.debug(\"Notifications enabled\")"},{"line_number":101,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_7720c59b","line":98,"in_reply_to":"da86d52c_c772c848","updated":"2015-02-10 05:53:19.000000000","message":"As for me it\u0027s look more like debug message. We can discuss it with others.","commit_id":"d23631d2ef538d9e9d9eeae7d683d57d81249458"},{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"3a552806bc3a8a5adee675f3035d5c4a3307e979","unresolved":false,"context_lines":[{"line_number":97,"context_line":"    if not cfg.CONF.enable_notifications:"},{"line_number":98,"context_line":"        LOG.debug(\"Notifications disabled\")"},{"line_number":99,"context_line":"        return"},{"line_number":100,"context_line":"    LOG.debug(\"Notifications enabled\")"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    messaging.set_transport_defaults(\u0027sahara\u0027)"},{"line_number":103,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_330d7c91","line":100,"updated":"2015-02-10 08:50:43.000000000","message":"I think, it should be info log level, because we setup messaging only at Sahara startup","commit_id":"a94360a866ec5902c40b62da33f7419203070434"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"c9f52b577d91628028eccd80a2fb7dcd346f3c76","unresolved":false,"context_lines":[{"line_number":97,"context_line":"    if not cfg.CONF.enable_notifications:"},{"line_number":98,"context_line":"        LOG.debug(\"Notifications disabled\")"},{"line_number":99,"context_line":"        return"},{"line_number":100,"context_line":"    LOG.debug(\"Notifications enabled\")"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    messaging.set_transport_defaults(\u0027sahara\u0027)"},{"line_number":103,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_e11b0ac8","line":100,"in_reply_to":"da86d52c_330d7c91","updated":"2015-02-10 09:52:40.000000000","message":"Sergey R. confirmed that it should be info.","commit_id":"a94360a866ec5902c40b62da33f7419203070434"}],"sahara/utils/ssh_remote.py":[{"author":{"_account_id":12707,"name":"Jacob Bin Wang","email":"wangbin@awcloud.com","username":"Jacob"},"change_message_id":"31c5ef54054e39d9d713880bb9aadc482347ec8d","unresolved":false,"context_lines":[{"line_number":316,"context_line":"    try:"},{"line_number":317,"context_line":"        return _read_file(_ssh.open_sftp(), fl)"},{"line_number":318,"context_line":"    except IOError:"},{"line_number":319,"context_line":"        LOG.error(_LE(\u0027Can\\\u0027t read file \"filename\"\u0027).format("},{"line_number":320,"context_line":"            filename\u003dremote_file))"},{"line_number":321,"context_line":"        raise"},{"line_number":322,"context_line":"    finally:"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a80dd14_903af534","line":319,"updated":"2015-03-04 10:21:20.000000000","message":"Sorry, but seems another missing {}","commit_id":"4c07111c3e7906f24e1afa38ca1ddb1403b17f0e"},{"author":{"_account_id":12707,"name":"Jacob Bin Wang","email":"wangbin@awcloud.com","username":"Jacob"},"change_message_id":"a59a1b31f71dc83d58745960d6e6dc14a32b66c1","unresolved":false,"context_lines":[{"line_number":316,"context_line":"    try:"},{"line_number":317,"context_line":"        return _read_file(_ssh.open_sftp(), fl)"},{"line_number":318,"context_line":"    except IOError:"},{"line_number":319,"context_line":"        LOG.error(_LE(\u0027Can\\\u0027t read file \"filename\"\u0027).format("},{"line_number":320,"context_line":"            filename\u003dremote_file))"},{"line_number":321,"context_line":"        raise"},{"line_number":322,"context_line":"    finally:"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a80dd14_0476c73e","line":319,"updated":"2015-03-04 11:58:23.000000000","message":"Sorry, but seems another missing {}","commit_id":"a1173e2b03d8db2e72bfce22d5dee6e7dfcb78f0"},{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"42f648aa57ed6715e8ced06eeb57bc5f1851c49c","unresolved":false,"context_lines":[{"line_number":316,"context_line":"    try:"},{"line_number":317,"context_line":"        return _read_file(_ssh.open_sftp(), fl)"},{"line_number":318,"context_line":"    except IOError:"},{"line_number":319,"context_line":"        LOG.error(_LE(\u0027Can\\\u0027t read file \"filename\"\u0027).format("},{"line_number":320,"context_line":"            filename\u003dremote_file))"},{"line_number":321,"context_line":"        raise"},{"line_number":322,"context_line":"    finally:"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a80dd14_3f63d21b","line":319,"in_reply_to":"9a80dd14_0476c73e","updated":"2015-03-04 12:21:46.000000000","message":"+1","commit_id":"a1173e2b03d8db2e72bfce22d5dee6e7dfcb78f0"},{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"42f648aa57ed6715e8ced06eeb57bc5f1851c49c","unresolved":false,"context_lines":[{"line_number":577,"context_line":"            command \u003d command.format(**keywords)"},{"line_number":578,"context_line":"        except KeyError as e:"},{"line_number":579,"context_line":"            LOG.error(_LE(\u0027Invalid keyword in proxy_command: {result}\u0027).format("},{"line_number":580,"context_line":"                result\u003dstr(e)))"},{"line_number":581,"context_line":"            # Do not give more details to the end-user"},{"line_number":582,"context_line":"            raise ex.SystemError(\u0027Misconfiguration\u0027)"},{"line_number":583,"context_line":"        if rootwrap_command:"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a80dd14_bf88a2c7","line":580,"range":{"start_line":580,"start_character":24,"end_line":580,"end_character":31},"updated":"2015-03-04 12:21:46.000000000","message":"let\u0027s remove str at all","commit_id":"a1173e2b03d8db2e72bfce22d5dee6e7dfcb78f0"},{"author":{"_account_id":12038,"name":"Vitaly Gridnev","email":"gridnevvvit@gmail.com","username":"vgridnev"},"change_message_id":"7b1da168d3bda6875c56db46541e3e674375cce7","unresolved":false,"context_lines":[{"line_number":316,"context_line":"    try:"},{"line_number":317,"context_line":"        return _read_file(_ssh.open_sftp(), fl)"},{"line_number":318,"context_line":"    except IOError:"},{"line_number":319,"context_line":"        LOG.error(_LE(\u0027Can\\\u0027t read file {filename}\u0027).format("},{"line_number":320,"context_line":"            filename\u003dremote_file))"},{"line_number":321,"context_line":"        raise"},{"line_number":322,"context_line":"    finally:"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_576abc81","line":319,"range":{"start_line":319,"start_character":26,"end_line":319,"end_character":27},"updated":"2015-03-06 10:00:01.000000000","message":"Why this dash is here?","commit_id":"861d95d4d93a214d4a484f412b9ce358cebe0008"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"21cc1fc5cb2bb0a858cdd6aa1405604b4855bc33","unresolved":false,"context_lines":[{"line_number":316,"context_line":"    try:"},{"line_number":317,"context_line":"        return _read_file(_ssh.open_sftp(), fl)"},{"line_number":318,"context_line":"    except IOError:"},{"line_number":319,"context_line":"        LOG.error(_LE(\u0027Can\\\u0027t read file {filename}\u0027).format("},{"line_number":320,"context_line":"            filename\u003dremote_file))"},{"line_number":321,"context_line":"        raise"},{"line_number":322,"context_line":"    finally:"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_2098a0bf","line":319,"range":{"start_line":319,"start_character":26,"end_line":319,"end_character":27},"in_reply_to":"9a80dd14_576abc81","updated":"2015-03-06 10:46:32.000000000","message":"it\u0027s a string formattin, but we can remove it.","commit_id":"861d95d4d93a214d4a484f412b9ce358cebe0008"}]}
