)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13609,"name":"Pavel Boldin","email":"pboldin@mirantis.com","username":"pboldin"},"change_message_id":"41fa989724b4b18bef5ef8ed494492e8bf8f9733","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Use install_rally.sh during devstack installation"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"* With this patch devstack installs Rally into"},{"line_number":10,"context_line":"  virtualenv. It uses Rally setup script to do the job."},{"line_number":11,"context_line":"* Affected tox.ini cause functional tests need installed"},{"line_number":12,"context_line":"  devstack with rally. Remove extra installation of Rally"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":55,"id":"9a8ffd7b_98f4c287","line":9,"updated":"2015-11-25 17:00:00.000000000","message":"Please explain what is the reason for code removal in install_rally.sh","commit_id":"772233280d3ac33f8c73c8ac3dd5cdee3d669c07"},{"author":{"_account_id":9601,"name":"Oleh Anufriiev","email":"oanufriev@mirantis.com","username":"oanufriev"},"change_message_id":"e0bebd801031db1a28dffb0191a346b784edbe18","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Use install_rally.sh during devstack installation"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"* With this patch devstack installs Rally into"},{"line_number":10,"context_line":"  virtualenv. It uses Rally setup script to do the job."},{"line_number":11,"context_line":"* Affected tox.ini cause functional tests need installed"},{"line_number":12,"context_line":"  devstack with rally. Remove extra installation of Rally"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":55,"id":"9a8ffd7b_cb49e861","line":9,"in_reply_to":"9a8ffd7b_98f4c287","updated":"2015-11-26 12:07:15.000000000","message":"Done","commit_id":"772233280d3ac33f8c73c8ac3dd5cdee3d669c07"},{"author":{"_account_id":13609,"name":"Pavel Boldin","email":"pboldin@mirantis.com","username":"pboldin"},"change_message_id":"ca9784ddbe8fce31aea33b6cef9085cd6e5f4ef4","unresolved":false,"context_lines":[{"line_number":12,"context_line":"  devstack with rally. Remove extra installation of Rally"},{"line_number":13,"context_line":"  with tox."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Also refactored install_rally.sh: source directory removal"},{"line_number":16,"context_line":"  functional deleted cause user responsibility."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Change-Id: I1ddb3af53606904dc5c0bca924bc853a488f1f80"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":56,"id":"9a8ffd7b_1c573459","line":15,"updated":"2015-11-26 13:07:18.000000000","message":"Please make it a bullet item.","commit_id":"b0865f8f71d4a88bebf603f1422dda629b78310b"},{"author":{"_account_id":9601,"name":"Oleh Anufriiev","email":"oanufriev@mirantis.com","username":"oanufriev"},"change_message_id":"707868c7f08d09b7579ee6e03dc46a9e2434a9ae","unresolved":false,"context_lines":[{"line_number":12,"context_line":"  devstack with rally. Remove extra installation of Rally"},{"line_number":13,"context_line":"  with tox."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Also refactored install_rally.sh: source directory removal"},{"line_number":16,"context_line":"  functional deleted cause user responsibility."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Change-Id: I1ddb3af53606904dc5c0bca924bc853a488f1f80"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":56,"id":"9a8ffd7b_94a8d8dc","line":15,"in_reply_to":"9a8ffd7b_1c573459","updated":"2015-11-26 14:11:24.000000000","message":"Done","commit_id":"b0865f8f71d4a88bebf603f1422dda629b78310b"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"3e2416aa5b56ef981cbad5b580e70332065834f0","unresolved":false,"context_lines":[{"line_number":13,"context_line":"  with tox."},{"line_number":14,"context_line":"* Refactored install_rally.sh: source directory removal"},{"line_number":15,"context_line":"  functional deleted cause user responsibility."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I1ddb3af53606904dc5c0bca924bc853a488f1f80"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":64,"id":"3a7e1126_faa5ce03","line":16,"updated":"2015-12-17 15:59:17.000000000","message":"There is an important change in this patch: most code from tests/ci/rally_verify.py is moved to tests/ci/rally_verify_origin.py - this is not mentioned in commit message, as well as reason of this change","commit_id":"09707cc44513158204673856cb541ac1e1fdd9fc"},{"author":{"_account_id":9601,"name":"Oleh Anufriiev","email":"oanufriev@mirantis.com","username":"oanufriev"},"change_message_id":"77eda8b5a26875a35d355848abe0274bd0ee1a02","unresolved":false,"context_lines":[{"line_number":13,"context_line":"  with tox."},{"line_number":14,"context_line":"* Refactored install_rally.sh: source directory removal"},{"line_number":15,"context_line":"  functional deleted cause user responsibility."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I1ddb3af53606904dc5c0bca924bc853a488f1f80"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":64,"id":"3a7e1126_f977199d","line":16,"in_reply_to":"3a7e1126_faa5ce03","updated":"2015-12-17 16:58:39.000000000","message":"Done","commit_id":"09707cc44513158204673856cb541ac1e1fdd9fc"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"be4ec16da9525802a3bafb74fe2b82269ad92876","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"* Add option RALLY_IN_VIRTUALENV to devstack plugin"},{"line_number":10,"context_line":"  (defalut False)"},{"line_number":11,"context_line":"* Refactor install_rally.sh: source directory removal"},{"line_number":12,"context_line":"  functional deleted cause user responsibility."},{"line_number":13,"context_line":"* fix issue with write access to sqlite dataase file"},{"line_number":14,"context_line":"* fix issue with sqlite database file path when the absoute path passed"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":89,"id":"5aef4532_1ad66cc5","line":11,"updated":"2016-03-07 14:21:11.000000000","message":"This item is hard to understand. Can you please rewrite it?","commit_id":"755a7616fc1562c1384d2d7c7fd2fca32c9d14ac"}],"contrib/devstack/lib/rally":[{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"2390fe7ea4cac21671c163a5d8e944f36d16b2a4","unresolved":false,"context_lines":[{"line_number":26,"context_line":"RALLY_GIT_BRANCH\u003d${RALLY_BRANCH:-master}"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"# Set up default directories"},{"line_number":29,"context_line":"RALLY_DIR\u003d${RALLY_DEST:-$DEST/rally}"},{"line_number":30,"context_line":"RALLY_CONF_FILE\u003d$RALLY_DIR/etc/rally/rally.conf"},{"line_number":31,"context_line":"RALLY_BIN_DIR\u003d$RALLY_DIR/bin"},{"line_number":32,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":13,"id":"1a4dcd0f_0d110a04","line":29,"updated":"2015-08-12 12:55:43.000000000","message":"RALLY_DIR should not be equal to $DEST/rally\n\nalso since it is actually venv dir, maybe it should be RALLY_VENV_DIR\u003d{$RALLY_VENV_DIR:-$DEST/rally-venv} or similar","commit_id":"95fa6bea5286cbba7e0cc39ce8c5848ad720e36b"},{"author":{"_account_id":6835,"name":"Kun Huang","email":"gareth@openstacker.org","username":"academicgareth"},"change_message_id":"5c6b5e47381651bdbae3317747c2dfc8f6920104","unresolved":false,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    $INSTALL_SCRIPT $RALLY_ARGS"},{"line_number":77,"context_line":"    sudo ln -fs $RALLY_VENV_DIR/bin/rally /usr/local/bin/rally"},{"line_number":78,"context_line":"    sudo ln -fs $RALLY_VENV_DIR/bin/rally-manage /usr/local/bin/rally-manage"},{"line_number":79,"context_line":"}"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"# configure_rally()"}],"source_content_type":"application/octet-stream","patch_set":35,"id":"da20952f_641078a9","line":78,"updated":"2015-09-02 03:57:47.000000000","message":"$RALLY_BIN_DIR here is more concise","commit_id":"a45688fbe5dedb84b6589b11113a123b0214f9fc"},{"author":{"_account_id":9601,"name":"Oleh Anufriiev","email":"oanufriev@mirantis.com","username":"oanufriev"},"change_message_id":"f10d99ea87dfcfa02ed29f419beeefb00ea84cd2","unresolved":false,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    $INSTALL_SCRIPT $RALLY_ARGS"},{"line_number":77,"context_line":"    sudo ln -fs $RALLY_VENV_DIR/bin/rally /usr/local/bin/rally"},{"line_number":78,"context_line":"    sudo ln -fs $RALLY_VENV_DIR/bin/rally-manage /usr/local/bin/rally-manage"},{"line_number":79,"context_line":"}"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"# configure_rally()"}],"source_content_type":"application/octet-stream","patch_set":35,"id":"da20952f_ae0e3830","line":78,"in_reply_to":"da20952f_641078a9","updated":"2015-09-03 01:45:58.000000000","message":"Done","commit_id":"a45688fbe5dedb84b6589b11113a123b0214f9fc"},{"author":{"_account_id":6835,"name":"Kun Huang","email":"gareth@openstacker.org","username":"academicgareth"},"change_message_id":"5c6b5e47381651bdbae3317747c2dfc8f6920104","unresolved":false,"context_lines":[{"line_number":103,"context_line":"}"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"# init_rally() - Initialize databases, etc."},{"line_number":106,"context_line":"  function init_rally() {"},{"line_number":107,"context_line":"    # Add current DevStack deployment to Rally"},{"line_number":108,"context_line":"    if [ \"$RALLY_ADD_DEPLOYMENT\" \u003d \"True\" ]; then"},{"line_number":109,"context_line":"        local tmpfile\u003d$(mktemp)"}],"source_content_type":"application/octet-stream","patch_set":35,"id":"da20952f_6402b871","line":106,"updated":"2015-09-02 03:57:47.000000000","message":"a space here","commit_id":"a45688fbe5dedb84b6589b11113a123b0214f9fc"},{"author":{"_account_id":9601,"name":"Oleh Anufriiev","email":"oanufriev@mirantis.com","username":"oanufriev"},"change_message_id":"f10d99ea87dfcfa02ed29f419beeefb00ea84cd2","unresolved":false,"context_lines":[{"line_number":103,"context_line":"}"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"# init_rally() - Initialize databases, etc."},{"line_number":106,"context_line":"  function init_rally() {"},{"line_number":107,"context_line":"    # Add current DevStack deployment to Rally"},{"line_number":108,"context_line":"    if [ \"$RALLY_ADD_DEPLOYMENT\" \u003d \"True\" ]; then"},{"line_number":109,"context_line":"        local tmpfile\u003d$(mktemp)"}],"source_content_type":"application/octet-stream","patch_set":35,"id":"da20952f_7b01c405","line":106,"in_reply_to":"da20952f_6402b871","updated":"2015-09-03 01:45:58.000000000","message":"Done","commit_id":"a45688fbe5dedb84b6589b11113a123b0214f9fc"}],"devstack/lib/rally":[{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"ec993eb886e272184e8920c1567e2dfb645fc805","unresolved":false,"context_lines":[{"line_number":88,"context_line":"}"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"# create_rally_accounts() - Sets up common required rally accounts"},{"line_number":91,"context_line":"create_rally_accounts() {"},{"line_number":92,"context_line":"    ADMIN_USER\u003d$(keystone user-list | awk \"/ admin / { print \\$2 }\")"},{"line_number":93,"context_line":"    ADMIN_ROLE\u003d$(keystone role-list | awk \"/ admin / { print \\$2 }\")"},{"line_number":94,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":39,"id":"9a1a9d01_d170fade","line":91,"updated":"2015-09-27 06:10:30.000000000","message":"we don\u0027t need this anymore please take a look at the current code: \n\nhttps://github.com/openstack/rally/blob/master/devstack/lib/rally#L46-L58","commit_id":"8e3907bbb5238776c2831510ca0c80ecc8d01596"},{"author":{"_account_id":9601,"name":"Oleh Anufriiev","email":"oanufriev@mirantis.com","username":"oanufriev"},"change_message_id":"fd632b8ac3336896b268e5eb07053af30f661149","unresolved":false,"context_lines":[{"line_number":88,"context_line":"}"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"# create_rally_accounts() - Sets up common required rally accounts"},{"line_number":91,"context_line":"create_rally_accounts() {"},{"line_number":92,"context_line":"    ADMIN_USER\u003d$(keystone user-list | awk \"/ admin / { print \\$2 }\")"},{"line_number":93,"context_line":"    ADMIN_ROLE\u003d$(keystone role-list | awk \"/ admin / { print \\$2 }\")"},{"line_number":94,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":39,"id":"9a1a9d01_f604c718","line":91,"in_reply_to":"9a1a9d01_d170fade","updated":"2015-09-29 12:54:42.000000000","message":"Removed","commit_id":"8e3907bbb5238776c2831510ca0c80ecc8d01596"},{"author":{"_account_id":13609,"name":"Pavel Boldin","email":"pboldin@mirantis.com","username":"pboldin"},"change_message_id":"be2f8c2c00a70c5c4d8ec3afaef0538c51e67f6d","unresolved":false,"context_lines":[{"line_number":68,"context_line":"# install_rally() - Collect source and prepare"},{"line_number":69,"context_line":"function install_rally() {"},{"line_number":70,"context_line":"    INSTALL_SCRIPT\u003d\"$RALLY_DIR/install_rally.sh\""},{"line_number":71,"context_line":"    RALLY_ARGS\u003d\"-v -f -y -d $RALLY_VENV_DIR --no-color --develop\""},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    git_clone $RALLY_GIT_REPO $RALLY_DIR $RALLY_GIT_BRANCH"},{"line_number":74,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":41,"id":"5a2ca52d_92416d3c","line":71,"updated":"2015-10-13 13:24:34.000000000","message":"Please name this `INSTALL_SCRIPT_ARGS`.","commit_id":"f6ae400d8afe0111966bab56ac1ba8afd5029231"},{"author":{"_account_id":14168,"name":"Alexandr Nevenchannyy","email":"anevenchannyy@mirantis.com","username":"anevenchannyy"},"change_message_id":"c550daff45aee02e8192bd111980baf855d6041a","unresolved":false,"context_lines":[{"line_number":70,"context_line":"    INSTALL_SCRIPT\u003d\"$RALLY_DIR/install_rally.sh\""},{"line_number":71,"context_line":"    RALLY_ARGS\u003d\"-v -f -y -d $RALLY_VENV_DIR --no-color --develop\""},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    git_clone $RALLY_GIT_REPO $RALLY_DIR $RALLY_GIT_BRANCH"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    $INSTALL_SCRIPT $RALLY_ARGS"},{"line_number":76,"context_line":"    sudo ln -fs $RALLY_VENV_DIR/bin/rally /usr/local/bin/rally"}],"source_content_type":"application/octet-stream","patch_set":41,"id":"5a2ca52d_f449b18f","line":73,"updated":"2015-10-13 12:59:13.000000000","message":"Please, add checking \u0027git clone\u0027 exit code. We must exit from installer, if \u0027git clone\u0027 was returned non-zero exit code. For example if repo coloning was failed (bad internet connectivity)","commit_id":"f6ae400d8afe0111966bab56ac1ba8afd5029231"},{"author":{"_account_id":13609,"name":"Pavel Boldin","email":"pboldin@mirantis.com","username":"pboldin"},"change_message_id":"be2f8c2c00a70c5c4d8ec3afaef0538c51e67f6d","unresolved":false,"context_lines":[{"line_number":88,"context_line":"}"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"# init_rally() - Initialize databases, etc."},{"line_number":91,"context_line":"  function init_rally() {"},{"line_number":92,"context_line":"    # Add current DevStack deployment to Rally"},{"line_number":93,"context_line":"    if [ \"$RALLY_ADD_DEPLOYMENT\" \u003d \"True\" ]; then"},{"line_number":94,"context_line":"        local tmpfile\u003d$(mktemp)"}],"source_content_type":"application/octet-stream","patch_set":41,"id":"5a2ca52d_92688dbc","line":91,"updated":"2015-10-13 13:24:34.000000000","message":"This is not required.","commit_id":"f6ae400d8afe0111966bab56ac1ba8afd5029231"},{"author":{"_account_id":6835,"name":"Kun Huang","email":"gareth@openstacker.org","username":"academicgareth"},"change_message_id":"b6672893d2d749ea2adbb117ddc238f0418541c1","unresolved":false,"context_lines":[{"line_number":88,"context_line":"}"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"# init_rally() - Initialize databases, etc."},{"line_number":91,"context_line":"  function init_rally() {"},{"line_number":92,"context_line":"    # Add current DevStack deployment to Rally"},{"line_number":93,"context_line":"    if [ \"$RALLY_ADD_DEPLOYMENT\" \u003d \"True\" ]; then"},{"line_number":94,"context_line":"        local tmpfile\u003d$(mktemp)"}],"source_content_type":"application/octet-stream","patch_set":42,"id":"fa80f949_cf5e5276","line":91,"updated":"2015-11-03 14:18:31.000000000","message":"the leading space should be removed","commit_id":"226f2dd6bf81954dac43fa04dd16cfd4364cde34"},{"author":{"_account_id":9601,"name":"Oleh Anufriiev","email":"oanufriev@mirantis.com","username":"oanufriev"},"change_message_id":"0673d67aa5316d3bc7e6072c0a158e68c5962e01","unresolved":false,"context_lines":[{"line_number":88,"context_line":"}"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"# init_rally() - Initialize databases, etc."},{"line_number":91,"context_line":"  function init_rally() {"},{"line_number":92,"context_line":"    # Add current DevStack deployment to Rally"},{"line_number":93,"context_line":"    if [ \"$RALLY_ADD_DEPLOYMENT\" \u003d \"True\" ]; then"},{"line_number":94,"context_line":"        local tmpfile\u003d$(mktemp)"}],"source_content_type":"application/octet-stream","patch_set":42,"id":"fa80f949_f413e20b","line":91,"in_reply_to":"fa80f949_cf5e5276","updated":"2015-11-03 16:49:08.000000000","message":"Done","commit_id":"226f2dd6bf81954dac43fa04dd16cfd4364cde34"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"b45277428e13aabc324d367c0ccc957250343b6b","unresolved":false,"context_lines":[{"line_number":77,"context_line":"    sudo ln -fs $RALLY_VENV_DIR/bin/rally-manage /usr/local/bin/rally-manage"},{"line_number":78,"context_line":"}"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"# configure_rally()"},{"line_number":81,"context_line":"function configure_rally() {"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    sudo chown -R $STACK_USER $RALLY_DIR"}],"source_content_type":"application/octet-stream","patch_set":55,"id":"9a8ffd7b_dfd31937","line":80,"updated":"2015-11-25 16:21:08.000000000","message":"This tells nothing. Add extra info or remove this line","commit_id":"772233280d3ac33f8c73c8ac3dd5cdee3d669c07"},{"author":{"_account_id":9601,"name":"Oleh Anufriiev","email":"oanufriev@mirantis.com","username":"oanufriev"},"change_message_id":"e0bebd801031db1a28dffb0191a346b784edbe18","unresolved":false,"context_lines":[{"line_number":77,"context_line":"    sudo ln -fs $RALLY_VENV_DIR/bin/rally-manage /usr/local/bin/rally-manage"},{"line_number":78,"context_line":"}"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"# configure_rally()"},{"line_number":81,"context_line":"function configure_rally() {"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    sudo chown -R $STACK_USER $RALLY_DIR"}],"source_content_type":"application/octet-stream","patch_set":55,"id":"9a8ffd7b_d4498ab8","line":80,"in_reply_to":"9a8ffd7b_dfd31937","updated":"2015-11-26 12:07:15.000000000","message":"Done","commit_id":"772233280d3ac33f8c73c8ac3dd5cdee3d669c07"},{"author":{"_account_id":13609,"name":"Pavel Boldin","email":"pboldin@mirantis.com","username":"pboldin"},"change_message_id":"41fa989724b4b18bef5ef8ed494492e8bf8f9733","unresolved":false,"context_lines":[{"line_number":93,"context_line":"    if [ \"$RALLY_ADD_DEPLOYMENT\" \u003d \"True\" ]; then"},{"line_number":94,"context_line":"        local tmpfile\u003d$(mktemp)"},{"line_number":95,"context_line":"        _create_deployment_config $tmpfile"},{"line_number":96,"context_line":"        $RALLY_BIN_DIR/rally deployment create --name devstack --filename $tmpfile"},{"line_number":97,"context_line":"    fi"},{"line_number":98,"context_line":"}"},{"line_number":99,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":55,"id":"9a8ffd7b_bb20a09c","line":96,"updated":"2015-11-25 17:00:00.000000000","message":"This can fail if the deployment exists already.","commit_id":"772233280d3ac33f8c73c8ac3dd5cdee3d669c07"},{"author":{"_account_id":9601,"name":"Oleh Anufriiev","email":"oanufriev@mirantis.com","username":"oanufriev"},"change_message_id":"e0bebd801031db1a28dffb0191a346b784edbe18","unresolved":false,"context_lines":[{"line_number":93,"context_line":"    if [ \"$RALLY_ADD_DEPLOYMENT\" \u003d \"True\" ]; then"},{"line_number":94,"context_line":"        local tmpfile\u003d$(mktemp)"},{"line_number":95,"context_line":"        _create_deployment_config $tmpfile"},{"line_number":96,"context_line":"        $RALLY_BIN_DIR/rally deployment create --name devstack --filename $tmpfile"},{"line_number":97,"context_line":"    fi"},{"line_number":98,"context_line":"}"},{"line_number":99,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":55,"id":"9a8ffd7b_cb3248f2","line":96,"in_reply_to":"9a8ffd7b_bb20a09c","updated":"2015-11-26 12:07:15.000000000","message":"Can not, cause install script runs with --overwrite flag.\nVirtualenv with database directory will be deleted.\nIf any, you can set RALLY_ADD_DEPLOYMENT\u003dno in local.conf\nto not execute this code","commit_id":"772233280d3ac33f8c73c8ac3dd5cdee3d669c07"}],"install_rally.sh":[{"author":{"_account_id":6835,"name":"Kun Huang","email":"gareth@openstacker.org","username":"academicgareth"},"change_message_id":"5c6b5e47381651bdbae3317747c2dfc8f6920104","unresolved":false,"context_lines":[{"line_number":776,"context_line":"        SAMPLESDIR\u003d$SOURCEDIR/samples"},{"line_number":777,"context_line":"    fi"},{"line_number":778,"context_line":"    mkdir -p $VENVDIR/etc/bash_completion.d"},{"line_number":779,"context_line":"    cp $SOURCEDIR/etc/rally.bash_completion $VENVDIR/etc/bash_completion.d/"},{"line_number":780,"context_line":""},{"line_number":781,"context_line":"    cat \u003c\u003c__EOF__"},{"line_number":782,"context_line":"$GREEN\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-sh","patch_set":35,"id":"da20952f_6413980e","line":779,"updated":"2015-09-02 03:57:47.000000000","message":"see [0], deploying completion script makes sense for both if branch and else branch here, so you could combine these two places into one\n\n[0] https://github.com/openstack/rally/blob/master/install_rally.sh#L845","commit_id":"a45688fbe5dedb84b6589b11113a123b0214f9fc"},{"author":{"_account_id":9601,"name":"Oleh Anufriiev","email":"oanufriev@mirantis.com","username":"oanufriev"},"change_message_id":"f10d99ea87dfcfa02ed29f419beeefb00ea84cd2","unresolved":false,"context_lines":[{"line_number":776,"context_line":"        SAMPLESDIR\u003d$SOURCEDIR/samples"},{"line_number":777,"context_line":"    fi"},{"line_number":778,"context_line":"    mkdir -p $VENVDIR/etc/bash_completion.d"},{"line_number":779,"context_line":"    cp $SOURCEDIR/etc/rally.bash_completion $VENVDIR/etc/bash_completion.d/"},{"line_number":780,"context_line":""},{"line_number":781,"context_line":"    cat \u003c\u003c__EOF__"},{"line_number":782,"context_line":"$GREEN\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-sh","patch_set":35,"id":"da20952f_0e3724b1","line":779,"in_reply_to":"da20952f_6413980e","updated":"2015-09-03 01:45:58.000000000","message":"These lines are not the same:\n\ncp $SOURCEDIR/etc/rally.bash_completion $VENVDIR/etc/bash_completion.d/\n\nln -s /usr/local/etc/bash_completion.d/rally.bash_completion /etc/bash_completion.d/ 2\u003e /dev/null || true","commit_id":"a45688fbe5dedb84b6589b11113a123b0214f9fc"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"efd926d84142f7fa74b1e54ced6d00e5fb13d5bd","unresolved":false,"context_lines":[{"line_number":847,"context_line":"    fi"},{"line_number":848,"context_line":"    ln -s /usr/local/etc/bash_completion.d/rally.bash_completion /etc/bash_completion.d/ 2\u003e /dev/null || true"},{"line_number":849,"context_line":"    if [ -f \"${DBFILE}\" ]; then"},{"line_number":850,"context_line":"        chmod 777 \"$DBFILE\""},{"line_number":851,"context_line":"    fi"},{"line_number":852,"context_line":""},{"line_number":853,"context_line":"    cat \u003c\u003c__EOF__"}],"source_content_type":"text/x-sh","patch_set":41,"id":"7a2fa921_398cf534","side":"PARENT","line":850,"updated":"2015-10-12 14:08:26.000000000","message":"It is not clear why this is removed? We probably require this permissions change","commit_id":"0a312c2be9d8aea541e4c236aa98626ef33eca1b"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"c15d437e13b1d91eee4e8bd284987a0880fd0dd2","unresolved":false,"context_lines":[{"line_number":847,"context_line":"    fi"},{"line_number":848,"context_line":"    ln -s /usr/local/etc/bash_completion.d/rally.bash_completion /etc/bash_completion.d/ 2\u003e /dev/null || true"},{"line_number":849,"context_line":"    if [ -f \"${DBFILE}\" ]; then"},{"line_number":850,"context_line":"        chmod 777 \"$DBFILE\""},{"line_number":851,"context_line":"    fi"},{"line_number":852,"context_line":""},{"line_number":853,"context_line":"    cat \u003c\u003c__EOF__"}],"source_content_type":"text/x-sh","patch_set":41,"id":"5a2ca52d_d448358a","side":"PARENT","line":850,"in_reply_to":"5a2ca52d_81ca7d4e","updated":"2015-10-13 12:50:04.000000000","message":"Ok","commit_id":"0a312c2be9d8aea541e4c236aa98626ef33eca1b"},{"author":{"_account_id":9601,"name":"Oleh Anufriiev","email":"oanufriev@mirantis.com","username":"oanufriev"},"change_message_id":"d991d2f001489f1d8ec11787df8b45b250e5f9ca","unresolved":false,"context_lines":[{"line_number":847,"context_line":"    fi"},{"line_number":848,"context_line":"    ln -s /usr/local/etc/bash_completion.d/rally.bash_completion /etc/bash_completion.d/ 2\u003e /dev/null || true"},{"line_number":849,"context_line":"    if [ -f \"${DBFILE}\" ]; then"},{"line_number":850,"context_line":"        chmod 777 \"$DBFILE\""},{"line_number":851,"context_line":"    fi"},{"line_number":852,"context_line":""},{"line_number":853,"context_line":"    cat \u003c\u003c__EOF__"}],"source_content_type":"text/x-sh","patch_set":41,"id":"5a2ca52d_81ca7d4e","side":"PARENT","line":850,"in_reply_to":"7a2fa921_398cf534","updated":"2015-10-13 12:24:42.000000000","message":"It\u0027s not removed at all. It moved out of the \u0027if\u0027 branches.\nSo it should always change mode.","commit_id":"0a312c2be9d8aea541e4c236aa98626ef33eca1b"},{"author":{"_account_id":14168,"name":"Alexandr Nevenchannyy","email":"anevenchannyy@mirantis.com","username":"anevenchannyy"},"change_message_id":"c550daff45aee02e8192bd111980baf855d6041a","unresolved":false,"context_lines":[{"line_number":778,"context_line":"        SAMPLESDIR\u003d$SOURCEDIR/samples"},{"line_number":779,"context_line":"    fi"},{"line_number":780,"context_line":"    mkdir -p $VENVDIR/etc/bash_completion.d"},{"line_number":781,"context_line":"    cp $SOURCEDIR/etc/rally.bash_completion $VENVDIR/etc/bash_completion.d/"},{"line_number":782,"context_line":""},{"line_number":783,"context_line":"    cat \u003c\u003c__EOF__"},{"line_number":784,"context_line":"$GREEN\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-sh","patch_set":41,"id":"5a2ca52d_57c1872d","line":781,"updated":"2015-10-13 12:59:13.000000000","message":"Please add checking, if directory exist, before try to copy files into it. Also we need to check exit code of copy process, and exit installer if it\u0027s non-zero (for example: insufficient disk space)","commit_id":"f6ae400d8afe0111966bab56ac1ba8afd5029231"},{"author":{"_account_id":13609,"name":"Pavel Boldin","email":"pboldin@mirantis.com","username":"pboldin"},"change_message_id":"be2f8c2c00a70c5c4d8ec3afaef0538c51e67f6d","unresolved":false,"context_lines":[{"line_number":778,"context_line":"        SAMPLESDIR\u003d$SOURCEDIR/samples"},{"line_number":779,"context_line":"    fi"},{"line_number":780,"context_line":"    mkdir -p $VENVDIR/etc/bash_completion.d"},{"line_number":781,"context_line":"    cp $SOURCEDIR/etc/rally.bash_completion $VENVDIR/etc/bash_completion.d/"},{"line_number":782,"context_line":""},{"line_number":783,"context_line":"    cat \u003c\u003c__EOF__"},{"line_number":784,"context_line":"$GREEN\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-sh","patch_set":41,"id":"5a2ca52d_8daf0ce3","line":781,"in_reply_to":"5a2ca52d_57c1872d","updated":"2015-10-13 13:24:34.000000000","message":"1. No need to check this.\n\n2. `mkdir -p` exits with 0 if directory is already there.\n\n3. Exit codes are checked by the setting `set -e` above.","commit_id":"f6ae400d8afe0111966bab56ac1ba8afd5029231"},{"author":{"_account_id":13609,"name":"Pavel Boldin","email":"pboldin@mirantis.com","username":"pboldin"},"change_message_id":"be2f8c2c00a70c5c4d8ec3afaef0538c51e67f6d","unresolved":false,"context_lines":[{"line_number":830,"context_line":"__EOF__"},{"line_number":831,"context_line":"fi"},{"line_number":832,"context_line":""},{"line_number":833,"context_line":"if [ \"$DBTYPE\" \u003d \u0027sqlite\u0027 ]; then"},{"line_number":834,"context_line":"    chmod -R go+w ${RALLY_DATABASE_DIR}"},{"line_number":835,"context_line":"fi"}],"source_content_type":"text/x-sh","patch_set":41,"id":"5a2ca52d_1279ddfc","line":833,"updated":"2015-10-13 13:24:34.000000000","message":"Please be consistent at using \u0027 or \"","commit_id":"f6ae400d8afe0111966bab56ac1ba8afd5029231"},{"author":{"_account_id":13609,"name":"Pavel Boldin","email":"pboldin@mirantis.com","username":"pboldin"},"change_message_id":"be2f8c2c00a70c5c4d8ec3afaef0538c51e67f6d","unresolved":false,"context_lines":[{"line_number":831,"context_line":"fi"},{"line_number":832,"context_line":""},{"line_number":833,"context_line":"if [ \"$DBTYPE\" \u003d \u0027sqlite\u0027 ]; then"},{"line_number":834,"context_line":"    chmod -R go+w ${RALLY_DATABASE_DIR}"},{"line_number":835,"context_line":"fi"}],"source_content_type":"text/x-sh","patch_set":41,"id":"5a2ca52d_5281958e","line":834,"updated":"2015-10-13 13:24:34.000000000","message":"Please wrap these into \". This is why:\n\n $ foobar() { echo $1; echo $2; }\n$ ABC\u003d\"10 20\"\n$ foobar $ABC\n10\n20\n$ foobar \"$ABC\"\n10 20","commit_id":"f6ae400d8afe0111966bab56ac1ba8afd5029231"},{"author":{"_account_id":6835,"name":"Kun Huang","email":"gareth@openstacker.org","username":"academicgareth"},"change_message_id":"b6672893d2d749ea2adbb117ddc238f0418541c1","unresolved":false,"context_lines":[{"line_number":781,"context_line":"        SAMPLESDIR\u003d$SOURCEDIR/samples"},{"line_number":782,"context_line":"    fi"},{"line_number":783,"context_line":"    mkdir -p $VENVDIR/etc/bash_completion.d"},{"line_number":784,"context_line":"    cp $SOURCEDIR/etc/rally.bash_completion $VENVDIR/etc/bash_completion.d/"},{"line_number":785,"context_line":""},{"line_number":786,"context_line":"    cat \u003c\u003c__EOF__"},{"line_number":787,"context_line":"$GREEN\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-sh","patch_set":42,"id":"fa80f949_af43ce6b","line":784,"updated":"2015-11-03 14:18:31.000000000","message":"using \u0027install\u0027 command is a little better :)","commit_id":"226f2dd6bf81954dac43fa04dd16cfd4364cde34"},{"author":{"_account_id":9601,"name":"Oleh Anufriiev","email":"oanufriev@mirantis.com","username":"oanufriev"},"change_message_id":"0673d67aa5316d3bc7e6072c0a158e68c5962e01","unresolved":false,"context_lines":[{"line_number":781,"context_line":"        SAMPLESDIR\u003d$SOURCEDIR/samples"},{"line_number":782,"context_line":"    fi"},{"line_number":783,"context_line":"    mkdir -p $VENVDIR/etc/bash_completion.d"},{"line_number":784,"context_line":"    cp $SOURCEDIR/etc/rally.bash_completion $VENVDIR/etc/bash_completion.d/"},{"line_number":785,"context_line":""},{"line_number":786,"context_line":"    cat \u003c\u003c__EOF__"},{"line_number":787,"context_line":"$GREEN\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-sh","patch_set":42,"id":"fa80f949_d457bec8","line":784,"in_reply_to":"fa80f949_af43ce6b","updated":"2015-11-03 16:49:08.000000000","message":"Done","commit_id":"226f2dd6bf81954dac43fa04dd16cfd4364cde34"},{"author":{"_account_id":6835,"name":"Kun Huang","email":"gareth@openstacker.org","username":"academicgareth"},"change_message_id":"a7458e32334847c42bbac44b24013995bd165d45","unresolved":false,"context_lines":[{"line_number":777,"context_line":"    else"},{"line_number":778,"context_line":"        SAMPLESDIR\u003d$SOURCEDIR/samples"},{"line_number":779,"context_line":"    fi"},{"line_number":780,"context_line":"    mkdir -p $VENVDIR/etc/bash_completion.d"},{"line_number":781,"context_line":"    install $SOURCEDIR/etc/rally.bash_completion $VENVDIR/etc/bash_completion.d/"},{"line_number":782,"context_line":""},{"line_number":783,"context_line":"    cat \u003c\u003c__EOF__"}],"source_content_type":"text/x-sh","patch_set":43,"id":"fa80f949_bf52fcdb","line":780,"updated":"2015-11-04 08:29:24.000000000","message":"install -d $VENVDIR/etc/bash_completion.d\n\n(mkdir -p can\u0027t create more than one non-existing dir)","commit_id":"df72bd52ac31427138967d2d38dd302bf14bb1e0"},{"author":{"_account_id":9601,"name":"Oleh Anufriiev","email":"oanufriev@mirantis.com","username":"oanufriev"},"change_message_id":"b974499352cac395266d99f0bf2fa6ae646060e5","unresolved":false,"context_lines":[{"line_number":777,"context_line":"    else"},{"line_number":778,"context_line":"        SAMPLESDIR\u003d$SOURCEDIR/samples"},{"line_number":779,"context_line":"    fi"},{"line_number":780,"context_line":"    mkdir -p $VENVDIR/etc/bash_completion.d"},{"line_number":781,"context_line":"    install $SOURCEDIR/etc/rally.bash_completion $VENVDIR/etc/bash_completion.d/"},{"line_number":782,"context_line":""},{"line_number":783,"context_line":"    cat \u003c\u003c__EOF__"}],"source_content_type":"text/x-sh","patch_set":43,"id":"fa80f949_998f0a23","line":780,"in_reply_to":"fa80f949_bf52fcdb","updated":"2015-11-04 13:50:43.000000000","message":"\u003e\u003e\u003e mkdir -p can\u0027t create more than one non-existing dir\n\nDisagree\n# mkdir /tmp/some\n# ls -ls /tmp/some                                     \n  total 0\n\n# mkdir -p /tmp/some/some/some/boo\n# ls -lR /tmp/some\n  /tmp/some:\n  total 0\n  drwxr-xr-x 3 root root 60 Nov  4 15:44 some\n\n  /tmp/some/some:\n  total 0\n  drwxr-xr-x 3 root root 60 Nov  4 15:44 some\n\n  /tmp/some/some/some:\n  total 0\n  drwxr-xr-x 2 root root 40 Nov  4 15:44 boo\n\n  /tmp/some/some/some/boo:\n  total 0","commit_id":"df72bd52ac31427138967d2d38dd302bf14bb1e0"},{"author":{"_account_id":13609,"name":"Pavel Boldin","email":"pboldin@mirantis.com","username":"pboldin"},"change_message_id":"41fa989724b4b18bef5ef8ed494492e8bf8f9733","unresolved":false,"context_lines":[{"line_number":706,"context_line":"        echo \"Warning! Unable to wipe python compiled files\""},{"line_number":707,"context_line":"    fi"},{"line_number":708,"context_line":""},{"line_number":709,"context_line":"    if [ \"$USEVIRTUALENV\" \u003d \u0027yes\u0027 ]"},{"line_number":710,"context_line":"    then"},{"line_number":711,"context_line":"        if [ \"$VENVDIR/src\" !\u003d \"$BASEDIR\" ]"},{"line_number":712,"context_line":"        then"}],"source_content_type":"text/x-sh","patch_set":55,"id":"9a8ffd7b_5b3094e8","side":"PARENT","line":709,"updated":"2015-11-25 17:00:00.000000000","message":"Please explain reasons for this in the commit message.","commit_id":"8b14eea91d2d71213dd66c153ea226c509d38d8d"},{"author":{"_account_id":9601,"name":"Oleh Anufriiev","email":"oanufriev@mirantis.com","username":"oanufriev"},"change_message_id":"e0bebd801031db1a28dffb0191a346b784edbe18","unresolved":false,"context_lines":[{"line_number":706,"context_line":"        echo \"Warning! Unable to wipe python compiled files\""},{"line_number":707,"context_line":"    fi"},{"line_number":708,"context_line":""},{"line_number":709,"context_line":"    if [ \"$USEVIRTUALENV\" \u003d \u0027yes\u0027 ]"},{"line_number":710,"context_line":"    then"},{"line_number":711,"context_line":"        if [ \"$VENVDIR/src\" !\u003d \"$BASEDIR\" ]"},{"line_number":712,"context_line":"        then"}],"source_content_type":"text/x-sh","patch_set":55,"id":"9a8ffd7b_88068684","side":"PARENT","line":709,"in_reply_to":"9a8ffd7b_5b3094e8","updated":"2015-11-26 12:07:15.000000000","message":"Done","commit_id":"8b14eea91d2d71213dd66c153ea226c509d38d8d"},{"author":{"_account_id":13609,"name":"Pavel Boldin","email":"pboldin@mirantis.com","username":"pboldin"},"change_message_id":"41fa989724b4b18bef5ef8ed494492e8bf8f9733","unresolved":false,"context_lines":[{"line_number":733,"context_line":"    then"},{"line_number":734,"context_line":"        if [ $RECREATEDEST !\u003d \u0027yes\u0027 ]"},{"line_number":735,"context_line":"        then"},{"line_number":736,"context_line":"            echo \"Source directory \u0027$SOURCEDIR\u0027 already exists.\""},{"line_number":737,"context_line":"            echo \"I can wipe it out in order to make a new installation,\""},{"line_number":738,"context_line":"            echo \"but this means any files in that directory, and the ones\""},{"line_number":739,"context_line":"            echo \"underneath it will be deleted.\""}],"source_content_type":"text/x-sh","patch_set":55,"id":"9a8ffd7b_db71e4a9","side":"PARENT","line":736,"updated":"2015-11-25 17:00:00.000000000","message":"Please remove whole code otherwise the user has a false sense that his decisions do matter.\n\nDon\u0027t propagate learned helplessness.","commit_id":"8b14eea91d2d71213dd66c153ea226c509d38d8d"},{"author":{"_account_id":9601,"name":"Oleh Anufriiev","email":"oanufriev@mirantis.com","username":"oanufriev"},"change_message_id":"e0bebd801031db1a28dffb0191a346b784edbe18","unresolved":false,"context_lines":[{"line_number":733,"context_line":"    then"},{"line_number":734,"context_line":"        if [ $RECREATEDEST !\u003d \u0027yes\u0027 ]"},{"line_number":735,"context_line":"        then"},{"line_number":736,"context_line":"            echo \"Source directory \u0027$SOURCEDIR\u0027 already exists.\""},{"line_number":737,"context_line":"            echo \"I can wipe it out in order to make a new installation,\""},{"line_number":738,"context_line":"            echo \"but this means any files in that directory, and the ones\""},{"line_number":739,"context_line":"            echo \"underneath it will be deleted.\""}],"source_content_type":"text/x-sh","patch_set":55,"id":"9a8ffd7b_68f6c2fa","side":"PARENT","line":736,"in_reply_to":"9a8ffd7b_db71e4a9","updated":"2015-11-26 12:07:15.000000000","message":"Removed.\nDone","commit_id":"8b14eea91d2d71213dd66c153ea226c509d38d8d"},{"author":{"_account_id":13609,"name":"Pavel Boldin","email":"pboldin@mirantis.com","username":"pboldin"},"change_message_id":"41fa989724b4b18bef5ef8ed494492e8bf8f9733","unresolved":false,"context_lines":[{"line_number":802,"context_line":"        SAMPLESDIR\u003d$VENVDIR/samples"},{"line_number":803,"context_line":"        mkdir -p $SAMPLESDIR"},{"line_number":804,"context_line":"        cp -r $SOURCEDIR/samples/* $SAMPLESDIR/"},{"line_number":805,"context_line":"        if [ \"$BASEDR\" !\u003d \"$SOURCEDIR\" ]"},{"line_number":806,"context_line":"        then"},{"line_number":807,"context_line":"            rm -rf $SOURCEDIR"},{"line_number":808,"context_line":"            echo \"Source directory is removed.\""}],"source_content_type":"text/x-sh","patch_set":55,"id":"9a8ffd7b_dba804de","side":"PARENT","line":805,"updated":"2015-11-25 17:00:00.000000000","message":"These require explanation as well.","commit_id":"8b14eea91d2d71213dd66c153ea226c509d38d8d"},{"author":{"_account_id":9601,"name":"Oleh Anufriiev","email":"oanufriev@mirantis.com","username":"oanufriev"},"change_message_id":"e0bebd801031db1a28dffb0191a346b784edbe18","unresolved":false,"context_lines":[{"line_number":802,"context_line":"        SAMPLESDIR\u003d$VENVDIR/samples"},{"line_number":803,"context_line":"        mkdir -p $SAMPLESDIR"},{"line_number":804,"context_line":"        cp -r $SOURCEDIR/samples/* $SAMPLESDIR/"},{"line_number":805,"context_line":"        if [ \"$BASEDR\" !\u003d \"$SOURCEDIR\" ]"},{"line_number":806,"context_line":"        then"},{"line_number":807,"context_line":"            rm -rf $SOURCEDIR"},{"line_number":808,"context_line":"            echo \"Source directory is removed.\""}],"source_content_type":"text/x-sh","patch_set":55,"id":"9a8ffd7b_6801e269","side":"PARENT","line":805,"in_reply_to":"9a8ffd7b_dba804de","updated":"2015-11-26 12:07:15.000000000","message":"Done","commit_id":"8b14eea91d2d71213dd66c153ea226c509d38d8d"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"8174aca5f2da3160016249e36ca1fe02cae9447e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# This script installs Rally."},{"line_number":4,"context_line":"# Specifically, it is able to install and configure"}],"source_content_type":"text/x-sh","patch_set":64,"id":"3a7e1126_a442cf3c","line":1,"updated":"2015-12-17 15:54:13.000000000","message":"This change seems to be wrong - some distributions have bash installed in other place","commit_id":"09707cc44513158204673856cb541ac1e1fdd9fc"},{"author":{"_account_id":9601,"name":"Oleh Anufriiev","email":"oanufriev@mirantis.com","username":"oanufriev"},"change_message_id":"77eda8b5a26875a35d355848abe0274bd0ee1a02","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# This script installs Rally."},{"line_number":4,"context_line":"# Specifically, it is able to install and configure"}],"source_content_type":"text/x-sh","patch_set":64,"id":"3a7e1126_5942ed3f","line":1,"in_reply_to":"3a7e1126_a442cf3c","updated":"2015-12-17 16:58:39.000000000","message":"Done","commit_id":"09707cc44513158204673856cb541ac1e1fdd9fc"}],"tests/ci/rally-gate.sh":[{"author":{"_account_id":6835,"name":"Kun Huang","email":"gareth@openstacker.org","username":"academicgareth"},"change_message_id":"920484ecc43ac3b6decabe97bbcae5408ef26cfe","unresolved":false,"context_lines":[{"line_number":48,"context_line":"echo -e \"\\n\\n\\n\\n\\n\\n\\n\""},{"line_number":49,"context_line":"echo \"USER \u003d $USER\""},{"line_number":50,"context_line":"echo $(pwd)"},{"line_number":51,"context_line":"ls -laR $BASE/new/$PROJECT/"},{"line_number":52,"context_line":"echo -e \"\\n\\n\\n\\n\\n\\n\\n\""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"env"}],"source_content_type":"text/x-sh","patch_set":29,"id":"da20952f_c43f0d24","line":51,"updated":"2015-08-27 03:28:10.000000000","message":"the \u0027R\u0027 makes log file too huge, could you just print necessary informations?","commit_id":"7a62582d75f99ac3f1954adf6f000fe84244c679"},{"author":{"_account_id":9601,"name":"Oleh Anufriiev","email":"oanufriev@mirantis.com","username":"oanufriev"},"change_message_id":"8660dc13d3d847f3bcc2d8608dd8573dac386d32","unresolved":false,"context_lines":[{"line_number":48,"context_line":"echo -e \"\\n\\n\\n\\n\\n\\n\\n\""},{"line_number":49,"context_line":"echo \"USER \u003d $USER\""},{"line_number":50,"context_line":"echo $(pwd)"},{"line_number":51,"context_line":"ls -laR $BASE/new/$PROJECT/"},{"line_number":52,"context_line":"echo -e \"\\n\\n\\n\\n\\n\\n\\n\""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"env"}],"source_content_type":"text/x-sh","patch_set":29,"id":"da20952f_553ac837","line":51,"in_reply_to":"da20952f_c43f0d24","updated":"2015-08-27 05:59:36.000000000","message":"Thanks, but, patch marked as WIP!!!!\n(Work in progress)","commit_id":"7a62582d75f99ac3f1954adf6f000fe84244c679"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"b45277428e13aabc324d367c0ccc957250343b6b","unresolved":false,"context_lines":[{"line_number":15,"context_line":"# This script is executed by post_test_hook function in desvstack gate."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"PROJECT\u003d`echo $ZUUL_PROJECT | cut -d \\/ -f 2`"},{"line_number":18,"context_line":"PYTHONEX\u003d$BASE/new/rally/.venv/bin/python"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"RALLY_JOB_DIR\u003d$BASE/new/$PROJECT/rally-scenarios"},{"line_number":21,"context_line":"if [ ! -d $RALLY_JOB_DIR ]; then"}],"source_content_type":"text/x-sh","patch_set":55,"id":"9a8ffd7b_9fa59105","line":18,"updated":"2015-11-25 16:21:08.000000000","message":"name `PYTHONEX\u0027 looks strange: sufiix -EX is not widely used for such cases. I would recomment to name this variable simply `PYTHON\u0027 or `PYTHON_BIN\u0027","commit_id":"772233280d3ac33f8c73c8ac3dd5cdee3d669c07"},{"author":{"_account_id":9601,"name":"Oleh Anufriiev","email":"oanufriev@mirantis.com","username":"oanufriev"},"change_message_id":"e0bebd801031db1a28dffb0191a346b784edbe18","unresolved":false,"context_lines":[{"line_number":15,"context_line":"# This script is executed by post_test_hook function in desvstack gate."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"PROJECT\u003d`echo $ZUUL_PROJECT | cut -d \\/ -f 2`"},{"line_number":18,"context_line":"PYTHONEX\u003d$BASE/new/rally/.venv/bin/python"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"RALLY_JOB_DIR\u003d$BASE/new/$PROJECT/rally-scenarios"},{"line_number":21,"context_line":"if [ ! -d $RALLY_JOB_DIR ]; then"}],"source_content_type":"text/x-sh","patch_set":55,"id":"9a8ffd7b_f48b6ec1","line":18,"in_reply_to":"9a8ffd7b_9fa59105","updated":"2015-11-26 12:07:15.000000000","message":"Done","commit_id":"772233280d3ac33f8c73c8ac3dd5cdee3d669c07"}],"tests/ci/rally-verify.sh":[{"author":{"_account_id":13609,"name":"Pavel Boldin","email":"pboldin@mirantis.com","username":"pboldin"},"change_message_id":"41fa989724b4b18bef5ef8ed494492e8bf8f9733","unresolved":false,"context_lines":[{"line_number":2,"context_line":"# FIXME(andrekurilin): remove this file, when patch with proper fix in infra"},{"line_number":3,"context_line":"# (https://review.openstack.org/#/c/240580/) will be merged"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"$BASE/new/rally/.venv/bin/python $(dirname $0)/rally_verify.py --compare"}],"source_content_type":"text/x-sh","patch_set":55,"id":"9a8ffd7b_1bed2c25","line":5,"updated":"2015-11-25 17:00:00.000000000","message":"Why do you add a new line?","commit_id":"772233280d3ac33f8c73c8ac3dd5cdee3d669c07"},{"author":{"_account_id":9601,"name":"Oleh Anufriiev","email":"oanufriev@mirantis.com","username":"oanufriev"},"change_message_id":"e0bebd801031db1a28dffb0191a346b784edbe18","unresolved":false,"context_lines":[{"line_number":2,"context_line":"# FIXME(andrekurilin): remove this file, when patch with proper fix in infra"},{"line_number":3,"context_line":"# (https://review.openstack.org/#/c/240580/) will be merged"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"$BASE/new/rally/.venv/bin/python $(dirname $0)/rally_verify.py --compare"}],"source_content_type":"text/x-sh","patch_set":55,"id":"9a8ffd7b_9451c238","line":5,"in_reply_to":"9a8ffd7b_1bed2c25","updated":"2015-11-26 12:07:15.000000000","message":"Removed\nDone","commit_id":"772233280d3ac33f8c73c8ac3dd5cdee3d669c07"}],"tests/ci/rally_verify.py":[{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"8174aca5f2da3160016249e36ca1fe02cae9447e","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import argparse"},{"line_number":16,"context_line":"import gzip"},{"line_number":17,"context_line":"import logging"},{"line_number":18,"context_line":"import os"}],"source_content_type":"text/x-python","patch_set":64,"id":"3a7e1126_1f9d2c59","side":"PARENT","line":15,"updated":"2015-12-17 15:54:13.000000000","message":"Why this code is moved into separate file?","commit_id":"0d8740ce00cc8b375fc07a648866840ff397488b"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"8174aca5f2da3160016249e36ca1fe02cae9447e","unresolved":false,"context_lines":[{"line_number":22,"context_line":"scriptpath \u003d os.path.join(os.path.dirname(__file__), \"rally_verify_origin.py\")"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"if base_path:"},{"line_number":25,"context_line":"    python \u003d [\"%s/new/rally/.venv/bin/python\" % base_path]"},{"line_number":26,"context_line":"else:"},{"line_number":27,"context_line":"    python \u003d [\"/usr/bin/env\", \"python\"]"},{"line_number":28,"context_line":""}],"source_content_type":"text/x-python","patch_set":64,"id":"3a7e1126_647867f3","line":25,"updated":"2015-12-17 15:54:13.000000000","message":"use os.path.join()","commit_id":"09707cc44513158204673856cb541ac1e1fdd9fc"},{"author":{"_account_id":9601,"name":"Oleh Anufriiev","email":"oanufriev@mirantis.com","username":"oanufriev"},"change_message_id":"77eda8b5a26875a35d355848abe0274bd0ee1a02","unresolved":false,"context_lines":[{"line_number":22,"context_line":"scriptpath \u003d os.path.join(os.path.dirname(__file__), \"rally_verify_origin.py\")"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"if base_path:"},{"line_number":25,"context_line":"    python \u003d [\"%s/new/rally/.venv/bin/python\" % base_path]"},{"line_number":26,"context_line":"else:"},{"line_number":27,"context_line":"    python \u003d [\"/usr/bin/env\", \"python\"]"},{"line_number":28,"context_line":""}],"source_content_type":"text/x-python","patch_set":64,"id":"3a7e1126_36028e0c","line":25,"in_reply_to":"3a7e1126_647867f3","updated":"2015-12-17 16:58:39.000000000","message":"Done","commit_id":"09707cc44513158204673856cb541ac1e1fdd9fc"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"8174aca5f2da3160016249e36ca1fe02cae9447e","unresolved":false,"context_lines":[{"line_number":24,"context_line":"if base_path:"},{"line_number":25,"context_line":"    python \u003d [\"%s/new/rally/.venv/bin/python\" % base_path]"},{"line_number":26,"context_line":"else:"},{"line_number":27,"context_line":"    python \u003d [\"/usr/bin/env\", \"python\"]"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"cmd \u003d python"},{"line_number":30,"context_line":"cmd.append(scriptpath)"}],"source_content_type":"text/x-python","patch_set":64,"id":"3a7e1126_7f3550d8","line":27,"updated":"2015-12-17 15:54:13.000000000","message":"This is redundant, [\"python\"] will do the same job (looking python in $PATH)","commit_id":"09707cc44513158204673856cb541ac1e1fdd9fc"},{"author":{"_account_id":9601,"name":"Oleh Anufriiev","email":"oanufriev@mirantis.com","username":"oanufriev"},"change_message_id":"77eda8b5a26875a35d355848abe0274bd0ee1a02","unresolved":false,"context_lines":[{"line_number":24,"context_line":"if base_path:"},{"line_number":25,"context_line":"    python \u003d [\"%s/new/rally/.venv/bin/python\" % base_path]"},{"line_number":26,"context_line":"else:"},{"line_number":27,"context_line":"    python \u003d [\"/usr/bin/env\", \"python\"]"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"cmd \u003d python"},{"line_number":30,"context_line":"cmd.append(scriptpath)"}],"source_content_type":"text/x-python","patch_set":64,"id":"3a7e1126_d9ffbdff","line":27,"in_reply_to":"3a7e1126_7f3550d8","updated":"2015-12-17 16:58:39.000000000","message":"Done","commit_id":"09707cc44513158204673856cb541ac1e1fdd9fc"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"8174aca5f2da3160016249e36ca1fe02cae9447e","unresolved":false,"context_lines":[{"line_number":26,"context_line":"else:"},{"line_number":27,"context_line":"    python \u003d [\"/usr/bin/env\", \"python\"]"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"cmd \u003d python"},{"line_number":30,"context_line":"cmd.append(scriptpath)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"sys.exit(subprocess.call(cmd))"}],"source_content_type":"text/x-python","patch_set":64,"id":"3a7e1126_9f511cdb","line":29,"updated":"2015-12-17 15:54:13.000000000","message":"Variable `python\u0027 is not in use, so this can be simplified:\n\n cmd \u003d [\"python\"]\n if base_path:\n     cmd \u003d [os.path.join(base_path, \"/new/rally/.venv/bin/python\")]\n\n cmd.append(scriptpath)\n sys.exit(subprocess.call(cmd))","commit_id":"09707cc44513158204673856cb541ac1e1fdd9fc"},{"author":{"_account_id":9601,"name":"Oleh Anufriiev","email":"oanufriev@mirantis.com","username":"oanufriev"},"change_message_id":"77eda8b5a26875a35d355848abe0274bd0ee1a02","unresolved":false,"context_lines":[{"line_number":26,"context_line":"else:"},{"line_number":27,"context_line":"    python \u003d [\"/usr/bin/env\", \"python\"]"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"cmd \u003d python"},{"line_number":30,"context_line":"cmd.append(scriptpath)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"sys.exit(subprocess.call(cmd))"}],"source_content_type":"text/x-python","patch_set":64,"id":"3a7e1126_59142d43","line":29,"in_reply_to":"3a7e1126_9f511cdb","updated":"2015-12-17 16:58:39.000000000","message":"Done","commit_id":"09707cc44513158204673856cb541ac1e1fdd9fc"}],"tests/ci/rally_verify_origin.py":[{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"8174aca5f2da3160016249e36ca1fe02cae9447e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":64,"id":"3a7e1126_1f868c13","updated":"2015-12-17 15:54:13.000000000","message":"What does `origin\u0027 in file name mean?","commit_id":"09707cc44513158204673856cb541ac1e1fdd9fc"},{"author":{"_account_id":9601,"name":"Oleh Anufriiev","email":"oanufriev@mirantis.com","username":"oanufriev"},"change_message_id":"77eda8b5a26875a35d355848abe0274bd0ee1a02","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":64,"id":"3a7e1126_d94d7d73","in_reply_to":"3a7e1126_1f868c13","updated":"2015-12-17 16:58:39.000000000","message":"Original","commit_id":"09707cc44513158204673856cb541ac1e1fdd9fc"}],"tox.ini":[{"author":{"_account_id":13609,"name":"Pavel Boldin","email":"pboldin@mirantis.com","username":"pboldin"},"change_message_id":"41fa989724b4b18bef5ef8ed494492e8bf8f9733","unresolved":false,"context_lines":[{"line_number":35,"context_line":"[testenv:cli]"},{"line_number":36,"context_line":"sitepackages \u003d True"},{"line_number":37,"context_line":"usedevelop \u003d False"},{"line_number":38,"context_line":"commands \u003d"},{"line_number":39,"context_line":"  {toxinidir}/tests/ci/rally-integrated.sh"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"[testenv:cover]"}],"source_content_type":"text/x-properties","patch_set":55,"id":"9a8ffd7b_9bd91c86","line":38,"updated":"2015-11-25 17:00:00.000000000","message":"Why newline?","commit_id":"772233280d3ac33f8c73c8ac3dd5cdee3d669c07"},{"author":{"_account_id":9601,"name":"Oleh Anufriiev","email":"oanufriev@mirantis.com","username":"oanufriev"},"change_message_id":"e0bebd801031db1a28dffb0191a346b784edbe18","unresolved":false,"context_lines":[{"line_number":35,"context_line":"[testenv:cli]"},{"line_number":36,"context_line":"sitepackages \u003d True"},{"line_number":37,"context_line":"usedevelop \u003d False"},{"line_number":38,"context_line":"commands \u003d"},{"line_number":39,"context_line":"  {toxinidir}/tests/ci/rally-integrated.sh"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"[testenv:cover]"}],"source_content_type":"text/x-properties","patch_set":55,"id":"9a8ffd7b_d453ca37","line":38,"in_reply_to":"9a8ffd7b_9bd91c86","updated":"2015-11-26 12:07:15.000000000","message":"Removed.\nDone","commit_id":"772233280d3ac33f8c73c8ac3dd5cdee3d669c07"}]}
