)]}'
{"leap-upgrades/lib/functions.sh":[{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"4dcb716ca7f618f29fc2f374bcde507aea665e6a","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"    echo"},{"line_number":137,"context_line":"    echo"},{"line_number":138,"context_line":"    warning \"You want to upgrade from\""},{"line_number":139,"context_line":"    notice \"JUNO or KILO or LIBERTY\""},{"line_number":140,"context_line":"    read -p \u0027Enter \"JUNO\" or \"KILO\" or \"LIBERTY\" to continue: \u0027 UPGRADE_FROM"},{"line_number":141,"context_line":"    if [ \"${UPGRADE_FROM}\" \u003d\u003d \"JUNO\" ]; then"}],"source_content_type":"text/x-sh","patch_set":3,"id":"3f044301_c6dab649","line":138,"range":{"start_line":138,"start_character":13,"end_line":138,"end_character":37},"updated":"2017-05-10 09:40:46.000000000","message":"I think it\u0027d be better to say something like: \u0027Please enter the source series to upgrade from.\u0027","commit_id":"2a9d604fbcf1974306e46ad8164f444a235c4707"},{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"67b3d2ea885814871fbc7ca6e00c3d7119a0ab0a","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"    echo"},{"line_number":137,"context_line":"    echo"},{"line_number":138,"context_line":"    warning \"You want to upgrade from\""},{"line_number":139,"context_line":"    notice \"JUNO or KILO or LIBERTY\""},{"line_number":140,"context_line":"    read -p \u0027Enter \"JUNO\" or \"KILO\" or \"LIBERTY\" to continue: \u0027 UPGRADE_FROM"},{"line_number":141,"context_line":"    if [ \"${UPGRADE_FROM}\" \u003d\u003d \"JUNO\" ]; then"}],"source_content_type":"text/x-sh","patch_set":3,"id":"3f044301_46d8e61c","line":138,"range":{"start_line":138,"start_character":13,"end_line":138,"end_character":37},"in_reply_to":"3f044301_c6dab649","updated":"2017-05-10 09:48:15.000000000","message":"Agreed","commit_id":"2a9d604fbcf1974306e46ad8164f444a235c4707"},{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"779daf65bd36cbc0fac60c4cfea5a0b1d9ed3917","unresolved":false,"context_lines":[{"line_number":133,"context_line":"      exit 99"},{"line_number":134,"context_line":"    fi"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"    echo"},{"line_number":137,"context_line":"    echo"},{"line_number":138,"context_line":"    warning \"You want to upgrade from\""},{"line_number":139,"context_line":"    notice \"JUNO or KILO or LIBERTY\""},{"line_number":140,"context_line":"    read -p \u0027Enter \"JUNO\" or \"KILO\" or \"LIBERTY\" to continue: \u0027 UPGRADE_FROM"},{"line_number":141,"context_line":"    if [ \"${UPGRADE_FROM}\" \u003d\u003d \"JUNO\" ]; then"},{"line_number":142,"context_line":"      notice \"Running LEAP Upgrade from JUNO to NEWTON\""},{"line_number":143,"context_line":"    elif [ \"${UPGRADE_FROM}\" \u003d\u003d \"KILO\" ]; then"},{"line_number":144,"context_line":"      notice \"Running LEAP Upgrade from KILO to NEWTON\""},{"line_number":145,"context_line":"    elif [ \"${UPGRADE_FROM}\" \u003d\u003d \"LIBERTY\" ]; then"},{"line_number":146,"context_line":"      notice \"Running LEAP Upgrade from LIBERTY to NEWTON\""},{"line_number":147,"context_line":"    else"},{"line_number":148,"context_line":"      exit 99"},{"line_number":149,"context_line":"    fi"},{"line_number":150,"context_line":"    export UPGRADE_FROM\u003d$UPGRADE_FROM"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"    mkdir -p /opt/leap42/venvs"},{"line_number":153,"context_line":""}],"source_content_type":"text/x-sh","patch_set":3,"id":"3f044301_46c7c665","line":150,"range":{"start_line":136,"start_character":0,"end_line":150,"end_character":37},"updated":"2017-05-10 09:46:52.000000000","message":"I\u0027d prefer a more elegant way, and have auto detection, but I can deal with it.","commit_id":"2a9d604fbcf1974306e46ad8164f444a235c4707"},{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"4a710ea2072fcbd1b325aa3acde25ee70d7c3605","unresolved":false,"context_lines":[{"line_number":120,"context_line":"if os.path.isdir(\"/opt/rpc-openstack/openstack-ansible/playbooks/inventory/group_vars\"):"},{"line_number":121,"context_line":"    souce_path \u003d \"/opt/rpc-openstack/openstack-ansible/playbooks/inventory/group_vars/all.yml\""},{"line_number":122,"context_line":"else:"},{"line_number":123,"context_line":"    souce_path \u003d \"/opt/openstack-ansible/playbooks/inventory/group_vars/all.yml\""},{"line_number":124,"context_line":"source_release \u003d \"\""},{"line_number":125,"context_line":"with open(souce_path) as f:"},{"line_number":126,"context_line":"    for line in f:"}],"source_content_type":"text/x-sh","patch_set":8,"id":"3f044301_6857055a","line":123,"updated":"2017-05-12 08:45:09.000000000","message":"The path could be /opt/rpc-openstack/ ,so it should be a var.\n\nBut that could be a later commit. Let\u0027s get it working first.","commit_id":"c29c1604fd8382e68b4abd71c32b6c5ef213e04a"},{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"4a710ea2072fcbd1b325aa3acde25ee70d7c3605","unresolved":false,"context_lines":[{"line_number":195,"context_line":"    if [ \"${UPGRADE_FROM}\" \u003d\u003d \"${VERSION}\" ]; then"},{"line_number":196,"context_line":"      notice \"Running LEAP Upgrade from ${UPGRADE_FROM} to NEWTON\""},{"line_number":197,"context_line":"    else"},{"line_number":198,"context_line":"      exit 99"},{"line_number":199,"context_line":"    fi"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"    export UPGRADE_FROM\u003d${UPGRADE_FROM}"}],"source_content_type":"text/x-sh","patch_set":8,"id":"3f044301_e8bf955e","line":198,"updated":"2017-05-12 08:45:09.000000000","message":"We need a message to explain why it exited...","commit_id":"c29c1604fd8382e68b4abd71c32b6c5ef213e04a"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"c20b53bd7cba8ea710aa1c5f8c3da0aae9e9a423","unresolved":false,"context_lines":[{"line_number":113,"context_line":"    popd"},{"line_number":114,"context_line":"}"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"function validate_upgrade_input {"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"    echo"},{"line_number":119,"context_line":"    warning \"Please enter the source series to upgrade from.\""}],"source_content_type":"text/x-sh","patch_set":12,"id":"1f013ff3_7b789ff7","line":116,"updated":"2017-05-12 14:28:39.000000000","message":"Question: If we can detect the source version, then why bother asking which version to upgrade from?\n\nIt would seem sensible to me to just output the detected version and ask if the user is sure they want to upgrade from that source to Newton.","commit_id":"e5118656f955f96f691495ff6b3a448e671ea4f4"},{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"77e1a4fe61a796818314113cb36ae5f4ed5806a6","unresolved":false,"context_lines":[{"line_number":113,"context_line":"    popd"},{"line_number":114,"context_line":"}"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"function validate_upgrade_input {"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"    echo"},{"line_number":119,"context_line":"    warning \"Please enter the source series to upgrade from.\""}],"source_content_type":"text/x-sh","patch_set":12,"id":"1f013ff3_3e568508","line":116,"in_reply_to":"1f013ff3_7b789ff7","updated":"2017-05-12 14:42:34.000000000","message":"Sure we can improve.\n\nI want to get it working first though.","commit_id":"e5118656f955f96f691495ff6b3a448e671ea4f4"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"c20b53bd7cba8ea710aa1c5f8c3da0aae9e9a423","unresolved":false,"context_lines":[{"line_number":152,"context_line":"  case \"${UPGRADE_FROM}\" in"},{"line_number":153,"context_line":"  JUNO)"},{"line_number":154,"context_line":"    export RELEASE\u003d\"${JUNO_RELEASE}\""},{"line_number":155,"context_line":"    export JUNO_UPGRADE\u003d\"TRUE\""},{"line_number":156,"context_line":"    export KILO_UPGRADE\u003d\"TRUE\""},{"line_number":157,"context_line":"    export LIBERTY_UPGRADE\u003d\"TRUE\""},{"line_number":158,"context_line":"    export ANSIBLE_INVENTORY\u003d\"/opt/leap42/openstack-ansible-${RELEASE}/rpc_deployment/inventory\""}],"source_content_type":"text/x-sh","patch_set":12,"id":"1f013ff3_fb54af56","line":155,"updated":"2017-05-12 14:28:39.000000000","message":"Instead of having a var set to true for each release, perhaps it\u0027d be simpler to have a var which contains the list of release to upgrade through?\n\neg:\nexport UPGRADE_LIST\u003d\"JUNO KILO LIBERTY\"\n\nThen the test can just validate if the item is in the list.","commit_id":"e5118656f955f96f691495ff6b3a448e671ea4f4"},{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"77e1a4fe61a796818314113cb36ae5f4ed5806a6","unresolved":false,"context_lines":[{"line_number":152,"context_line":"  case \"${UPGRADE_FROM}\" in"},{"line_number":153,"context_line":"  JUNO)"},{"line_number":154,"context_line":"    export RELEASE\u003d\"${JUNO_RELEASE}\""},{"line_number":155,"context_line":"    export JUNO_UPGRADE\u003d\"TRUE\""},{"line_number":156,"context_line":"    export KILO_UPGRADE\u003d\"TRUE\""},{"line_number":157,"context_line":"    export LIBERTY_UPGRADE\u003d\"TRUE\""},{"line_number":158,"context_line":"    export ANSIBLE_INVENTORY\u003d\"/opt/leap42/openstack-ansible-${RELEASE}/rpc_deployment/inventory\""}],"source_content_type":"text/x-sh","patch_set":12,"id":"1f013ff3_5e51510e","line":155,"in_reply_to":"1f013ff3_fb54af56","updated":"2017-05-12 14:42:34.000000000","message":"Agreed but this was easier to write :p\nIF KILO_UPGRADE vs \nIF KILO in UPGRADE_LIST.\n\nFine for me in another commit.","commit_id":"e5118656f955f96f691495ff6b3a448e671ea4f4"},{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"b0c3a53517dc0fcc08bfe6ae71899fbd42151c9f","unresolved":false,"context_lines":[{"line_number":35,"context_line":"function run_lock {"},{"line_number":36,"context_line":"  set +e"},{"line_number":37,"context_line":"  run_item\u003d\"${RUN_TASKS[$1]}\""},{"line_number":38,"context_line":"  file_part\u003d\"$(echo ${run_item} | awk \u0027{print $1;}\u0027)\""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"  if [ ! -d  \"/etc/openstack_deploy/upgrade-leap\" ]; then"},{"line_number":41,"context_line":"      mkdir -p \"/etc/openstack_deploy/upgrade-leap\""}],"source_content_type":"text/x-sh","patch_set":25,"id":"ff0f0b1f_6bc9c576","line":38,"updated":"2017-05-18 10:26:57.000000000","message":"This would cause to keep the same filename for all the files that have different arguments, like the nova one. I\u0027m patching this.","commit_id":"741447fca2499ca3d61f65c6da68cd18c3fd5e01"},{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"2b5a4a0c9584ed9e82aed4bcbcb6617feb8de882","unresolved":false,"context_lines":[{"line_number":39,"context_line":"  debug \"LEAP ${1} marked as success\""},{"line_number":40,"context_line":"}"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"function run_lock {"},{"line_number":43,"context_line":"  current_item\u003d$1"},{"line_number":44,"context_line":"  list\u003d$2"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"  set +e"},{"line_number":47,"context_line":"  run_item\u003d\"${RUN_TASKS[$current_item]}\""},{"line_number":48,"context_line":"  debug \"Input: $current_item List: $list Run_lock on $run_item\""},{"line_number":49,"context_line":"  set -- junk $run_item"},{"line_number":50,"context_line":"  shift"},{"line_number":51,"context_line":"  # storing the filepart"},{"line_number":52,"context_line":"  file_part\u003d$(basename $1)"},{"line_number":53,"context_line":"  # sanitize the rest of the args (replacing non alpha chars)"},{"line_number":54,"context_line":"  arguments_part\u003d$(echo [${@:2}] | awk \u0027{ gsub(\"[^[:alnum:]_]\",\"_\",$0); print }\u0027)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"  if [ ! -d  \"/etc/openstack_deploy/upgrade-leap\" ]; then"},{"line_number":57,"context_line":"      mkdir -p \"/etc/openstack_deploy/upgrade-leap\""},{"line_number":58,"context_line":"  fi"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"  upgrade_marker_file\u003d\"$file_part\"_\"$arguments_part\""},{"line_number":61,"context_line":"  upgrade_marker\u003d\"/etc/openstack_deploy/upgrade-leap/$upgrade_marker_file.complete\""},{"line_number":62,"context_line":"  "},{"line_number":63,"context_line":"  debug \"File part: $file_part\""},{"line_number":64,"context_line":"  debug \"Upgrade marker file is $upgrade_marker\""},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"  if [ ! -f \"$upgrade_marker\" ];then"},{"line_number":67,"context_line":"    debug \"Upgrade marker file not found for this run item.\""},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    # note(sigmavirus24): use eval so that we properly turn strings like"},{"line_number":70,"context_line":"    # \"/tmp/fix_container_interfaces.yml || true\""},{"line_number":71,"context_line":"    # into a command, otherwise we\u0027ll get an error that there\u0027s no playbook"},{"line_number":72,"context_line":"    # named ||"},{"line_number":73,"context_line":"    eval \"openstack-ansible $list\""},{"line_number":74,"context_line":"    playbook_status\u003d\"$?\""},{"line_number":75,"context_line":"    notice \"Ran: $run_item\""},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    if [ \"$playbook_status\" \u003d\u003d \"0\" ];then"},{"line_number":78,"context_line":"      RUN_TASKS\u003d(\"${RUN_TASKS[@]/$run_item}\")"},{"line_number":79,"context_line":"      touch \"${upgrade_marker}\""},{"line_number":80,"context_line":"      notice \"$run_item has been marked as success at ${upgrade_marker}\""},{"line_number":81,"context_line":"    else"},{"line_number":82,"context_line":"      FAILURES_LIST\u003d$(seq $current_item $((${#RUN_TASKS[@]} - 1)))"},{"line_number":83,"context_line":"      failure \"******************** failure ********************\""},{"line_number":84,"context_line":"      failure \"The upgrade script has encountered a failure.\""},{"line_number":85,"context_line":"      failure \"Failed on task \\\"$run_item\\\"\""},{"line_number":86,"context_line":"      failure \"Execute the remaining tasks manually:\""},{"line_number":87,"context_line":"      # NOTE:"},{"line_number":88,"context_line":"      # List the remaining, in-completed tasks from the tasks array."},{"line_number":89,"context_line":"      # Using seq to generate a sequence which starts from the spot"},{"line_number":90,"context_line":"      # where previous exception or failures happened."},{"line_number":91,"context_line":"      # run the tasks in order."},{"line_number":92,"context_line":"      for item in ${FAILURES_LIST}; do"},{"line_number":93,"context_line":"        if [ -n \"${RUN_TASKS[$item]}\" ]; then"},{"line_number":94,"context_line":"          warning \"openstack-ansible ${RUN_TASKS[$item]}\""},{"line_number":95,"context_line":"        fi"},{"line_number":96,"context_line":"      done"},{"line_number":97,"context_line":"      failure \"******************** failure ********************\""},{"line_number":98,"context_line":"      exit 99"},{"line_number":99,"context_line":"    fi"},{"line_number":100,"context_line":"  else"},{"line_number":101,"context_line":"    debug \"Upgrade marker file found for this run item.\""},{"line_number":102,"context_line":"    RUN_TASKS\u003d(\"${RUN_TASKS[@]/$run_item.*}\")"},{"line_number":103,"context_line":"  fi"},{"line_number":104,"context_line":"  set -e"},{"line_number":105,"context_line":"}"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"function system_bootstrap {"},{"line_number":108,"context_line":"    if [[ -d \"/opt/ansible-runtime\" ]]; then"}],"source_content_type":"text/x-sh","patch_set":26,"id":"ff0f0b1f_a735c6dc","line":105,"range":{"start_line":42,"start_character":0,"end_line":105,"end_character":1},"updated":"2017-05-18 15:35:10.000000000","message":"I\u0027m not sure any of this is needed.","commit_id":"271d3680b61ce648cd10d3a872af4ed0d9ee90dd"},{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"2b5a4a0c9584ed9e82aed4bcbcb6617feb8de882","unresolved":false,"context_lines":[{"line_number":139,"context_line":""},{"line_number":140,"context_line":"    echo"},{"line_number":141,"context_line":"    warning \"Please enter the source series to upgrade from.\""},{"line_number":142,"context_line":"    notice \"JUNO, KILO or LIBERTY\""},{"line_number":143,"context_line":"    read -p \u0027Enter \"JUNO\", \"KILO\", or \"LIBERTY\" to continue: \u0027 UPGRADE_FROM"},{"line_number":144,"context_line":"    export INPUT_UPGRADE_FROM\u003d${UPGRADE_FROM}"},{"line_number":145,"context_line":""}],"source_content_type":"text/x-sh","patch_set":26,"id":"ff0f0b1f_27577605","line":142,"range":{"start_line":142,"start_character":12,"end_line":142,"end_character":16},"updated":"2017-05-18 15:35:10.000000000","message":"Not supported you can likely remove this.","commit_id":"271d3680b61ce648cd10d3a872af4ed0d9ee90dd"},{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"2b5a4a0c9584ed9e82aed4bcbcb6617feb8de882","unresolved":false,"context_lines":[{"line_number":140,"context_line":"    echo"},{"line_number":141,"context_line":"    warning \"Please enter the source series to upgrade from.\""},{"line_number":142,"context_line":"    notice \"JUNO, KILO or LIBERTY\""},{"line_number":143,"context_line":"    read -p \u0027Enter \"JUNO\", \"KILO\", or \"LIBERTY\" to continue: \u0027 UPGRADE_FROM"},{"line_number":144,"context_line":"    export INPUT_UPGRADE_FROM\u003d${UPGRADE_FROM}"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    if [[ ${INPUT_UPGRADE_FROM} \u003d\u003d ${CODE_UPGRADE_FROM} ]]; then"}],"source_content_type":"text/x-sh","patch_set":26,"id":"ff0f0b1f_075c7223","line":143,"range":{"start_line":143,"start_character":20,"end_line":143,"end_character":24},"updated":"2017-05-18 15:35:10.000000000","message":"Not supported you can likely remove this.","commit_id":"271d3680b61ce648cd10d3a872af4ed0d9ee90dd"},{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"2b5a4a0c9584ed9e82aed4bcbcb6617feb8de882","unresolved":false,"context_lines":[{"line_number":158,"context_line":"}"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"function discover_code_version {"},{"line_number":161,"context_line":"    if [[ ! -f \"/etc/openstack-release\" ]]; then"},{"line_number":162,"context_line":"        export CODE_UPGRADE_FROM\u003d\"JUNO\""},{"line_number":163,"context_line":"        notice \"You seem to be running Juno\""},{"line_number":164,"context_line":"    else"},{"line_number":165,"context_line":"        source /etc/openstack-release"},{"line_number":166,"context_line":"        case \"${DISTRIB_RELEASE%%.*}\" in"},{"line_number":167,"context_line":"            \u002711\u0027)"}],"source_content_type":"text/x-sh","patch_set":26,"id":"ff0f0b1f_a76386dc","line":164,"range":{"start_line":161,"start_character":0,"end_line":164,"end_character":8},"updated":"2017-05-18 15:35:10.000000000","message":"Not supported you can likely remove this.","commit_id":"271d3680b61ce648cd10d3a872af4ed0d9ee90dd"},{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"2b5a4a0c9584ed9e82aed4bcbcb6617feb8de882","unresolved":false,"context_lines":[{"line_number":187,"context_line":"function set_upgrade_vars {"},{"line_number":188,"context_line":"  notice \"Setting up vars for the LEAP\""},{"line_number":189,"context_line":"  case \"${CODE_UPGRADE_FROM}\" in"},{"line_number":190,"context_line":"  JUNO)"},{"line_number":191,"context_line":"    export RELEASE\u003d\"${JUNO_RELEASE}\""},{"line_number":192,"context_line":"    export UPGRADES_TO_TODOLIST\u003d\"KILO LIBERTY MITAKA NEWTON\""},{"line_number":193,"context_line":"    export ANSIBLE_INVENTORY\u003d\"/opt/leap42/openstack-ansible-${RELEASE}/rpc_deployment/inventory\""},{"line_number":194,"context_line":"    export CONFIG_DIR\u003d\"/etc/rpc_deploy\""},{"line_number":195,"context_line":"  ;;"},{"line_number":196,"context_line":"  KILO)"},{"line_number":197,"context_line":"    export RELEASE\u003d\"${KILO_RELEASE}\""},{"line_number":198,"context_line":"    export UPGRADES_TO_TODOLIST\u003d\"LIBERTY MITAKA NEWTON\""}],"source_content_type":"text/x-sh","patch_set":26,"id":"ff0f0b1f_47894a73","line":195,"range":{"start_line":190,"start_character":0,"end_line":195,"end_character":4},"updated":"2017-05-18 15:35:10.000000000","message":"Not supported you can likely remove this.","commit_id":"271d3680b61ce648cd10d3a872af4ed0d9ee90dd"}],"leap-upgrades/lib/vars.sh":[{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"c20b53bd7cba8ea710aa1c5f8c3da0aae9e9a423","unresolved":false,"context_lines":[{"line_number":19,"context_line":"export KILO_RELEASE\u003d\"${KILO_RELEASE:-11.2.17}\""},{"line_number":20,"context_line":"export LIBERTY_RELEASE\u003d\"${LIBERTY_RELEASE:-12.2.8}\""},{"line_number":21,"context_line":"export MITAKA_RELEASE\u003d\"${MITAKA_RELEASE:-13.3.11}\""},{"line_number":22,"context_line":"export NEWTON_RELEASE\u003d\"${NEWTON_RELEASE:-d47e29b7d8a385773acadb825e37c82d42b3ec27}\"  # commit used due to packaging bug caused by setuptools"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"## Environment Vars ------------------------------------------------------------------"},{"line_number":25,"context_line":"export MAIN_PATH\u003d\"${MAIN_PATH:-/opt/openstack-ansible}\""}],"source_content_type":"text/x-sh","patch_set":12,"id":"1f013ff3_3be9f77f","line":22,"range":{"start_line":22,"start_character":41,"end_line":22,"end_character":81},"updated":"2017-05-12 14:28:39.000000000","message":"I\u0027m guessing that a tag can be used here instead now?","commit_id":"e5118656f955f96f691495ff6b3a448e671ea4f4"}],"leap-upgrades/migrations.sh":[{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"2b5a4a0c9584ed9e82aed4bcbcb6617feb8de882","unresolved":false,"context_lines":[{"line_number":18,"context_line":"#   root@HOSTNAME:/opt/openstack-ansible# echo \"YES\" | bash scripts/run-upgrade.sh"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"## Shell Opts ----------------------------------------------------------------"},{"line_number":21,"context_line":"set -e -u -v"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"## Main ----------------------------------------------------------------------"},{"line_number":24,"context_line":"source lib/vars.sh"}],"source_content_type":"text/x-sh","patch_set":26,"id":"ff0f0b1f_64632c1c","side":"PARENT","line":21,"updated":"2017-05-18 15:35:10.000000000","message":"I think we should keep the verbose.","commit_id":"f0a94da4d3a5f64384c410c99565f2bebbc7b838"}],"leap-upgrades/prep.sh":[{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"779daf65bd36cbc0fac60c4cfea5a0b1d9ed3917","unresolved":false,"context_lines":[{"line_number":27,"context_line":"# Execute a preflight check"},{"line_number":28,"context_line":"pre_flight"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"UPGRADE_FROM\u003d\"${UPGRADE_FROM\u003d-JUNO}\""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"# Clone the Juno release so we have a clean copy of the source code."},{"line_number":33,"context_line":"if [[ ! -f \"/opt/leap42/openstack-ansible-${JUNO_RELEASE}-prep.leap\" ]]; then"}],"source_content_type":"text/x-sh","patch_set":3,"id":"3f044301_a6ad6a9c","line":30,"range":{"start_line":30,"start_character":0,"end_line":30,"end_character":36},"updated":"2017-05-10 09:46:52.000000000","message":"We shouldn\u0027t reset after the preflight checks.\nThe pre-flight checks should set all the vars properly for us, and we should just reuse this.","commit_id":"2a9d604fbcf1974306e46ad8164f444a235c4707"},{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"779daf65bd36cbc0fac60c4cfea5a0b1d9ed3917","unresolved":false,"context_lines":[{"line_number":66,"context_line":"RUN_TASKS+\u003d(\"${UPGRADE_UTILS}/cinder-volume-container-lvm-check.yml\")"},{"line_number":67,"context_line":"RUN_TASKS+\u003d(\"${UPGRADE_UTILS}/db-backup.yml\")"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"if [[ -d \"/etc/rpc_deploy\" ]]; then"},{"line_number":70,"context_line":"  RELEASE\u003d\"${JUNO_RELEASE}\""},{"line_number":71,"context_line":"  export ANSIBLE_INVENTORY\u003d\"/opt/leap42/openstack-ansible-${RELEASE}/rpc_deployment/inventory\""},{"line_number":72,"context_line":"else"},{"line_number":73,"context_line":"  case ${UPGRADE_FROM} in"},{"line_number":74,"context_line":"    KILO)"},{"line_number":75,"context_line":"      RELEASE\u003d${KILO_RELEASE}"},{"line_number":76,"context_line":"      ;;"},{"line_number":77,"context_line":"    LIBERTY)"},{"line_number":78,"context_line":"      RELEASE\u003d${LIBERTY_RELEASE}"},{"line_number":79,"context_line":"      ;;"},{"line_number":80,"context_line":"    *)"},{"line_number":81,"context_line":"      RELEASE\u003d${NEWTON_RELEASE}"},{"line_number":82,"context_line":"   esac"},{"line_number":83,"context_line":"  export ANSIBLE_INVENTORY\u003d\"/opt/leap42/openstack-ansible-${RELEASE}/playbooks/inventory\""},{"line_number":84,"context_line":"fi"},{"line_number":85,"context_line":""}],"source_content_type":"text/x-sh","patch_set":3,"id":"3f044301_a69b2a64","line":82,"range":{"start_line":69,"start_character":0,"end_line":82,"end_character":7},"updated":"2017-05-10 09:46:52.000000000","message":"This is mixing detection/setup of vars and logic.\nI\u0027d keep them separate and set the variables in one single place.","commit_id":"2a9d604fbcf1974306e46ad8164f444a235c4707"},{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"2b5a4a0c9584ed9e82aed4bcbcb6617feb8de882","unresolved":false,"context_lines":[{"line_number":18,"context_line":"#   root@HOSTNAME:/opt/openstack-ansible# echo \"YES\" | bash scripts/run-upgrade.sh"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"## Shell Opts ----------------------------------------------------------------"},{"line_number":21,"context_line":"set -e -u -v"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"## Main ----------------------------------------------------------------------"},{"line_number":24,"context_line":"source lib/vars.sh"}],"source_content_type":"text/x-sh","patch_set":26,"id":"ff0f0b1f_e4b17c91","side":"PARENT","line":21,"updated":"2017-05-18 15:35:10.000000000","message":"I think we should keep the verbose.","commit_id":"f0a94da4d3a5f64384c410c99565f2bebbc7b838"}],"leap-upgrades/re-deploy.sh":[{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"2b5a4a0c9584ed9e82aed4bcbcb6617feb8de882","unresolved":false,"context_lines":[{"line_number":66,"context_line":"RUN_TASKS+\u003d(\"os-nova-install.yml --limit nova_compute\")"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"RUN_TASKS+\u003d(\"os-neutron-install.yml\")"},{"line_number":69,"context_line":"# "},{"line_number":70,"context_line":"RUN_TASKS+\u003d(\"${UPGRADE_UTILS}/neutron-remove-old-containers.yml\")"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"RUN_TASKS+\u003d(\"os-heat-install.yml\")"}],"source_content_type":"text/x-sh","patch_set":26,"id":"ff0f0b1f_44514836","line":69,"range":{"start_line":69,"start_character":1,"end_line":69,"end_character":2},"updated":"2017-05-18 15:35:10.000000000","message":"whitespace.","commit_id":"271d3680b61ce648cd10d3a872af4ed0d9ee90dd"}],"leap-upgrades/run-stages.sh":[{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"2b5a4a0c9584ed9e82aed4bcbcb6617feb8de882","unresolved":false,"context_lines":[{"line_number":18,"context_line":"#   root@HOSTNAME:/opt/openstack-ansible# echo \"YES\" | bash scripts/run-upgrade.sh"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"## Shell Opts ----------------------------------------------------------------"},{"line_number":21,"context_line":"set -e -u -v"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"## Main ----------------------------------------------------------------------"},{"line_number":24,"context_line":"source lib/vars.sh"}],"source_content_type":"text/x-sh","patch_set":26,"id":"ff0f0b1f_a459445b","side":"PARENT","line":21,"updated":"2017-05-18 15:35:10.000000000","message":"I think we should keep the verbose.","commit_id":"f0a94da4d3a5f64384c410c99565f2bebbc7b838"}],"leap-upgrades/upgrade-utilities/pip-unify.yml":[{"author":{"_account_id":16479,"name":"weezer su","email":"weezer.su@rackspace.com","username":"weezS"},"change_message_id":"a8054b81404a8175de4b71da7a2516324e74e179","unresolved":false,"context_lines":[{"line_number":80,"context_line":"      apt:"},{"line_number":81,"context_line":"        name: libssl-dev"},{"line_number":82,"context_line":"        update_cache: yes"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    - name: Re-install pip packaging requirements"},{"line_number":85,"context_line":"      raw: |"},{"line_number":86,"context_line":"        /usr/bin/python /opt/get-pip.py \\"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"1f013ff3_4bc14880","line":83,"updated":"2017-05-16 19:04:42.000000000","message":"some nodes are lacking of this package, without it will cause errors when you run the next task. \"name: Re-install pip packaging requirements\"","commit_id":"d6ecab2e4b6043373add22474a3b52e4f918f984"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"dd1aea300d81dcdc5bfbc06651db6e76d3f30495","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    - name: Get Modern PIP using fallback URL"},{"line_number":47,"context_line":"      get_url:"},{"line_number":48,"context_line":"        url: \"{{ pip_fallback_url }}\""},{"line_number":49,"context_line":"        dest: \"/opt/get-pip.py\""},{"line_number":50,"context_line":"        force: \"yes\""},{"line_number":51,"context_line":"        validate_certs: \"{{ pip_validate_certs }}\""}],"source_content_type":"text/x-yaml","patch_set":35,"id":"ff0f0b1f_a238c93c","line":48,"range":{"start_line":48,"start_character":17,"end_line":48,"end_character":33},"updated":"2017-05-22 09:44:18.000000000","message":"Is this set anywhere?","commit_id":"ee93901d054b9b4514aa8a2e367bfc88120594d7"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"dd1aea300d81dcdc5bfbc06651db6e76d3f30495","unresolved":false,"context_lines":[{"line_number":72,"context_line":"            --force-reinstall \\"},{"line_number":73,"context_line":"            --upgrade \\"},{"line_number":74,"context_line":"            --isolated \\"},{"line_number":75,"context_line":"            --constraint /tmp/global-requirement-pins.txt"},{"line_number":76,"context_line":"      args:"},{"line_number":77,"context_line":"        executable: /bin/bash"},{"line_number":78,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":35,"id":"ff0f0b1f_4277ad03","line":75,"updated":"2017-05-22 09:44:18.000000000","message":"I\u0027m pretty sure that the following needs to be added to this CLI as there are no requirements expressed here:\n\n pip setuptools wheel","commit_id":"ee93901d054b9b4514aa8a2e367bfc88120594d7"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"dd1aea300d81dcdc5bfbc06651db6e76d3f30495","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    - name: apt-get install libssl-dev"},{"line_number":80,"context_line":"      apt:"},{"line_number":81,"context_line":"        name: libssl-dev"},{"line_number":82,"context_line":"        update_cache: yes"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    - name: Re-install pip packaging requirements"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"ff0f0b1f_02c8951f","line":81,"updated":"2017-05-22 09:44:18.000000000","message":"The full set for pip as dependencies are: libssl-dev libffi-dev python-dev","commit_id":"ee93901d054b9b4514aa8a2e367bfc88120594d7"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"dd1aea300d81dcdc5bfbc06651db6e76d3f30495","unresolved":false,"context_lines":[{"line_number":87,"context_line":"            --upgrade \\"},{"line_number":88,"context_line":"            --isolated \\"},{"line_number":89,"context_line":"            --requirement /tmp/upgrade-requirements.txt \\"},{"line_number":90,"context_line":"            --constraint /tmp/global-requirement-pins.txt"},{"line_number":91,"context_line":"      args:"},{"line_number":92,"context_line":"        executable: /bin/bash"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"ff0f0b1f_828945cb","line":90,"updated":"2017-05-22 09:44:18.000000000","message":"This is installing a lot of packages unconstrained, which will have to be re-done later.\n\nThe both the get-pip commands, this mechanism can be used to find the current upper constraints which should be added to the CLI:\n\nhttps://github.com/openstack/openstack-ansible/blob/master/scripts/bootstrap-ansible.sh#L97-L105","commit_id":"ee93901d054b9b4514aa8a2e367bfc88120594d7"}],"leap-upgrades/upgrade.sh":[{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"779daf65bd36cbc0fac60c4cfea5a0b1d9ed3917","unresolved":false,"context_lines":[{"line_number":28,"context_line":"# Run tasks"},{"line_number":29,"context_line":"UPGRADE_SCRIPTS\u003d\"${UPGRADE_UTILS}-kilo/scripts\""},{"line_number":30,"context_line":"# If the kilo leap has been accomplished, skip."},{"line_number":31,"context_line":"if [[ ! -f \"/opt/leap42/openstack-ansible-${KILO_RELEASE}.leap\" ]] \u0026\u0026 [[ ${UPGRADE_FROM} -eq \"JUNO\" ]]; then"},{"line_number":32,"context_line":"  notice \u0027Running kilo leap\u0027"},{"line_number":33,"context_line":"  link_release \"/opt/leap42/openstack-ansible-${KILO_RELEASE}\""},{"line_number":34,"context_line":"  pushd \"/opt/leap42/openstack-ansible-${KILO_RELEASE}\""}],"source_content_type":"text/x-sh","patch_set":3,"id":"3f044301_e6e372d8","line":31,"range":{"start_line":31,"start_character":0,"end_line":31,"end_character":108},"updated":"2017-05-10 09:46:52.000000000","message":"This change, while readable, is NOT explained in the commit message.\nYou don\u0027t explain why this change of conditionals.\n\nAlso you\u0027re mising some kind of user defined var and auto detect variable, which I find not really elegant.","commit_id":"2a9d604fbcf1974306e46ad8164f444a235c4707"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"a26dc6a7467f48c594a19fa5bcd9c61a0726cd7a","unresolved":false,"context_lines":[{"line_number":74,"context_line":""},{"line_number":75,"context_line":"### Liberty System migration"},{"line_number":76,"context_line":"# Run tasks"},{"line_number":77,"context_line":"if [[ ! -f \"/opt/leap42/openstack-ansible-${LIBERTY_RELEASE}.leap\" ]] \u0026\u0026 [[ ${UPGRADE_FROM} -eq \"JUNO\" ]] || [[ ${UPGRADE_FROM} -eq \"KILO\" ]]; then"},{"line_number":78,"context_line":"  notice \u0027Running liberty leap\u0027"},{"line_number":79,"context_line":"  link_release \"/opt/leap42/openstack-ansible-${LIBERTY_RELEASE}\""},{"line_number":80,"context_line":"  UPGRADE_PLAYBOOKS\u003d\"${UPGRADE_UTILS}-liberty/playbooks\""}],"source_content_type":"text/x-sh","patch_set":3,"id":"3f044301_46aa2671","line":77,"range":{"start_line":77,"start_character":0,"end_line":77,"end_character":147},"updated":"2017-05-10 09:45:15.000000000","message":"I think that you might want this to be:\n\nIf the lock file is there and (source\u003djuno or source\u003dkilo)?\n\nEasiest would be to do this:\n\nif [[ ! -f \"/opt/leap42/openstack-ansible-${LIBERTY_RELEASE}.leap\" ]]; then\n    if [[ ${UPGRADE_FROM} -eq \"JUNO\" ]] || [[ ${UPGRADE_FROM} -eq \"KILO\" ]]; then\n        ....\n    fi\nfi","commit_id":"2a9d604fbcf1974306e46ad8164f444a235c4707"},{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"67b3d2ea885814871fbc7ca6e00c3d7119a0ab0a","unresolved":false,"context_lines":[{"line_number":74,"context_line":""},{"line_number":75,"context_line":"### Liberty System migration"},{"line_number":76,"context_line":"# Run tasks"},{"line_number":77,"context_line":"if [[ ! -f \"/opt/leap42/openstack-ansible-${LIBERTY_RELEASE}.leap\" ]] \u0026\u0026 [[ ${UPGRADE_FROM} -eq \"JUNO\" ]] || [[ ${UPGRADE_FROM} -eq \"KILO\" ]]; then"},{"line_number":78,"context_line":"  notice \u0027Running liberty leap\u0027"},{"line_number":79,"context_line":"  link_release \"/opt/leap42/openstack-ansible-${LIBERTY_RELEASE}\""},{"line_number":80,"context_line":"  UPGRADE_PLAYBOOKS\u003d\"${UPGRADE_UTILS}-liberty/playbooks\""}],"source_content_type":"text/x-sh","patch_set":3,"id":"3f044301_a6020a6e","line":77,"range":{"start_line":77,"start_character":0,"end_line":77,"end_character":147},"in_reply_to":"3f044301_46aa2671","updated":"2017-05-10 09:48:15.000000000","message":"Agreed on the readability.\nBut why? Shouldn\u0027t this generally be smarter?","commit_id":"2a9d604fbcf1974306e46ad8164f444a235c4707"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"f9e9d8bee69d3646e9f05d7ccd583a7142f12813","unresolved":false,"context_lines":[{"line_number":74,"context_line":""},{"line_number":75,"context_line":"### Liberty System migration"},{"line_number":76,"context_line":"# Run tasks"},{"line_number":77,"context_line":"if [[ ! -f \"/opt/leap42/openstack-ansible-${LIBERTY_RELEASE}.leap\" ]] \u0026\u0026 [[ ${UPGRADE_FROM} -eq \"JUNO\" ]] || [[ ${UPGRADE_FROM} -eq \"KILO\" ]]; then"},{"line_number":78,"context_line":"  notice \u0027Running liberty leap\u0027"},{"line_number":79,"context_line":"  link_release \"/opt/leap42/openstack-ansible-${LIBERTY_RELEASE}\""},{"line_number":80,"context_line":"  UPGRADE_PLAYBOOKS\u003d\"${UPGRADE_UTILS}-liberty/playbooks\""}],"source_content_type":"text/x-sh","patch_set":3,"id":"3f044301_66264218","line":77,"range":{"start_line":77,"start_character":0,"end_line":77,"end_character":147},"in_reply_to":"3f044301_a6020a6e","updated":"2017-05-10 09:54:05.000000000","message":"Sure, but I\u0027m OK with function before form. Once it works it can be improved. I guess it also depends on whether this is a one-time hack or a long lived tool.","commit_id":"2a9d604fbcf1974306e46ad8164f444a235c4707"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"a26dc6a7467f48c594a19fa5bcd9c61a0726cd7a","unresolved":false,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"### Mitaka System migration"},{"line_number":93,"context_line":"# Run tasks"},{"line_number":94,"context_line":"if [[ ! -f \"/opt/leap42/openstack-ansible-${MITAKA_RELEASE}.leap\" ]] \u0026\u0026 [[ ${UPGRADE_FROM} -eq \"JUNO\" ]] || [[ ${UPGRADE_FROM} -eq \"KILO\" ]] || [[ ${UPGRADE_FROM} -eq \"LIBERTY\" ]]; then"},{"line_number":95,"context_line":"  notice \u0027Running mitaka leap\u0027"},{"line_number":96,"context_line":"  link_release \"/opt/leap42/openstack-ansible-${MITAKA_RELEASE}\""},{"line_number":97,"context_line":"  UPGRADE_PLAYBOOKS\u003d\"${UPGRADE_UTILS}-mitaka/playbooks\""}],"source_content_type":"text/x-sh","patch_set":3,"id":"3f044301_e6bed2b2","line":94,"updated":"2017-05-10 09:45:15.000000000","message":"Same suggestion as above.","commit_id":"2a9d604fbcf1974306e46ad8164f444a235c4707"},{"author":{"_account_id":16479,"name":"weezer su","email":"weezer.su@rackspace.com","username":"weezS"},"change_message_id":"5f6fc8866323f5dfa63c9c5281240f7f9e658824","unresolved":false,"context_lines":[{"line_number":80,"context_line":"  UPGRADE_PLAYBOOKS\u003d\"${UPGRADE_UTILS}-liberty/playbooks\""},{"line_number":81,"context_line":"  RUN_TASKS\u003d()"},{"line_number":82,"context_line":"  RUN_TASKS+\u003d(\"${UPGRADE_PLAYBOOKS}/ansible_fact_cleanup-liberty.yml\")"},{"line_number":83,"context_line":"  RUN_TASKS+\u003d(\"${UPGRADE_PLAYBOOKS}/deploy-config-changes-liberty.yml -e \u0027osa_playbook_dir\u003d/opt/leap42/openstack-ansible-${LIBERTY_RELEASE} deploy-config-changes-liberty\u0027\")"},{"line_number":84,"context_line":"  RUN_TASKS+\u003d(\"${UPGRADE_PLAYBOOKS}/user-secrets-adjustment-liberty.yml -e \u0027osa_playbook_dir\u003d/opt/leap42/openstack-ansible-${LIBERTY_RELEASE} user-secrets-adjustment-liberty\u0027\")"},{"line_number":85,"context_line":"  RUN_TASKS+\u003d(\"${UPGRADE_PLAYBOOKS}/mariadb-apt-cleanup.yml\")"},{"line_number":86,"context_line":"  RUN_TASKS+\u003d(\"${UPGRADE_PLAYBOOKS}/disable-neutron-port-security.yml\")"}],"source_content_type":"text/x-sh","patch_set":19,"id":"1f013ff3_a8020d0a","line":83,"updated":"2017-05-16 22:32:20.000000000","message":"ugly solution to avoid the future task been marked as finished task.","commit_id":"3959eddadb38382fa78215f5b4128a8a3ce911f4"},{"author":{"_account_id":16479,"name":"weezer su","email":"weezer.su@rackspace.com","username":"weezS"},"change_message_id":"2183d3ab9d70f33a58b7b4653c619f992fcc50ef","unresolved":false,"context_lines":[{"line_number":81,"context_line":"  RUN_TASKS\u003d()"},{"line_number":82,"context_line":"  RUN_TASKS+\u003d(\"${UPGRADE_PLAYBOOKS}/ansible_fact_cleanup-liberty.yml\")"},{"line_number":83,"context_line":"  RUN_TASKS+\u003d(\"${UPGRADE_PLAYBOOKS}/deploy-config-changes-liberty.yml -e \u0027osa_playbook_dir\u003d/opt/leap42/openstack-ansible-${LIBERTY_RELEASE}\u0027\")"},{"line_number":84,"context_line":"  RUN_TASKS+\u003d(\"${UPGRADE_PLAYBOOKS}/user-secrets-adjustment-liberty.yml -e \u0027osa_playbook_dir\u003d/opt/leap42/openstack-ansible-${LIBERTY_RELEASE}\u0027\")"},{"line_number":85,"context_line":"  RUN_TASKS+\u003d(\"${UPGRADE_PLAYBOOKS}/mariadb-apt-cleanup.yml\")"},{"line_number":86,"context_line":"  RUN_TASKS+\u003d(\"${UPGRADE_PLAYBOOKS}/disable-neutron-port-security.yml\")"},{"line_number":87,"context_line":"  run_items \"/opt/leap42/openstack-ansible-${LIBERTY_RELEASE}\""}],"source_content_type":"text/x-sh","patch_set":24,"id":"ff0f0b1f_c117b1ed","line":84,"updated":"2017-05-17 14:34:32.000000000","message":"without the ugly patch the runlock will create a complete file for deploy-config-changes-liberty.yml and the user-secrets-adjustment-liberty.yml wont run.....we need to find a way to figure it out.","commit_id":"231dbcd71d84284c121ef966b2a73eb33c5c2327"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"dd1aea300d81dcdc5bfbc06651db6e76d3f30495","unresolved":false,"context_lines":[{"line_number":75,"context_line":"### Liberty System migration"},{"line_number":76,"context_line":"# Run tasks"},{"line_number":77,"context_line":"if [[ ! -f \"/opt/leap42/openstack-ansible-${LIBERTY_RELEASE}.leap\" ]] \u0026\u0026 [[ \"${UPGRADES_TO_TODOLIST}\" \u003d~ .*LIBERTY.*  ]]; then"},{"line_number":78,"context_line":"  notice \u0027Leaping to liberty\u0027"},{"line_number":79,"context_line":"  link_release \"/opt/leap42/openstack-ansible-${LIBERTY_RELEASE}\""},{"line_number":80,"context_line":"  UPGRADE_PLAYBOOKS\u003d\"${UPGRADE_UTILS}-liberty/playbooks\""},{"line_number":81,"context_line":"  RUN_TASKS\u003d()"}],"source_content_type":"text/x-sh","patch_set":35,"id":"ff0f0b1f_42ac4d33","line":78,"range":{"start_line":78,"start_character":21,"end_line":78,"end_character":22},"updated":"2017-05-22 09:44:18.000000000","message":"L","commit_id":"ee93901d054b9b4514aa8a2e367bfc88120594d7"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"dd1aea300d81dcdc5bfbc06651db6e76d3f30495","unresolved":false,"context_lines":[{"line_number":110,"context_line":"### Newton Deploy"},{"line_number":111,"context_line":"# Run tasks"},{"line_number":112,"context_line":"if [[ ! -f \"/opt/leap42/openstack-ansible-${NEWTON_RELEASE}.leap\" ]] \u0026\u0026 [[ \"${UPGRADES_TO_TODOLIST}\" \u003d~ .*NEWTON*  ]]; then"},{"line_number":113,"context_line":"  notice \u0027Running newton leap\u0027"},{"line_number":114,"context_line":"  link_release \"/opt/leap42/openstack-ansible-${NEWTON_RELEASE}\""},{"line_number":115,"context_line":"  UPGRADE_PLAYBOOKS\u003d\"${UPGRADE_UTILS}-newton/playbooks\""},{"line_number":116,"context_line":"  RUN_TASKS\u003d()"}],"source_content_type":"text/x-sh","patch_set":35,"id":"ff0f0b1f_02641521","line":113,"range":{"start_line":113,"start_character":10,"end_line":113,"end_character":29},"updated":"2017-05-22 09:44:18.000000000","message":"Leaping to Newton","commit_id":"ee93901d054b9b4514aa8a2e367bfc88120594d7"}],"multi-node-aio/functions.rc":[{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"4a710ea2072fcbd1b325aa3acde25ee70d7c3605","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"3f044301_28e21da1","updated":"2017-05-12 08:45:09.000000000","message":"this shouldn\u0027t be included in the patch","commit_id":"c29c1604fd8382e68b4abd71c32b6c5ef213e04a"}]}
