)]}'
{"action/config_template.py":[{"author":{"_account_id":25402,"name":"Francesco Pantano","email":"fpantano@redhat.com","username":"fmount"},"change_message_id":"68881f26e40def76b14b8f7ac25aaccea5e8ecf7","unresolved":false,"context_lines":[{"line_number":783,"context_line":""},{"line_number":784,"context_line":"        try:"},{"line_number":785,"context_line":"            try:"},{"line_number":786,"context_line":"                remote_user \u003d self._get_remote_user()"},{"line_number":787,"context_line":"            except Exception:"},{"line_number":788,"context_line":"                remote_user \u003d task_vars.get(\u0027ansible_user\u0027)"},{"line_number":789,"context_line":"                if not remote_user:"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf51134e_2b48032b","line":786,"range":{"start_line":786,"start_character":16,"end_line":786,"end_character":53},"updated":"2020-06-25 16:20:50.000000000","message":"Thanks!","commit_id":"2a262aef825294cf028f19d29068159b9edea5d3"},{"author":{"_account_id":27253,"name":"Sam Doran","email":"sdoran@redhat.com","username":"sdoran"},"change_message_id":"747340855e71f74bb7f51b3d8602c8eb7ab3d88e","unresolved":false,"context_lines":[{"line_number":783,"context_line":""},{"line_number":784,"context_line":"        try:"},{"line_number":785,"context_line":"            try:"},{"line_number":786,"context_line":"                remote_user \u003d self._get_remote_user()"},{"line_number":787,"context_line":"            except Exception:"},{"line_number":788,"context_line":"                remote_user \u003d task_vars.get(\u0027ansible_user\u0027)"},{"line_number":789,"context_line":"                if not remote_user:"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf51134e_363ea6c0","line":786,"range":{"start_line":786,"start_character":16,"end_line":786,"end_character":53},"in_reply_to":"bf51134e_2b48032b","updated":"2020-06-25 17:24:43.000000000","message":"This should be able to replace lines 787-792. Getting the remote user from task_vars is incorrect.","commit_id":"2a262aef825294cf028f19d29068159b9edea5d3"},{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"f4fdb19a54206fb4a6874ddeff8d585e66551934","unresolved":false,"context_lines":[{"line_number":783,"context_line":""},{"line_number":784,"context_line":"        try:"},{"line_number":785,"context_line":"            try:"},{"line_number":786,"context_line":"                remote_user \u003d self._get_remote_user()"},{"line_number":787,"context_line":"            except Exception:"},{"line_number":788,"context_line":"                remote_user \u003d task_vars.get(\u0027ansible_user\u0027)"},{"line_number":789,"context_line":"                if not remote_user:"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf51134e_b62d96ff","line":786,"range":{"start_line":786,"start_character":16,"end_line":786,"end_character":53},"in_reply_to":"bf51134e_363ea6c0","updated":"2020-06-25 17:52:08.000000000","message":"Done","commit_id":"2a262aef825294cf028f19d29068159b9edea5d3"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"46950c51720329619259dc875f0da1d81b7a50f7","unresolved":false,"context_lines":[{"line_number":782,"context_line":"        \"\"\"Run the method\"\"\""},{"line_number":783,"context_line":""},{"line_number":784,"context_line":"        try:"},{"line_number":785,"context_line":"            remote_user \u003d self._get_remote_user()"},{"line_number":786,"context_line":""},{"line_number":787,"context_line":"            if not tmp:"},{"line_number":788,"context_line":"                tmp \u003d self._make_tmp_path(remote_user)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf51134e_7675bef9","line":785,"range":{"start_line":785,"start_character":12,"end_line":785,"end_character":49},"updated":"2020-06-25 17:56:14.000000000","message":"eventually, we can put that under if statement now - I guess we don\u0027t need this var otherwise","commit_id":"f88fccf9ec7ca75bb56f047a1d0a78568d7fc9ef"},{"author":{"_account_id":27253,"name":"Sam Doran","email":"sdoran@redhat.com","username":"sdoran"},"change_message_id":"0a046dc35a8dc9d74c53892d5d6fd47ec213ead1","unresolved":false,"context_lines":[{"line_number":782,"context_line":"        \"\"\"Run the method\"\"\""},{"line_number":783,"context_line":""},{"line_number":784,"context_line":"        try:"},{"line_number":785,"context_line":"            remote_user \u003d self._get_remote_user()"},{"line_number":786,"context_line":""},{"line_number":787,"context_line":"            if not tmp:"},{"line_number":788,"context_line":"                tmp \u003d self._make_tmp_path(remote_user)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf51134e_91521c12","line":785,"range":{"start_line":785,"start_character":12,"end_line":785,"end_character":49},"in_reply_to":"bf51134e_56debad9","updated":"2020-06-25 18:14:25.000000000","message":"This was added in 2.8 for become_plugins.","commit_id":"f88fccf9ec7ca75bb56f047a1d0a78568d7fc9ef"},{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"41f09fbfb8b3df5f56b3290e2625597dd0670c09","unresolved":false,"context_lines":[{"line_number":782,"context_line":"        \"\"\"Run the method\"\"\""},{"line_number":783,"context_line":""},{"line_number":784,"context_line":"        try:"},{"line_number":785,"context_line":"            remote_user \u003d self._get_remote_user()"},{"line_number":786,"context_line":""},{"line_number":787,"context_line":"            if not tmp:"},{"line_number":788,"context_line":"                tmp \u003d self._make_tmp_path(remote_user)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf51134e_bc861765","line":785,"range":{"start_line":785,"start_character":12,"end_line":785,"end_character":49},"in_reply_to":"bf51134e_56debad9","updated":"2020-06-25 19:18:51.000000000","message":"good point, i will restore the original try/except from ps 1 to ensure the plugin remains functional across many versions of ansible.","commit_id":"f88fccf9ec7ca75bb56f047a1d0a78568d7fc9ef"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"1c503e2820a16ce9c7d9894dfe015b5697fe2ba5","unresolved":false,"context_lines":[{"line_number":782,"context_line":"        \"\"\"Run the method\"\"\""},{"line_number":783,"context_line":""},{"line_number":784,"context_line":"        try:"},{"line_number":785,"context_line":"            remote_user \u003d self._get_remote_user()"},{"line_number":786,"context_line":""},{"line_number":787,"context_line":"            if not tmp:"},{"line_number":788,"context_line":"                tmp \u003d self._make_tmp_path(remote_user)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf51134e_56debad9","line":785,"range":{"start_line":785,"start_character":12,"end_line":785,"end_character":49},"in_reply_to":"bf51134e_7675bef9","updated":"2020-06-25 18:02:17.000000000","message":"Also I have doubts about when _get_remote_user() has appeared in ansible (I guess it\u0027s 2.8?). As since this repo is branchless, change can break earlier OSA releases. So probably we need to return these extra try/except for compatability","commit_id":"f88fccf9ec7ca75bb56f047a1d0a78568d7fc9ef"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"62241f06f7a66db2049c88bf2e9bf3a2bc979079","unresolved":false,"context_lines":[{"line_number":791,"context_line":"                if not remote_user:"},{"line_number":792,"context_line":"                    remote_user \u003d self._play_context.remote_user"},{"line_number":793,"context_line":""},{"line_number":794,"context_line":"            if not tmp:"},{"line_number":795,"context_line":"                tmp \u003d self._make_tmp_path(remote_user)"},{"line_number":796,"context_line":""},{"line_number":797,"context_line":"        except TypeError:"},{"line_number":798,"context_line":"            if not tmp:"},{"line_number":799,"context_line":"                tmp \u003d self._make_tmp_path()"},{"line_number":800,"context_line":""},{"line_number":801,"context_line":"        _status, _vars \u003d self._load_options_and_status(task_vars\u003dtask_vars)"},{"line_number":802,"context_line":"        if not _status:"}],"source_content_type":"text/x-python","patch_set":4,"id":"bf51134e_d34f7168","line":799,"range":{"start_line":794,"start_character":0,"end_line":799,"end_character":43},"updated":"2020-06-26 08:48:47.000000000","message":"Given the issue that arose to result in this review being proposed, we may want to try/except the tmp path creation and fail with a more useful error message if there is a permissions problem?\n\nThe root cause of the problem is not that the remote user is wrong (although this patch fixes that if it happens to be the case), but that the tmp_path is owned by another user (likely root) with the permissions of 700 so the remote user is unable to create the tmp_path.\n\nI think it\u0027d be prudent to put a try/except here to notify the user of that issue.\n\nThat said, https://github.com/ansible/ansible/blob/a3c1ea886ffd2115ea2475d5342fc8d015790643/lib/ansible/plugins/action/__init__.py#L408-L411 kinda helps - maybe that could be improved instead?\n\nThere also seems to be https://github.com/ansible/ansible/blob/234994fc075222f28943313024c7df5d7010bc37/lib/ansible/module_utils/basic.py#L687-L723\n\nI\u0027m not sure what the right approach is here.","commit_id":"71f5a0bcd3152d11bbb085dfdb3b60653faa7a86"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"be7dcc6263e23df80beaaa18eb68c2632c300c77","unresolved":false,"context_lines":[{"line_number":781,"context_line":"    def run(self, tmp\u003dNone, task_vars\u003dNone):"},{"line_number":782,"context_line":"        \"\"\"Run the method\"\"\""},{"line_number":783,"context_line":""},{"line_number":784,"context_line":"        try:"},{"line_number":785,"context_line":"            try:"},{"line_number":786,"context_line":"                remote_user \u003d self._get_remote_user()"},{"line_number":787,"context_line":"            except Exception:"},{"line_number":788,"context_line":"                remote_user \u003d task_vars.get(\u0027ansible_user\u0027)"},{"line_number":789,"context_line":"                if not remote_user:"},{"line_number":790,"context_line":"                    remote_user \u003d task_vars.get(\u0027ansible_ssh_user\u0027)"},{"line_number":791,"context_line":"                if not remote_user:"},{"line_number":792,"context_line":"                    remote_user \u003d self._play_context.remote_user"},{"line_number":793,"context_line":""},{"line_number":794,"context_line":"            if not tmp:"},{"line_number":795,"context_line":"                tmp \u003d self._make_tmp_path(remote_user)"},{"line_number":796,"context_line":""},{"line_number":797,"context_line":"        except TypeError:"},{"line_number":798,"context_line":"            if not tmp:"},{"line_number":799,"context_line":"                tmp \u003d self._make_tmp_path()"},{"line_number":800,"context_line":""},{"line_number":801,"context_line":"        _status, _vars \u003d self._load_options_and_status(task_vars\u003dtask_vars)"},{"line_number":802,"context_line":"        if not _status:"}],"source_content_type":"text/x-python","patch_set":4,"id":"bf51134e_471b9171","line":799,"range":{"start_line":784,"start_character":0,"end_line":799,"end_character":43},"updated":"2020-06-27 06:18:05.000000000","message":"tbh I\u0027d but all this block under `if not tmp` condition, as we really don\u0027t need to run all of this if tmp is here.\nAnd not sure where TypeError can be raised, but maybe smth like this makes sense? http://paste.openstack.org/show/795294/\n\nAlso I agree with Jesse that errors can be improved","commit_id":"71f5a0bcd3152d11bbb085dfdb3b60653faa7a86"},{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"a347db65a93f1429626d883e6e11f60a58ab52ab","unresolved":false,"context_lines":[{"line_number":781,"context_line":"    def run(self, tmp\u003dNone, task_vars\u003dNone):"},{"line_number":782,"context_line":"        \"\"\"Run the method\"\"\""},{"line_number":783,"context_line":""},{"line_number":784,"context_line":"        try:"},{"line_number":785,"context_line":"            try:"},{"line_number":786,"context_line":"                remote_user \u003d self._get_remote_user()"},{"line_number":787,"context_line":"            except Exception:"},{"line_number":788,"context_line":"                remote_user \u003d task_vars.get(\u0027ansible_user\u0027)"},{"line_number":789,"context_line":"                if not remote_user:"},{"line_number":790,"context_line":"                    remote_user \u003d task_vars.get(\u0027ansible_ssh_user\u0027)"},{"line_number":791,"context_line":"                if not remote_user:"},{"line_number":792,"context_line":"                    remote_user \u003d self._play_context.remote_user"},{"line_number":793,"context_line":""},{"line_number":794,"context_line":"            if not tmp:"},{"line_number":795,"context_line":"                tmp \u003d self._make_tmp_path(remote_user)"},{"line_number":796,"context_line":""},{"line_number":797,"context_line":"        except TypeError:"},{"line_number":798,"context_line":"            if not tmp:"},{"line_number":799,"context_line":"                tmp \u003d self._make_tmp_path()"},{"line_number":800,"context_line":""},{"line_number":801,"context_line":"        _status, _vars \u003d self._load_options_and_status(task_vars\u003dtask_vars)"},{"line_number":802,"context_line":"        if not _status:"}],"source_content_type":"text/x-python","patch_set":4,"id":"bf51134e_930cc094","line":799,"range":{"start_line":784,"start_character":0,"end_line":799,"end_character":43},"in_reply_to":"bf51134e_471b9171","updated":"2020-06-29 13:04:52.000000000","message":"++ that looks good to me. I\u0027ll update what I have to that paste now.","commit_id":"71f5a0bcd3152d11bbb085dfdb3b60653faa7a86"}]}
