)]}'
{"tasks/keystone_pre_install.yml":[{"author":{"_account_id":25023,"name":"Jonathan Rosser","email":"jonathan.rosser@rd.bbc.co.uk","username":"jrosser"},"change_message_id":"0e75d4963d95501acbcdcb36fa62092154525e02","unresolved":false,"context_lines":[{"line_number":113,"context_line":"      #                  them using the connection plugin or the root filesystem."},{"line_number":114,"context_line":"      - dest: \"/etc/keystone\""},{"line_number":115,"context_line":"        src: \"{{ keystone_bin | dirname | regex_replace(\u0027^/\u0027, \u0027../\u0027) }}/etc/keystone\""},{"line_number":116,"context_line":"        state: \"{{ (keystone_install_method \u003d\u003d \u0027source\u0027) | ternary(\u0027link\u0027, \u0027directory\u0027) }}\""},{"line_number":117,"context_line":"        force: \"{{ (keystone_install_method \u003d\u003d \u0027source\u0027) | ternary(true, omit) }}\""},{"line_number":118,"context_line":"      - path: \"{{ keystone_credential_key_repository }}\""},{"line_number":119,"context_line":"        mode: \"0750\""}],"source_content_type":"text/x-yaml","patch_set":7,"id":"9fb8cfa7_ac480287","side":"PARENT","line":116,"range":{"start_line":116,"start_character":8,"end_line":116,"end_character":91},"updated":"2019-06-20 12:22:17.000000000","message":"@noonedeadpunk i hope that i\u0027ve removed the creation of the symlink in all cases by deleting this code","commit_id":"03b0aaf019d44e2fff3658a65c4f5cf503f61d35"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"046f79a14d2433e111b6b6e25dd28789ed6eb620","unresolved":false,"context_lines":[{"line_number":113,"context_line":"      #                  them using the connection plugin or the root filesystem."},{"line_number":114,"context_line":"      - dest: \"/etc/keystone\""},{"line_number":115,"context_line":"        src: \"{{ keystone_bin | dirname | regex_replace(\u0027^/\u0027, \u0027../\u0027) }}/etc/keystone\""},{"line_number":116,"context_line":"        state: \"{{ (keystone_install_method \u003d\u003d \u0027source\u0027) | ternary(\u0027link\u0027, \u0027directory\u0027) }}\""},{"line_number":117,"context_line":"        force: \"{{ (keystone_install_method \u003d\u003d \u0027source\u0027) | ternary(true, omit) }}\""},{"line_number":118,"context_line":"      - path: \"{{ keystone_credential_key_repository }}\""},{"line_number":119,"context_line":"        mode: \"0750\""}],"source_content_type":"text/x-yaml","patch_set":7,"id":"9fb8cfa7_c7899126","side":"PARENT","line":116,"range":{"start_line":116,"start_character":8,"end_line":116,"end_character":91},"in_reply_to":"9fb8cfa7_ac480287","updated":"2019-06-20 12:52:52.000000000","message":"oh, sure, that\u0027s what I missed:)","commit_id":"03b0aaf019d44e2fff3658a65c4f5cf503f61d35"},{"author":{"_account_id":17799,"name":"Logan V","email":"logan2211@gmail.com","username":"Logan2211"},"change_message_id":"d853c36902b59bf711ccc385833d51e6089394c6","unresolved":false,"context_lines":[{"line_number":68,"context_line":"# Remove this code in the Train release."},{"line_number":69,"context_line":"- name: Source config block"},{"line_number":70,"context_line":"  block:"},{"line_number":71,"context_line":"    - name: Stat config directory"},{"line_number":72,"context_line":"      stat:"},{"line_number":73,"context_line":"        path: \"/etc/keystone\""},{"line_number":74,"context_line":"      register: keystone_conf_dir_stat"},{"line_number":75,"context_line":"      with_items:"},{"line_number":76,"context_line":"        - \"{{ ansible_play_hosts }}\""},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    - name: Remove the config directory symlink, if it exists"},{"line_number":79,"context_line":"      file:"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"9fb8cfa7_21cbb8a5","line":76,"range":{"start_line":71,"start_character":0,"end_line":76,"end_character":36},"updated":"2019-06-20 14:45:48.000000000","message":"jrosser: as you pointed out on IRC this task will need to be fixed to delegate properly ;)","commit_id":"c2d81653d1a62e76ae5710a6c8de16f502b82904"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"7bbcfcf51e91456a8b0d5d3947b26a6cfbbef77b","unresolved":false,"context_lines":[{"line_number":131,"context_line":"# Remove in Train release"},{"line_number":132,"context_line":"- name: Rescue fernet keys symlinked into the ansible venv"},{"line_number":133,"context_line":"  command: \u003e"},{"line_number":134,"context_line":"    cp -rp {{ item.stat.lnk_target }}/* /etc/keystone"},{"line_number":135,"context_line":"  with_items:"},{"line_number":136,"context_line":"    - \"{{ keystone_conf_dir_stat.results }}\""},{"line_number":137,"context_line":"  delegate_to: \"{{ item.item }}\""}],"source_content_type":"text/x-yaml","patch_set":7,"id":"9fb8cfa7_11684785","line":134,"range":{"start_line":134,"start_character":4,"end_line":134,"end_character":10},"updated":"2019-06-20 10:26:15.000000000","message":"why not to use copy module instead?","commit_id":"c2d81653d1a62e76ae5710a6c8de16f502b82904"},{"author":{"_account_id":25023,"name":"Jonathan Rosser","email":"jonathan.rosser@rd.bbc.co.uk","username":"jrosser"},"change_message_id":"6e3a40248cf2dfa9db797cc7a1617f4b4e40e61a","unresolved":false,"context_lines":[{"line_number":131,"context_line":"# Remove in Train release"},{"line_number":132,"context_line":"- name: Rescue fernet keys symlinked into the ansible venv"},{"line_number":133,"context_line":"  command: \u003e"},{"line_number":134,"context_line":"    cp -rp {{ item.stat.lnk_target }}/* /etc/keystone"},{"line_number":135,"context_line":"  with_items:"},{"line_number":136,"context_line":"    - \"{{ keystone_conf_dir_stat.results }}\""},{"line_number":137,"context_line":"  delegate_to: \"{{ item.item }}\""}],"source_content_type":"text/x-yaml","patch_set":7,"id":"9fb8cfa7_4c12a65a","line":134,"range":{"start_line":134,"start_character":4,"end_line":134,"end_character":10},"in_reply_to":"9fb8cfa7_11684785","updated":"2019-06-20 11:16:58.000000000","message":"This is a remote-\u003eremote copy operation and the recursive option is only available as of ansible 2.8, so I\u0027m not sure there is a cleaner way than this","commit_id":"c2d81653d1a62e76ae5710a6c8de16f502b82904"},{"author":{"_account_id":17799,"name":"Logan V","email":"logan2211@gmail.com","username":"Logan2211"},"change_message_id":"a434a98ee3b74177027be00021ee624371a6bc81","unresolved":false,"context_lines":[{"line_number":131,"context_line":"# Remove in Train release"},{"line_number":132,"context_line":"- name: Rescue fernet keys symlinked into the ansible venv"},{"line_number":133,"context_line":"  command: \u003e"},{"line_number":134,"context_line":"    cp -rp {{ item.stat.lnk_target }}/* /etc/keystone"},{"line_number":135,"context_line":"  with_items:"},{"line_number":136,"context_line":"    - \"{{ keystone_conf_dir_stat.results }}\""},{"line_number":137,"context_line":"  delegate_to: \"{{ item.item }}\""}],"source_content_type":"text/x-yaml","patch_set":7,"id":"9fb8cfa7_ac11e206","line":134,"range":{"start_line":134,"start_character":4,"end_line":134,"end_character":10},"in_reply_to":"9fb8cfa7_4c12a65a","updated":"2019-06-20 11:55:44.000000000","message":"Synchronize module should be able to accomplish this","commit_id":"c2d81653d1a62e76ae5710a6c8de16f502b82904"},{"author":{"_account_id":17799,"name":"Logan V","email":"logan2211@gmail.com","username":"Logan2211"},"change_message_id":"38758bde68d594df896d8b7c64c12cafa4e8bbfa","unresolved":false,"context_lines":[{"line_number":131,"context_line":"# Remove in Train release"},{"line_number":132,"context_line":"- name: Rescue fernet keys symlinked into the ansible venv"},{"line_number":133,"context_line":"  command: \u003e"},{"line_number":134,"context_line":"    cp -rp {{ item.stat.lnk_target }}/* /etc/keystone"},{"line_number":135,"context_line":"  with_items:"},{"line_number":136,"context_line":"    - \"{{ keystone_conf_dir_stat.results }}\""},{"line_number":137,"context_line":"  delegate_to: \"{{ item.item }}\""}],"source_content_type":"text/x-yaml","patch_set":7,"id":"9fb8cfa7_41f58cec","line":134,"range":{"start_line":134,"start_character":4,"end_line":134,"end_character":10},"in_reply_to":"9fb8cfa7_6708e52c","updated":"2019-06-20 14:45:05.000000000","message":"Gotcha -- nevermind then. I thought it just did a local path rsync but it seems like our connection module confuses the synchronize so it thinks it needs to ssh. Might as well just leave it as a cp command.","commit_id":"c2d81653d1a62e76ae5710a6c8de16f502b82904"},{"author":{"_account_id":25023,"name":"Jonathan Rosser","email":"jonathan.rosser@rd.bbc.co.uk","username":"jrosser"},"change_message_id":"581046c6e6ca6b16b155ef3eccb43e5ad2a1455f","unresolved":false,"context_lines":[{"line_number":131,"context_line":"# Remove in Train release"},{"line_number":132,"context_line":"- name: Rescue fernet keys symlinked into the ansible venv"},{"line_number":133,"context_line":"  command: \u003e"},{"line_number":134,"context_line":"    cp -rp {{ item.stat.lnk_target }}/* /etc/keystone"},{"line_number":135,"context_line":"  with_items:"},{"line_number":136,"context_line":"    - \"{{ keystone_conf_dir_stat.results }}\""},{"line_number":137,"context_line":"  delegate_to: \"{{ item.item }}\""}],"source_content_type":"text/x-yaml","patch_set":7,"id":"9fb8cfa7_6708e52c","line":134,"range":{"start_line":134,"start_character":4,"end_line":134,"end_character":10},"in_reply_to":"9fb8cfa7_ac11e206","updated":"2019-06-20 13:22:30.000000000","message":"The synchronise module does look ideal, but when used with delegate_to the destination user for rsync is taken from the ansible remote_user, which would require connecting from the deploy host to the remote as the keystone user. Is there a way to use the syncronize module to copy from /foo to /bar on the same host without involving ssh\u0027ing to itself?","commit_id":"c2d81653d1a62e76ae5710a6c8de16f502b82904"}]}
