)]}'
{"playbooks/common-tasks/set-pip-upstream-url.yml":[{"author":{"_account_id":10881,"name":"Neill Cox","email":"neill@ingenious.com.au","username":"neillc"},"change_message_id":"d6d5a4b078e45d58ae4751a96f268c19309935d7","unresolved":false,"context_lines":[{"line_number":17,"context_line":"# will use the get-pip.py script available there. If it is not yet"},{"line_number":18,"context_line":"# up, then it will use the standard upstream get-pip.py script URL."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"- name: Test internal repo URL for the current upper constraints file"},{"line_number":21,"context_line":"  uri:"},{"line_number":22,"context_line":"    url: \"{{ pip_upstream_url }}\""},{"line_number":23,"context_line":"    method: \"HEAD\""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"5a74a57a_ac9453e2","line":20,"updated":"2016-11-24 06:36:02.000000000","message":"Is this testing for the upper constraints file or the existence of the get-pip.py script? It looks like the latter to me, but that may be my confusion","commit_id":"0f1ecf6dd8020fb5195782111de123adc1b4f139"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"a870f1eb04e3a8f859b225d60621185d8ba74434","unresolved":false,"context_lines":[{"line_number":17,"context_line":"# will use the get-pip.py script available there. If it is not yet"},{"line_number":18,"context_line":"# up, then it will use the standard upstream get-pip.py script URL."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"- name: Test internal repo URL for the current upper constraints file"},{"line_number":21,"context_line":"  uri:"},{"line_number":22,"context_line":"    url: \"{{ pip_upstream_url }}\""},{"line_number":23,"context_line":"    method: \"HEAD\""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"5a74a57a_48c26635","line":20,"in_reply_to":"5a74a57a_ac9453e2","updated":"2016-11-28 07:31:22.000000000","message":"Yeah, thanks for catching this - it was a copy/paste failure.","commit_id":"0f1ecf6dd8020fb5195782111de123adc1b4f139"},{"author":{"_account_id":17799,"name":"Logan V","email":"logan2211@gmail.com","username":"Logan2211"},"change_message_id":"0f260dbb44ae7b52de26d0944ecffc03f4d4b6f5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"3a71b18c_61650844","updated":"2016-12-01 17:52:07.000000000","message":"As a possible improvement it would be nice to see some way to opt out of the conditional logic and provide a hard vars override for pip_upstream_url that this won\u0027t override.\n\nNot a blocker for me but in general it might be nice to have for some folks?","commit_id":"5f4208c63ca1e1b1204d70adf69aedcdae3416d8"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"7ecec5f3acc144beac24fd320a2505940dd55800","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"3a71b18c_c15edc44","in_reply_to":"3a71b18c_61650844","updated":"2016-12-01 17:58:52.000000000","message":"Extra vars will always override, so if the deployer has set pip_upstream_url then this will override the group_var. Does that suffice?\n\nThe alternative, of course, is to introduce another var.","commit_id":"5f4208c63ca1e1b1204d70adf69aedcdae3416d8"},{"author":{"_account_id":17799,"name":"Logan V","email":"logan2211@gmail.com","username":"Logan2211"},"change_message_id":"80a40f3c2e01a5a47491a765d4e4d33c98d9c70e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"3a71b18c_8cf33b0a","in_reply_to":"3a71b18c_c15edc44","updated":"2016-12-01 18:00:58.000000000","message":"Got it-- you\u0027re right. The extra var override of pip_upstream_url would pass the check so your fact set would not run over the top of the extra vars override.","commit_id":"5f4208c63ca1e1b1204d70adf69aedcdae3416d8"},{"author":{"_account_id":17799,"name":"Logan V","email":"logan2211@gmail.com","username":"Logan2211"},"change_message_id":"0f260dbb44ae7b52de26d0944ecffc03f4d4b6f5","unresolved":false,"context_lines":[{"line_number":27,"context_line":"- name: Set pip upstream URL"},{"line_number":28,"context_line":"  set_fact:"},{"line_number":29,"context_line":"    pip_upstream_url: \"https://bootstrap.pypa.io/get-pip.py\""},{"line_number":30,"context_line":"  when: (_repo_data_check.status | default(503)) !\u003d 200"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3a71b18c_4179ecfb","line":30,"updated":"2016-12-01 17:52:07.000000000","message":"and not pip_offline_install | bool","commit_id":"5f4208c63ca1e1b1204d70adf69aedcdae3416d8"},{"author":{"_account_id":17799,"name":"Logan V","email":"logan2211@gmail.com","username":"Logan2211"},"change_message_id":"8e6f1f0084e9a5e8bccda8f52ce539c2718d8fe9","unresolved":false,"context_lines":[{"line_number":27,"context_line":"- name: Set pip upstream URL"},{"line_number":28,"context_line":"  set_fact:"},{"line_number":29,"context_line":"    pip_upstream_url: \"https://bootstrap.pypa.io/get-pip.py\""},{"line_number":30,"context_line":"  when: (_repo_data_check.status | default(503)) !\u003d 200"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3a71b18c_cc41b33b","line":30,"in_reply_to":"3a71b18c_4179ecfb","updated":"2016-12-01 17:58:36.000000000","message":"Actually the last comment doesn\u0027t make sense. I think we actually want pip_upstream_url to always be set to the pypa url if offline install is enabled.\n\nMy deployment flow is:\nbootstrap lxc-hosts, etc with pip_offline_install: yes\nthen once the repo is built I turn off pip_offline_install and use the repo mirrored version.\n\nSo I think in the group vars we should have\npip_upstream_url: \"{{ pypa if pip_offline_install | bool else \u003crepo get-pip url\u003e }}\"","commit_id":"5f4208c63ca1e1b1204d70adf69aedcdae3416d8"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"7ecec5f3acc144beac24fd320a2505940dd55800","unresolved":false,"context_lines":[{"line_number":27,"context_line":"- name: Set pip upstream URL"},{"line_number":28,"context_line":"  set_fact:"},{"line_number":29,"context_line":"    pip_upstream_url: \"https://bootstrap.pypa.io/get-pip.py\""},{"line_number":30,"context_line":"  when: (_repo_data_check.status | default(503)) !\u003d 200"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3a71b18c_c10c1c45","line":30,"in_reply_to":"3a71b18c_4179ecfb","updated":"2016-12-01 17:58:52.000000000","message":"Good catch - will add that.","commit_id":"5f4208c63ca1e1b1204d70adf69aedcdae3416d8"}],"playbooks/inventory/group_vars/all.yml":[{"author":{"_account_id":17799,"name":"Logan V","email":"logan2211@gmail.com","username":"Logan2211"},"change_message_id":"f2e60ee67fb1d73497586db57368af0acfefe7a7","unresolved":false,"context_lines":[{"line_number":50,"context_line":"pip_install_upper_constraints: \"{{ openstack_repo_url }}/os-releases/{{ openstack_release }}/requirements_absolute_requirements.txt\""},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"# The URL to retrieve the get-pip.py installation script"},{"line_number":53,"context_line":"pip_upstream_url: \"{{ (pip_offline_install | bool) | ternary(\u0027https://bootstrap.pypa.io/get-pip.py\u0027, openstack_repo_url + \u0027/os-releases/\u0027 + openstack_release + \u0027/get-pip.py\u0027) }}\""},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"## OpenStack source options"},{"line_number":56,"context_line":"# URL for the frozen internal openstack repo."}],"source_content_type":"text/x-yaml","patch_set":7,"id":"3a71b18c_a75f3071","line":53,"range":{"start_line":53,"start_character":120,"end_line":53,"end_character":121},"updated":"2016-12-01 18:36:21.000000000","message":"~ for concat here\n\nhttp://jinja.pocoo.org/docs/dev/templates/\n\"Usually the objects are numbers, but if both are strings or lists, you can concatenate them this way. This, however, is not the preferred way to concatenate strings! For string concatenation, have a look-see at the ~ operator.\"","commit_id":"6bcbe2529018a24869226c548f0fd1222df085ad"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"5e3d31419321b0d55d215b67b214e92dada42b63","unresolved":false,"context_lines":[{"line_number":50,"context_line":"pip_install_upper_constraints: \"{{ openstack_repo_url }}/os-releases/{{ openstack_release }}/requirements_absolute_requirements.txt\""},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"# The URL to retrieve the get-pip.py installation script"},{"line_number":53,"context_line":"pip_upstream_url: \"{{ (pip_offline_install | bool) | ternary(\u0027https://bootstrap.pypa.io/get-pip.py\u0027, openstack_repo_url + \u0027/os-releases/\u0027 + openstack_release + \u0027/get-pip.py\u0027) }}\""},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"## OpenStack source options"},{"line_number":56,"context_line":"# URL for the frozen internal openstack repo."}],"source_content_type":"text/x-yaml","patch_set":7,"id":"3a71b18c_0782a494","line":53,"range":{"start_line":53,"start_character":120,"end_line":53,"end_character":121},"in_reply_to":"3a71b18c_a75f3071","updated":"2016-12-01 18:40:22.000000000","message":"Oh cool, thanks!","commit_id":"6bcbe2529018a24869226c548f0fd1222df085ad"}],"playbooks/repo-server.yml":[{"author":{"_account_id":17799,"name":"Logan V","email":"logan2211@gmail.com","username":"Logan2211"},"change_message_id":"0f260dbb44ae7b52de26d0944ecffc03f4d4b6f5","unresolved":false,"context_lines":[{"line_number":21,"context_line":"  pre_tasks:"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    - include: common-tasks/set-upper-constraints.yml"},{"line_number":24,"context_line":"    - include: common-tasks/set-pip-upstream-url.yml"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    - name: Check if the git cache exists on deployment host"},{"line_number":27,"context_line":"      local_action:"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3a71b18c_01f294d2","line":24,"updated":"2016-12-01 17:52:07.000000000","message":"Currently we run pip_install twice in the repo-install.yml play. Both repo_server and repo_build have dependencies set on pip_install role. I think this can be optimized and only run once, and then only run this common task in which ever play the pip_install will run.","commit_id":"5f4208c63ca1e1b1204d70adf69aedcdae3416d8"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"7ecec5f3acc144beac24fd320a2505940dd55800","unresolved":false,"context_lines":[{"line_number":21,"context_line":"  pre_tasks:"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    - include: common-tasks/set-upper-constraints.yml"},{"line_number":24,"context_line":"    - include: common-tasks/set-pip-upstream-url.yml"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    - name: Check if the git cache exists on deployment host"},{"line_number":27,"context_line":"      local_action:"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3a71b18c_2c3227f2","line":24,"in_reply_to":"3a71b18c_01f294d2","updated":"2016-12-01 17:58:52.000000000","message":"Good catch - repo_server doesn\u0027t install any pip packages, so I guess the meta-dep can be removed there and therefore this task removed too.","commit_id":"5f4208c63ca1e1b1204d70adf69aedcdae3416d8"}],"playbooks/unbound-install.yml":[{"author":{"_account_id":17799,"name":"Logan V","email":"logan2211@gmail.com","username":"Logan2211"},"change_message_id":"0f260dbb44ae7b52de26d0944ecffc03f4d4b6f5","unresolved":false,"context_lines":[{"line_number":20,"context_line":"  user: root"},{"line_number":21,"context_line":"  pre_tasks:"},{"line_number":22,"context_line":"    - include: common-tasks/set-upper-constraints.yml"},{"line_number":23,"context_line":"    - include: common-tasks/set-pip-upstream-url.yml"},{"line_number":24,"context_line":"  roles:"},{"line_number":25,"context_line":"    - role: \"unbound\""},{"line_number":26,"context_line":"      tags:"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3a71b18c_61042815","line":23,"updated":"2016-12-01 17:52:07.000000000","message":"I think this is unnecessary since unbound does not install pip.","commit_id":"5f4208c63ca1e1b1204d70adf69aedcdae3416d8"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"7ecec5f3acc144beac24fd320a2505940dd55800","unresolved":false,"context_lines":[{"line_number":20,"context_line":"  user: root"},{"line_number":21,"context_line":"  pre_tasks:"},{"line_number":22,"context_line":"    - include: common-tasks/set-upper-constraints.yml"},{"line_number":23,"context_line":"    - include: common-tasks/set-pip-upstream-url.yml"},{"line_number":24,"context_line":"  roles:"},{"line_number":25,"context_line":"    - role: \"unbound\""},{"line_number":26,"context_line":"      tags:"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3a71b18c_6c797f93","line":23,"in_reply_to":"3a71b18c_61042815","updated":"2016-12-01 17:58:52.000000000","message":"Agreed, although this was really a safeguard just-in-case, just like the line above it. If we\u0027re happy to remove it then I\u0027ll remove them both.","commit_id":"5f4208c63ca1e1b1204d70adf69aedcdae3416d8"}]}
