)]}'
{"scripts/bootstrap-ansible.sh":[{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"b49577c25ba273ae8dc46b6efd60561e12f982b3","unresolved":false,"context_lines":[{"line_number":93,"context_line":"PIP_COMMAND\u003d\"/opt/ansible-runtime/bin/pip\""},{"line_number":94,"context_line":"# When upgrading there will already be a pip.conf file locking pip down to the repo server, in such cases it may be"},{"line_number":95,"context_line":"# necessary to use --isolated because the repo server does not meet the specified requirements."},{"line_number":96,"context_line":"${PIP_COMMAND} install ${PIP_OPTS} pip"},{"line_number":97,"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":98,"context_line":""},{"line_number":99,"context_line":"# Link the venv installation of Ansible to the local path"}],"source_content_type":"text/x-sh","patch_set":1,"id":"1ac06dbe_6eb79ed8","line":96,"range":{"start_line":96,"start_character":35,"end_line":96,"end_character":38},"updated":"2016-08-22 12:51:57.000000000","message":"I think this should be ${PIP_INSTALL_OPTIONS} to include pip, setuptools and wheel at the right versions.\n\nThe value is set in https://github.com/openstack/openstack-ansible/blob/master/scripts/scripts-library.sh#L24","commit_id":"3c5e46c9bd1720b581e7b4359d76baf96df9e2ae"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"1f7e67efa5edf98c99e323801725364985381b9f","unresolved":false,"context_lines":[{"line_number":93,"context_line":"PIP_COMMAND\u003d\"/opt/ansible-runtime/bin/pip\""},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"# Ensure we are running the required versions of pip, wheel and setuptools"},{"line_number":96,"context_line":"${PIP_COMMAND} install ${PIP_INSTALL_OPTIONS}"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"# When upgrading there will already be a pip.conf file locking pip down to the"},{"line_number":99,"context_line":"# repo server, in such cases it may be necessary to use --isolated because the"}],"source_content_type":"text/x-sh","patch_set":2,"id":"1ac06dbe_712dbf45","line":96,"range":{"start_line":96,"start_character":0,"end_line":96,"end_character":45},"updated":"2016-08-22 13:03:41.000000000","message":"The isolated fallback should be applied here too for the same reasons.","commit_id":"8d59b37031d4720d4646f9288baa1c1cdb62f7a7"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"8e8fb9bd2127cb8a05432f1a19192c5977d65a34","unresolved":false,"context_lines":[{"line_number":86,"context_line":""},{"line_number":87,"context_line":"# Create a Virtualenv for the Ansible runtime"},{"line_number":88,"context_line":"PYTHON_EXEC_PATH\u003d\"$(which python2 || which python)\""},{"line_number":89,"context_line":"virtualenv --always-copy --python\u003d\"${PYTHON_EXEC_PATH}\" /opt/ansible-runtime"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"# Install ansible"},{"line_number":92,"context_line":"PIP_OPTS+\u003d\" --upgrade\""}],"source_content_type":"text/x-sh","patch_set":3,"id":"1ac06dbe_a25ec773","line":89,"range":{"start_line":89,"start_character":0,"end_line":89,"end_character":76},"updated":"2016-08-22 14:07:01.000000000","message":"When this executes on an existing virtualenv, it replaces the versions of pip, setuptools and wheel - causing the whole thing to fall apart.\n\nMy suggestion:\n\n# Create a Virtualenv for the Ansible runtime if it does not exist\nif [ ! -d \"/opt/ansible-runtime\" ]; then\n  PYTHON_EXEC_PATH\u003d\"$(which python2 || which python)\"\n  virtualenv --python\u003d\"${PYTHON_EXEC_PATH}\" /opt/ansible-runtime\nfi","commit_id":"47d0f75b57bffd258613af57cf8804f6276aee28"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"8e8fb9bd2127cb8a05432f1a19192c5977d65a34","unresolved":false,"context_lines":[{"line_number":97,"context_line":"# repo server does not meet the specified requirements."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"# Ensure we are running the required versions of pip, wheel and setuptools"},{"line_number":100,"context_line":"${PIP_COMMAND} install ${PIP_INSTALL_OPTIONS} || ${PIP_COMMAND} install --isolated ${PIP_INSTALL_OPTIONS}"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"# Install the required packages for ansible"},{"line_number":103,"context_line":"$PIP_COMMAND install $PIP_OPTS -r requirements.txt ${ANSIBLE_PACKAGE} || $PIP_COMMAND install --isolated $PIP_OPTS -r requirements.txt ${ANSIBLE_PACKAGE}"}],"source_content_type":"text/x-sh","patch_set":3,"id":"1ac06dbe_22e2d79f","line":100,"range":{"start_line":100,"start_character":0,"end_line":100,"end_character":105},"updated":"2016-08-22 14:07:01.000000000","message":"This command should also make use of the PIP_OPTS. ie\n\n${PIP_COMMAND} install ${PIP_OPTS} ${PIP_INSTALL_OPTIONS} || ${PIP_COMMAND} install ${PIP_OPTS} --isolated ${PIP_INSTALL_OPTIONS}","commit_id":"47d0f75b57bffd258613af57cf8804f6276aee28"},{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"54851d830006e45436c8dda24aa1fe0392391259","unresolved":false,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"# Create a Virtualenv for the Ansible runtime"},{"line_number":93,"context_line":"PYTHON_EXEC_PATH\u003d\"$(which python2 || which python)\""},{"line_number":94,"context_line":"virtualenv --always-copy --system-site-packages --python\u003d\"${PYTHON_EXEC_PATH}\" /opt/ansible-runtime"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"# Install ansible"},{"line_number":97,"context_line":"PIP_OPTS+\u003d\" --upgrade\""}],"source_content_type":"text/x-sh","patch_set":4,"id":"1ac06dbe_c4380540","side":"PARENT","line":94,"range":{"start_line":94,"start_character":25,"end_line":94,"end_character":47},"updated":"2016-08-23 05:14:54.000000000","message":"sadly, because of python-apt, which is miserable to install from source and doesn\u0027t have updated source readily available, we need this flag in the event Ansible is using the local connection and installing things on the deployment host. If we\u0027re sure we wont be doing that ever then it\u0027s OK to drop this and get even further isolated from the host, which I like. However if there\u0027s a remote chance that we\u0027ll need access to python-apt within our ansible-runtime environment then we\u0027ll need this option.","commit_id":"2f9966b07a4d809c31dc8b0777ef1dee53eacb83"},{"author":{"_account_id":22042,"name":"Chris Smart","email":"distroguy@gmail.com","username":"csmart"},"change_message_id":"8038fb6d34b8192f9f4cc0edbb0a4353ade2392c","unresolved":false,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"# Create a Virtualenv for the Ansible runtime"},{"line_number":93,"context_line":"PYTHON_EXEC_PATH\u003d\"$(which python2 || which python)\""},{"line_number":94,"context_line":"virtualenv --always-copy --system-site-packages --python\u003d\"${PYTHON_EXEC_PATH}\" /opt/ansible-runtime"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"# Install ansible"},{"line_number":97,"context_line":"PIP_OPTS+\u003d\" --upgrade\""}],"source_content_type":"text/x-sh","patch_set":4,"id":"1ac06dbe_c7d487be","side":"PARENT","line":94,"range":{"start_line":94,"start_character":25,"end_line":94,"end_character":47},"in_reply_to":"1ac06dbe_c4380540","updated":"2016-08-23 05:56:38.000000000","message":"Ahh, ok. If it\u0027s possible to install python-apt into ansible-runtime with pip, that could be neat. Although it might potentially create incompatibilities with the host, I\u0027m not sure.\n\nI\u0027ll revert this bit for now and re-push, perhaps we can re-visit down the track.\n\nThanks!","commit_id":"2f9966b07a4d809c31dc8b0777ef1dee53eacb83"}]}
