)]}'
{"ansible/roles/baremetal/tasks/bootstrap-servers.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"2d5814c3a986d84c9e02b4c8168eae07ba8cd683","unresolved":false,"context_lines":[{"line_number":6,"context_line":"- include_tasks: post-install.yml"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"- include_tasks: configure-containerd-for-zun.yml"},{"line_number":9,"context_line":"  when: containerd_configure_for_zun|bool"}],"source_content_type":"text/x-yaml","patch_set":42,"id":"1f493fa4_bee4710e","line":9,"updated":"2020-04-28 10:20:45.000000000","message":"and inventory_hostname in groups[\u0027zun-cni-daemon\u0027] ?","commit_id":"3f7e74206b336326561b939a2dfaa7276410e4b2"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"9a37a9b2433127431053747b62b45ee8f3987bc2","unresolved":false,"context_lines":[{"line_number":6,"context_line":"- include_tasks: post-install.yml"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"- include_tasks: configure-containerd-for-zun.yml"},{"line_number":9,"context_line":"  when: containerd_configure_for_zun|bool"}],"source_content_type":"text/x-yaml","patch_set":42,"id":"1f493fa4_4a445947","line":9,"in_reply_to":"1f493fa4_bee4710e","updated":"2020-04-30 02:43:54.000000000","message":"Done","commit_id":"3f7e74206b336326561b939a2dfaa7276410e4b2"}],"ansible/roles/baremetal/tasks/configure-containerd-for-zun.yml":[{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"9622670ecb7f208610fef47fd398f07b035b6c93","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    group: \"{{ config_owner_group }}\""},{"line_number":28,"context_line":"  become: True"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"- name: Download CNI plugins tar file"},{"line_number":31,"context_line":"  get_url:"},{"line_number":32,"context_line":"    url: https://github.com/containernetworking/plugins/releases/download/v0.7.1/cni-plugins-amd64-v0.7.1.tgz"},{"line_number":33,"context_line":"    dest: /tmp/cni-plugins-v0.7.1.tgz"},{"line_number":34,"context_line":"  become: True"},{"line_number":35,"context_line":"  when:"},{"line_number":36,"context_line":"    - inventory_hostname in groups[\u0027zun-api\u0027]"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"- name: Extract CNI plugins tar file"},{"line_number":39,"context_line":"  command: tar -C /tmp -xzvf /tmp/cni-plugins-v0.7.1.tgz ./loopback"},{"line_number":40,"context_line":"  become: True"},{"line_number":41,"context_line":"  when:"},{"line_number":42,"context_line":"    - inventory_hostname in groups[\u0027zun-api\u0027]"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"- name: Copy CNI loopback binary"},{"line_number":45,"context_line":"  copy:"},{"line_number":46,"context_line":"    src: /tmp/loopback"},{"line_number":47,"context_line":"    dest: \"{{ cni_bin_dir }}\""},{"line_number":48,"context_line":"    mode: 0755"},{"line_number":49,"context_line":"  become: True"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"- name: Copy zun-cni script"},{"line_number":52,"context_line":"  template:"}],"source_content_type":"text/x-yaml","patch_set":39,"id":"3f4c43b2_b5f860c4","line":49,"range":{"start_line":30,"start_character":0,"end_line":49,"end_character":14},"updated":"2020-04-16 11:31:42.000000000","message":"This is the last pain point. Would not it make sense to have this in the zun-cni-daemon image as well?","commit_id":"7f298cf3f6d9d251c3803e446e3d0491d96d5bf6"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"a36870b2a720189e67c96e394e46205f07b7beee","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    group: \"{{ config_owner_group }}\""},{"line_number":28,"context_line":"  become: True"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"- name: Download CNI plugins tar file"},{"line_number":31,"context_line":"  get_url:"},{"line_number":32,"context_line":"    url: https://github.com/containernetworking/plugins/releases/download/v0.7.1/cni-plugins-amd64-v0.7.1.tgz"},{"line_number":33,"context_line":"    dest: /tmp/cni-plugins-v0.7.1.tgz"},{"line_number":34,"context_line":"  become: True"},{"line_number":35,"context_line":"  when:"},{"line_number":36,"context_line":"    - inventory_hostname in groups[\u0027zun-api\u0027]"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"- name: Extract CNI plugins tar file"},{"line_number":39,"context_line":"  command: tar -C /tmp -xzvf /tmp/cni-plugins-v0.7.1.tgz ./loopback"},{"line_number":40,"context_line":"  become: True"},{"line_number":41,"context_line":"  when:"},{"line_number":42,"context_line":"    - inventory_hostname in groups[\u0027zun-api\u0027]"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"- name: Copy CNI loopback binary"},{"line_number":45,"context_line":"  copy:"},{"line_number":46,"context_line":"    src: /tmp/loopback"},{"line_number":47,"context_line":"    dest: \"{{ cni_bin_dir }}\""},{"line_number":48,"context_line":"    mode: 0755"},{"line_number":49,"context_line":"  become: True"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"- name: Copy zun-cni script"},{"line_number":52,"context_line":"  template:"}],"source_content_type":"text/x-yaml","patch_set":39,"id":"3f4c43b2_ccbd74d9","line":49,"range":{"start_line":30,"start_character":0,"end_line":49,"end_character":14},"in_reply_to":"3f4c43b2_765a374f","updated":"2020-04-20 06:59:00.000000000","message":"Thank you.","commit_id":"7f298cf3f6d9d251c3803e446e3d0491d96d5bf6"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"008dbc6223aba2a162e2558cc6b44bc241f5d3c8","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    group: \"{{ config_owner_group }}\""},{"line_number":28,"context_line":"  become: True"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"- name: Download CNI plugins tar file"},{"line_number":31,"context_line":"  get_url:"},{"line_number":32,"context_line":"    url: https://github.com/containernetworking/plugins/releases/download/v0.7.1/cni-plugins-amd64-v0.7.1.tgz"},{"line_number":33,"context_line":"    dest: /tmp/cni-plugins-v0.7.1.tgz"},{"line_number":34,"context_line":"  become: True"},{"line_number":35,"context_line":"  when:"},{"line_number":36,"context_line":"    - inventory_hostname in groups[\u0027zun-api\u0027]"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"- name: Extract CNI plugins tar file"},{"line_number":39,"context_line":"  command: tar -C /tmp -xzvf /tmp/cni-plugins-v0.7.1.tgz ./loopback"},{"line_number":40,"context_line":"  become: True"},{"line_number":41,"context_line":"  when:"},{"line_number":42,"context_line":"    - inventory_hostname in groups[\u0027zun-api\u0027]"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"- name: Copy CNI loopback binary"},{"line_number":45,"context_line":"  copy:"},{"line_number":46,"context_line":"    src: /tmp/loopback"},{"line_number":47,"context_line":"    dest: \"{{ cni_bin_dir }}\""},{"line_number":48,"context_line":"    mode: 0755"},{"line_number":49,"context_line":"  become: True"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"- name: Copy zun-cni script"},{"line_number":52,"context_line":"  template:"}],"source_content_type":"text/x-yaml","patch_set":39,"id":"3f4c43b2_765a374f","line":49,"range":{"start_line":30,"start_character":0,"end_line":49,"end_character":14},"in_reply_to":"3f4c43b2_b5f860c4","updated":"2020-04-19 02:56:33.000000000","message":"Done","commit_id":"7f298cf3f6d9d251c3803e446e3d0491d96d5bf6"}],"ansible/roles/baremetal/tasks/post-install.yml":[{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"36b8f4bb4cccb97d2a702cacb838a2a183df39c5","unresolved":false,"context_lines":[{"line_number":180,"context_line":""},{"line_number":181,"context_line":"- name: Ensuring CNI config directory exist"},{"line_number":182,"context_line":"  file:"},{"line_number":183,"context_line":"    path: \"/etc/cni/net.d\""},{"line_number":184,"context_line":"    state: \"directory\""},{"line_number":185,"context_line":"    mode: \"0770\""},{"line_number":186,"context_line":"  become: True"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"df33271e_e350b861","line":183,"range":{"start_line":183,"start_character":10,"end_line":183,"end_character":26},"updated":"2020-04-04 17:48:17.000000000","message":"is this path hardcoded somewhere else?","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"bcc629aab77db977336aef4326f5e059aed70192","unresolved":false,"context_lines":[{"line_number":180,"context_line":""},{"line_number":181,"context_line":"- name: Ensuring CNI config directory exist"},{"line_number":182,"context_line":"  file:"},{"line_number":183,"context_line":"    path: \"/etc/cni/net.d\""},{"line_number":184,"context_line":"    state: \"directory\""},{"line_number":185,"context_line":"    mode: \"0770\""},{"line_number":186,"context_line":"  become: True"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"3f4c43b2_76b630dc","line":183,"range":{"start_line":183,"start_character":10,"end_line":183,"end_character":26},"in_reply_to":"df33271e_e350b861","updated":"2020-04-12 17:43:27.000000000","message":"Done","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"36b8f4bb4cccb97d2a702cacb838a2a183df39c5","unresolved":false,"context_lines":[{"line_number":182,"context_line":"  file:"},{"line_number":183,"context_line":"    path: \"/etc/cni/net.d\""},{"line_number":184,"context_line":"    state: \"directory\""},{"line_number":185,"context_line":"    mode: \"0770\""},{"line_number":186,"context_line":"  become: True"},{"line_number":187,"context_line":"  when: containerd_configure_for_zun|bool"},{"line_number":188,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":26,"id":"df33271e_83c56c0d","line":185,"updated":"2020-04-04 17:48:17.000000000","message":"good practice would be to set owner and group as well","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"bcc629aab77db977336aef4326f5e059aed70192","unresolved":false,"context_lines":[{"line_number":182,"context_line":"  file:"},{"line_number":183,"context_line":"    path: \"/etc/cni/net.d\""},{"line_number":184,"context_line":"    state: \"directory\""},{"line_number":185,"context_line":"    mode: \"0770\""},{"line_number":186,"context_line":"  become: True"},{"line_number":187,"context_line":"  when: containerd_configure_for_zun|bool"},{"line_number":188,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":26,"id":"3f4c43b2_b6c71846","line":185,"in_reply_to":"df33271e_83c56c0d","updated":"2020-04-12 17:43:27.000000000","message":"Done","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"36b8f4bb4cccb97d2a702cacb838a2a183df39c5","unresolved":false,"context_lines":[{"line_number":190,"context_line":"  template:"},{"line_number":191,"context_line":"    src: \"10-zun-cni.conf.j2\""},{"line_number":192,"context_line":"    dest: \"/etc/cni/net.d/10-zun-cni.conf\""},{"line_number":193,"context_line":"    mode: \"0660\""},{"line_number":194,"context_line":"  become: True"},{"line_number":195,"context_line":"  when: containerd_configure_for_zun|bool"},{"line_number":196,"context_line":"  register: cni_configured"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"df33271e_63cae81a","line":193,"updated":"2020-04-04 17:48:17.000000000","message":"ditto owner/group","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"bcc629aab77db977336aef4326f5e059aed70192","unresolved":false,"context_lines":[{"line_number":190,"context_line":"  template:"},{"line_number":191,"context_line":"    src: \"10-zun-cni.conf.j2\""},{"line_number":192,"context_line":"    dest: \"/etc/cni/net.d/10-zun-cni.conf\""},{"line_number":193,"context_line":"    mode: \"0660\""},{"line_number":194,"context_line":"  become: True"},{"line_number":195,"context_line":"  when: containerd_configure_for_zun|bool"},{"line_number":196,"context_line":"  register: cni_configured"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"3f4c43b2_16c52c3d","line":193,"in_reply_to":"df33271e_63cae81a","updated":"2020-04-12 17:43:27.000000000","message":"Done","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"36b8f4bb4cccb97d2a702cacb838a2a183df39c5","unresolved":false,"context_lines":[{"line_number":197,"context_line":""},{"line_number":198,"context_line":"- name: Ensuring CNI bin directory exist"},{"line_number":199,"context_line":"  file:"},{"line_number":200,"context_line":"    path: \"/opt/cni/bin\""},{"line_number":201,"context_line":"    state: \"directory\""},{"line_number":202,"context_line":"    mode: \"0770\""},{"line_number":203,"context_line":"  become: True"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"df33271e_c3cf7427","line":200,"range":{"start_line":200,"start_character":10,"end_line":200,"end_character":24},"updated":"2020-04-04 17:48:17.000000000","message":"ditto: hardcoded?","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"bcc629aab77db977336aef4326f5e059aed70192","unresolved":false,"context_lines":[{"line_number":197,"context_line":""},{"line_number":198,"context_line":"- name: Ensuring CNI bin directory exist"},{"line_number":199,"context_line":"  file:"},{"line_number":200,"context_line":"    path: \"/opt/cni/bin\""},{"line_number":201,"context_line":"    state: \"directory\""},{"line_number":202,"context_line":"    mode: \"0770\""},{"line_number":203,"context_line":"  become: True"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"3f4c43b2_56dcd417","line":200,"range":{"start_line":200,"start_character":10,"end_line":200,"end_character":24},"in_reply_to":"df33271e_c3cf7427","updated":"2020-04-12 17:43:27.000000000","message":"Done","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"36b8f4bb4cccb97d2a702cacb838a2a183df39c5","unresolved":false,"context_lines":[{"line_number":199,"context_line":"  file:"},{"line_number":200,"context_line":"    path: \"/opt/cni/bin\""},{"line_number":201,"context_line":"    state: \"directory\""},{"line_number":202,"context_line":"    mode: \"0770\""},{"line_number":203,"context_line":"  become: True"},{"line_number":204,"context_line":"  when: containerd_configure_for_zun|bool"},{"line_number":205,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":26,"id":"df33271e_a3d4f0be","line":202,"updated":"2020-04-04 17:48:17.000000000","message":"ditto: o/g","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"bcc629aab77db977336aef4326f5e059aed70192","unresolved":false,"context_lines":[{"line_number":199,"context_line":"  file:"},{"line_number":200,"context_line":"    path: \"/opt/cni/bin\""},{"line_number":201,"context_line":"    state: \"directory\""},{"line_number":202,"context_line":"    mode: \"0770\""},{"line_number":203,"context_line":"  become: True"},{"line_number":204,"context_line":"  when: containerd_configure_for_zun|bool"},{"line_number":205,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":26,"id":"3f4c43b2_36e148d2","line":202,"in_reply_to":"df33271e_a3d4f0be","updated":"2020-04-12 17:43:27.000000000","message":"Done","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"36b8f4bb4cccb97d2a702cacb838a2a183df39c5","unresolved":false,"context_lines":[{"line_number":204,"context_line":"  when: containerd_configure_for_zun|bool"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"- name: Install CNI plugins"},{"line_number":207,"context_line":"  shell:"},{"line_number":208,"context_line":"    cmd: |"},{"line_number":209,"context_line":"      curl -sSL -o /tmp/cni-plugins-v0.7.1.tgz https://github.com/containernetworking/plugins/releases/download/v0.7.1/cni-plugins-amd64-v0.7.1.tgz"},{"line_number":210,"context_line":"      tar -C /opt/cni/bin -xzvf /tmp/cni-plugins-v0.7.1.tgz ./loopback"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"df33271e_03d95cf3","line":207,"range":{"start_line":207,"start_character":2,"end_line":207,"end_character":7},"updated":"2020-04-04 17:48:17.000000000","message":"split over multiple commands than shell","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"bcc629aab77db977336aef4326f5e059aed70192","unresolved":false,"context_lines":[{"line_number":204,"context_line":"  when: containerd_configure_for_zun|bool"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"- name: Install CNI plugins"},{"line_number":207,"context_line":"  shell:"},{"line_number":208,"context_line":"    cmd: |"},{"line_number":209,"context_line":"      curl -sSL -o /tmp/cni-plugins-v0.7.1.tgz https://github.com/containernetworking/plugins/releases/download/v0.7.1/cni-plugins-amd64-v0.7.1.tgz"},{"line_number":210,"context_line":"      tar -C /opt/cni/bin -xzvf /tmp/cni-plugins-v0.7.1.tgz ./loopback"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"3f4c43b2_96e65ce8","line":207,"range":{"start_line":207,"start_character":2,"end_line":207,"end_character":7},"in_reply_to":"df33271e_03d95cf3","updated":"2020-04-12 17:43:27.000000000","message":"Done","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"36b8f4bb4cccb97d2a702cacb838a2a183df39c5","unresolved":false,"context_lines":[{"line_number":206,"context_line":"- name: Install CNI plugins"},{"line_number":207,"context_line":"  shell:"},{"line_number":208,"context_line":"    cmd: |"},{"line_number":209,"context_line":"      curl -sSL -o /tmp/cni-plugins-v0.7.1.tgz https://github.com/containernetworking/plugins/releases/download/v0.7.1/cni-plugins-amd64-v0.7.1.tgz"},{"line_number":210,"context_line":"      tar -C /opt/cni/bin -xzvf /tmp/cni-plugins-v0.7.1.tgz ./loopback"},{"line_number":211,"context_line":"      rm -f /tmp/cni-plugins-v0.7.1.tgz"},{"line_number":212,"context_line":"      cp $(which zun-cni) /opt/cni/bin"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"df33271e_e3d558b9","line":209,"range":{"start_line":209,"start_character":47,"end_line":209,"end_character":147},"updated":"2020-04-04 17:48:17.000000000","message":"this is problematic for both CI and airgapped environments; also, we should *not* download it from each target compute host as it is the same file we should serve from the deployment host","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"bcc629aab77db977336aef4326f5e059aed70192","unresolved":false,"context_lines":[{"line_number":206,"context_line":"- name: Install CNI plugins"},{"line_number":207,"context_line":"  shell:"},{"line_number":208,"context_line":"    cmd: |"},{"line_number":209,"context_line":"      curl -sSL -o /tmp/cni-plugins-v0.7.1.tgz https://github.com/containernetworking/plugins/releases/download/v0.7.1/cni-plugins-amd64-v0.7.1.tgz"},{"line_number":210,"context_line":"      tar -C /opt/cni/bin -xzvf /tmp/cni-plugins-v0.7.1.tgz ./loopback"},{"line_number":211,"context_line":"      rm -f /tmp/cni-plugins-v0.7.1.tgz"},{"line_number":212,"context_line":"      cp $(which zun-cni) /opt/cni/bin"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"3f4c43b2_b6cc3862","line":209,"range":{"start_line":209,"start_character":47,"end_line":209,"end_character":147},"in_reply_to":"df33271e_e3d558b9","updated":"2020-04-12 17:43:27.000000000","message":"Done","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"36b8f4bb4cccb97d2a702cacb838a2a183df39c5","unresolved":false,"context_lines":[{"line_number":209,"context_line":"      curl -sSL -o /tmp/cni-plugins-v0.7.1.tgz https://github.com/containernetworking/plugins/releases/download/v0.7.1/cni-plugins-amd64-v0.7.1.tgz"},{"line_number":210,"context_line":"      tar -C /opt/cni/bin -xzvf /tmp/cni-plugins-v0.7.1.tgz ./loopback"},{"line_number":211,"context_line":"      rm -f /tmp/cni-plugins-v0.7.1.tgz"},{"line_number":212,"context_line":"      cp $(which zun-cni) /opt/cni/bin"},{"line_number":213,"context_line":"  args:"},{"line_number":214,"context_line":"    executable: /bin/bash"},{"line_number":215,"context_line":"  become: True"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"df33271e_a3ed108d","line":212,"range":{"start_line":212,"start_character":11,"end_line":212,"end_character":24},"updated":"2020-04-04 17:48:17.000000000","message":"installing zun on host feels really against the spirit of k-a; moreover, zun versions should really align so it would be best if we copied this file from the container - we could also do some dance with bind mounts - either way the current design just won\u0027t do :/","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"bcc629aab77db977336aef4326f5e059aed70192","unresolved":false,"context_lines":[{"line_number":209,"context_line":"      curl -sSL -o /tmp/cni-plugins-v0.7.1.tgz https://github.com/containernetworking/plugins/releases/download/v0.7.1/cni-plugins-amd64-v0.7.1.tgz"},{"line_number":210,"context_line":"      tar -C /opt/cni/bin -xzvf /tmp/cni-plugins-v0.7.1.tgz ./loopback"},{"line_number":211,"context_line":"      rm -f /tmp/cni-plugins-v0.7.1.tgz"},{"line_number":212,"context_line":"      cp $(which zun-cni) /opt/cni/bin"},{"line_number":213,"context_line":"  args:"},{"line_number":214,"context_line":"    executable: /bin/bash"},{"line_number":215,"context_line":"  become: True"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"3f4c43b2_16da4c16","line":212,"range":{"start_line":212,"start_character":11,"end_line":212,"end_character":24},"in_reply_to":"df33271e_3959075a","updated":"2020-04-12 17:43:27.000000000","message":"Done","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"a70d54628bd17cdcc797929975d27fd0f8d487a1","unresolved":false,"context_lines":[{"line_number":209,"context_line":"      curl -sSL -o /tmp/cni-plugins-v0.7.1.tgz https://github.com/containernetworking/plugins/releases/download/v0.7.1/cni-plugins-amd64-v0.7.1.tgz"},{"line_number":210,"context_line":"      tar -C /opt/cni/bin -xzvf /tmp/cni-plugins-v0.7.1.tgz ./loopback"},{"line_number":211,"context_line":"      rm -f /tmp/cni-plugins-v0.7.1.tgz"},{"line_number":212,"context_line":"      cp $(which zun-cni) /opt/cni/bin"},{"line_number":213,"context_line":"  args:"},{"line_number":214,"context_line":"    executable: /bin/bash"},{"line_number":215,"context_line":"  become: True"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"df33271e_3959075a","line":212,"range":{"start_line":212,"start_character":11,"end_line":212,"end_character":24},"in_reply_to":"df33271e_43cb3ba4","updated":"2020-04-07 07:49:23.000000000","message":"Hmm, but the execution should happen in the container, no? I see I missed with my hints a bit. What about proxying so that the executable on host just calls the real one via docker exec?","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"ae95cf339aeedd879c276f540ebb459681b912d7","unresolved":false,"context_lines":[{"line_number":209,"context_line":"      curl -sSL -o /tmp/cni-plugins-v0.7.1.tgz https://github.com/containernetworking/plugins/releases/download/v0.7.1/cni-plugins-amd64-v0.7.1.tgz"},{"line_number":210,"context_line":"      tar -C /opt/cni/bin -xzvf /tmp/cni-plugins-v0.7.1.tgz ./loopback"},{"line_number":211,"context_line":"      rm -f /tmp/cni-plugins-v0.7.1.tgz"},{"line_number":212,"context_line":"      cp $(which zun-cni) /opt/cni/bin"},{"line_number":213,"context_line":"  args:"},{"line_number":214,"context_line":"    executable: /bin/bash"},{"line_number":215,"context_line":"  become: True"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"df33271e_43cb3ba4","line":212,"range":{"start_line":212,"start_character":11,"end_line":212,"end_character":24},"in_reply_to":"df33271e_a3ed108d","updated":"2020-04-07 03:02:17.000000000","message":"Either approach won\u0027t work, because the script zun-cni is using /var/lib/kolla/venv/bin/python (the python path inside the container) but the host\u0027s python path is different.","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"36b8f4bb4cccb97d2a702cacb838a2a183df39c5","unresolved":false,"context_lines":[{"line_number":215,"context_line":"  become: True"},{"line_number":216,"context_line":"  when: containerd_configure_for_zun|bool"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"- name: Ensuring containerd config directory exist"},{"line_number":219,"context_line":"  file:"},{"line_number":220,"context_line":"    path: \"/etc/containerd\""},{"line_number":221,"context_line":"    state: \"directory\""}],"source_content_type":"text/x-yaml","patch_set":26,"id":"df33271e_2372a012","line":218,"updated":"2020-04-04 17:48:17.000000000","message":"should not it exist already? I believe it does","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"bcc629aab77db977336aef4326f5e059aed70192","unresolved":false,"context_lines":[{"line_number":215,"context_line":"  become: True"},{"line_number":216,"context_line":"  when: containerd_configure_for_zun|bool"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"- name: Ensuring containerd config directory exist"},{"line_number":219,"context_line":"  file:"},{"line_number":220,"context_line":"    path: \"/etc/containerd\""},{"line_number":221,"context_line":"    state: \"directory\""}],"source_content_type":"text/x-yaml","patch_set":26,"id":"3f4c43b2_f6d6c0f1","line":218,"in_reply_to":"df33271e_2372a012","updated":"2020-04-12 17:43:27.000000000","message":"Done","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"36b8f4bb4cccb97d2a702cacb838a2a183df39c5","unresolved":false,"context_lines":[{"line_number":225,"context_line":""},{"line_number":226,"context_line":"# NOTE(hongbin): 42463 is the static group id of the zun user in the"},{"line_number":227,"context_line":"# Zun image. We expect users to avoid customizing this value on building"},{"line_number":228,"context_line":"# the Zun images. Otherwise, things will break."},{"line_number":229,"context_line":"- name: Generate containerd config"},{"line_number":230,"context_line":"  shell:"},{"line_number":231,"context_line":"    cmd: |"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"df33271e_c38134c6","line":228,"updated":"2020-04-04 17:48:17.000000000","message":"if below is implemented, then this note is void","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"bcc629aab77db977336aef4326f5e059aed70192","unresolved":false,"context_lines":[{"line_number":225,"context_line":""},{"line_number":226,"context_line":"# NOTE(hongbin): 42463 is the static group id of the zun user in the"},{"line_number":227,"context_line":"# Zun image. We expect users to avoid customizing this value on building"},{"line_number":228,"context_line":"# the Zun images. Otherwise, things will break."},{"line_number":229,"context_line":"- name: Generate containerd config"},{"line_number":230,"context_line":"  shell:"},{"line_number":231,"context_line":"    cmd: |"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"3f4c43b2_5605f479","line":228,"in_reply_to":"df33271e_c38134c6","updated":"2020-04-12 17:43:27.000000000","message":"Done","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"36b8f4bb4cccb97d2a702cacb838a2a183df39c5","unresolved":false,"context_lines":[{"line_number":227,"context_line":"# Zun image. We expect users to avoid customizing this value on building"},{"line_number":228,"context_line":"# the Zun images. Otherwise, things will break."},{"line_number":229,"context_line":"- name: Generate containerd config"},{"line_number":230,"context_line":"  shell:"},{"line_number":231,"context_line":"    cmd: |"},{"line_number":232,"context_line":"      containerd config default \u003e /etc/containerd/config.toml"},{"line_number":233,"context_line":"      gid\u003d42463"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"df33271e_036b1c1f","line":230,"range":{"start_line":230,"start_character":2,"end_line":230,"end_character":7},"updated":"2020-04-04 17:48:17.000000000","message":"split this over separate ansible tasks without using shell at all - then it\u0027s more manageable","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"bcc629aab77db977336aef4326f5e059aed70192","unresolved":false,"context_lines":[{"line_number":227,"context_line":"# Zun image. We expect users to avoid customizing this value on building"},{"line_number":228,"context_line":"# the Zun images. Otherwise, things will break."},{"line_number":229,"context_line":"- name: Generate containerd config"},{"line_number":230,"context_line":"  shell:"},{"line_number":231,"context_line":"    cmd: |"},{"line_number":232,"context_line":"      containerd config default \u003e /etc/containerd/config.toml"},{"line_number":233,"context_line":"      gid\u003d42463"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"3f4c43b2_360ae889","line":230,"range":{"start_line":230,"start_character":2,"end_line":230,"end_character":7},"in_reply_to":"df33271e_036b1c1f","updated":"2020-04-12 17:43:27.000000000","message":"Done","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"36b8f4bb4cccb97d2a702cacb838a2a183df39c5","unresolved":false,"context_lines":[{"line_number":229,"context_line":"- name: Generate containerd config"},{"line_number":230,"context_line":"  shell:"},{"line_number":231,"context_line":"    cmd: |"},{"line_number":232,"context_line":"      containerd config default \u003e /etc/containerd/config.toml"},{"line_number":233,"context_line":"      gid\u003d42463"},{"line_number":234,"context_line":"      sed -i \"s/gid \u003d [0-9]*/gid \u003d ${gid}/\" /etc/containerd/config.toml"},{"line_number":235,"context_line":"  args:"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"df33271e_c35ad481","line":232,"range":{"start_line":232,"start_character":6,"end_line":232,"end_character":61},"updated":"2020-04-04 17:48:17.000000000","message":"ditto from \u0027exists\u0027 above - I think this one also exists; we might be better off templating it for the user, similarly to how we template docker config","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"bcc629aab77db977336aef4326f5e059aed70192","unresolved":false,"context_lines":[{"line_number":229,"context_line":"- name: Generate containerd config"},{"line_number":230,"context_line":"  shell:"},{"line_number":231,"context_line":"    cmd: |"},{"line_number":232,"context_line":"      containerd config default \u003e /etc/containerd/config.toml"},{"line_number":233,"context_line":"      gid\u003d42463"},{"line_number":234,"context_line":"      sed -i \"s/gid \u003d [0-9]*/gid \u003d ${gid}/\" /etc/containerd/config.toml"},{"line_number":235,"context_line":"  args:"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"3f4c43b2_7604707c","line":232,"range":{"start_line":232,"start_character":6,"end_line":232,"end_character":61},"in_reply_to":"df33271e_c35ad481","updated":"2020-04-12 17:43:27.000000000","message":"Done","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"36b8f4bb4cccb97d2a702cacb838a2a183df39c5","unresolved":false,"context_lines":[{"line_number":230,"context_line":"  shell:"},{"line_number":231,"context_line":"    cmd: |"},{"line_number":232,"context_line":"      containerd config default \u003e /etc/containerd/config.toml"},{"line_number":233,"context_line":"      gid\u003d42463"},{"line_number":234,"context_line":"      sed -i \"s/gid \u003d [0-9]*/gid \u003d ${gid}/\" /etc/containerd/config.toml"},{"line_number":235,"context_line":"  args:"},{"line_number":236,"context_line":"    executable: /bin/bash"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"df33271e_e339d83f","line":233,"range":{"start_line":233,"start_character":10,"end_line":233,"end_character":15},"updated":"2020-04-04 17:48:17.000000000","message":"should just use variable for that","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"bcc629aab77db977336aef4326f5e059aed70192","unresolved":false,"context_lines":[{"line_number":230,"context_line":"  shell:"},{"line_number":231,"context_line":"    cmd: |"},{"line_number":232,"context_line":"      containerd config default \u003e /etc/containerd/config.toml"},{"line_number":233,"context_line":"      gid\u003d42463"},{"line_number":234,"context_line":"      sed -i \"s/gid \u003d [0-9]*/gid \u003d ${gid}/\" /etc/containerd/config.toml"},{"line_number":235,"context_line":"  args:"},{"line_number":236,"context_line":"    executable: /bin/bash"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"3f4c43b2_d6f8e47d","line":233,"range":{"start_line":233,"start_character":10,"end_line":233,"end_character":15},"in_reply_to":"df33271e_e339d83f","updated":"2020-04-12 17:43:27.000000000","message":"Done","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"36b8f4bb4cccb97d2a702cacb838a2a183df39c5","unresolved":false,"context_lines":[{"line_number":231,"context_line":"    cmd: |"},{"line_number":232,"context_line":"      containerd config default \u003e /etc/containerd/config.toml"},{"line_number":233,"context_line":"      gid\u003d42463"},{"line_number":234,"context_line":"      sed -i \"s/gid \u003d [0-9]*/gid \u003d ${gid}/\" /etc/containerd/config.toml"},{"line_number":235,"context_line":"  args:"},{"line_number":236,"context_line":"    executable: /bin/bash"},{"line_number":237,"context_line":"  become: True"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"df33271e_83128cb3","line":234,"updated":"2020-04-04 17:48:17.000000000","message":"must they share group to work? what is the dependency?","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"bcc629aab77db977336aef4326f5e059aed70192","unresolved":false,"context_lines":[{"line_number":231,"context_line":"    cmd: |"},{"line_number":232,"context_line":"      containerd config default \u003e /etc/containerd/config.toml"},{"line_number":233,"context_line":"      gid\u003d42463"},{"line_number":234,"context_line":"      sed -i \"s/gid \u003d [0-9]*/gid \u003d ${gid}/\" /etc/containerd/config.toml"},{"line_number":235,"context_line":"  args:"},{"line_number":236,"context_line":"    executable: /bin/bash"},{"line_number":237,"context_line":"  become: True"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"3f4c43b2_16f36ca0","line":234,"in_reply_to":"df33271e_83128cb3","updated":"2020-04-12 17:43:27.000000000","message":"The daemon process inside the zun_cni_daemon container needs to access the containerd\u0027s socket. Therefore, we grant permission to the group inside the container.","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"36b8f4bb4cccb97d2a702cacb838a2a183df39c5","unresolved":false,"context_lines":[{"line_number":244,"context_line":"    state: restarted"},{"line_number":245,"context_line":"  become: True"},{"line_number":246,"context_line":"  when: cni_configured.changed or containerd_configured.changed"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"- name: Stop time service"},{"line_number":249,"context_line":"  service:"},{"line_number":250,"context_line":"    name: ntp"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"df33271e_231d80bd","line":247,"updated":"2020-04-04 17:48:17.000000000","message":"let\u0027s move all these tasks to a separate file like configure-containerd-for-zun-cni.yml and include it here based on this containerd_configure_for_zun | bool condition (removing it from each other task)","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"bcc629aab77db977336aef4326f5e059aed70192","unresolved":false,"context_lines":[{"line_number":244,"context_line":"    state: restarted"},{"line_number":245,"context_line":"  become: True"},{"line_number":246,"context_line":"  when: cni_configured.changed or containerd_configured.changed"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"- name: Stop time service"},{"line_number":249,"context_line":"  service:"},{"line_number":250,"context_line":"    name: ntp"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"3f4c43b2_f6efe0ad","line":247,"in_reply_to":"df33271e_231d80bd","updated":"2020-04-12 17:43:27.000000000","message":"Done","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"}],"ansible/roles/baremetal/templates/containerd_config.toml.j2":[{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"a70d54628bd17cdcc797929975d27fd0f8d487a1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":29,"id":"df33271e_f9231fbd","line":78,"updated":"2020-04-07 07:49:23.000000000","message":"I think it\u0027s a bit too much to reprovide all the defaults. Let\u0027s just provide the relevant CNI bits, containerd should know the rest.","commit_id":"0bc9930d7b0f82438b1e57c8e253fc0dbd74d55f"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"93fa33a1da1e78b204b4d7d5f01dd9b98855ed34","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":29,"id":"3f4c43b2_1621acfc","line":78,"in_reply_to":"df33271e_f9231fbd","updated":"2020-04-12 17:45:01.000000000","message":"Done","commit_id":"0bc9930d7b0f82438b1e57c8e253fc0dbd74d55f"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"eae1f9b698c0e7a8a7f28e65ab5dccc4923df5ed","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[grpc]"},{"line_number":2,"context_line":"  gid \u003d {{ containerd_grpc_gid }}"}],"source_content_type":"text/x-jinja2","patch_set":42,"id":"3f4c43b2_7872164b","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":33},"updated":"2020-04-20 12:21:09.000000000","message":"I\u0027m not sure exactly what this is doing, but it seems quite invasive, and breaking isolation. Is it not possible to add the zun user to a group or something?","commit_id":"3f7e74206b336326561b939a2dfaa7276410e4b2"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"f588e6fe2dab9b3b51bb67d4f540060abfaf2df4","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[grpc]"},{"line_number":2,"context_line":"  gid \u003d {{ containerd_grpc_gid }}"}],"source_content_type":"text/x-jinja2","patch_set":42,"id":"1f493fa4_4fc6e669","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":33},"in_reply_to":"1f493fa4_01767cd9","updated":"2020-04-21 18:00:33.000000000","message":"Rethinking this, I did not get why the compute approach with Docker wouldn\u0027t work here. We would be setting this to a locally-relevant group id and reuse inside the container so that it can access the socket. containerd would not need to restart for kernel to pick it up.","commit_id":"3f7e74206b336326561b939a2dfaa7276410e4b2"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"9486fc310f56b61f7aca940348a5f8312ed0deff","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[grpc]"},{"line_number":2,"context_line":"  gid \u003d {{ containerd_grpc_gid }}"}],"source_content_type":"text/x-jinja2","patch_set":42,"id":"1f493fa4_29fb0d47","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":33},"in_reply_to":"1f493fa4_1eaac56f","updated":"2020-04-28 12:18:29.000000000","message":"++, but we don\u0027t remap root uid/gid, and no need for pid_mode\u003dhost (hence why this wokrs in the first place). I thought you wanted to use a real local group.","commit_id":"3f7e74206b336326561b939a2dfaa7276410e4b2"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"9a37a9b2433127431053747b62b45ee8f3987bc2","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[grpc]"},{"line_number":2,"context_line":"  gid \u003d {{ containerd_grpc_gid }}"}],"source_content_type":"text/x-jinja2","patch_set":42,"id":"1f493fa4_ea6e05c7","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":33},"in_reply_to":"1f493fa4_1eaac56f","updated":"2020-04-30 02:43:54.000000000","message":"verifying this approach","commit_id":"3f7e74206b336326561b939a2dfaa7276410e4b2"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"0aef1aed05b1bec57adcb004de5c2c43978d3581","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[grpc]"},{"line_number":2,"context_line":"  gid \u003d {{ containerd_grpc_gid }}"}],"source_content_type":"text/x-jinja2","patch_set":42,"id":"1f493fa4_ea21a0a1","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":33},"in_reply_to":"1f493fa4_4fc6e669","updated":"2020-04-21 18:30:59.000000000","message":"If you change the docker\u0027s api_url (https://github.com/openstack/kolla-ansible/blob/master/ansible/roles/zun/templates/zun.conf.j2#L116) to \u0027unix:///var/run/docker.sock\u0027, you will find that the docker doesn\u0027t work either (unless you restart the docker daemon after).","commit_id":"3f7e74206b336326561b939a2dfaa7276410e4b2"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"2d5814c3a986d84c9e02b4c8168eae07ba8cd683","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[grpc]"},{"line_number":2,"context_line":"  gid \u003d {{ containerd_grpc_gid }}"}],"source_content_type":"text/x-jinja2","patch_set":42,"id":"1f493fa4_1eaac56f","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":33},"in_reply_to":"1f493fa4_578d7979","updated":"2020-04-28 10:20:45.000000000","message":"I\u0027m still not sure exactly what\u0027s going on under the hood, but I\u0027d guess that zun-compute is interacting with the containerd grpc socket in /run/containerd/. From https://github.com/containerd/containerd/blob/master/docs/man/containerd-config.toml.5.md, the default ownership is root/root. As a container you\u0027d need pid_mode\u003dhost (and sudo in the container) to get to real uid 0.\n\nWe can go with the approach you have here, since it only affects zun.","commit_id":"3f7e74206b336326561b939a2dfaa7276410e4b2"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"31b39b572ef26603ecd5252c9cff2b39d836200c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[grpc]"},{"line_number":2,"context_line":"  gid \u003d {{ containerd_grpc_gid }}"}],"source_content_type":"text/x-jinja2","patch_set":42,"id":"1f493fa4_578d7979","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":33},"in_reply_to":"1f493fa4_ea21a0a1","updated":"2020-04-26 16:48:28.000000000","message":"I actually spent weeks for finding a work around for this issue. However, I couldn\u0027t find a really \"better\" solution. If anyone can find a good alternative approach, please point it out.","commit_id":"3f7e74206b336326561b939a2dfaa7276410e4b2"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"b6d20a2792a80ad70af4c61730c9415288e55f40","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[grpc]"},{"line_number":2,"context_line":"  gid \u003d {{ containerd_grpc_gid }}"}],"source_content_type":"text/x-jinja2","patch_set":42,"id":"3f4c43b2_a4ee38b1","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":33},"in_reply_to":"3f4c43b2_2487c811","updated":"2020-04-20 14:14:47.000000000","message":"But most environments will not have the above config, so will need to restart containerd to add it.","commit_id":"3f7e74206b336326561b939a2dfaa7276410e4b2"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"866f4f5711b6a8bdca11c342e8abb4ce7632d28a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[grpc]"},{"line_number":2,"context_line":"  gid \u003d {{ containerd_grpc_gid }}"}],"source_content_type":"text/x-jinja2","patch_set":42,"id":"3f4c43b2_047bacf4","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":33},"in_reply_to":"3f4c43b2_2487c811","updated":"2020-04-20 14:17:33.000000000","message":"The trick is that the zun user doesn\u0027t exist until the zun containers are deployed. After that, we can add zun user a a group. Then, restart containerd. Therefore, all containers are disrupted.","commit_id":"3f7e74206b336326561b939a2dfaa7276410e4b2"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"7c511ae807bfbe8b800f02125ff1fdfd1e32a25d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[grpc]"},{"line_number":2,"context_line":"  gid \u003d {{ containerd_grpc_gid }}"}],"source_content_type":"text/x-jinja2","patch_set":42,"id":"3f4c43b2_c7c38637","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":33},"in_reply_to":"3f4c43b2_275d0ae9","updated":"2020-04-20 14:43:51.000000000","message":"I think Mark meant existing deployments, not new.","commit_id":"3f7e74206b336326561b939a2dfaa7276410e4b2"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"e5f6ab19fbd3064d792e8c912fcd1d595b15917c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[grpc]"},{"line_number":2,"context_line":"  gid \u003d {{ containerd_grpc_gid }}"}],"source_content_type":"text/x-jinja2","patch_set":42,"id":"3f4c43b2_c48f0473","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":33},"in_reply_to":"3f4c43b2_64ad50e8","updated":"2020-04-20 13:49:04.000000000","message":"But you need to restart containerd to pick up this configuration.","commit_id":"3f7e74206b336326561b939a2dfaa7276410e4b2"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"af03d0951156107e2c2e600f6045b1e945a0dc8a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[grpc]"},{"line_number":2,"context_line":"  gid \u003d {{ containerd_grpc_gid }}"}],"source_content_type":"text/x-jinja2","patch_set":42,"id":"1f493fa4_01767cd9","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":33},"in_reply_to":"3f4c43b2_72422e40","updated":"2020-04-21 14:06:13.000000000","message":"Folks,\n\nPlease let me know how to proceed with this. If there is an alternative approach that can work, just let me know how to do it.","commit_id":"3f7e74206b336326561b939a2dfaa7276410e4b2"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"58ea5f0fcbb7ddfe073c16316c427925fc269c73","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[grpc]"},{"line_number":2,"context_line":"  gid \u003d {{ containerd_grpc_gid }}"}],"source_content_type":"text/x-jinja2","patch_set":42,"id":"3f4c43b2_64ad50e8","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":33},"in_reply_to":"3f4c43b2_7872164b","updated":"2020-04-20 13:45:35.000000000","message":"If we add zun user to a group like this: https://github.com/openstack/kolla/blob/master/docker/zun/zun-compute/extend_start.sh , it requires a restart of containerd to pick up the permission. A containerd restart will disrupt all the containers in docker, which is not desirable.","commit_id":"3f7e74206b336326561b939a2dfaa7276410e4b2"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"8eaee93a98d98ee721e0d7c5db54c8792d91501b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[grpc]"},{"line_number":2,"context_line":"  gid \u003d {{ containerd_grpc_gid }}"}],"source_content_type":"text/x-jinja2","patch_set":42,"id":"3f4c43b2_275d0ae9","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":33},"in_reply_to":"3f4c43b2_a4ee38b1","updated":"2020-04-20 14:35:37.000000000","message":"We can add it and restart containerd when all the other containers are not deployed yet, but we cannot add it and restart when all the other containers are deployed.\n\nHowever, if we want to add the specific user \"zun\", we need to wait for the zun containers are deployed so this user is there. At this stage, all the other containers are deployed. If we restart containerd at this time, it will hit the problem.","commit_id":"3f7e74206b336326561b939a2dfaa7276410e4b2"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"bad32f8e32face1ff84f84532dbf57ae17e2256a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[grpc]"},{"line_number":2,"context_line":"  gid \u003d {{ containerd_grpc_gid }}"}],"source_content_type":"text/x-jinja2","patch_set":42,"id":"3f4c43b2_2487c811","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":33},"in_reply_to":"3f4c43b2_c48f0473","updated":"2020-04-20 14:07:46.000000000","message":"Right. We restart containerd on server bootstrap stage in here, which is OK. We get into problem if we restart containerd when all the containers are deployed.","commit_id":"3f7e74206b336326561b939a2dfaa7276410e4b2"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"c0c75a0f3c15fa37f9ecce0536a185d051092d66","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[grpc]"},{"line_number":2,"context_line":"  gid \u003d {{ containerd_grpc_gid }}"}],"source_content_type":"text/x-jinja2","patch_set":42,"id":"3f4c43b2_e76962f9","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":33},"in_reply_to":"3f4c43b2_c7c38637","updated":"2020-04-20 14:52:01.000000000","message":"For one, we could limit this containerd dance to hosts deploying zun-cni-daemon container. And also add this restart fact to docs (but this is of bootstrap in general I think, it can be disruptive for other reasons).","commit_id":"3f7e74206b336326561b939a2dfaa7276410e4b2"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"f75f2b03629dd56bb20bc0e639df9723abc75b2f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[grpc]"},{"line_number":2,"context_line":"  gid \u003d {{ containerd_grpc_gid }}"}],"source_content_type":"text/x-jinja2","patch_set":42,"id":"3f4c43b2_72422e40","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":33},"in_reply_to":"3f4c43b2_e76962f9","updated":"2020-04-20 14:57:27.000000000","message":"Right now, kolla-ansible containers cannot tolerate a restart, because restarting containerd will change all the containers from \"Running\" to \"Stopped\". There might be other effects as well. We should avoid such restart unless it is necessary.","commit_id":"3f7e74206b336326561b939a2dfaa7276410e4b2"}],"ansible/roles/zun/defaults/main.yml":[{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"36b8f4bb4cccb97d2a702cacb838a2a183df39c5","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    group: zun-cni-daemon"},{"line_number":52,"context_line":"    enabled: true"},{"line_number":53,"context_line":"    image: \"{{ zun_cni_daemon_image_full }}\""},{"line_number":54,"context_line":"    privileged: True"},{"line_number":55,"context_line":"    cap_add:"},{"line_number":56,"context_line":"      - NET_ADMIN"},{"line_number":57,"context_line":"      - SYS_ADMIN"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"df33271e_4391a4f1","line":54,"range":{"start_line":54,"start_character":4,"end_line":54,"end_character":20},"updated":"2020-04-04 17:48:17.000000000","message":"is it really? I see you are adding specific caps below, we can drop this if they are enough or drop them if not and rely just on privileged","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"bcc629aab77db977336aef4326f5e059aed70192","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    group: zun-cni-daemon"},{"line_number":52,"context_line":"    enabled: true"},{"line_number":53,"context_line":"    image: \"{{ zun_cni_daemon_image_full }}\""},{"line_number":54,"context_line":"    privileged: True"},{"line_number":55,"context_line":"    cap_add:"},{"line_number":56,"context_line":"      - NET_ADMIN"},{"line_number":57,"context_line":"      - SYS_ADMIN"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"3f4c43b2_562a14e7","line":54,"range":{"start_line":54,"start_character":4,"end_line":54,"end_character":20},"in_reply_to":"df33271e_4391a4f1","updated":"2020-04-12 17:43:27.000000000","message":"Done","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"608c3d040f468a6a4eded5eccb94fba83820cf47","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    group: zun-cni-daemon"},{"line_number":52,"context_line":"    enabled: true"},{"line_number":53,"context_line":"    image: \"{{ zun_cni_daemon_image_full }}\""},{"line_number":54,"context_line":"    privileged: True"},{"line_number":55,"context_line":"    cap_add:"},{"line_number":56,"context_line":"      - NET_ADMIN"},{"line_number":57,"context_line":"      - SYS_ADMIN"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"7f423b7e_b2d8c87f","line":54,"range":{"start_line":54,"start_character":4,"end_line":54,"end_character":20},"in_reply_to":"df33271e_4391a4f1","updated":"2020-04-11 00:20:32.000000000","message":"I got an exception by dropping privileged\u003dTrue. Couldn\u0027t figure out why at this moment. Will proceed to drop caps instead.\n\n\n2020-04-11 00:14:12.089 51 ERROR os_vif [-] Failed to plug vif VIFBridge(active\u003dFalse,address\u003dfa:16:3e:42:8a:c7,bridge_name\u003d\u0027qbr086dbdf7-d6\u0027,has_traffic_filtering\u003dTrue,id\u003d086dbdf7-d684-4a9d-af1e-6b2aadb2e9fb,network\u003dNetwork(75dcf5d4-164e-4ed3-88e7-0368507d6472),plugin\u003d\u0027ovs\u0027,port_profile\u003dVIFPortProfileOpenVSwitch,preserve_on_delete\u003dFalse,vif_name\u003d\u0027tap086dbdf7-d6\u0027): OSError: [Errno 30] Read-only file system\n2020-04-11 00:14:12.089 51 ERROR os_vif Traceback (most recent call last):\n2020-04-11 00:14:12.089 51 ERROR os_vif   File \"/var/lib/kolla/venv/lib/python3.6/site-packages/os_vif/__init__.py\", line 77, in plug\n2020-04-11 00:14:12.089 51 ERROR os_vif     plugin.plug(vif, instance_info)\n2020-04-11 00:14:12.089 51 ERROR os_vif   File \"/var/lib/kolla/venv/lib/python3.6/site-packages/vif_plug_ovs/ovs.py\", line 293, in plug\n2020-04-11 00:14:12.089 51 ERROR os_vif     self._plug_bridge(vif, instance_info)\n2020-04-11 00:14:12.089 51 ERROR os_vif   File \"/var/lib/kolla/venv/lib/python3.6/site-packages/vif_plug_ovs/ovs.py\", line 208, in _plug_bridge\n2020-04-11 00:14:12.089 51 ERROR os_vif     linux_net.ensure_bridge(vif.bridge_name)\n2020-04-11 00:14:12.089 51 ERROR os_vif   File \"/var/lib/kolla/venv/lib/python3.6/site-packages/oslo_privsep/priv_context.py\", line 247, in _wrap\n2020-04-11 00:14:12.089 51 ERROR os_vif     return self.channel.remote_call(name, args, kwargs)\n2020-04-11 00:14:12.089 51 ERROR os_vif   File \"/var/lib/kolla/venv/lib/python3.6/site-packages/oslo_privsep/daemon.py\", line 204, in remote_call\n2020-04-11 00:14:12.089 51 ERROR os_vif     raise exc_type(*result[2])\n2020-04-11 00:14:12.089 51 ERROR os_vif OSError: [Errno 30] Read-only file system","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"eae1f9b698c0e7a8a7f28e65ab5dccc4923df5ed","unresolved":false,"context_lines":[{"line_number":114,"context_line":"  - \"{% if enable_iscsid | bool %}iscsi_info:/etc/iscsi{% endif %}\""},{"line_number":115,"context_line":"zun_cni_daemon_default_volumes:"},{"line_number":116,"context_line":"  - \"{{ node_config_directory }}/zun-cni-daemon/:{{ container_config_directory }}/:ro\""},{"line_number":117,"context_line":"  - \"/etc/localtime:/etc/localtime:ro\""},{"line_number":118,"context_line":"  - \"kolla_logs:/var/log/kolla/\""},{"line_number":119,"context_line":"  - \"{{ kolla_dev_repos_directory ~ \u0027/zun/zun:/var/lib/kolla/venv/lib/python\u0027 ~ distro_python_version ~ \u0027/site-packages/zun\u0027 if zun_dev_mode | bool else \u0027\u0027 }}\""},{"line_number":120,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":42,"id":"3f4c43b2_38a1ae95","line":117,"updated":"2020-04-20 12:21:09.000000000","message":"Needs a rebase, and picking up new timezone mount.","commit_id":"3f7e74206b336326561b939a2dfaa7276410e4b2"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"87f5269ce0dbe867ba7e391a2fa15ad9aabba3b6","unresolved":false,"context_lines":[{"line_number":114,"context_line":"  - \"{% if enable_iscsid | bool %}iscsi_info:/etc/iscsi{% endif %}\""},{"line_number":115,"context_line":"zun_cni_daemon_default_volumes:"},{"line_number":116,"context_line":"  - \"{{ node_config_directory }}/zun-cni-daemon/:{{ container_config_directory }}/:ro\""},{"line_number":117,"context_line":"  - \"/etc/localtime:/etc/localtime:ro\""},{"line_number":118,"context_line":"  - \"kolla_logs:/var/log/kolla/\""},{"line_number":119,"context_line":"  - \"{{ kolla_dev_repos_directory ~ \u0027/zun/zun:/var/lib/kolla/venv/lib/python\u0027 ~ distro_python_version ~ \u0027/site-packages/zun\u0027 if zun_dev_mode | bool else \u0027\u0027 }}\""},{"line_number":120,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":42,"id":"1f493fa4_4931395a","line":117,"in_reply_to":"1f493fa4_5eb9edc9","updated":"2020-04-28 12:09:50.000000000","message":"So true","commit_id":"3f7e74206b336326561b939a2dfaa7276410e4b2"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"9848e907d16e85212e5703d8c835f26f8dc531cf","unresolved":false,"context_lines":[{"line_number":114,"context_line":"  - \"{% if enable_iscsid | bool %}iscsi_info:/etc/iscsi{% endif %}\""},{"line_number":115,"context_line":"zun_cni_daemon_default_volumes:"},{"line_number":116,"context_line":"  - \"{{ node_config_directory }}/zun-cni-daemon/:{{ container_config_directory }}/:ro\""},{"line_number":117,"context_line":"  - \"/etc/localtime:/etc/localtime:ro\""},{"line_number":118,"context_line":"  - \"kolla_logs:/var/log/kolla/\""},{"line_number":119,"context_line":"  - \"{{ kolla_dev_repos_directory ~ \u0027/zun/zun:/var/lib/kolla/venv/lib/python\u0027 ~ distro_python_version ~ \u0027/site-packages/zun\u0027 if zun_dev_mode | bool else \u0027\u0027 }}\""},{"line_number":120,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":42,"id":"3f4c43b2_3e335764","line":117,"in_reply_to":"3f4c43b2_38a1ae95","updated":"2020-04-20 13:27:59.000000000","message":"++, that true","commit_id":"3f7e74206b336326561b939a2dfaa7276410e4b2"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"9a37a9b2433127431053747b62b45ee8f3987bc2","unresolved":false,"context_lines":[{"line_number":114,"context_line":"  - \"{% if enable_iscsid | bool %}iscsi_info:/etc/iscsi{% endif %}\""},{"line_number":115,"context_line":"zun_cni_daemon_default_volumes:"},{"line_number":116,"context_line":"  - \"{{ node_config_directory }}/zun-cni-daemon/:{{ container_config_directory }}/:ro\""},{"line_number":117,"context_line":"  - \"/etc/localtime:/etc/localtime:ro\""},{"line_number":118,"context_line":"  - \"kolla_logs:/var/log/kolla/\""},{"line_number":119,"context_line":"  - \"{{ kolla_dev_repos_directory ~ \u0027/zun/zun:/var/lib/kolla/venv/lib/python\u0027 ~ distro_python_version ~ \u0027/site-packages/zun\u0027 if zun_dev_mode | bool else \u0027\u0027 }}\""},{"line_number":120,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":42,"id":"1f493fa4_aa787d8f","line":117,"in_reply_to":"3f4c43b2_38a1ae95","updated":"2020-04-30 02:43:54.000000000","message":"Done","commit_id":"3f7e74206b336326561b939a2dfaa7276410e4b2"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"462629cbf6b696df0e31c66c11197be1fcaadbcd","unresolved":false,"context_lines":[{"line_number":114,"context_line":"  - \"{% if enable_iscsid | bool %}iscsi_info:/etc/iscsi{% endif %}\""},{"line_number":115,"context_line":"zun_cni_daemon_default_volumes:"},{"line_number":116,"context_line":"  - \"{{ node_config_directory }}/zun-cni-daemon/:{{ container_config_directory }}/:ro\""},{"line_number":117,"context_line":"  - \"/etc/localtime:/etc/localtime:ro\""},{"line_number":118,"context_line":"  - \"kolla_logs:/var/log/kolla/\""},{"line_number":119,"context_line":"  - \"{{ kolla_dev_repos_directory ~ \u0027/zun/zun:/var/lib/kolla/venv/lib/python\u0027 ~ distro_python_version ~ \u0027/site-packages/zun\u0027 if zun_dev_mode | bool else \u0027\u0027 }}\""},{"line_number":120,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":42,"id":"1f493fa4_5eb9edc9","line":117,"in_reply_to":"3f4c43b2_3e335764","updated":"2020-04-28 10:21:25.000000000","message":"Still true","commit_id":"3f7e74206b336326561b939a2dfaa7276410e4b2"}],"ansible/roles/zun/handlers/main.yml":[{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"a70d54628bd17cdcc797929975d27fd0f8d487a1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":29,"id":"df33271e_392e27a5","line":76,"updated":"2020-04-07 07:49:23.000000000","message":"yeah, copying won\u0027t really do","commit_id":"0bc9930d7b0f82438b1e57c8e253fc0dbd74d55f"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"a36870b2a720189e67c96e394e46205f07b7beee","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    service: \"{{ zun_services[service_name] }}\""},{"line_number":72,"context_line":"  command: \"docker cp {{ service.container_name }}:/opt/loopback /opt/cni/bin/\""},{"line_number":73,"context_line":"  when:"},{"line_number":74,"context_line":"    - kolla_action !\u003d \"config\""}],"source_content_type":"text/x-yaml","patch_set":40,"id":"3f4c43b2_0ca91c8f","line":74,"updated":"2020-04-20 06:59:00.000000000","message":"OK, this lacks some idempotency but still triggers only on config or container change so might be fine. However, we could make it trigger only on container change.","commit_id":"571cac7fc83888eefa0e26a16886bece6115527a"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"eae1f9b698c0e7a8a7f28e65ab5dccc4923df5ed","unresolved":false,"context_lines":[{"line_number":76,"context_line":"    service_name: \"zun-cni-daemon\""},{"line_number":77,"context_line":"    service: \"{{ zun_services[service_name] }}\""},{"line_number":78,"context_line":"  become: true"},{"line_number":79,"context_line":"  command: \"docker cp {{ service.container_name }}:/opt/loopback /opt/cni/bin/\""},{"line_number":80,"context_line":"  # NOTE(yoctozepto): it would be cleaner to listen only on image change"},{"line_number":81,"context_line":"  # but there is no such mechanism (yet) and container change should be"},{"line_number":82,"context_line":"  # good enough (better than including config change triggers)"}],"source_content_type":"text/x-yaml","patch_set":42,"id":"3f4c43b2_be52c7dc","line":79,"range":{"start_line":79,"start_character":11,"end_line":79,"end_character":79},"updated":"2020-04-20 12:21:09.000000000","message":"If this is required on the host rather than in the container, why install it in the container?","commit_id":"3f7e74206b336326561b939a2dfaa7276410e4b2"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"9848e907d16e85212e5703d8c835f26f8dc531cf","unresolved":false,"context_lines":[{"line_number":76,"context_line":"    service_name: \"zun-cni-daemon\""},{"line_number":77,"context_line":"    service: \"{{ zun_services[service_name] }}\""},{"line_number":78,"context_line":"  become: true"},{"line_number":79,"context_line":"  command: \"docker cp {{ service.container_name }}:/opt/loopback /opt/cni/bin/\""},{"line_number":80,"context_line":"  # NOTE(yoctozepto): it would be cleaner to listen only on image change"},{"line_number":81,"context_line":"  # but there is no such mechanism (yet) and container change should be"},{"line_number":82,"context_line":"  # good enough (better than including config change triggers)"}],"source_content_type":"text/x-yaml","patch_set":42,"id":"3f4c43b2_bef12798","line":79,"range":{"start_line":79,"start_character":11,"end_line":79,"end_character":79},"in_reply_to":"3f4c43b2_be52c7dc","updated":"2020-04-20 13:27:59.000000000","message":"I thought because it\u0027s for zun-cni-daemon specifically so let it provide what works (self-containment)?","commit_id":"3f7e74206b336326561b939a2dfaa7276410e4b2"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"2d5814c3a986d84c9e02b4c8168eae07ba8cd683","unresolved":false,"context_lines":[{"line_number":77,"context_line":"    service: \"{{ zun_services[service_name] }}\""},{"line_number":78,"context_line":"  become: true"},{"line_number":79,"context_line":"  command: \"docker cp {{ service.container_name }}:/opt/loopback /opt/cni/bin/\""},{"line_number":80,"context_line":"  # NOTE(yoctozepto): it would be cleaner to listen only on image change"},{"line_number":81,"context_line":"  # but there is no such mechanism (yet) and container change should be"},{"line_number":82,"context_line":"  # good enough (better than including config change triggers)"},{"line_number":83,"context_line":"  listen:"},{"line_number":84,"context_line":"    - zun-cni-daemon container changed"}],"source_content_type":"text/x-yaml","patch_set":42,"id":"1f493fa4_1ec76566","line":82,"range":{"start_line":80,"start_character":0,"end_line":82,"end_character":62},"updated":"2020-04-28 10:20:45.000000000","message":"compare_image would work, but no biggie.","commit_id":"3f7e74206b336326561b939a2dfaa7276410e4b2"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"9486fc310f56b61f7aca940348a5f8312ed0deff","unresolved":false,"context_lines":[{"line_number":77,"context_line":"    service: \"{{ zun_services[service_name] }}\""},{"line_number":78,"context_line":"  become: true"},{"line_number":79,"context_line":"  command: \"docker cp {{ service.container_name }}:/opt/loopback /opt/cni/bin/\""},{"line_number":80,"context_line":"  # NOTE(yoctozepto): it would be cleaner to listen only on image change"},{"line_number":81,"context_line":"  # but there is no such mechanism (yet) and container change should be"},{"line_number":82,"context_line":"  # good enough (better than including config change triggers)"},{"line_number":83,"context_line":"  listen:"},{"line_number":84,"context_line":"    - zun-cni-daemon container changed"}],"source_content_type":"text/x-yaml","patch_set":42,"id":"1f493fa4_c93c2931","line":82,"range":{"start_line":80,"start_character":0,"end_line":82,"end_character":62},"in_reply_to":"1f493fa4_1ec76566","updated":"2020-04-28 12:18:29.000000000","message":"Yeah, I meant no task does that already but it makes sense, I may reiterate this. Thanks, Mark","commit_id":"3f7e74206b336326561b939a2dfaa7276410e4b2"}],"ansible/roles/zun/tasks/check-containers.yml":[{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"36b8f4bb4cccb97d2a702cacb838a2a183df39c5","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    name: \"{{ item.value.container_name }}\""},{"line_number":8,"context_line":"    image: \"{{ item.value.image }}\""},{"line_number":9,"context_line":"    privileged: \"{{ item.value.privileged | default(False) }}\""},{"line_number":10,"context_line":"    cap_add: \"{{ item.value.cap_add|default([]) }}\""},{"line_number":11,"context_line":"    volumes: \"{{ item.value.volumes|reject(\u0027equalto\u0027, \u0027\u0027)|list }}\""},{"line_number":12,"context_line":"    dimensions: \"{{ item.value.dimensions }}\""},{"line_number":13,"context_line":"  when:"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"df33271e_c3b6548b","line":10,"updated":"2020-04-04 17:48:17.000000000","message":"will depend on cap decision made elsewhere","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"bcc629aab77db977336aef4326f5e059aed70192","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    name: \"{{ item.value.container_name }}\""},{"line_number":8,"context_line":"    image: \"{{ item.value.image }}\""},{"line_number":9,"context_line":"    privileged: \"{{ item.value.privileged | default(False) }}\""},{"line_number":10,"context_line":"    cap_add: \"{{ item.value.cap_add|default([]) }}\""},{"line_number":11,"context_line":"    volumes: \"{{ item.value.volumes|reject(\u0027equalto\u0027, \u0027\u0027)|list }}\""},{"line_number":12,"context_line":"    dimensions: \"{{ item.value.dimensions }}\""},{"line_number":13,"context_line":"  when:"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"3f4c43b2_96349c4c","line":10,"in_reply_to":"df33271e_1902430c","updated":"2020-04-12 17:43:27.000000000","message":"Done","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"a70d54628bd17cdcc797929975d27fd0f8d487a1","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    name: \"{{ item.value.container_name }}\""},{"line_number":8,"context_line":"    image: \"{{ item.value.image }}\""},{"line_number":9,"context_line":"    privileged: \"{{ item.value.privileged | default(False) }}\""},{"line_number":10,"context_line":"    cap_add: \"{{ item.value.cap_add|default([]) }}\""},{"line_number":11,"context_line":"    volumes: \"{{ item.value.volumes|reject(\u0027equalto\u0027, \u0027\u0027)|list }}\""},{"line_number":12,"context_line":"    dimensions: \"{{ item.value.dimensions }}\""},{"line_number":13,"context_line":"  when:"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"df33271e_1902430c","line":10,"in_reply_to":"df33271e_83c42394","updated":"2020-04-07 07:49:23.000000000","message":"It is about: https://review.opendev.org/#/c/708213/26/ansible/roles/zun/defaults/main.yml@54","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"ae95cf339aeedd879c276f540ebb459681b912d7","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    name: \"{{ item.value.container_name }}\""},{"line_number":8,"context_line":"    image: \"{{ item.value.image }}\""},{"line_number":9,"context_line":"    privileged: \"{{ item.value.privileged | default(False) }}\""},{"line_number":10,"context_line":"    cap_add: \"{{ item.value.cap_add|default([]) }}\""},{"line_number":11,"context_line":"    volumes: \"{{ item.value.volumes|reject(\u0027equalto\u0027, \u0027\u0027)|list }}\""},{"line_number":12,"context_line":"    dimensions: \"{{ item.value.dimensions }}\""},{"line_number":13,"context_line":"  when:"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"df33271e_83c42394","line":10,"in_reply_to":"df33271e_c3b6548b","updated":"2020-04-07 03:02:17.000000000","message":"Don\u0027t get this one. Could you explain it further? What did you suggest?","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"eae1f9b698c0e7a8a7f28e65ab5dccc4923df5ed","unresolved":false,"context_lines":[{"line_number":17,"context_line":"    # NOTE(yoctozepto): Zun differs from other projects because we want"},{"line_number":18,"context_line":"    # to differentiate between config change and container property"},{"line_number":19,"context_line":"    # change"},{"line_number":20,"context_line":"    - \"{{ item.key }} container changed\""}],"source_content_type":"text/x-yaml","patch_set":42,"id":"3f4c43b2_5e72a37c","line":20,"updated":"2020-04-20 12:21:09.000000000","message":"Could just notify \u0027Copy loopback binary from zun-cni-daemon container to host\u0027 in addition to Restart","commit_id":"3f7e74206b336326561b939a2dfaa7276410e4b2"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"9848e907d16e85212e5703d8c835f26f8dc531cf","unresolved":false,"context_lines":[{"line_number":17,"context_line":"    # NOTE(yoctozepto): Zun differs from other projects because we want"},{"line_number":18,"context_line":"    # to differentiate between config change and container property"},{"line_number":19,"context_line":"    # change"},{"line_number":20,"context_line":"    - \"{{ item.key }} container changed\""}],"source_content_type":"text/x-yaml","patch_set":42,"id":"3f4c43b2_9ed54be8","line":20,"in_reply_to":"3f4c43b2_5e72a37c","updated":"2020-04-20 13:27:59.000000000","message":"Let\u0027s not rely on the quirk to call for all containers at once.","commit_id":"3f7e74206b336326561b939a2dfaa7276410e4b2"}],"ansible/roles/zun/templates/zun-cni-daemon.json.j2":[{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"36b8f4bb4cccb97d2a702cacb838a2a183df39c5","unresolved":false,"context_lines":[{"line_number":6,"context_line":"            \"dest\": \"/etc/zun/zun.conf\","},{"line_number":7,"context_line":"            \"owner\": \"zun\","},{"line_number":8,"context_line":"            \"perm\": \"0600\""},{"line_number":9,"context_line":"        }{% if zun_policy_file is defined %},"},{"line_number":10,"context_line":"        {"},{"line_number":11,"context_line":"            \"source\": \"{{ container_config_directory }}/{{ zun_policy_file }}\","},{"line_number":12,"context_line":"            \"dest\": \"/etc/zun/{{ zun_policy_file }}\","},{"line_number":13,"context_line":"            \"owner\": \"zun\","},{"line_number":14,"context_line":"            \"perm\": \"0600\""},{"line_number":15,"context_line":"        }{% endif %}"},{"line_number":16,"context_line":"    ],"},{"line_number":17,"context_line":"    \"permissions\": ["},{"line_number":18,"context_line":"        {"}],"source_content_type":"text/x-jinja2","patch_set":26,"id":"df33271e_a3bb5070","line":15,"range":{"start_line":9,"start_character":9,"end_line":15,"end_character":20},"updated":"2020-04-04 17:48:17.000000000","message":"does it use policy?","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"bcc629aab77db977336aef4326f5e059aed70192","unresolved":false,"context_lines":[{"line_number":6,"context_line":"            \"dest\": \"/etc/zun/zun.conf\","},{"line_number":7,"context_line":"            \"owner\": \"zun\","},{"line_number":8,"context_line":"            \"perm\": \"0600\""},{"line_number":9,"context_line":"        }{% if zun_policy_file is defined %},"},{"line_number":10,"context_line":"        {"},{"line_number":11,"context_line":"            \"source\": \"{{ container_config_directory }}/{{ zun_policy_file }}\","},{"line_number":12,"context_line":"            \"dest\": \"/etc/zun/{{ zun_policy_file }}\","},{"line_number":13,"context_line":"            \"owner\": \"zun\","},{"line_number":14,"context_line":"            \"perm\": \"0600\""},{"line_number":15,"context_line":"        }{% endif %}"},{"line_number":16,"context_line":"    ],"},{"line_number":17,"context_line":"    \"permissions\": ["},{"line_number":18,"context_line":"        {"}],"source_content_type":"text/x-jinja2","patch_set":26,"id":"3f4c43b2_76391040","line":15,"range":{"start_line":9,"start_character":9,"end_line":15,"end_character":20},"in_reply_to":"df33271e_a3bb5070","updated":"2020-04-12 17:43:27.000000000","message":"Done","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"}],"doc/source/reference/compute/zun-guide.rst":[{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"36b8f4bb4cccb97d2a702cacb838a2a183df39c5","unresolved":false,"context_lines":[{"line_number":23,"context_line":"   docker_configure_for_zun: \"yes\""},{"line_number":24,"context_line":"   containerd_configure_for_zun: \"yes\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Zun comes with a CNI plugin. The CNI plugin binary ``zun-cni`` needs"},{"line_number":27,"context_line":"to be installed in host."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":".. code-block:: console"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"   $ git clone https://github.com/openstack/zun"},{"line_number":32,"context_line":"   $ sudo pip install ./zun"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Docker reconfiguration requires reboostrapping before deploy."},{"line_number":35,"context_line":"Make sure you understand the consequences of restarting Docker."}],"source_content_type":"text/x-rst","patch_set":26,"id":"df33271e_c36bf4ee","line":32,"range":{"start_line":26,"start_character":0,"end_line":32,"end_character":27},"updated":"2020-04-04 17:48:17.000000000","message":"let\u0027s work on making this unnecessary :-)","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"bcc629aab77db977336aef4326f5e059aed70192","unresolved":false,"context_lines":[{"line_number":23,"context_line":"   docker_configure_for_zun: \"yes\""},{"line_number":24,"context_line":"   containerd_configure_for_zun: \"yes\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Zun comes with a CNI plugin. The CNI plugin binary ``zun-cni`` needs"},{"line_number":27,"context_line":"to be installed in host."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":".. code-block:: console"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"   $ git clone https://github.com/openstack/zun"},{"line_number":32,"context_line":"   $ sudo pip install ./zun"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Docker reconfiguration requires reboostrapping before deploy."},{"line_number":35,"context_line":"Make sure you understand the consequences of restarting Docker."}],"source_content_type":"text/x-rst","patch_set":26,"id":"3f4c43b2_16488cca","line":32,"range":{"start_line":26,"start_character":0,"end_line":32,"end_character":27},"in_reply_to":"df33271e_c36bf4ee","updated":"2020-04-12 17:43:27.000000000","message":"Done","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"}],"tests/run.yml":[{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"36b8f4bb4cccb97d2a702cacb838a2a183df39c5","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        executable: \"pip{{ playbook_python_version }}\""},{"line_number":54,"context_line":"      become: true"},{"line_number":55,"context_line":"      when: scenario \u003d\u003d \u0027zun\u0027"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"- hosts: primary"},{"line_number":58,"context_line":"  any_errors_fatal: true"},{"line_number":59,"context_line":"  tasks:"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"df33271e_a37070de","line":56,"updated":"2020-04-04 17:48:17.000000000","message":"let\u0027s work on an approach that does not need to touch this file","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"bcc629aab77db977336aef4326f5e059aed70192","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        executable: \"pip{{ playbook_python_version }}\""},{"line_number":54,"context_line":"      become: true"},{"line_number":55,"context_line":"      when: scenario \u003d\u003d \u0027zun\u0027"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"- hosts: primary"},{"line_number":58,"context_line":"  any_errors_fatal: true"},{"line_number":59,"context_line":"  tasks:"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"3f4c43b2_f64400ba","line":56,"in_reply_to":"df33271e_a37070de","updated":"2020-04-12 17:43:27.000000000","message":"Done","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"7f56d98535c9eba18431d846e0bce7c9d59e419b","unresolved":false,"context_lines":[{"line_number":20,"context_line":"        kolla_ansible_local_src_dir: \"{{ zuul.executor.work_root }}/src/{{ zuul.project.canonical_hostname }}/openstack/kolla-ansible\""},{"line_number":21,"context_line":"        infra_dockerhub_mirror: \"http://{{ zuul_site_mirror_fqdn }}:8082/\""},{"line_number":22,"context_line":"        ceph_ansible_src_dir: \"{{ ansible_env.PWD }}/src/github.com/ceph/ceph-ansible\""},{"line_number":23,"context_line":"        zun_src_dir: \"{{ ansible_env.PWD }}/src/{{ zuul.project.canonical_hostname }}/openstack/zun\""},{"line_number":24,"context_line":"        need_build_image: false"},{"line_number":25,"context_line":"        build_image_tag: \"change_{{ zuul.change | default(\u0027none\u0027) }}\""},{"line_number":26,"context_line":"        openstack_core_enabled: \"{{ openstack_core_enabled }}\""}],"source_content_type":"text/x-yaml","patch_set":38,"id":"3f4c43b2_7188fa1e","line":23,"range":{"start_line":23,"start_character":8,"end_line":23,"end_character":19},"updated":"2020-04-12 22:07:22.000000000","message":"Comment to myself: remove this in the next patchset.","commit_id":"9493a4c772a2f29ca3ef7ce22cc9b33a7a87bdda"}],"zuul.d/base.yaml":[{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"36b8f4bb4cccb97d2a702cacb838a2a183df39c5","unresolved":false,"context_lines":[{"line_number":83,"context_line":"      - ^tests/test-zun.sh"},{"line_number":84,"context_line":"      - ^tests/test-dashboard.sh"},{"line_number":85,"context_line":"    required-projects:"},{"line_number":86,"context_line":"      - openstack/zun"},{"line_number":87,"context_line":"    vars:"},{"line_number":88,"context_line":"      scenario: zun"},{"line_number":89,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":26,"id":"df33271e_0375dccc","line":86,"updated":"2020-04-04 17:48:17.000000000","message":"ditto: let\u0027s not need this","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"bcc629aab77db977336aef4326f5e059aed70192","unresolved":false,"context_lines":[{"line_number":83,"context_line":"      - ^tests/test-zun.sh"},{"line_number":84,"context_line":"      - ^tests/test-dashboard.sh"},{"line_number":85,"context_line":"    required-projects:"},{"line_number":86,"context_line":"      - openstack/zun"},{"line_number":87,"context_line":"    vars:"},{"line_number":88,"context_line":"      scenario: zun"},{"line_number":89,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":26,"id":"3f4c43b2_361828d2","line":86,"in_reply_to":"df33271e_0375dccc","updated":"2020-04-12 17:43:27.000000000","message":"Done","commit_id":"f7d9ee4d382eb1d1cadcfe40463a14205af873f0"}]}
