)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":10022,"name":"Gabriele Cerami","email":"gcerami@redhat.com","username":"panda"},"change_message_id":"cbda7fe7b472ab4a6937c5595008ce9052b3d1c9","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This migrates the code under playbooks/tripleo-buildimage to a"},{"line_number":10,"context_line":"buid-images role in /roles/. Tracked by tripleo-ci squad in [1]."},{"line_number":11,"context_line":"This will also allow for re use in rdo-jobs or elsewhere."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"[1] https://tree.taiga.io/project/tripleo-ci-board/us/956"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"7faddb67_60ff9567","line":11,"updated":"2019-07-05 11:04:07.000000000","message":"- THe obsolete run.yaml is removed\n- The run-v3 as moved to role is split into common, pre and run parts\n- The big shell tasks are transformed into templated bash","commit_id":"d4690cc27c9e3bd65ee3fd59c8f5459e99732110"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"0fbe263c3c42a9be5b0225da01f1467299ea259b","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This migrates the code under playbooks/tripleo-buildimage to a"},{"line_number":10,"context_line":"buid-images role in /roles/. Tracked by tripleo-ci squad in [1]."},{"line_number":11,"context_line":"This will also allow for re use in rdo-jobs or elsewhere."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"[1] https://tree.taiga.io/project/tripleo-ci-board/us/956"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"7faddb67_c0f4495e","line":11,"in_reply_to":"7faddb67_60ff9567","updated":"2019-07-05 11:17:20.000000000","message":"Done","commit_id":"d4690cc27c9e3bd65ee3fd59c8f5459e99732110"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"86c0c7e46478374655373fb7c53e1063542508bd","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Mostly copies existing code - some main additions/changes:"},{"line_number":14,"context_line":" - removes the obsolete run.yaml"},{"line_number":15,"context_line":" - existing run-v3 is split into pre/run-v2/post playbooks"},{"line_number":16,"context_line":" - playbooks/tripleo-buildimage moves to playbooks/tripleo-buildimages"},{"line_number":17,"context_line":"   (for consistency and since the role is build-images)"},{"line_number":18,"context_line":" - existing shell task for building images is moved to a template"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"7faddb67_caa9c7df","line":15,"range":{"start_line":15,"start_character":42,"end_line":15,"end_character":43},"updated":"2019-07-05 11:43:27.000000000","message":"bah but i won\u0027t update unless someone else spots a bigger problem \n\nthanks!","commit_id":"57cdfca7cd862421c8157af90e3772fcd8718f84"}],"playbooks/tripleo-buildimages/post.yaml":[{"author":{"_account_id":9976,"name":"Ronelle Landy","email":"rlandy@redhat.com","username":"rlandy"},"change_message_id":"76380ec7135b87b6267986192dcaf0635578faf0","unresolved":false,"context_lines":[{"line_number":4,"context_line":"      include_role:"},{"line_number":5,"context_line":"        name: build-images"},{"line_number":6,"context_line":"        tasks_from: post"},{"line_number":7,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":9,"id":"7faddb67_a33282a6","line":7,"updated":"2019-07-04 15:31:41.000000000","message":"nit - extra-line","commit_id":"1df5365c0cb0a96f34d5cd8fffa9a10deb46f00d"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"789b2dacafa8fb95182162a1d7d3d6bfd57b18e3","unresolved":false,"context_lines":[{"line_number":4,"context_line":"      include_role:"},{"line_number":5,"context_line":"        name: build-images"},{"line_number":6,"context_line":"        tasks_from: post"},{"line_number":7,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":9,"id":"7faddb67_6f98e869","line":7,"in_reply_to":"7faddb67_a33282a6","updated":"2019-07-05 07:51:30.000000000","message":"Done","commit_id":"1df5365c0cb0a96f34d5cd8fffa9a10deb46f00d"}],"playbooks/tripleo-buildimages/run.yaml":[{"author":{"_account_id":9976,"name":"Ronelle Landy","email":"rlandy@redhat.com","username":"rlandy"},"change_message_id":"76380ec7135b87b6267986192dcaf0635578faf0","unresolved":false,"context_lines":[{"line_number":1,"context_line":"### DEPRECATED USE run-v3.yaml"},{"line_number":2,"context_line":"- hosts: all"},{"line_number":3,"context_line":"  name: Autoconverted job legacy-tripleo-buildimage"},{"line_number":4,"context_line":"  roles:"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"7faddb67_e3171aed","line":1,"updated":"2019-07-04 15:31:41.000000000","message":"why is the not deleted?","commit_id":"1df5365c0cb0a96f34d5cd8fffa9a10deb46f00d"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"789b2dacafa8fb95182162a1d7d3d6bfd57b18e3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"### DEPRECATED USE run-v3.yaml"},{"line_number":2,"context_line":"- hosts: all"},{"line_number":3,"context_line":"  name: Autoconverted job legacy-tripleo-buildimage"},{"line_number":4,"context_line":"  roles:"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"7faddb67_2fa2f09b","line":1,"in_reply_to":"7faddb67_94045b7d","updated":"2019-07-05 07:51:30.000000000","message":"Done","commit_id":"1df5365c0cb0a96f34d5cd8fffa9a10deb46f00d"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"6b3a98170367acbca54de7806a5ed05f8b76701d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"### DEPRECATED USE run-v3.yaml"},{"line_number":2,"context_line":"- hosts: all"},{"line_number":3,"context_line":"  name: Autoconverted job legacy-tripleo-buildimage"},{"line_number":4,"context_line":"  roles:"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"7faddb67_94045b7d","line":1,"in_reply_to":"7faddb67_e3171aed","updated":"2019-07-05 06:38:23.000000000","message":"yeah i wasn\u0027t sure if it was being used in any legacy jobs but i\u0027ll nuke it - in fact it doesn\u0027t work iwth the new role so....","commit_id":"1df5365c0cb0a96f34d5cd8fffa9a10deb46f00d"}],"roles/build-images/tasks/main.yaml":[{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"9fd2455e58f359b33b782d696bbdd0d34b58ee26","unresolved":false,"context_lines":[{"line_number":13,"context_line":"- name: Run build-images.sh"},{"line_number":14,"context_line":"  args:"},{"line_number":15,"context_line":"    chdir: \u0027{{ workspace }}\u0027"},{"line_number":16,"context_line":"  shell: set -o pipefail \u0026\u0026 bash build-images.sh \u003e {{ workspace }}/build.log 2\u003e build-err.log"},{"line_number":17,"context_line":"  changed_when: true"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"9fb8cfa7_4a46587d","line":16,"range":{"start_line":16,"start_character":38,"end_line":16,"end_character":39},"updated":"2019-07-02 11:30:33.000000000","message":"-wew_","commit_id":"05cfd8246f277687ac6c1b8768ec6e0c15fefb49"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"01325775802184160932716e5c7c28307017d007","unresolved":false,"context_lines":[{"line_number":13,"context_line":"- name: Run build-images.sh"},{"line_number":14,"context_line":"  args:"},{"line_number":15,"context_line":"    chdir: \u0027{{ workspace }}\u0027"},{"line_number":16,"context_line":"  shell: set -o pipefail \u0026\u0026 bash build_images.sh \u003e {{ workspace }}/build.log 2\u003e build-err.log"},{"line_number":17,"context_line":"  changed_when: true"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"9fb8cfa7_9cfc870d","line":16,"range":{"start_line":16,"start_character":9,"end_line":16,"end_character":28},"updated":"2019-07-03 10:21:58.000000000","message":"I don\u0027t think there is pipe, but not biggie","commit_id":"6e996f857f39179b6a5ef8b0ab8a5db786fb0f95"},{"author":{"_account_id":24162,"name":"Sorin Sbârnea","display_name":"zbr","email":"ssbarnea@redhat.com","username":"ssbarnea","status":"do not feed the troll 🥕"},"change_message_id":"7f13d0df23d4cbd2f6d05f70ee90e66cbba1ca82","unresolved":false,"context_lines":[{"line_number":13,"context_line":"- name: Run build-images.sh"},{"line_number":14,"context_line":"  args:"},{"line_number":15,"context_line":"    chdir: \u0027{{ workspace }}\u0027"},{"line_number":16,"context_line":"  shell: set -o pipefail \u0026\u0026 bash build_images.sh \u003e {{ workspace }}/build.log 2\u003e build-err.log"},{"line_number":17,"context_line":"  changed_when: true"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"7faddb67_724c5d76","line":16,"range":{"start_line":16,"start_character":9,"end_line":16,"end_character":28},"in_reply_to":"7faddb67_813669b4","updated":"2019-07-04 10:16:23.000000000","message":"I would have complained about the length of line but if you remove the pipefail it should be ok.\n\nI personally prefer to use `: |` even if is a single line,\njust i lower the identation and making easier to read.\n\nAnyway, that only personal.","commit_id":"6e996f857f39179b6a5ef8b0ab8a5db786fb0f95"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"3e73c3338db42f35cf55029a502398f1a4c0f67e","unresolved":false,"context_lines":[{"line_number":13,"context_line":"- name: Run build-images.sh"},{"line_number":14,"context_line":"  args:"},{"line_number":15,"context_line":"    chdir: \u0027{{ workspace }}\u0027"},{"line_number":16,"context_line":"  shell: set -o pipefail \u0026\u0026 bash build_images.sh \u003e {{ workspace }}/build.log 2\u003e build-err.log"},{"line_number":17,"context_line":"  changed_when: true"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"7faddb67_813669b4","line":16,"range":{"start_line":16,"start_character":9,"end_line":16,"end_character":28},"in_reply_to":"9fb8cfa7_9cfc870d","updated":"2019-07-04 08:23:47.000000000","message":"ack  removing","commit_id":"6e996f857f39179b6a5ef8b0ab8a5db786fb0f95"}],"roles/build-images/tasks/post.yaml":[{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"01325775802184160932716e5c7c28307017d007","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- name: Include common buildimage vars"},{"line_number":3,"context_line":"  include_vars:"},{"line_number":4,"context_line":"    file: \"common.yaml\""},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"- name: Copy files from {{ ansible_user_dir }}/workspace/ on node"},{"line_number":7,"context_line":"  no_log: true"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"9fb8cfa7_f9283598","line":4,"range":{"start_line":4,"start_character":5,"end_line":4,"end_character":23},"updated":"2019-07-03 10:21:58.000000000","message":"do you need it here?","commit_id":"6e996f857f39179b6a5ef8b0ab8a5db786fb0f95"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"3e73c3338db42f35cf55029a502398f1a4c0f67e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- name: Include common buildimage vars"},{"line_number":3,"context_line":"  include_vars:"},{"line_number":4,"context_line":"    file: \"common.yaml\""},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"- name: Copy files from {{ ansible_user_dir }}/workspace/ on node"},{"line_number":7,"context_line":"  no_log: true"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"7faddb67_01f839c2","line":4,"range":{"start_line":4,"start_character":5,"end_line":4,"end_character":23},"in_reply_to":"9fb8cfa7_f9283598","updated":"2019-07-04 08:23:47.000000000","message":"right sorry i didn\u0027t notice that workspace is without {{ }} here","commit_id":"6e996f857f39179b6a5ef8b0ab8a5db786fb0f95"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"01325775802184160932716e5c7c28307017d007","unresolved":false,"context_lines":[{"line_number":68,"context_line":"    copy_links: true"},{"line_number":69,"context_line":"    verify_host: true"},{"line_number":70,"context_line":"    rsync_opts:"},{"line_number":71,"context_line":"      - --include\u003d/.tox/*/log/*"},{"line_number":72,"context_line":"      - --include\u003d*/"},{"line_number":73,"context_line":"      - --exclude\u003d*"},{"line_number":74,"context_line":"      - --prune-empty-dirs"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"9fb8cfa7_f9535538","line":71,"range":{"start_line":71,"start_character":0,"end_line":71,"end_character":31},"updated":"2019-07-03 10:21:58.000000000","message":"\"--include\" part should be just part of cycle:\n\nwith_items:\n  - /.tox/*/log/*\n  - /logs/**\n  - **/*testrepository.subunit.gz\n\nAlso I think you can put multiple targes in one --include, or to use multiple \"--include\" in one task.\nAnyway it should be a single task","commit_id":"6e996f857f39179b6a5ef8b0ab8a5db786fb0f95"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"2ace07a726c0de3357c7488bf1c5d276269b1c70","unresolved":false,"context_lines":[{"line_number":68,"context_line":"    copy_links: true"},{"line_number":69,"context_line":"    verify_host: true"},{"line_number":70,"context_line":"    rsync_opts:"},{"line_number":71,"context_line":"      - --include\u003d/.tox/*/log/*"},{"line_number":72,"context_line":"      - --include\u003d*/"},{"line_number":73,"context_line":"      - --exclude\u003d*"},{"line_number":74,"context_line":"      - --prune-empty-dirs"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"7faddb67_72621d19","line":71,"range":{"start_line":71,"start_character":0,"end_line":71,"end_character":31},"in_reply_to":"7faddb67_61180d81","updated":"2019-07-04 11:01:10.000000000","message":"Yeah, that\u0027s fine to change in followup","commit_id":"6e996f857f39179b6a5ef8b0ab8a5db786fb0f95"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"cd5e817d31454703272e363d7ce363520fd67596","unresolved":false,"context_lines":[{"line_number":68,"context_line":"    copy_links: true"},{"line_number":69,"context_line":"    verify_host: true"},{"line_number":70,"context_line":"    rsync_opts:"},{"line_number":71,"context_line":"      - --include\u003d/.tox/*/log/*"},{"line_number":72,"context_line":"      - --include\u003d*/"},{"line_number":73,"context_line":"      - --exclude\u003d*"},{"line_number":74,"context_line":"      - --prune-empty-dirs"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"7faddb67_61180d81","line":71,"range":{"start_line":71,"start_character":0,"end_line":71,"end_character":31},"in_reply_to":"9fb8cfa7_f9535538","updated":"2019-07-04 08:45:37.000000000","message":"ack on making it a loop but https://github.com/openstack/tripleo-ci/blob/49be21e7341edfb950358cd4179fbdedf4c537e4/playbooks/tripleo-buildimage/post.yaml#L1 this is straight copy paste to move into a role\n\nimo that is complex enough as a submission and also for reviewers. can we make imrovements after we move it to a role?","commit_id":"6e996f857f39179b6a5ef8b0ab8a5db786fb0f95"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"a1c2749dc06b4310027f861dec4293bd0405978c","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  include_vars:"},{"line_number":4,"context_line":"    file: \"common.yaml\""},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"- name: Copy files from {{ ansible_user_dir }}/workspace/ on node"},{"line_number":7,"context_line":"  no_log: true"},{"line_number":8,"context_line":"  synchronize:"},{"line_number":9,"context_line":"    src: \u0027{{ ansible_user_dir }}/workspace/\u0027"},{"line_number":10,"context_line":"    dest: \u0027{{ zuul.executor.log_root }}\u0027"},{"line_number":11,"context_line":"    mode: pull"},{"line_number":12,"context_line":"    copy_links: true"},{"line_number":13,"context_line":"    verify_host: true"},{"line_number":14,"context_line":"    rsync_opts:"},{"line_number":15,"context_line":"      - --include\u003d**/*nose_results.html"},{"line_number":16,"context_line":"      - --include\u003d*/"},{"line_number":17,"context_line":"      - --exclude\u003d*"},{"line_number":18,"context_line":"      - --prune-empty-dirs"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"- name: Copy files from {{ ansible_user_dir }}/workspace/ on node"},{"line_number":21,"context_line":"  no_log: true"},{"line_number":22,"context_line":"  synchronize:"},{"line_number":23,"context_line":"    src: \u0027{{ ansible_user_dir }}/workspace/\u0027"},{"line_number":24,"context_line":"    dest: \u0027{{ zuul.executor.log_root }}\u0027"},{"line_number":25,"context_line":"    mode: pull"},{"line_number":26,"context_line":"    copy_links: true"},{"line_number":27,"context_line":"    verify_host: true"},{"line_number":28,"context_line":"    rsync_opts:"},{"line_number":29,"context_line":"      - --include\u003d**/*testr_results.html.gz"},{"line_number":30,"context_line":"      - --include\u003d*/"},{"line_number":31,"context_line":"      - --exclude\u003d*"},{"line_number":32,"context_line":"      - --prune-empty-dirs"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"- name: Copy files from {{ ansible_user_dir }}/workspace/ on node"},{"line_number":35,"context_line":"  no_log: true"},{"line_number":36,"context_line":"  synchronize:"},{"line_number":37,"context_line":"    src: \u0027{{ ansible_user_dir }}/workspace/\u0027"},{"line_number":38,"context_line":"    dest: \u0027{{ zuul.executor.log_root }}\u0027"},{"line_number":39,"context_line":"    mode: pull"},{"line_number":40,"context_line":"    copy_links: true"},{"line_number":41,"context_line":"    verify_host: true"},{"line_number":42,"context_line":"    rsync_opts:"},{"line_number":43,"context_line":"      - --include\u003d/.testrepository/tmp*"},{"line_number":44,"context_line":"      - --include\u003d*/"},{"line_number":45,"context_line":"      - --exclude\u003d*"},{"line_number":46,"context_line":"      - --prune-empty-dirs"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"- name: Copy files from {{ ansible_user_dir }}/workspace/ on node"},{"line_number":49,"context_line":"  no_log: true"},{"line_number":50,"context_line":"  synchronize:"},{"line_number":51,"context_line":"    src: \u0027{{ ansible_user_dir }}/workspace/\u0027"},{"line_number":52,"context_line":"    dest: \u0027{{ zuul.executor.log_root }}\u0027"},{"line_number":53,"context_line":"    mode: pull"},{"line_number":54,"context_line":"    copy_links: true"},{"line_number":55,"context_line":"    verify_host: true"},{"line_number":56,"context_line":"    rsync_opts:"},{"line_number":57,"context_line":"      - --include\u003d**/*testrepository.subunit.gz"},{"line_number":58,"context_line":"      - --include\u003d*/"},{"line_number":59,"context_line":"      - --exclude\u003d*"},{"line_number":60,"context_line":"      - --prune-empty-dirs"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"- name: Copy files from {{ ansible_user_dir }}/workspace/ on node"},{"line_number":63,"context_line":"  no_log: true"},{"line_number":64,"context_line":"  synchronize:"},{"line_number":65,"context_line":"    src: \u0027{{ ansible_user_dir }}/workspace/\u0027"},{"line_number":66,"context_line":"    dest: \u0027{{ zuul.executor.log_root }}/tox\u0027"},{"line_number":67,"context_line":"    mode: pull"},{"line_number":68,"context_line":"    copy_links: true"},{"line_number":69,"context_line":"    verify_host: true"},{"line_number":70,"context_line":"    rsync_opts:"},{"line_number":71,"context_line":"      - --include\u003d/.tox/*/log/*"},{"line_number":72,"context_line":"      - --include\u003d*/"},{"line_number":73,"context_line":"      - --exclude\u003d*"},{"line_number":74,"context_line":"      - --prune-empty-dirs"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"- name: Copy files from {{ ansible_user_dir }}/workspace/ on node"},{"line_number":77,"context_line":"  no_log: true"},{"line_number":78,"context_line":"  synchronize:"},{"line_number":79,"context_line":"    src: \u0027{{ ansible_user_dir }}/workspace/\u0027"},{"line_number":80,"context_line":"    dest: \u0027{{ zuul.executor.log_root }}\u0027"},{"line_number":81,"context_line":"    mode: pull"},{"line_number":82,"context_line":"    copy_links: true"},{"line_number":83,"context_line":"    verify_host: true"},{"line_number":84,"context_line":"    rsync_opts:"},{"line_number":85,"context_line":"      - --include\u003d/logs/**"},{"line_number":86,"context_line":"      - --include\u003d*/"},{"line_number":87,"context_line":"      - --exclude\u003d*"},{"line_number":88,"context_line":"      - --prune-empty-dirs"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"9fb8cfa7_954f7f69","line":88,"range":{"start_line":6,"start_character":0,"end_line":88,"end_character":26},"updated":"2019-07-03 08:24:57.000000000","message":"It appears that all the tasks are almost similar with few values changes.\nWe can use YAML anchors and aliases for sharing variable values in the playbook itself https://docs.ansible.com/ansible/latest/user_guide/playbooks_advanced_syntax.html#yaml-anchors-and-aliases-sharing-variable-values\n\nFor example:\n- name: Copy files from {{ ansible_user_dir }}/workspace/ on node\n  no_log: true\n  synchronize: \u0026copy_files_node\n    src: \u0027{{ ansible_user_dir }}/workspace/\u0027\n    dest: \u0027{{ zuul.executor.log_root }}\u0027\n    mode: pull\n    copy_links: true\n    verify_host: true\n    rsync_opts:\n      - --include\u003d**/*nose_results.html\n      - --include\u003d*/\n      - --exclude\u003d*\n      - --prune-empty-dirs\n\nname: Copy files from {{ ansible_user_dir }}/workspace/ on node\n  no_log: true\n  synchronize:\n    \u003c\u003c: *copy_files_node\n    rsync_opts:\n      - --include\u003d**/*testr_results.html.gz\n      - --include\u003d*/\n      - --exclude\u003d*\n      - --prune-empty-dirs","commit_id":"6e996f857f39179b6a5ef8b0ab8a5db786fb0f95"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"cd5e817d31454703272e363d7ce363520fd67596","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  include_vars:"},{"line_number":4,"context_line":"    file: \"common.yaml\""},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"- name: Copy files from {{ ansible_user_dir }}/workspace/ on node"},{"line_number":7,"context_line":"  no_log: true"},{"line_number":8,"context_line":"  synchronize:"},{"line_number":9,"context_line":"    src: \u0027{{ ansible_user_dir }}/workspace/\u0027"},{"line_number":10,"context_line":"    dest: \u0027{{ zuul.executor.log_root }}\u0027"},{"line_number":11,"context_line":"    mode: pull"},{"line_number":12,"context_line":"    copy_links: true"},{"line_number":13,"context_line":"    verify_host: true"},{"line_number":14,"context_line":"    rsync_opts:"},{"line_number":15,"context_line":"      - --include\u003d**/*nose_results.html"},{"line_number":16,"context_line":"      - --include\u003d*/"},{"line_number":17,"context_line":"      - --exclude\u003d*"},{"line_number":18,"context_line":"      - --prune-empty-dirs"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"- name: Copy files from {{ ansible_user_dir }}/workspace/ on node"},{"line_number":21,"context_line":"  no_log: true"},{"line_number":22,"context_line":"  synchronize:"},{"line_number":23,"context_line":"    src: \u0027{{ ansible_user_dir }}/workspace/\u0027"},{"line_number":24,"context_line":"    dest: \u0027{{ zuul.executor.log_root }}\u0027"},{"line_number":25,"context_line":"    mode: pull"},{"line_number":26,"context_line":"    copy_links: true"},{"line_number":27,"context_line":"    verify_host: true"},{"line_number":28,"context_line":"    rsync_opts:"},{"line_number":29,"context_line":"      - --include\u003d**/*testr_results.html.gz"},{"line_number":30,"context_line":"      - --include\u003d*/"},{"line_number":31,"context_line":"      - --exclude\u003d*"},{"line_number":32,"context_line":"      - --prune-empty-dirs"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"- name: Copy files from {{ ansible_user_dir }}/workspace/ on node"},{"line_number":35,"context_line":"  no_log: true"},{"line_number":36,"context_line":"  synchronize:"},{"line_number":37,"context_line":"    src: \u0027{{ ansible_user_dir }}/workspace/\u0027"},{"line_number":38,"context_line":"    dest: \u0027{{ zuul.executor.log_root }}\u0027"},{"line_number":39,"context_line":"    mode: pull"},{"line_number":40,"context_line":"    copy_links: true"},{"line_number":41,"context_line":"    verify_host: true"},{"line_number":42,"context_line":"    rsync_opts:"},{"line_number":43,"context_line":"      - --include\u003d/.testrepository/tmp*"},{"line_number":44,"context_line":"      - --include\u003d*/"},{"line_number":45,"context_line":"      - --exclude\u003d*"},{"line_number":46,"context_line":"      - --prune-empty-dirs"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"- name: Copy files from {{ ansible_user_dir }}/workspace/ on node"},{"line_number":49,"context_line":"  no_log: true"},{"line_number":50,"context_line":"  synchronize:"},{"line_number":51,"context_line":"    src: \u0027{{ ansible_user_dir }}/workspace/\u0027"},{"line_number":52,"context_line":"    dest: \u0027{{ zuul.executor.log_root }}\u0027"},{"line_number":53,"context_line":"    mode: pull"},{"line_number":54,"context_line":"    copy_links: true"},{"line_number":55,"context_line":"    verify_host: true"},{"line_number":56,"context_line":"    rsync_opts:"},{"line_number":57,"context_line":"      - --include\u003d**/*testrepository.subunit.gz"},{"line_number":58,"context_line":"      - --include\u003d*/"},{"line_number":59,"context_line":"      - --exclude\u003d*"},{"line_number":60,"context_line":"      - --prune-empty-dirs"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"- name: Copy files from {{ ansible_user_dir }}/workspace/ on node"},{"line_number":63,"context_line":"  no_log: true"},{"line_number":64,"context_line":"  synchronize:"},{"line_number":65,"context_line":"    src: \u0027{{ ansible_user_dir }}/workspace/\u0027"},{"line_number":66,"context_line":"    dest: \u0027{{ zuul.executor.log_root }}/tox\u0027"},{"line_number":67,"context_line":"    mode: pull"},{"line_number":68,"context_line":"    copy_links: true"},{"line_number":69,"context_line":"    verify_host: true"},{"line_number":70,"context_line":"    rsync_opts:"},{"line_number":71,"context_line":"      - --include\u003d/.tox/*/log/*"},{"line_number":72,"context_line":"      - --include\u003d*/"},{"line_number":73,"context_line":"      - --exclude\u003d*"},{"line_number":74,"context_line":"      - --prune-empty-dirs"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"- name: Copy files from {{ ansible_user_dir }}/workspace/ on node"},{"line_number":77,"context_line":"  no_log: true"},{"line_number":78,"context_line":"  synchronize:"},{"line_number":79,"context_line":"    src: \u0027{{ ansible_user_dir }}/workspace/\u0027"},{"line_number":80,"context_line":"    dest: \u0027{{ zuul.executor.log_root }}\u0027"},{"line_number":81,"context_line":"    mode: pull"},{"line_number":82,"context_line":"    copy_links: true"},{"line_number":83,"context_line":"    verify_host: true"},{"line_number":84,"context_line":"    rsync_opts:"},{"line_number":85,"context_line":"      - --include\u003d/logs/**"},{"line_number":86,"context_line":"      - --include\u003d*/"},{"line_number":87,"context_line":"      - --exclude\u003d*"},{"line_number":88,"context_line":"      - --prune-empty-dirs"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"7faddb67_3c08fe26","line":88,"range":{"start_line":6,"start_character":0,"end_line":88,"end_character":26},"in_reply_to":"9fb8cfa7_954f7f69","updated":"2019-07-04 08:45:37.000000000","message":"ack but see sagi comment above. we can have a loop and we don\u0027t need the anchors. but anyway it should be new patch imo","commit_id":"6e996f857f39179b6a5ef8b0ab8a5db786fb0f95"}],"roles/build-images/tasks/pre.yaml":[{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"ca3a7604e815649c8a29fc9ca542629b685aaaae","unresolved":false,"context_lines":[{"line_number":8,"context_line":"    name: \"{{ item }}\""},{"line_number":9,"context_line":"    state: present"},{"line_number":10,"context_line":"  loop:"},{"line_number":11,"context_line":"    - \"{{ python_version[ansible_pkg_mgr] }}-pip\""},{"line_number":12,"context_line":"    - \"{{ python_version[ansible_pkg_mgr] }}-virtualenv\""},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"- name: pip install tripleo items"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"7faddb67_970a2b88","line":11,"range":{"start_line":11,"start_character":17,"end_line":11,"end_character":29},"updated":"2019-07-04 09:56:59.000000000","message":"this one too cant rely on ansible pkg mgr","commit_id":"6e996f857f39179b6a5ef8b0ab8a5db786fb0f95"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"2ace07a726c0de3357c7488bf1c5d276269b1c70","unresolved":false,"context_lines":[{"line_number":6,"context_line":"- name: Get python_v fact for py2 or py3 common vars"},{"line_number":7,"context_line":"  include_tasks: check_set_py3.yaml"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"- name: Install pip and virtualenv"},{"line_number":10,"context_line":"  package:"},{"line_number":11,"context_line":"    name: \"{{ item }}\""},{"line_number":12,"context_line":"    state: present"},{"line_number":13,"context_line":"  loop:"},{"line_number":14,"context_line":"    - \"{{ python_version[python_v] }}-pip\""}],"source_content_type":"text/x-yaml","patch_set":6,"id":"7faddb67_92679926","line":11,"range":{"start_line":9,"start_character":0,"end_line":11,"end_character":22},"updated":"2019-07-04 11:01:10.000000000","message":"need \"become\"","commit_id":"309c0529d53d780e8566d1b9bd8d28410f21ee86"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"28d8c5d7614b100aa391049f996b1e30bec84083","unresolved":false,"context_lines":[{"line_number":6,"context_line":"- name: Get python_v fact for py2 or py3 common vars"},{"line_number":7,"context_line":"  include_tasks: check_set_py3.yaml"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"- name: Install pip and virtualenv"},{"line_number":10,"context_line":"  package:"},{"line_number":11,"context_line":"    name: \"{{ item }}\""},{"line_number":12,"context_line":"    state: present"},{"line_number":13,"context_line":"  loop:"},{"line_number":14,"context_line":"    - \"{{ python_version[python_v] }}-pip\""}],"source_content_type":"text/x-yaml","patch_set":6,"id":"7faddb67_b42c029a","line":11,"range":{"start_line":9,"start_character":0,"end_line":11,"end_character":22},"in_reply_to":"7faddb67_92679926","updated":"2019-07-04 11:03:12.000000000","message":"Done","commit_id":"309c0529d53d780e8566d1b9bd8d28410f21ee86"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"171de58b6c12c8a34aa18f02c552ebdf60aa29be","unresolved":false,"context_lines":[{"line_number":20,"context_line":"  pip:"},{"line_number":21,"context_line":"    name:"},{"line_number":22,"context_line":"      - \"file://{{ openstack_git_root }}/diskimage-builder\""},{"line_number":23,"context_line":"      - \"file://{{ openstack_git_root }}/python-tripleoclient\""},{"line_number":24,"context_line":"      - \"file://{{ openstack_git_root }}/tripleo-common\""},{"line_number":25,"context_line":"    state: present"},{"line_number":26,"context_line":"    virtualenv: \"{{ workspace }}/venv\""}],"source_content_type":"text/x-yaml","patch_set":9,"id":"7faddb67_afd1005a","line":23,"range":{"start_line":23,"start_character":41,"end_line":23,"end_character":47},"updated":"2019-07-05 07:23:54.000000000","message":"also needs python3/2","commit_id":"1df5365c0cb0a96f34d5cd8fffa9a10deb46f00d"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"789b2dacafa8fb95182162a1d7d3d6bfd57b18e3","unresolved":false,"context_lines":[{"line_number":20,"context_line":"  pip:"},{"line_number":21,"context_line":"    name:"},{"line_number":22,"context_line":"      - \"file://{{ openstack_git_root }}/diskimage-builder\""},{"line_number":23,"context_line":"      - \"file://{{ openstack_git_root }}/python-tripleoclient\""},{"line_number":24,"context_line":"      - \"file://{{ openstack_git_root }}/tripleo-common\""},{"line_number":25,"context_line":"    state: present"},{"line_number":26,"context_line":"    virtualenv: \"{{ workspace }}/venv\""}],"source_content_type":"text/x-yaml","patch_set":9,"id":"7faddb67_0fa9347a","line":23,"range":{"start_line":23,"start_character":41,"end_line":23,"end_character":47},"in_reply_to":"7faddb67_afd1005a","updated":"2019-07-05 07:51:30.000000000","message":"Done","commit_id":"1df5365c0cb0a96f34d5cd8fffa9a10deb46f00d"}],"roles/build-images/templates/build-images.sh.j2":[{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"e7345289e142fec381977cc6c595bd37332d5713","unresolved":false,"context_lines":[{"line_number":16,"context_line":"    --config-file $TRIPLEO_COMMON_PATH/image-yaml/overcloud-hardened-images-{{ tripleo_image_os }}.yaml\""},{"line_number":17,"context_line":"else"},{"line_number":18,"context_line":"  CONFIG_FILES\u003d\"--config-file \\"},{"line_number":19,"context_line":"    $TRIPLEO_COMMON_PATH/image-yaml/{{ base_image_config[ansible_pkg_mgr] }} \\"},{"line_number":20,"context_line":"    --config-file $TRIPLEO_COMMON_PATH/image-yaml/overcloud-images-{{ tripleo_image_os }}.yaml\""},{"line_number":21,"context_line":"fi"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":5,"id":"9fb8cfa7_1392c259","line":19,"range":{"start_line":19,"start_character":39,"end_line":19,"end_character":72},"updated":"2019-07-03 14:39:38.000000000","message":"comment from sorin on sync call... \u0027official\u0027 pkg manager for rhel8 is yum (?) ... so this may not work as expected","commit_id":"6e996f857f39179b6a5ef8b0ab8a5db786fb0f95"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"8a6cc55118bce6b91ea3b7a7e06ce3ed42749fb7","unresolved":false,"context_lines":[{"line_number":16,"context_line":"    --config-file $TRIPLEO_COMMON_PATH/image-yaml/overcloud-hardened-images-{{ tripleo_image_os }}.yaml\""},{"line_number":17,"context_line":"else"},{"line_number":18,"context_line":"  CONFIG_FILES\u003d\"--config-file \\"},{"line_number":19,"context_line":"    $TRIPLEO_COMMON_PATH/image-yaml/{{ base_image_config[ansible_pkg_mgr] }} \\"},{"line_number":20,"context_line":"    --config-file $TRIPLEO_COMMON_PATH/image-yaml/overcloud-images-{{ tripleo_image_os }}.yaml\""},{"line_number":21,"context_line":"fi"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":5,"id":"7faddb67_97cb0b1d","line":19,"range":{"start_line":19,"start_character":39,"end_line":19,"end_character":72},"in_reply_to":"9fb8cfa7_1392c259","updated":"2019-07-04 10:05:00.000000000","message":"13:05 \u003c marios\u003e zbr: who said about ansible_pkg_mgr? e.g. see http://paste.openstack.org/show/753853/ line 101?","commit_id":"6e996f857f39179b6a5ef8b0ab8a5db786fb0f95"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"ca3a7604e815649c8a29fc9ca542629b685aaaae","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"export ELEMENTS_PATH\u003d$ELEMENTS"},{"line_number":24,"context_line":"export DIB_YUM_REPO_CONF\u003d\"/etc/yum.repos.d/delorean*\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"openstack overcloud image build --image-name {{ tripleo_image_type }} $CONFIG_FILES \u003e {{ workspace }}/build.log 2\u003e {{ workspace }}/build-err.log"},{"line_number":27,"context_line":"RESULT\u003d$?"},{"line_number":28,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":5,"id":"7faddb67_b7d96723","line":25,"updated":"2019-07-04 09:56:59.000000000","message":"also we need to deal with DIB_LOCAL_IMAGE when rhel","commit_id":"6e996f857f39179b6a5ef8b0ab8a5db786fb0f95"},{"author":{"_account_id":9976,"name":"Ronelle Landy","email":"rlandy@redhat.com","username":"rlandy"},"change_message_id":"76380ec7135b87b6267986192dcaf0635578faf0","unresolved":false,"context_lines":[{"line_number":1,"context_line":"set -x"},{"line_number":2,"context_line":"source {{ workspace }}/venv/bin/activate"},{"line_number":3,"context_line":"TRIPLEO_COMMON_PATH\u003d\"{{ openstack_git_root }}/tripleo-common\""},{"line_number":4,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":9,"id":"7faddb67_03e6f617","line":1,"updated":"2019-07-04 15:31:41.000000000","message":"In line with our new goal, this file could use some basic comments.","commit_id":"1df5365c0cb0a96f34d5cd8fffa9a10deb46f00d"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"fc87671d6b94eb6864069a734620928283dca098","unresolved":false,"context_lines":[{"line_number":1,"context_line":"set -x"},{"line_number":2,"context_line":"source {{ workspace }}/venv/bin/activate"},{"line_number":3,"context_line":"TRIPLEO_COMMON_PATH\u003d\"{{ openstack_git_root }}/tripleo-common\""},{"line_number":4,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":9,"id":"7faddb67_94ebfbae","line":1,"in_reply_to":"7faddb67_03e6f617","updated":"2019-07-05 06:36:46.000000000","message":"ack ok fair - i\u0027ve tried to keep this copy/paste from the playbook as much as possible but there have been a couple changes like the dib_rhel_image and base_image_config stuff here so i\u0027ll add some notes","commit_id":"1df5365c0cb0a96f34d5cd8fffa9a10deb46f00d"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"789b2dacafa8fb95182162a1d7d3d6bfd57b18e3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"set -x"},{"line_number":2,"context_line":"source {{ workspace }}/venv/bin/activate"},{"line_number":3,"context_line":"TRIPLEO_COMMON_PATH\u003d\"{{ openstack_git_root }}/tripleo-common\""},{"line_number":4,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":9,"id":"7faddb67_afb7c0d8","line":1,"in_reply_to":"7faddb67_94ebfbae","updated":"2019-07-05 07:51:30.000000000","message":"Done","commit_id":"1df5365c0cb0a96f34d5cd8fffa9a10deb46f00d"}],"roles/build-images/vars/common.yaml":[{"author":{"_account_id":24162,"name":"Sorin Sbârnea","display_name":"zbr","email":"ssbarnea@redhat.com","username":"ssbarnea","status":"do not feed the troll 🥕"},"change_message_id":"7f13d0df23d4cbd2f6d05f70ee90e66cbba1ca82","unresolved":false,"context_lines":[{"line_number":1,"context_line":"workspace: \"{{ ansible_user_dir }}/workspace\""},{"line_number":2,"context_line":"openstack_git_root: \"{{ ansible_user_dir }}/src/opendev.org/openstack\""},{"line_number":3,"context_line":"python_version:"},{"line_number":4,"context_line":"  yum: python"},{"line_number":5,"context_line":"  dnf: python3"},{"line_number":6,"context_line":"base_image_config:"},{"line_number":7,"context_line":"  yum: overcloud-images.yaml"},{"line_number":8,"context_line":"  dnf: overcloud-images-python3.yaml"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"7faddb67_57183380","line":5,"range":{"start_line":3,"start_character":0,"end_line":5,"end_character":14},"updated":"2019-07-04 10:16:23.000000000","message":"python version does not determine the pkg manager.\nfor example r8 may have: no python at all, either py2 or py27 or even both.\n\nPlease detach logic from python.","commit_id":"6e996f857f39179b6a5ef8b0ab8a5db786fb0f95"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"2399415fc32dca3f694186267903c88b044ac42e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"workspace: \"{{ ansible_user_dir }}/workspace\""},{"line_number":2,"context_line":"openstack_git_root: \"{{ ansible_user_dir }}/src/opendev.org/openstack\""},{"line_number":3,"context_line":"python_version:"},{"line_number":4,"context_line":"  yum: python"},{"line_number":5,"context_line":"  dnf: python3"},{"line_number":6,"context_line":"base_image_config:"},{"line_number":7,"context_line":"  yum: overcloud-images.yaml"},{"line_number":8,"context_line":"  dnf: overcloud-images-python3.yaml"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"7faddb67_12916953","line":5,"range":{"start_line":3,"start_character":0,"end_line":5,"end_character":14},"in_reply_to":"7faddb67_57183380","updated":"2019-07-04 10:33:37.000000000","message":"ack","commit_id":"6e996f857f39179b6a5ef8b0ab8a5db786fb0f95"}],"zuul.d/layout.yaml":[{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"573ae8cd863778c29c1fad59e73c7db0340f585c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"9fb8cfa7_251f975b","updated":"2019-07-02 11:35:52.000000000","message":"NO MERGE! just for faster testing just build image jobs","commit_id":"514b21a671d3713994852f25fab6bdf984013d5a"}]}
