)]}'
{"doc/source/admin/installation.rst":[{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"7c78d15c13b4c30a4146fa62e43849ea037747b5","unresolved":false,"context_lines":[{"line_number":23,"context_line":"It is further required to run ``zuul-manage-ansible`` on the zuul-executor"},{"line_number":24,"context_line":"in order to install all supported ansible versions so zuul can use them."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"You must also install all supported ansible versions on the zuul-executor."},{"line_number":27,"context_line":"See :ref:`ansible-installation-options` for details."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Zuul Components"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3fa7e38b_e6aa45d0","line":26,"updated":"2019-11-18 22:28:26.000000000","message":"This sentence is redundant with the previous paragraph and could be omitted.  The following ref is a good addition.","commit_id":"ac78c55819b2a5b4c2d213dc511ab7144b5a750c"}],"zuul/executor/server.py":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"aaf31155216161b786ae8c765d20a4aeebaa6efa","unresolved":false,"context_lines":[{"line_number":2403,"context_line":"        ansible_install_root \u003d get_default("},{"line_number":2404,"context_line":"            self.config, \u0027executor\u0027, \u0027ansible_root\u0027, None)"},{"line_number":2405,"context_line":"        if not ansible_install_root:"},{"line_number":2406,"context_line":"            ansible_install_root \u003d os.path.join(state_dir, \u0027ansible-bin\u0027)"},{"line_number":2407,"context_line":"        self.ansible_manager \u003d self._ansible_manager_class("},{"line_number":2408,"context_line":"            ansible_dir, runtime_install_path\u003dansible_install_root)"},{"line_number":2409,"context_line":"        if not self.ansible_manager.validate():"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_7e25f509","side":"PARENT","line":2406,"updated":"2019-08-08 17:27:19.000000000","message":"I\u0027m beginning to wonder if it was done this way because zuul won\u0027t typically have permission to write to /usr/lib/zuul but will have permissions to /var/lib/zuul/. If that is the case I think we should consider fixing this by converting to /var/lib/zuul instead. I think that may be less backward compatible for users of manage_ansible.py though.","commit_id":"fb595693152a2704352b084ce43fef8985e3d2a3"},{"author":{"_account_id":16068,"name":"Tobias Henkel","email":"tobias.henkel@bmw.de","username":"tobias.henkel"},"change_message_id":"f58be72e3c08e056ade505a5b95e8545e81b0dad","unresolved":false,"context_lines":[{"line_number":2403,"context_line":"        ansible_install_root \u003d get_default("},{"line_number":2404,"context_line":"            self.config, \u0027executor\u0027, \u0027ansible_root\u0027, None)"},{"line_number":2405,"context_line":"        if not ansible_install_root:"},{"line_number":2406,"context_line":"            ansible_install_root \u003d os.path.join(state_dir, \u0027ansible-bin\u0027)"},{"line_number":2407,"context_line":"        self.ansible_manager \u003d self._ansible_manager_class("},{"line_number":2408,"context_line":"            ansible_dir, runtime_install_path\u003dansible_install_root)"},{"line_number":2409,"context_line":"        if not self.ansible_manager.validate():"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_2450ca0a","side":"PARENT","line":2406,"in_reply_to":"7faddb67_7e25f509","updated":"2019-08-08 18:48:46.000000000","message":"Yes, that was actually the reasoning. We only can guarantee write access into the state dir so that was chosen.","commit_id":"fb595693152a2704352b084ce43fef8985e3d2a3"}],"zuul/lib/ansible.py":[{"author":{"_account_id":16068,"name":"Tobias Henkel","email":"tobias.henkel@bmw.de","username":"tobias.henkel"},"change_message_id":"acf61827dfe6bad8023ee41fb735e7176ec9c431","unresolved":false,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    @property"},{"line_number":107,"context_line":"    def venv_path(self):"},{"line_number":108,"context_line":"        for root in self._ansible_roots[::-1]:"},{"line_number":109,"context_line":"            # Check user configured paths first"},{"line_number":110,"context_line":"            venv_path \u003d os.path.join(root, self.version)"},{"line_number":111,"context_line":"            if os.path.exists(venv_path):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_ad5cfa18","line":108,"updated":"2019-10-14 19:27:17.000000000","message":"nit: it took me a bit to figure out that this means the reversed list. How about making this easier to read by using reversed(self._ansible_roots)?","commit_id":"ac78c55819b2a5b4c2d213dc511ab7144b5a750c"}]}
