)]}'
{"scripts/bootstrap-ansible.sh":[{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"ca07df4ac812d39ab25652475ee63eca81b63180","unresolved":false,"context_lines":[{"line_number":107,"context_line":"$PIP_COMMAND install $PIP_OPTS -r requirements.txt ${ANSIBLE_PACKAGE} || $PIP_COMMAND install --isolated $PIP_OPTS -r requirements.txt ${ANSIBLE_PACKAGE}"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"# Link the venv installation of Ansible to the local path"},{"line_number":110,"context_line":"pushd /opt/ansible-runtime/bin"},{"line_number":111,"context_line":"  for ansible_bin in $(ls -1 ansible*); do"},{"line_number":112,"context_line":"    ln -sf /usr/local/bin/openstack-ansible /usr/local/bin/${ansible_bin}"},{"line_number":113,"context_line":"  done"},{"line_number":114,"context_line":"popd"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"# If the Ansible plugins are in the old location remove them."},{"line_number":117,"context_line":"[[ -d \"/etc/ansible/plugins\" ]] \u0026\u0026 rm -rf \"/etc/ansible/plugins\""}],"source_content_type":"text/x-sh","patch_set":5,"id":"fa6399be_2df7de8b","line":114,"range":{"start_line":110,"start_character":0,"end_line":114,"end_character":4},"updated":"2016-10-14 17:42:13.000000000","message":"this breaks system usability as it will cause all ansible commands to be linked to the openstack-ansible cli wrapper and while that will source the openstack-ansible.rc file it is only built to run with ansible-playbook so the additional commands in the global namespace will be broken.","commit_id":"abf470650182727c79310581c6a6924ad22451e5"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"b121e77e813d6618aa13c66567a1bd2d1102e148","unresolved":false,"context_lines":[{"line_number":107,"context_line":"$PIP_COMMAND install $PIP_OPTS -r requirements.txt ${ANSIBLE_PACKAGE} || $PIP_COMMAND install --isolated $PIP_OPTS -r requirements.txt ${ANSIBLE_PACKAGE}"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"# Link the venv installation of Ansible to the local path"},{"line_number":110,"context_line":"pushd /opt/ansible-runtime/bin"},{"line_number":111,"context_line":"  for ansible_bin in $(ls -1 ansible*); do"},{"line_number":112,"context_line":"    ln -sf /usr/local/bin/openstack-ansible /usr/local/bin/${ansible_bin}"},{"line_number":113,"context_line":"  done"},{"line_number":114,"context_line":"popd"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"# If the Ansible plugins are in the old location remove them."},{"line_number":117,"context_line":"[[ -d \"/etc/ansible/plugins\" ]] \u0026\u0026 rm -rf \"/etc/ansible/plugins\""}],"source_content_type":"text/x-sh","patch_set":5,"id":"fa6399be_8885385b","line":114,"range":{"start_line":110,"start_character":0,"end_line":114,"end_character":4},"in_reply_to":"fa6399be_2df7de8b","updated":"2016-10-14 17:48:38.000000000","message":"With the changes further down, it doesn\u0027t break any usability.","commit_id":"abf470650182727c79310581c6a6924ad22451e5"},{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"c90072251918e68f2f30b8cdf5905006fbf16f5d","unresolved":false,"context_lines":[{"line_number":107,"context_line":"$PIP_COMMAND install $PIP_OPTS -r requirements.txt ${ANSIBLE_PACKAGE} || $PIP_COMMAND install --isolated $PIP_OPTS -r requirements.txt ${ANSIBLE_PACKAGE}"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"# Link the venv installation of Ansible to the local path"},{"line_number":110,"context_line":"pushd /opt/ansible-runtime/bin"},{"line_number":111,"context_line":"  for ansible_bin in $(ls -1 ansible*); do"},{"line_number":112,"context_line":"    ln -sf /usr/local/bin/openstack-ansible /usr/local/bin/${ansible_bin}"},{"line_number":113,"context_line":"  done"},{"line_number":114,"context_line":"popd"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"# If the Ansible plugins are in the old location remove them."},{"line_number":117,"context_line":"[[ -d \"/etc/ansible/plugins\" ]] \u0026\u0026 rm -rf \"/etc/ansible/plugins\""}],"source_content_type":"text/x-sh","patch_set":5,"id":"fa6399be_039ae9b8","line":114,"range":{"start_line":110,"start_character":0,"end_line":114,"end_character":4},"in_reply_to":"fa6399be_8885385b","updated":"2016-10-14 18:04:03.000000000","message":"this breaks usability if i want to run ansible things outside of OSA.","commit_id":"abf470650182727c79310581c6a6924ad22451e5"},{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"ca07df4ac812d39ab25652475ee63eca81b63180","unresolved":false,"context_lines":[{"line_number":121,"context_line":"  if [[ \"${ANSIBLE_ROLE_FETCH_MODE}\" \u003d\u003d \u0027galaxy\u0027 ]];then"},{"line_number":122,"context_line":"    # Pull all required roles."},{"line_number":123,"context_line":"    /opt/ansible-runtime/bin/ansible-galaxy install \\"},{"line_number":124,"context_line":"                           --role-file\u003d\"${ANSIBLE_ROLE_FILE}\" \\"},{"line_number":125,"context_line":"                           --force"},{"line_number":126,"context_line":"  elif [[ \"${ANSIBLE_ROLE_FETCH_MODE}\" \u003d\u003d \u0027git-clone\u0027 ]];then"},{"line_number":127,"context_line":"    pushd tests"},{"line_number":128,"context_line":"      /opt/ansible-runtime/bin/ansible-playbook \\"},{"line_number":129,"context_line":"                       -i \"localhost ansible-connection\u003dlocal,\" \\"},{"line_number":130,"context_line":"                       get-ansible-role-requirements.yml \\"},{"line_number":131,"context_line":"                       -e role_file\u003d\"${ANSIBLE_ROLE_FILE}\""},{"line_number":132,"context_line":"    popd"},{"line_number":133,"context_line":"  else"},{"line_number":134,"context_line":"    echo \"Please set the ANSIBLE_ROLE_FETCH_MODE to either of the following options [\u0027galaxy\u0027, \u0027git-clone\u0027]\""}],"source_content_type":"text/x-sh","patch_set":5,"id":"fa6399be_ad184ed4","line":131,"range":{"start_line":124,"start_character":0,"end_line":131,"end_character":58},"updated":"2016-10-14 17:42:13.000000000","message":"LN110-114 break the links to the ansible cli tools. going to the full path is not needed if we keep the proper links.","commit_id":"abf470650182727c79310581c6a6924ad22451e5"},{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"c90072251918e68f2f30b8cdf5905006fbf16f5d","unresolved":false,"context_lines":[{"line_number":121,"context_line":"  if [[ \"${ANSIBLE_ROLE_FETCH_MODE}\" \u003d\u003d \u0027galaxy\u0027 ]];then"},{"line_number":122,"context_line":"    # Pull all required roles."},{"line_number":123,"context_line":"    /opt/ansible-runtime/bin/ansible-galaxy install \\"},{"line_number":124,"context_line":"                           --role-file\u003d\"${ANSIBLE_ROLE_FILE}\" \\"},{"line_number":125,"context_line":"                           --force"},{"line_number":126,"context_line":"  elif [[ \"${ANSIBLE_ROLE_FETCH_MODE}\" \u003d\u003d \u0027git-clone\u0027 ]];then"},{"line_number":127,"context_line":"    pushd tests"},{"line_number":128,"context_line":"      /opt/ansible-runtime/bin/ansible-playbook \\"},{"line_number":129,"context_line":"                       -i \"localhost ansible-connection\u003dlocal,\" \\"},{"line_number":130,"context_line":"                       get-ansible-role-requirements.yml \\"},{"line_number":131,"context_line":"                       -e role_file\u003d\"${ANSIBLE_ROLE_FILE}\""},{"line_number":132,"context_line":"    popd"},{"line_number":133,"context_line":"  else"},{"line_number":134,"context_line":"    echo \"Please set the ANSIBLE_ROLE_FETCH_MODE to either of the following options [\u0027galaxy\u0027, \u0027git-clone\u0027]\""}],"source_content_type":"text/x-sh","patch_set":5,"id":"fa6399be_63b48534","line":131,"range":{"start_line":124,"start_character":0,"end_line":131,"end_character":58},"in_reply_to":"fa6399be_08e1282d","updated":"2016-10-14 18:04:03.000000000","message":"right but this is not needed if we don\u0027t break the native commands.","commit_id":"abf470650182727c79310581c6a6924ad22451e5"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"b121e77e813d6618aa13c66567a1bd2d1102e148","unresolved":false,"context_lines":[{"line_number":121,"context_line":"  if [[ \"${ANSIBLE_ROLE_FETCH_MODE}\" \u003d\u003d \u0027galaxy\u0027 ]];then"},{"line_number":122,"context_line":"    # Pull all required roles."},{"line_number":123,"context_line":"    /opt/ansible-runtime/bin/ansible-galaxy install \\"},{"line_number":124,"context_line":"                           --role-file\u003d\"${ANSIBLE_ROLE_FILE}\" \\"},{"line_number":125,"context_line":"                           --force"},{"line_number":126,"context_line":"  elif [[ \"${ANSIBLE_ROLE_FETCH_MODE}\" \u003d\u003d \u0027git-clone\u0027 ]];then"},{"line_number":127,"context_line":"    pushd tests"},{"line_number":128,"context_line":"      /opt/ansible-runtime/bin/ansible-playbook \\"},{"line_number":129,"context_line":"                       -i \"localhost ansible-connection\u003dlocal,\" \\"},{"line_number":130,"context_line":"                       get-ansible-role-requirements.yml \\"},{"line_number":131,"context_line":"                       -e role_file\u003d\"${ANSIBLE_ROLE_FILE}\""},{"line_number":132,"context_line":"    popd"},{"line_number":133,"context_line":"  else"},{"line_number":134,"context_line":"    echo \"Please set the ANSIBLE_ROLE_FETCH_MODE to either of the following options [\u0027galaxy\u0027, \u0027git-clone\u0027]\""}],"source_content_type":"text/x-sh","patch_set":5,"id":"fa6399be_08e1282d","line":131,"range":{"start_line":124,"start_character":0,"end_line":131,"end_character":58},"in_reply_to":"fa6399be_ad184ed4","updated":"2016-10-14 17:48:38.000000000","message":"With the changes further down, it doesn\u0027t break any usability.","commit_id":"abf470650182727c79310581c6a6924ad22451e5"},{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"ca07df4ac812d39ab25652475ee63eca81b63180","unresolved":false,"context_lines":[{"line_number":181,"context_line":"RUN_CMD\u003d\\$(basename \\${0})"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"# Execute the Ansible command."},{"line_number":184,"context_line":"if [ \"\\${RUN_CMD}\" \u003d\u003d \"openstack-ansible\" ]; then"},{"line_number":185,"context_line":"  /opt/ansible-runtime/bin/ansible-playbook \\$@ \\${VAR1}"},{"line_number":186,"context_line":"elif [ \"\\${RUN_CMD}\" \u003d\u003d \"ansible\" ] || [ \"\\${RUN_CMD}\" \u003d\u003d \"ansible-playbook\" ]; then"},{"line_number":187,"context_line":"  /opt/ansible-runtime/bin/\\${RUN_CMD} \\$@ \\${VAR1}"}],"source_content_type":"text/x-sh","patch_set":5,"id":"fa6399be_ed3de6dd","line":184,"range":{"start_line":184,"start_character":17,"end_line":184,"end_character":18},"updated":"2016-10-14 17:42:13.000000000","message":"additional escape quote is needed.","commit_id":"abf470650182727c79310581c6a6924ad22451e5"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"b121e77e813d6618aa13c66567a1bd2d1102e148","unresolved":false,"context_lines":[{"line_number":181,"context_line":"RUN_CMD\u003d\\$(basename \\${0})"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"# Execute the Ansible command."},{"line_number":184,"context_line":"if [ \"\\${RUN_CMD}\" \u003d\u003d \"openstack-ansible\" ]; then"},{"line_number":185,"context_line":"  /opt/ansible-runtime/bin/ansible-playbook \\$@ \\${VAR1}"},{"line_number":186,"context_line":"elif [ \"\\${RUN_CMD}\" \u003d\u003d \"ansible\" ] || [ \"\\${RUN_CMD}\" \u003d\u003d \"ansible-playbook\" ]; then"},{"line_number":187,"context_line":"  /opt/ansible-runtime/bin/\\${RUN_CMD} \\$@ \\${VAR1}"}],"source_content_type":"text/x-sh","patch_set":5,"id":"fa6399be_e8287435","line":184,"range":{"start_line":184,"start_character":17,"end_line":184,"end_character":18},"in_reply_to":"fa6399be_ed3de6dd","updated":"2016-10-14 17:48:38.000000000","message":"I don\u0027t know what you mean? I\u0027ve tested and confirmed that this works as-is.","commit_id":"abf470650182727c79310581c6a6924ad22451e5"},{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"ca07df4ac812d39ab25652475ee63eca81b63180","unresolved":false,"context_lines":[{"line_number":183,"context_line":"# Execute the Ansible command."},{"line_number":184,"context_line":"if [ \"\\${RUN_CMD}\" \u003d\u003d \"openstack-ansible\" ]; then"},{"line_number":185,"context_line":"  /opt/ansible-runtime/bin/ansible-playbook \\$@ \\${VAR1}"},{"line_number":186,"context_line":"elif [ \"\\${RUN_CMD}\" \u003d\u003d \"ansible\" ] || [ \"\\${RUN_CMD}\" \u003d\u003d \"ansible-playbook\" ]; then"},{"line_number":187,"context_line":"  /opt/ansible-runtime/bin/\\${RUN_CMD} \\$@ \\${VAR1}"},{"line_number":188,"context_line":"else"},{"line_number":189,"context_line":"  /opt/ansible-runtime/bin/\\${RUN_CMD} \\$@"}],"source_content_type":"text/x-sh","patch_set":5,"id":"fa6399be_2d243ec3","line":186,"range":{"start_line":186,"start_character":19,"end_line":186,"end_character":20},"updated":"2016-10-14 17:42:13.000000000","message":"additional escape quote is needed.","commit_id":"abf470650182727c79310581c6a6924ad22451e5"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"b121e77e813d6618aa13c66567a1bd2d1102e148","unresolved":false,"context_lines":[{"line_number":183,"context_line":"# Execute the Ansible command."},{"line_number":184,"context_line":"if [ \"\\${RUN_CMD}\" \u003d\u003d \"openstack-ansible\" ]; then"},{"line_number":185,"context_line":"  /opt/ansible-runtime/bin/ansible-playbook \\$@ \\${VAR1}"},{"line_number":186,"context_line":"elif [ \"\\${RUN_CMD}\" \u003d\u003d \"ansible\" ] || [ \"\\${RUN_CMD}\" \u003d\u003d \"ansible-playbook\" ]; then"},{"line_number":187,"context_line":"  /opt/ansible-runtime/bin/\\${RUN_CMD} \\$@ \\${VAR1}"},{"line_number":188,"context_line":"else"},{"line_number":189,"context_line":"  /opt/ansible-runtime/bin/\\${RUN_CMD} \\$@"}],"source_content_type":"text/x-sh","patch_set":5,"id":"fa6399be_0824c85b","line":186,"range":{"start_line":186,"start_character":19,"end_line":186,"end_character":20},"in_reply_to":"fa6399be_2d243ec3","updated":"2016-10-14 17:48:38.000000000","message":"I don\u0027t know what you mean? I\u0027ve tested and confirmed that this works as-is.","commit_id":"abf470650182727c79310581c6a6924ad22451e5"},{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"ca07df4ac812d39ab25652475ee63eca81b63180","unresolved":false,"context_lines":[{"line_number":181,"context_line":"RUN_CMD\u003d\\$(basename \\${0})"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"# Execute the Ansible command."},{"line_number":184,"context_line":"if [ \"\\${RUN_CMD}\" \u003d\u003d \"openstack-ansible\" ]; then"},{"line_number":185,"context_line":"  /opt/ansible-runtime/bin/ansible-playbook \\$@ \\${VAR1}"},{"line_number":186,"context_line":"elif [ \"\\${RUN_CMD}\" \u003d\u003d \"ansible\" ] || [ \"\\${RUN_CMD}\" \u003d\u003d \"ansible-playbook\" ]; then"},{"line_number":187,"context_line":"  /opt/ansible-runtime/bin/\\${RUN_CMD} \\$@ \\${VAR1}"},{"line_number":188,"context_line":"else"},{"line_number":189,"context_line":"  /opt/ansible-runtime/bin/\\${RUN_CMD} \\$@"},{"line_number":190,"context_line":"fi"},{"line_number":191,"context_line":"EOF"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"# Ensure wrapper tool is executable"}],"source_content_type":"text/x-sh","patch_set":5,"id":"fa6399be_e82234a2","line":190,"range":{"start_line":184,"start_character":0,"end_line":190,"end_character":2},"updated":"2016-10-14 17:42:13.000000000","message":"if this line of code is to be followed additional if statements will be needed to cover the following [ansible           ansible-console, ansible-doc, ansible-galaxy, ansible-playbook, ansible-pull, ansible-vault]","commit_id":"abf470650182727c79310581c6a6924ad22451e5"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"b121e77e813d6618aa13c66567a1bd2d1102e148","unresolved":false,"context_lines":[{"line_number":181,"context_line":"RUN_CMD\u003d\\$(basename \\${0})"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"# Execute the Ansible command."},{"line_number":184,"context_line":"if [ \"\\${RUN_CMD}\" \u003d\u003d \"openstack-ansible\" ]; then"},{"line_number":185,"context_line":"  /opt/ansible-runtime/bin/ansible-playbook \\$@ \\${VAR1}"},{"line_number":186,"context_line":"elif [ \"\\${RUN_CMD}\" \u003d\u003d \"ansible\" ] || [ \"\\${RUN_CMD}\" \u003d\u003d \"ansible-playbook\" ]; then"},{"line_number":187,"context_line":"  /opt/ansible-runtime/bin/\\${RUN_CMD} \\$@ \\${VAR1}"},{"line_number":188,"context_line":"else"},{"line_number":189,"context_line":"  /opt/ansible-runtime/bin/\\${RUN_CMD} \\$@"},{"line_number":190,"context_line":"fi"},{"line_number":191,"context_line":"EOF"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"# Ensure wrapper tool is executable"}],"source_content_type":"text/x-sh","patch_set":5,"id":"fa6399be_480320b8","line":190,"range":{"start_line":184,"start_character":0,"end_line":190,"end_character":2},"in_reply_to":"fa6399be_e82234a2","updated":"2016-10-14 17:48:38.000000000","message":"It doesn\u0027t - all those link to the openstack-ansible wrapper, and line 181 figures out what they actually asked for. The else covers all of those - only \u0027openstack-ansible\u0027, \u0027ansible\u0027, and \u0027ansible-playbook\u0027 get special treatment.","commit_id":"abf470650182727c79310581c6a6924ad22451e5"},{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"ca07df4ac812d39ab25652475ee63eca81b63180","unresolved":false,"context_lines":[{"line_number":174,"context_line":"# Provide information on the discovered variables."},{"line_number":175,"context_line":"info \"Variable files: \\\"\\${VAR1}\\\"\""},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"# Source the Ansible configuration."},{"line_number":178,"context_line":". /usr/local/bin/openstack-ansible.rc"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"# Figure out which Ansible binary was executed"},{"line_number":181,"context_line":"RUN_CMD\u003d\\$(basename \\${0})"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"# Execute the Ansible command."},{"line_number":184,"context_line":"if [ \"\\${RUN_CMD}\" \u003d\u003d \"openstack-ansible\" ]; then"},{"line_number":185,"context_line":"  /opt/ansible-runtime/bin/ansible-playbook \\$@ \\${VAR1}"},{"line_number":186,"context_line":"elif [ \"\\${RUN_CMD}\" \u003d\u003d \"ansible\" ] || [ \"\\${RUN_CMD}\" \u003d\u003d \"ansible-playbook\" ]; then"},{"line_number":187,"context_line":"  /opt/ansible-runtime/bin/\\${RUN_CMD} \\$@ \\${VAR1}"},{"line_number":188,"context_line":"else"},{"line_number":189,"context_line":"  /opt/ansible-runtime/bin/\\${RUN_CMD} \\$@"},{"line_number":190,"context_line":"fi"},{"line_number":191,"context_line":"EOF"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"# Ensure wrapper tool is executable"},{"line_number":194,"context_line":"chmod +x /usr/local/bin/openstack-ansible"}],"source_content_type":"text/x-sh","patch_set":5,"id":"fa6399be_8d346afc","line":191,"range":{"start_line":177,"start_character":0,"end_line":191,"end_character":3},"updated":"2016-10-14 17:42:13.000000000","message":"I\u0027m not sure what we\u0027re achieving here? From our perspective if we\u0027re running a playbook we\u0027re doing do with the openstack-ansible wrapper. If the goal is to make this more user friendly we should add additional wrappers IE: openstack-ansible-{ansible,galaxy,playbook} and leave the legacy wrapper alone. Adding additional options to the wrapper to discover potential usage and forcing users to always consume our RC file will break automation outside of OpenStack-Ansible and that\u0027s not something we can, or should, do.","commit_id":"abf470650182727c79310581c6a6924ad22451e5"},{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"c90072251918e68f2f30b8cdf5905006fbf16f5d","unresolved":false,"context_lines":[{"line_number":174,"context_line":"# Provide information on the discovered variables."},{"line_number":175,"context_line":"info \"Variable files: \\\"\\${VAR1}\\\"\""},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"# Source the Ansible configuration."},{"line_number":178,"context_line":". /usr/local/bin/openstack-ansible.rc"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"# Figure out which Ansible binary was executed"},{"line_number":181,"context_line":"RUN_CMD\u003d\\$(basename \\${0})"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"# Execute the Ansible command."},{"line_number":184,"context_line":"if [ \"\\${RUN_CMD}\" \u003d\u003d \"openstack-ansible\" ]; then"},{"line_number":185,"context_line":"  /opt/ansible-runtime/bin/ansible-playbook \\$@ \\${VAR1}"},{"line_number":186,"context_line":"elif [ \"\\${RUN_CMD}\" \u003d\u003d \"ansible\" ] || [ \"\\${RUN_CMD}\" \u003d\u003d \"ansible-playbook\" ]; then"},{"line_number":187,"context_line":"  /opt/ansible-runtime/bin/\\${RUN_CMD} \\$@ \\${VAR1}"},{"line_number":188,"context_line":"else"},{"line_number":189,"context_line":"  /opt/ansible-runtime/bin/\\${RUN_CMD} \\$@"},{"line_number":190,"context_line":"fi"},{"line_number":191,"context_line":"EOF"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"# Ensure wrapper tool is executable"},{"line_number":194,"context_line":"chmod +x /usr/local/bin/openstack-ansible"}],"source_content_type":"text/x-sh","patch_set":5,"id":"fa6399be_635d6514","line":191,"range":{"start_line":177,"start_character":0,"end_line":191,"end_character":3},"in_reply_to":"fa6399be_08ebe8df","updated":"2016-10-14 18:04:03.000000000","message":"this is not true, if you use the global commands you inherit the rc which means you\u0027re forced to interact with OSA.","commit_id":"abf470650182727c79310581c6a6924ad22451e5"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"b121e77e813d6618aa13c66567a1bd2d1102e148","unresolved":false,"context_lines":[{"line_number":174,"context_line":"# Provide information on the discovered variables."},{"line_number":175,"context_line":"info \"Variable files: \\\"\\${VAR1}\\\"\""},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"# Source the Ansible configuration."},{"line_number":178,"context_line":". /usr/local/bin/openstack-ansible.rc"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"# Figure out which Ansible binary was executed"},{"line_number":181,"context_line":"RUN_CMD\u003d\\$(basename \\${0})"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"# Execute the Ansible command."},{"line_number":184,"context_line":"if [ \"\\${RUN_CMD}\" \u003d\u003d \"openstack-ansible\" ]; then"},{"line_number":185,"context_line":"  /opt/ansible-runtime/bin/ansible-playbook \\$@ \\${VAR1}"},{"line_number":186,"context_line":"elif [ \"\\${RUN_CMD}\" \u003d\u003d \"ansible\" ] || [ \"\\${RUN_CMD}\" \u003d\u003d \"ansible-playbook\" ]; then"},{"line_number":187,"context_line":"  /opt/ansible-runtime/bin/\\${RUN_CMD} \\$@ \\${VAR1}"},{"line_number":188,"context_line":"else"},{"line_number":189,"context_line":"  /opt/ansible-runtime/bin/\\${RUN_CMD} \\$@"},{"line_number":190,"context_line":"fi"},{"line_number":191,"context_line":"EOF"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"# Ensure wrapper tool is executable"},{"line_number":194,"context_line":"chmod +x /usr/local/bin/openstack-ansible"}],"source_content_type":"text/x-sh","patch_set":5,"id":"fa6399be_08ebe8df","line":191,"range":{"start_line":177,"start_character":0,"end_line":191,"end_character":3},"in_reply_to":"fa6399be_8d346afc","updated":"2016-10-14 17:48:38.000000000","message":"This patch is effectively making the openstack-ansible wrapper be a wrapper for all the ansible commands. It\u0027s a single wrapper to maintain, rather than several.\n\nAlso bear in mind that no-one is forced to use our bootstrap mechinism. It\u0027s entirely optional if you know what you\u0027re doing.","commit_id":"abf470650182727c79310581c6a6924ad22451e5"},{"author":{"_account_id":7217,"name":"Hugh Saunders","email":"hugh@wherenow.org","username":"hughsaunders"},"change_message_id":"860ced6410b4321da11fa1fdd726f69645c4619a","unresolved":false,"context_lines":[{"line_number":155,"context_line":"export PATH\u003d\"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:${PATH}\""},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"function info() {"},{"line_number":158,"context_line":"    if [ \"\\${ANSIBLE_NOCOLOR:-0}\" -eq \"1\" ]; then"},{"line_number":159,"context_line":"      echo -e \"\\${@}\""},{"line_number":160,"context_line":"    else"},{"line_number":161,"context_line":"      echo -e \"\\e[0;35m\\${@}\\e[0m\""}],"source_content_type":"text/x-sh","patch_set":9,"id":"fa6399be_837b2fbd","line":158,"updated":"2016-10-17 11:53:41.000000000","message":"nice touch","commit_id":"c807e7e2a982e1ac2da39cda67d9fb35b4ee6989"},{"author":{"_account_id":7217,"name":"Hugh Saunders","email":"hugh@wherenow.org","username":"hughsaunders"},"change_message_id":"860ced6410b4321da11fa1fdd726f69645c4619a","unresolved":false,"context_lines":[{"line_number":187,"context_line":"  # If you\u0027re not executing \u0027openstack-ansible\u0027 and are"},{"line_number":188,"context_line":"  # not in the OSA git clone root, then do not source"},{"line_number":189,"context_line":"  # the configuration and do not add extra vars."},{"line_number":190,"context_line":"  VAR1\u003d\"\""},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"fi"},{"line_number":193,"context_line":""}],"source_content_type":"text/x-sh","patch_set":9,"id":"fa6399be_a6f04168","line":190,"updated":"2016-10-17 11:53:41.000000000","message":"I don\u0027t like this name","commit_id":"c807e7e2a982e1ac2da39cda67d9fb35b4ee6989"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"bbb53d185f8905268392a5ad80c06b85f7cdb480","unresolved":false,"context_lines":[{"line_number":187,"context_line":"  # If you\u0027re not executing \u0027openstack-ansible\u0027 and are"},{"line_number":188,"context_line":"  # not in the OSA git clone root, then do not source"},{"line_number":189,"context_line":"  # the configuration and do not add extra vars."},{"line_number":190,"context_line":"  VAR1\u003d\"\""},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"fi"},{"line_number":193,"context_line":""}],"source_content_type":"text/x-sh","patch_set":9,"id":"fa6399be_f9b57eec","line":190,"in_reply_to":"fa6399be_a6f04168","updated":"2016-10-17 11:57:53.000000000","message":"Sure, I think we can implement a better name in a follow-on patch - but seeing as this is the var name used before this patch I think it\u0027s fair to keep using it.","commit_id":"c807e7e2a982e1ac2da39cda67d9fb35b4ee6989"}]}
