)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"65f286235c64b71230613b8b2383be5ad6bd6799","unresolved":false,"context_lines":[{"line_number":13,"context_line":"Also, we add new environment variables PIP_PYPI_MIRROR,"},{"line_number":14,"context_line":"PIP_WHEEL_MIRROR and PIP_MIRROR_HOST to override default PyPi index"},{"line_number":15,"context_line":"repos. The AIO bootstrap leverages these variables to update/build"},{"line_number":16,"context_line":"PIP_OPTS variable. These variables bring an ability to bootstrap"},{"line_number":17,"context_line":"AIO on any CI, so later NODEPOOL_PYPI_MIRROR, NODEPOOL_MIRROR_HOST,"},{"line_number":18,"context_line":"and NODEPOOL_WHEEL_MIRROR from the /etc/ci/mirror_info.sh could be"},{"line_number":19,"context_line":"used to set them."},{"line_number":20,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":16,"id":"3f79a3b5_c088e472","line":17,"range":{"start_line":16,"start_character":19,"end_line":17,"end_character":13},"updated":"2018-08-06 08:46:54.000000000","message":"This is the only reason provided for all these changes, and I\u0027m struggling to agree with the premise. Any CI can already set the changes by implementing whatever is needed after the AIO bootstrap and before running the playbooks.\n\nThis patch is introducing a ton of new variables and this new complexity. Things are already complex enough, and to pursue this I\u0027d like to understand more about why this is important enough to add this much complexity. I\u0027d rather we reduce complexity where we can, instead of add more.","commit_id":"f75b0d6dd725a2ad15618481a17e47f7b65a5afc"}],"scripts/bootstrap-aio.sh":[{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"ff2736705e85184e36b3fd16a16036247c84b23f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"3f79a3b5_946055d1","updated":"2018-08-13 12:22:45.000000000","message":"Much of these changes is duplication of what\u0027s done in bootstrap-ansible. Why?\n\nGiven the duplication - why not have it as a function in the scripts library?","commit_id":"a60e85560d6db622576a67e6515ab658b691e3c3"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"c35d3b544995a66a40595e09841ee260fb31179e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"3f79a3b5_542cfd00","in_reply_to":"3f79a3b5_946055d1","updated":"2018-08-13 13:03:55.000000000","message":"good idea! will move.","commit_id":"a60e85560d6db622576a67e6515ab658b691e3c3"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"ff2736705e85184e36b3fd16a16036247c84b23f","unresolved":false,"context_lines":[{"line_number":24,"context_line":"# Use pip opts to add options to the pip install command."},{"line_number":25,"context_line":"export PIP_OPTS\u003d${PIP_OPTS:-\u0027\u0027}"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"# This can be used to tell it which index to use, etc."},{"line_number":28,"context_line":"export PIP_PYPI_MIRROR\u003d${PIP_PYPI_MIRROR:-\u0027\u0027}"},{"line_number":29,"context_line":"export PIP_MIRROR_HOST\u003d${PIP_MIRROR_HOST:-\u0027\u0027}"},{"line_number":30,"context_line":"export PIP_WHEEL_MIRROR\u003d${PIP_WHEEL_MIRROR:-\u0027\u0027}"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"# Update PIP options with PyPi mirror"},{"line_number":33,"context_line":"if [ -n \"${PIP_PYPI_MIRROR}\" ]; then"},{"line_number":34,"context_line":"  export PIP_OPTS+\u003d\" --index-url ${PIP_PYPI_MIRROR}\""},{"line_number":35,"context_line":"fi"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"# Update PIP options with Wheel mirror"},{"line_number":38,"context_line":"if [ -n \"${PIP_WHEEL_MIRROR}\" ]; then"},{"line_number":39,"context_line":"  export PIP_OPTS+\u003d\" --extra-index-url ${PIP_WHEEL_MIRROR}\""},{"line_number":40,"context_line":"fi"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"# Update PIP options with trusted mirror host"},{"line_number":43,"context_line":"if [ -n \"${PIP_MIRROR_HOST}\" ]; then"},{"line_number":44,"context_line":"  export PIP_OPTS+\u003d\" --trusted-host ${PIP_MIRROR_HOST}\""},{"line_number":45,"context_line":"fi"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"## Main ----------------------------------------------------------------------"},{"line_number":48,"context_line":""}],"source_content_type":"text/x-sh","patch_set":17,"id":"3f79a3b5_d4dd6d70","line":45,"range":{"start_line":27,"start_character":0,"end_line":45,"end_character":2},"updated":"2018-08-13 12:22:45.000000000","message":"Why do these need to be set as special env vars when the more generic PIP_OPTS already exists?","commit_id":"a60e85560d6db622576a67e6515ab658b691e3c3"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"c35d3b544995a66a40595e09841ee260fb31179e","unresolved":false,"context_lines":[{"line_number":24,"context_line":"# Use pip opts to add options to the pip install command."},{"line_number":25,"context_line":"export PIP_OPTS\u003d${PIP_OPTS:-\u0027\u0027}"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"# This can be used to tell it which index to use, etc."},{"line_number":28,"context_line":"export PIP_PYPI_MIRROR\u003d${PIP_PYPI_MIRROR:-\u0027\u0027}"},{"line_number":29,"context_line":"export PIP_MIRROR_HOST\u003d${PIP_MIRROR_HOST:-\u0027\u0027}"},{"line_number":30,"context_line":"export PIP_WHEEL_MIRROR\u003d${PIP_WHEEL_MIRROR:-\u0027\u0027}"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"# Update PIP options with PyPi mirror"},{"line_number":33,"context_line":"if [ -n \"${PIP_PYPI_MIRROR}\" ]; then"},{"line_number":34,"context_line":"  export PIP_OPTS+\u003d\" --index-url ${PIP_PYPI_MIRROR}\""},{"line_number":35,"context_line":"fi"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"# Update PIP options with Wheel mirror"},{"line_number":38,"context_line":"if [ -n \"${PIP_WHEEL_MIRROR}\" ]; then"},{"line_number":39,"context_line":"  export PIP_OPTS+\u003d\" --extra-index-url ${PIP_WHEEL_MIRROR}\""},{"line_number":40,"context_line":"fi"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"# Update PIP options with trusted mirror host"},{"line_number":43,"context_line":"if [ -n \"${PIP_MIRROR_HOST}\" ]; then"},{"line_number":44,"context_line":"  export PIP_OPTS+\u003d\" --trusted-host ${PIP_MIRROR_HOST}\""},{"line_number":45,"context_line":"fi"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"## Main ----------------------------------------------------------------------"},{"line_number":48,"context_line":""}],"source_content_type":"text/x-sh","patch_set":17,"id":"3f79a3b5_345e2176","line":45,"range":{"start_line":27,"start_character":0,"end_line":45,"end_character":2},"in_reply_to":"3f79a3b5_d4dd6d70","updated":"2018-08-13 13:03:55.000000000","message":"it is bad idea to parse and add complicated logic for this. we append the PIP_OPTS variable with appropriate values only if variables set. by default the PIP_OPTS not touched at all.","commit_id":"a60e85560d6db622576a67e6515ab658b691e3c3"}],"scripts/bootstrap-ansible.sh":[{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"ff2736705e85184e36b3fd16a16036247c84b23f","unresolved":false,"context_lines":[{"line_number":36,"context_line":"export PIP_MIRROR_HOST\u003d${PIP_MIRROR_HOST:-\u0027\u0027}"},{"line_number":37,"context_line":"export PIP_WHEEL_MIRROR\u003d${PIP_WHEEL_MIRROR:-\u0027\u0027}"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"# Update PIP options with PyPi mirror"},{"line_number":40,"context_line":"if [ -n \"${PIP_PYPI_MIRROR}\" ]; then"},{"line_number":41,"context_line":"  export PIP_OPTS+\u003d\" --index-url ${PIP_PYPI_MIRROR}\""},{"line_number":42,"context_line":"  # Create ~/.pydistutils.cfg with PyPi mirror"},{"line_number":43,"context_line":"  cat \u003c\u003cEOF \u003e~/.pydistutils.cfg"},{"line_number":44,"context_line":"[easy_install]"},{"line_number":45,"context_line":"index_url \u003d ${PIP_PYPI_MIRROR}"},{"line_number":46,"context_line":"EOF"},{"line_number":47,"context_line":"  # Update ~/.pydistutils.cfg with trusted mirror host"},{"line_number":48,"context_line":"  if [ -n \"${PIP_MIRROR_HOST}\" ]; then"},{"line_number":49,"context_line":"    cat \u003c\u003cEOF \u003e\u003e~/.pydistutils.cfg"},{"line_number":50,"context_line":"allow_hosts \u003d ${PIP_MIRROR_HOST}"},{"line_number":51,"context_line":"EOF"},{"line_number":52,"context_line":"  fi"},{"line_number":53,"context_line":"fi"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"# Update PIP options with trusted mirror host"},{"line_number":56,"context_line":"if [ -n \"${PIP_MIRROR_HOST}\" ]; then"}],"source_content_type":"text/x-sh","patch_set":17,"id":"3f79a3b5_b4e0f127","line":53,"range":{"start_line":39,"start_character":0,"end_line":53,"end_character":2},"updated":"2018-08-13 12:22:45.000000000","message":"This could just look into PIP_OPTS to see if \u0027--index-url\u0027 is set and use its value, instead of creating another env var.","commit_id":"a60e85560d6db622576a67e6515ab658b691e3c3"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"c35d3b544995a66a40595e09841ee260fb31179e","unresolved":false,"context_lines":[{"line_number":36,"context_line":"export PIP_MIRROR_HOST\u003d${PIP_MIRROR_HOST:-\u0027\u0027}"},{"line_number":37,"context_line":"export PIP_WHEEL_MIRROR\u003d${PIP_WHEEL_MIRROR:-\u0027\u0027}"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"# Update PIP options with PyPi mirror"},{"line_number":40,"context_line":"if [ -n \"${PIP_PYPI_MIRROR}\" ]; then"},{"line_number":41,"context_line":"  export PIP_OPTS+\u003d\" --index-url ${PIP_PYPI_MIRROR}\""},{"line_number":42,"context_line":"  # Create ~/.pydistutils.cfg with PyPi mirror"},{"line_number":43,"context_line":"  cat \u003c\u003cEOF \u003e~/.pydistutils.cfg"},{"line_number":44,"context_line":"[easy_install]"},{"line_number":45,"context_line":"index_url \u003d ${PIP_PYPI_MIRROR}"},{"line_number":46,"context_line":"EOF"},{"line_number":47,"context_line":"  # Update ~/.pydistutils.cfg with trusted mirror host"},{"line_number":48,"context_line":"  if [ -n \"${PIP_MIRROR_HOST}\" ]; then"},{"line_number":49,"context_line":"    cat \u003c\u003cEOF \u003e\u003e~/.pydistutils.cfg"},{"line_number":50,"context_line":"allow_hosts \u003d ${PIP_MIRROR_HOST}"},{"line_number":51,"context_line":"EOF"},{"line_number":52,"context_line":"  fi"},{"line_number":53,"context_line":"fi"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"# Update PIP options with trusted mirror host"},{"line_number":56,"context_line":"if [ -n \"${PIP_MIRROR_HOST}\" ]; then"}],"source_content_type":"text/x-sh","patch_set":17,"id":"3f79a3b5_54f15d6a","line":53,"range":{"start_line":39,"start_character":0,"end_line":53,"end_character":2},"in_reply_to":"3f79a3b5_b4e0f127","updated":"2018-08-13 13:03:55.000000000","message":"it is bad idea to parse and add complicated logic for this. we append the PIP_OPTS variable with appropriate values only if variables set. by default the PIP_OPTS not touched at all.","commit_id":"a60e85560d6db622576a67e6515ab658b691e3c3"}],"scripts/gate-check-commit.sh":[{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"ff2736705e85184e36b3fd16a16036247c84b23f","unresolved":false,"context_lines":[{"line_number":139,"context_line":"iptables -P FORWARD ACCEPT"},{"line_number":140,"context_line":"iptables -P OUTPUT ACCEPT"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"# Restore preserved PIP_OPTS now used in bootstrap-aio.yml"},{"line_number":143,"context_line":"PIP_OPTS\u003d${SAVED_PIP_OPTS}"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"# Bootstrap an AIO"},{"line_number":146,"context_line":"unset ANSIBLE_VARS_PLUGINS"}],"source_content_type":"text/x-sh","patch_set":17,"id":"3f79a3b5_9447f54c","line":143,"range":{"start_line":142,"start_character":0,"end_line":143,"end_character":26},"updated":"2018-08-13 12:22:45.000000000","message":"Why are all the changes made reverted, then re-applied in bootstrap-aio?","commit_id":"a60e85560d6db622576a67e6515ab658b691e3c3"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"c35d3b544995a66a40595e09841ee260fb31179e","unresolved":false,"context_lines":[{"line_number":139,"context_line":"iptables -P FORWARD ACCEPT"},{"line_number":140,"context_line":"iptables -P OUTPUT ACCEPT"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"# Restore preserved PIP_OPTS now used in bootstrap-aio.yml"},{"line_number":143,"context_line":"PIP_OPTS\u003d${SAVED_PIP_OPTS}"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"# Bootstrap an AIO"},{"line_number":146,"context_line":"unset ANSIBLE_VARS_PLUGINS"}],"source_content_type":"text/x-sh","patch_set":17,"id":"3f79a3b5_14b5257e","line":143,"range":{"start_line":142,"start_character":0,"end_line":143,"end_character":26},"in_reply_to":"3f79a3b5_9447f54c","updated":"2018-08-13 13:03:55.000000000","message":"because the gate-check-commit.sh rely on the logic of the bootstrap-ansible.sh and on the line 107 here is the comment that PIP_OPTS were changed and these changes are used. so we need to preserve them and restore for later use.","commit_id":"a60e85560d6db622576a67e6515ab658b691e3c3"}],"tests/bootstrap-aio.yml":[{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"ff2736705e85184e36b3fd16a16036247c84b23f","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    bootstrap_host_scenario: \"{{ lookup(\u0027env\u0027,\u0027SCENARIO\u0027) | default(\u0027aio_lxc\u0027, true) }}\""},{"line_number":27,"context_line":"    install_method: \"{{ lookup(\u0027env\u0027, \u0027INSTALL_METHOD\u0027) | default(\u0027source\u0027, true)  }}\""},{"line_number":28,"context_line":"    openstack_confd_entries: \"{{ confd_overrides[bootstrap_host_scenario] }}\""},{"line_number":29,"context_line":"    pip_pypi_mirror: \"{{ lookup(\u0027env\u0027,\u0027PIP_PYPI_MIRROR\u0027) | default(\u0027\u0027, true) }}\""},{"line_number":30,"context_line":"    pip_wheel_mirror: \"{{ lookup(\u0027env\u0027,\u0027PIP_WHEEL_MIRROR\u0027) | default(\u0027\u0027, true) }}\""},{"line_number":31,"context_line":"    pip_mirror_host: \"{{ lookup(\u0027env\u0027,\u0027PIP_MIRROR_HOST\u0027) | default(\u0027\u0027, true) }}\""},{"line_number":32,"context_line":"    pip_upstream_url: \"{{ lookup(\u0027env\u0027,\u0027GET_PIP_URL\u0027) | default(\u0027https://bootstrap.pypa.io/3.3/get-pip.py\u0027, true) }}\""}],"source_content_type":"text/x-yaml","patch_set":17,"id":"3f79a3b5_193800ec","line":29,"range":{"start_line":29,"start_character":57,"end_line":29,"end_character":76},"updated":"2018-08-13 12:22:45.000000000","message":"This is what the lookup does by default, so it\u0027s not necessary.","commit_id":"a60e85560d6db622576a67e6515ab658b691e3c3"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"c35d3b544995a66a40595e09841ee260fb31179e","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    bootstrap_host_scenario: \"{{ lookup(\u0027env\u0027,\u0027SCENARIO\u0027) | default(\u0027aio_lxc\u0027, true) }}\""},{"line_number":27,"context_line":"    install_method: \"{{ lookup(\u0027env\u0027, \u0027INSTALL_METHOD\u0027) | default(\u0027source\u0027, true)  }}\""},{"line_number":28,"context_line":"    openstack_confd_entries: \"{{ confd_overrides[bootstrap_host_scenario] }}\""},{"line_number":29,"context_line":"    pip_pypi_mirror: \"{{ lookup(\u0027env\u0027,\u0027PIP_PYPI_MIRROR\u0027) | default(\u0027\u0027, true) }}\""},{"line_number":30,"context_line":"    pip_wheel_mirror: \"{{ lookup(\u0027env\u0027,\u0027PIP_WHEEL_MIRROR\u0027) | default(\u0027\u0027, true) }}\""},{"line_number":31,"context_line":"    pip_mirror_host: \"{{ lookup(\u0027env\u0027,\u0027PIP_MIRROR_HOST\u0027) | default(\u0027\u0027, true) }}\""},{"line_number":32,"context_line":"    pip_upstream_url: \"{{ lookup(\u0027env\u0027,\u0027GET_PIP_URL\u0027) | default(\u0027https://bootstrap.pypa.io/3.3/get-pip.py\u0027, true) }}\""}],"source_content_type":"text/x-yaml","patch_set":17,"id":"3f79a3b5_9a72bfac","line":29,"range":{"start_line":29,"start_character":57,"end_line":29,"end_character":76},"in_reply_to":"3f79a3b5_193800ec","updated":"2018-08-13 13:03:55.000000000","message":"okay, will fix this everywhere","commit_id":"a60e85560d6db622576a67e6515ab658b691e3c3"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"ff2736705e85184e36b3fd16a16036247c84b23f","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    install_method: \"{{ lookup(\u0027env\u0027, \u0027INSTALL_METHOD\u0027) | default(\u0027source\u0027, true)  }}\""},{"line_number":28,"context_line":"    openstack_confd_entries: \"{{ confd_overrides[bootstrap_host_scenario] }}\""},{"line_number":29,"context_line":"    pip_pypi_mirror: \"{{ lookup(\u0027env\u0027,\u0027PIP_PYPI_MIRROR\u0027) | default(\u0027\u0027, true) }}\""},{"line_number":30,"context_line":"    pip_wheel_mirror: \"{{ lookup(\u0027env\u0027,\u0027PIP_WHEEL_MIRROR\u0027) | default(\u0027\u0027, true) }}\""},{"line_number":31,"context_line":"    pip_mirror_host: \"{{ lookup(\u0027env\u0027,\u0027PIP_MIRROR_HOST\u0027) | default(\u0027\u0027, true) }}\""},{"line_number":32,"context_line":"    pip_upstream_url: \"{{ lookup(\u0027env\u0027,\u0027GET_PIP_URL\u0027) | default(\u0027https://bootstrap.pypa.io/3.3/get-pip.py\u0027, true) }}\""},{"line_number":33,"context_line":"    pip_get_pip_options: \"{{ lookup(\u0027env\u0027,\u0027PIP_OPTS\u0027) | default(\u0027\u0027, true) }}\""}],"source_content_type":"text/x-yaml","patch_set":17,"id":"3f79a3b5_d925a8c3","line":30,"range":{"start_line":30,"start_character":59,"end_line":30,"end_character":78},"updated":"2018-08-13 12:22:45.000000000","message":"This is what the lookup does by default, so it\u0027s not necessary.","commit_id":"a60e85560d6db622576a67e6515ab658b691e3c3"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"ff2736705e85184e36b3fd16a16036247c84b23f","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    openstack_confd_entries: \"{{ confd_overrides[bootstrap_host_scenario] }}\""},{"line_number":29,"context_line":"    pip_pypi_mirror: \"{{ lookup(\u0027env\u0027,\u0027PIP_PYPI_MIRROR\u0027) | default(\u0027\u0027, true) }}\""},{"line_number":30,"context_line":"    pip_wheel_mirror: \"{{ lookup(\u0027env\u0027,\u0027PIP_WHEEL_MIRROR\u0027) | default(\u0027\u0027, true) }}\""},{"line_number":31,"context_line":"    pip_mirror_host: \"{{ lookup(\u0027env\u0027,\u0027PIP_MIRROR_HOST\u0027) | default(\u0027\u0027, true) }}\""},{"line_number":32,"context_line":"    pip_upstream_url: \"{{ lookup(\u0027env\u0027,\u0027GET_PIP_URL\u0027) | default(\u0027https://bootstrap.pypa.io/3.3/get-pip.py\u0027, true) }}\""},{"line_number":33,"context_line":"    pip_get_pip_options: \"{{ lookup(\u0027env\u0027,\u0027PIP_OPTS\u0027) | default(\u0027\u0027, true) }}\""},{"line_number":34,"context_line":"    pip_install_upper_constraints_proto: \"{{ ansible_python_version | version_compare(\u00272.7.9\u0027, \u0027\u003e\u003d\u0027) | ternary(\u0027https\u0027,\u0027http\u0027) }}\""}],"source_content_type":"text/x-yaml","patch_set":17,"id":"3f79a3b5_1911e05d","line":31,"range":{"start_line":31,"start_character":57,"end_line":31,"end_character":76},"updated":"2018-08-13 12:22:45.000000000","message":"This is what the lookup does by default, so it\u0027s not necessary.","commit_id":"a60e85560d6db622576a67e6515ab658b691e3c3"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"ff2736705e85184e36b3fd16a16036247c84b23f","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    pip_wheel_mirror: \"{{ lookup(\u0027env\u0027,\u0027PIP_WHEEL_MIRROR\u0027) | default(\u0027\u0027, true) }}\""},{"line_number":31,"context_line":"    pip_mirror_host: \"{{ lookup(\u0027env\u0027,\u0027PIP_MIRROR_HOST\u0027) | default(\u0027\u0027, true) }}\""},{"line_number":32,"context_line":"    pip_upstream_url: \"{{ lookup(\u0027env\u0027,\u0027GET_PIP_URL\u0027) | default(\u0027https://bootstrap.pypa.io/3.3/get-pip.py\u0027, true) }}\""},{"line_number":33,"context_line":"    pip_get_pip_options: \"{{ lookup(\u0027env\u0027,\u0027PIP_OPTS\u0027) | default(\u0027\u0027, true) }}\""},{"line_number":34,"context_line":"    pip_install_upper_constraints_proto: \"{{ ansible_python_version | version_compare(\u00272.7.9\u0027, \u0027\u003e\u003d\u0027) | ternary(\u0027https\u0027,\u0027http\u0027) }}\""},{"line_number":35,"context_line":"    pip_install_upper_constraints_url: \"{{ pip_install_upper_constraints_proto }}://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?id\u003d{{ requirements_git_install_branch | regex_replace(\u0027 #.*$\u0027,\u0027\u0027) }}\""},{"line_number":36,"context_line":"    pip_install_upper_constraints_file: \"{{ lookup(\u0027env\u0027,\u0027UPPER_CONSTRAINTS_FILE\u0027) | default(\u0027\u0027, true) }}\""}],"source_content_type":"text/x-yaml","patch_set":17,"id":"3f79a3b5_f90bc426","line":33,"range":{"start_line":33,"start_character":54,"end_line":33,"end_character":73},"updated":"2018-08-13 12:22:45.000000000","message":"This is what the lookup does by default, so it\u0027s not necessary.","commit_id":"a60e85560d6db622576a67e6515ab658b691e3c3"}],"tests/roles/bootstrap-host/templates/user_variables.aio.yml.j2":[{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"ff2736705e85184e36b3fd16a16036247c84b23f","unresolved":false,"context_lines":[{"line_number":221,"context_line":"tempest_developer_constraints:"},{"line_number":222,"context_line":"  - \"git+https://git.openstack.org/openstack/tempest@master#egg\u003dtempest\""},{"line_number":223,"context_line":"{% endraw %}"},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"{% if pip_pypi_mirror is defined and pip_pypi_mirror|length \u003e 0 %}"},{"line_number":226,"context_line":"## pip pypi mirror settings"},{"line_number":227,"context_line":"repo_build_pip_default_index: \"{{ pip_pypi_mirror }}\""}],"source_content_type":"text/x-jinja2","patch_set":17,"id":"3f79a3b5_b42f9186","line":224,"updated":"2018-08-13 12:22:45.000000000","message":"None of these extra vars are needed if the same approach mentioned in https://review.openstack.org/#/c/589167/2/tests/roles/bootstrap-host/templates/user_variables.aio.yml.j2 is used.","commit_id":"a60e85560d6db622576a67e6515ab658b691e3c3"}]}
