)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9234,"name":"Steve Heyman","email":"steve@heyman.com","username":"hockeynut"},"change_message_id":"3aa7a412f4b9c30765f62feca7cd270aeb52298e","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Making is_ubuntu func available to fetch_devstacks"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When the fetch_devstacks function runs as part of grenade.sh"},{"line_number":10,"context_line":"it tries to install devstack tools. As port of the devstack tools"},{"line_number":11,"context_line":"installation, python3 gets installed through a function called"},{"line_number":12,"context_line":"install_python3 which uses a function called is_ubuntu to"},{"line_number":13,"context_line":"determine if the system is ubuntu. However this is_ubuntu"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3a461143_47ecc6c7","line":10,"updated":"2017-01-25 19:15:42.000000000","message":"nit: \"part\" not \"port\"","commit_id":"f47465ab160eb81f65a2f0b54cde212d213b1f7e"}],"grenaderc":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"780fb208dcdf754312de61dc9a500a1d8755ea05","unresolved":false,"context_lines":[{"line_number":12,"context_line":"# version of Python 3 to this variable will install the app using that"},{"line_number":13,"context_line":"# version of the interpreter instead of 2.7."},{"line_number":14,"context_line":"export PYTHON3_VERSION\u003d${PYTHON3_VERSION:-3.5}"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"# Base GIT Repo URL"},{"line_number":17,"context_line":"# Another option is http://review.openstack.org/p"},{"line_number":18,"context_line":"# Another option is https://github.com"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"5a3905b3_0c802a46","line":15,"updated":"2017-01-24 20:46:42.000000000","message":"Is this part of the patch necessary / relevant?","commit_id":"f47465ab160eb81f65a2f0b54cde212d213b1f7e"},{"author":{"_account_id":9152,"name":"Castulo J. Martinez","email":"castulo.martinez@intel.com","username":"cas"},"change_message_id":"3f81bc2910f21c91e24bb04d4314905730b421b8","unresolved":false,"context_lines":[{"line_number":12,"context_line":"# version of Python 3 to this variable will install the app using that"},{"line_number":13,"context_line":"# version of the interpreter instead of 2.7."},{"line_number":14,"context_line":"export PYTHON3_VERSION\u003d${PYTHON3_VERSION:-3.5}"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"# Base GIT Repo URL"},{"line_number":17,"context_line":"# Another option is http://review.openstack.org/p"},{"line_number":18,"context_line":"# Another option is https://github.com"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"5a3905b3_0f873cd8","line":15,"in_reply_to":"5a3905b3_0c802a46","updated":"2017-01-24 21:21:57.000000000","message":"Well it looks like the PYTHON3_VERSION variable is necessary for the install_python3 function to work. https://github.com/openstack-dev/devstack/blob/master/inc/python#L440\nAnd that function is called by install_devstack_tools, so I think is necessary.","commit_id":"f47465ab160eb81f65a2f0b54cde212d213b1f7e"},{"author":{"_account_id":9152,"name":"Castulo J. Martinez","email":"castulo.martinez@intel.com","username":"cas"},"change_message_id":"b269e00baa3c21765d63e222aca814a36c8482dc","unresolved":false,"context_lines":[{"line_number":12,"context_line":"# version of Python 3 to this variable will install the app using that"},{"line_number":13,"context_line":"# version of the interpreter instead of 2.7."},{"line_number":14,"context_line":"export PYTHON3_VERSION\u003d${PYTHON3_VERSION:-3.5}"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"# Base GIT Repo URL"},{"line_number":17,"context_line":"# Another option is http://review.openstack.org/p"},{"line_number":18,"context_line":"# Another option is https://github.com"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"3a461143_47c4cd91","line":15,"in_reply_to":"5a3905b3_0f873cd8","updated":"2017-01-25 16:53:26.000000000","message":"If PYTHON3_VERSION is not defined by the time that line of code runs, these packages are gonna get installed:\napt_get install python python-dev\nInstead of:\napt_get install python3.5 python3.5-dev\n\nGrenade may still works though.","commit_id":"f47465ab160eb81f65a2f0b54cde212d213b1f7e"}],"inc/bootstrap":[{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"ac48d0fe371a6d3b7c94ac428503ccf6ba34bd97","unresolved":false,"context_lines":[{"line_number":281,"context_line":"        rsync -a ${STACK_ROOT}/images/* $BASE_DEVSTACK_DIR/files"},{"line_number":282,"context_line":"    fi"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"    # Set up base localrc"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"    # if there is a localrc, make that a local.conf.orig and get rid of the artifact"},{"line_number":287,"context_line":"    if [[ -r $BASE_DEVSTACK_DIR/localrc ]]; then"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"3a461143_c1efc6ae","line":284,"range":{"start_line":284,"start_character":18,"end_line":284,"end_character":25},"updated":"2017-01-25 18:41:17.000000000","message":"local.conf","commit_id":"f47465ab160eb81f65a2f0b54cde212d213b1f7e"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"ac48d0fe371a6d3b7c94ac428503ccf6ba34bd97","unresolved":false,"context_lines":[{"line_number":297,"context_line":"        rm $BASE_DEVSTACK_DIR/local.conf"},{"line_number":298,"context_line":"    fi"},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"    # put devstack.local.conf.target in place as local.conf"},{"line_number":301,"context_line":"    sed -e \""},{"line_number":302,"context_line":"        s|\\@BASE_RELEASE_DIR\\@|$BASE_RELEASE_DIR|"},{"line_number":303,"context_line":"        s|\\@DATA_DIR@|$DATA_DIR|"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"3a461143_e26207ad","line":300,"range":{"start_line":300,"start_character":30,"end_line":300,"end_character":36},"updated":"2017-01-25 18:41:17.000000000","message":"base","commit_id":"f47465ab160eb81f65a2f0b54cde212d213b1f7e"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"ac48d0fe371a6d3b7c94ac428503ccf6ba34bd97","unresolved":false,"context_lines":[{"line_number":308,"context_line":"        dsconf merge_lc $BASE_DEVSTACK_DIR/local.conf $BASE_DEVSTACK_DIR/local.conf.orig"},{"line_number":309,"context_line":"    fi"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":"    # if devstack.local.conf exists append it to localrc"},{"line_number":312,"context_line":"    if [[ -r $GRENADE_DIR/devstack.local.conf ]]; then"},{"line_number":313,"context_line":"        dsconf merge_lc $BASE_DEVSTACK_DIR/local.conf $GRENADE_DIR/devstack.local.conf"},{"line_number":314,"context_line":"    elif [[ -r $GRENADE_DIR/devstack.localrc ]]; then"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"3a461143_42c4bb91","line":311,"range":{"start_line":311,"start_character":49,"end_line":311,"end_character":56},"updated":"2017-01-25 18:41:17.000000000","message":"change to local.conf","commit_id":"f47465ab160eb81f65a2f0b54cde212d213b1f7e"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"ac48d0fe371a6d3b7c94ac428503ccf6ba34bd97","unresolved":false,"context_lines":[{"line_number":348,"context_line":"        dsconf merge_lc $TARGET_DEVSTACK_DIR/local.conf $TARGET_DEVSTACK_DIR/local.conf.orig"},{"line_number":349,"context_line":"    fi"},{"line_number":350,"context_line":""},{"line_number":351,"context_line":"    # if devstack.local.conf exists append it to locarc"},{"line_number":352,"context_line":"    if [[ -r $GRENADE_DIR/devstack.local.conf ]]; then"},{"line_number":353,"context_line":"        dsconf merge_lc $TARGET_DEVSTACK_DIR/local.conf $GRENADE_DIR/devstack.local.conf"},{"line_number":354,"context_line":"    elif [[ -r $GRENADE_DIR/devstack.localrc ]]; then"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"3a461143_21b08add","line":351,"range":{"start_line":351,"start_character":49,"end_line":351,"end_character":55},"updated":"2017-01-25 18:41:17.000000000","message":"change to local.conf","commit_id":"f47465ab160eb81f65a2f0b54cde212d213b1f7e"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"0cd12f5edb29763db5580d0448eaffdf02ae81d2","unresolved":false,"context_lines":[{"line_number":272,"context_line":""},{"line_number":273,"context_line":"    # This depends on REQUIREMENTS_DIR being set in grenaderc, which"},{"line_number":274,"context_line":"    # it needs to be to have gotten this far."},{"line_number":275,"context_line":"    source $TARGET_DEVSTACK_DIR/functions-common"},{"line_number":276,"context_line":"    source $TARGET_DEVSTACK_DIR/inc/python"},{"line_number":277,"context_line":"    install_devstack_tools"},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"    # Load up a copy of the downloaded images if not present"}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"3a461143_1906fe1c","line":276,"range":{"start_line":275,"start_character":4,"end_line":276,"end_character":42},"updated":"2017-01-30 20:02:55.000000000","message":"After taking a deeper look, to be consistent with the places where grenade sources other functions. I think these two \"source\" instructions should be moved to grenade_dir/functions file - LN36\n\nModify grenade.sh to move LN177 (source $GRENADE_DIR/functions) before LN171 (fetch_devstacks)","commit_id":"648521324c20a7386e8b6c4708e81cbc77bbc2e4"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"e975fef13da56972dc5911a5941371445c16d3d3","unresolved":false,"context_lines":[{"line_number":272,"context_line":""},{"line_number":273,"context_line":"    # This depends on REQUIREMENTS_DIR being set in grenaderc, which"},{"line_number":274,"context_line":"    # it needs to be to have gotten this far."},{"line_number":275,"context_line":"    source $TARGET_DEVSTACK_DIR/functions-common"},{"line_number":276,"context_line":"    source $TARGET_DEVSTACK_DIR/inc/python"},{"line_number":277,"context_line":"    install_devstack_tools"},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"    # Load up a copy of the downloaded images if not present"}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"3a461143_d267ebb4","line":276,"range":{"start_line":275,"start_character":4,"end_line":276,"end_character":42},"in_reply_to":"3a461143_1906fe1c","updated":"2017-01-30 21:38:24.000000000","message":"Dang on further details ... just delete these two source lines.\nModify grenade.sh to move LN177 (source $GRENADE_DIR/functions) before LN171 (fetch_devstacks) $GRENADE_DIR/functions will source  ${TARGET_DEVSTACK_DIR}/functions which in turn will source these two...","commit_id":"648521324c20a7386e8b6c4708e81cbc77bbc2e4"},{"author":{"_account_id":9152,"name":"Castulo J. Martinez","email":"castulo.martinez@intel.com","username":"cas"},"change_message_id":"0c6a6fabe758a3f3d84e32cea71a4289e0c7ae81","unresolved":false,"context_lines":[{"line_number":272,"context_line":""},{"line_number":273,"context_line":"    # This depends on REQUIREMENTS_DIR being set in grenaderc, which"},{"line_number":274,"context_line":"    # it needs to be to have gotten this far."},{"line_number":275,"context_line":"    source $TARGET_DEVSTACK_DIR/functions-common"},{"line_number":276,"context_line":"    source $TARGET_DEVSTACK_DIR/inc/python"},{"line_number":277,"context_line":"    install_devstack_tools"},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"    # Load up a copy of the downloaded images if not present"}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"3a461143_e15cf74c","line":276,"range":{"start_line":275,"start_character":4,"end_line":276,"end_character":42},"in_reply_to":"3a461143_d267ebb4","updated":"2017-01-31 16:28:26.000000000","message":"That won\u0027t work cause if you move \"source $GRENADE_DIR/functions\" before LN171 as you are suggesting then  ${TARGET_DEVSTACK_DIR} won\u0027t exist at the moment of trying sourcing it so it will break. The ${TARGET_DEVSTACK_DIR} gets created by the fetch_devstacks function.\nComments on the code explains this:\nhttps://github.com/openstack-dev/grenade/blob/master/grenade.sh#L173\n# Source the rest of the Grenade functions. For convenience\n# ``$GRENADE_DIR/functions`` implicitly sources\n# ``$TARGET_DEVSTACK_DIR/functions``. So this line can\u0027t happen until\n# we have the devstacks pulled down.","commit_id":"648521324c20a7386e8b6c4708e81cbc77bbc2e4"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"c53af02df5a07afd07b038a7f955eef7db9f9fe6","unresolved":false,"context_lines":[{"line_number":272,"context_line":""},{"line_number":273,"context_line":"    # This depends on REQUIREMENTS_DIR being set in grenaderc, which"},{"line_number":274,"context_line":"    # it needs to be to have gotten this far."},{"line_number":275,"context_line":"    source $TARGET_DEVSTACK_DIR/functions-common"},{"line_number":276,"context_line":"    source $TARGET_DEVSTACK_DIR/inc/python"},{"line_number":277,"context_line":"    install_devstack_tools"},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"    # Load up a copy of the downloaded images if not present"}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"3a461143_b84a1d53","line":276,"range":{"start_line":275,"start_character":4,"end_line":276,"end_character":42},"in_reply_to":"3a461143_e15cf74c","updated":"2017-01-31 17:37:25.000000000","message":"You are right, grenade functions exists just after cloning git repos... then I\u0027m cool with current patch as is","commit_id":"648521324c20a7386e8b6c4708e81cbc77bbc2e4"}]}
