)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"c9017732642382d769a563f4901aa3d123d21aa6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"2719e40d_e574e4da","updated":"2025-03-05 22:05:59.000000000","message":"New revision coming soon.","commit_id":"e2d9be8a280dff20cfa51f59d8ad8d643997a85d"}],"playbooks/roles/install-docker/defaults/main.yaml":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"5f4c48d105ad2a75b64d361f9b2949b2b5b10a17","unresolved":true,"context_lines":[{"line_number":1,"context_line":"use_upstream_docker: True"},{"line_number":2,"context_line":"docker_update_channel: stable"},{"line_number":3,"context_line":"with_python_compose: True"},{"line_number":4,"context_line":"force_docker_io_ipv4: False"},{"line_number":5,"context_line":"# Taken from: https://docs.docker.com/desktop/setup/allow-list/"},{"line_number":6,"context_line":"docker_registry_hostlist:"},{"line_number":7,"context_line":"- registry-1.docker.io"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"7b7c3f5d_9d5f59f0","line":4,"updated":"2025-03-06 16:49:30.000000000","message":"It occurs to me that yaml will treat this as the string \u0027False\u0027 which by default is a truthy value in python. However, in the ansible task you pipe the value to the ansible bool jinja filter which by default seems to lowercase all string inputs and then check them against a set of truthy and falsey values. (\u0027false\u0027 is a falsey value and False here should be come \u0027False\u0027 then \u0027false\u0027 and be determined to be falsey.).\n\nAll that to say I think this is ok as written but I wonder if we should start thinking about using more natively false values to avoid surprises in the future. That is something we can think about outside of this change.","commit_id":"7dfa6006e56ee36f2db20d67a0e4fc1136744b3a"},{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"09423f9d4431b72b515d53ae280a7803ec0c85d3","unresolved":false,"context_lines":[{"line_number":5,"context_line":"# Taken from: https://docs.docker.com/desktop/setup/allow-list/"},{"line_number":6,"context_line":"docker_registry_hostlist:"},{"line_number":7,"context_line":"- registry-1.docker.io"},{"line_number":8,"context_line":"- docker-images-prod.6aa30f8b08e16409b46e0173d6de2f56.r2.cloudflarestorage.com"},{"line_number":9,"context_line":"- docker.io"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"d7e25680_65a4fe3c","line":8,"updated":"2025-03-06 17:48:38.000000000","message":"I have to wonder how often this one in particular changes.","commit_id":"7dfa6006e56ee36f2db20d67a0e4fc1136744b3a"}],"playbooks/roles/install-docker/tasks/main.yaml":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"bb04d68191155f1d789b97de40f1a70de3a3a367","unresolved":true,"context_lines":[{"line_number":46,"context_line":"    path: /etc/hosts"},{"line_number":47,"context_line":"    line: \"{{ (item|split(\u0027 \u0027))[-1] }}\\t{{ (item|split(\u0027 \u0027))[0] }}\""},{"line_number":48,"context_line":"    mode: \"0644\""},{"line_number":49,"context_line":"    state: \"{{ force_docker_io_ipv4|bool|ternary(\u0027present\u0027, \u0027absent\u0027) }}\""},{"line_number":50,"context_line":"  loop: \"{{ docker_io_dns.stdout_lines|list }}\""}],"source_content_type":"text/x-yaml","patch_set":3,"id":"f2ef482e_8aff7831","line":49,"updated":"2025-03-04 15:43:36.000000000","message":"I\u0027ve just realized there is a problem with this approach to trying to clean up records: the ip addresses may change over time \"orphaning\" records in /etc/hosts that could be incorrect and break our requests to docker.io.\n\nI thought this was an interesting approach after our discussion in IRC yesterday, but now I think it is correct to just use when: and only opt into using this within the CI system for now. Unless we can come up with a good way to address the problem with changing records getting orphaned and breaking long running production servers. My preference is that we act cautiously for those long lived servers instead and just avoid updating them until we\u0027re confident in the system.\n\nThat said I think that every job succeeding on the latest patchset of this change is a good indication that this is a helpful change for CI and I\u0027d like to see some version of it in place while we transition to quay.","commit_id":"67753a955cf863cfd32742f995fe7f27f933b3e6"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"5e7ae7bbe3cb6e0c2b8e72f0bc98f88ab3d5f9b9","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    path: /etc/hosts"},{"line_number":47,"context_line":"    line: \"{{ (item|split(\u0027 \u0027))[-1] }}\\t{{ (item|split(\u0027 \u0027))[0] }}\""},{"line_number":48,"context_line":"    mode: \"0644\""},{"line_number":49,"context_line":"    state: \"{{ force_docker_io_ipv4|bool|ternary(\u0027present\u0027, \u0027absent\u0027) }}\""},{"line_number":50,"context_line":"  loop: \"{{ docker_io_dns.stdout_lines|list }}\""}],"source_content_type":"text/x-yaml","patch_set":3,"id":"9d130b41_6e2c37af","line":49,"in_reply_to":"f2ef482e_8aff7831","updated":"2025-03-05 03:10:50.000000000","message":"Done","commit_id":"67753a955cf863cfd32742f995fe7f27f933b3e6"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"5e7ae7bbe3cb6e0c2b8e72f0bc98f88ab3d5f9b9","unresolved":true,"context_lines":[{"line_number":38,"context_line":"    logrotate_file_name: \u0027/var/log/containers/*.log\u0027"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"- name: Resolve IPv4 Addresses for Docker resources"},{"line_number":41,"context_line":"  shell: for domain in registry-1.docker.io docker-images-prod.6aa30f8b08e16409b46e0173d6de2f56.r2.cloudflarestorage.com docker.io ; do host -t a \"$domain\" ; done"},{"line_number":42,"context_line":"  register: docker_io_dns"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"- name: Update to /etc/hosts according to force_docker_io_ipv4"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"8c8db242_23c1f755","line":41,"range":{"start_line":41,"start_character":23,"end_line":41,"end_character":130},"updated":"2025-03-05 03:10:50.000000000","message":"Do we want to make these domains more discoverable?  For example making them an ansible var?","commit_id":"56ccfab372d84987cc55df3bc28f8e23baf63051"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"c9017732642382d769a563f4901aa3d123d21aa6","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    logrotate_file_name: \u0027/var/log/containers/*.log\u0027"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"- name: Resolve IPv4 Addresses for Docker resources"},{"line_number":41,"context_line":"  shell: for domain in registry-1.docker.io docker-images-prod.6aa30f8b08e16409b46e0173d6de2f56.r2.cloudflarestorage.com docker.io ; do host -t a \"$domain\" ; done"},{"line_number":42,"context_line":"  register: docker_io_dns"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"- name: Update to /etc/hosts according to force_docker_io_ipv4"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"51449904_897096e5","line":41,"range":{"start_line":41,"start_character":23,"end_line":41,"end_character":130},"in_reply_to":"4796afc4_ada0dccb","updated":"2025-03-05 22:05:59.000000000","message":"I went ahead and made it a role default","commit_id":"56ccfab372d84987cc55df3bc28f8e23baf63051"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"b3ba1e570e003bf4bd2b07d1aeadb283624b5c1f","unresolved":true,"context_lines":[{"line_number":38,"context_line":"    logrotate_file_name: \u0027/var/log/containers/*.log\u0027"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"- name: Resolve IPv4 Addresses for Docker resources"},{"line_number":41,"context_line":"  shell: for domain in registry-1.docker.io docker-images-prod.6aa30f8b08e16409b46e0173d6de2f56.r2.cloudflarestorage.com docker.io ; do host -t a \"$domain\" ; done"},{"line_number":42,"context_line":"  register: docker_io_dns"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"- name: Update to /etc/hosts according to force_docker_io_ipv4"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"4796afc4_ada0dccb","line":41,"range":{"start_line":41,"start_character":23,"end_line":41,"end_character":130},"in_reply_to":"8c8db242_23c1f755","updated":"2025-03-05 16:46:37.000000000","message":"For now this is probably fine. But ya maybe that should be a role default var or something.","commit_id":"56ccfab372d84987cc55df3bc28f8e23baf63051"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"121b79d18e9e0ff395f60b1dbaee264936754859","unresolved":true,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"- name: Resolve IPv4 Addresses for Docker resources"},{"line_number":41,"context_line":"  shell: for domain in registry-1.docker.io docker-images-prod.6aa30f8b08e16409b46e0173d6de2f56.r2.cloudflarestorage.com docker.io ; do host -t a \"$domain\" ; done"},{"line_number":42,"context_line":"  register: docker_io_dns"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"- name: Update to /etc/hosts according to force_docker_io_ipv4"},{"line_number":45,"context_line":"  lineinfile:"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"d0afa4e8_f9bb5528","line":42,"updated":"2025-03-05 17:23:30.000000000","message":"I just realized we\u0027re unconditionally running this task. Maybe put this task and the next one in a block with a single when condition to avoid unnecessary actions when the feature is disabled.","commit_id":"e2d9be8a280dff20cfa51f59d8ad8d643997a85d"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"c9017732642382d769a563f4901aa3d123d21aa6","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"- name: Resolve IPv4 Addresses for Docker resources"},{"line_number":41,"context_line":"  shell: for domain in registry-1.docker.io docker-images-prod.6aa30f8b08e16409b46e0173d6de2f56.r2.cloudflarestorage.com docker.io ; do host -t a \"$domain\" ; done"},{"line_number":42,"context_line":"  register: docker_io_dns"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"- name: Update to /etc/hosts according to force_docker_io_ipv4"},{"line_number":45,"context_line":"  lineinfile:"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"150b6d1a_13f9ca74","line":42,"in_reply_to":"d0afa4e8_f9bb5528","updated":"2025-03-05 22:05:59.000000000","message":"That\u0027s fair I figured a few extra DNS queries wouldn\u0027t hurt but that\u0027s a slippery slope.","commit_id":"e2d9be8a280dff20cfa51f59d8ad8d643997a85d"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"b3ba1e570e003bf4bd2b07d1aeadb283624b5c1f","unresolved":true,"context_lines":[{"line_number":47,"context_line":"    line: \"{{ (item|split(\u0027 \u0027))[-1] }}\\t{{ (item|split(\u0027 \u0027))[0] }}\""},{"line_number":48,"context_line":"    mode: \"0644\""},{"line_number":49,"context_line":"    state: \"present\""},{"line_number":50,"context_line":"  loop: \"{{ docker_io_dns.stdout_lines|list }}\""},{"line_number":51,"context_line":"  when: force_docker_io_ipv4|bool"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"5a7ddf16_8e6d8e5d","line":50,"range":{"start_line":50,"start_character":38,"end_line":50,"end_character":43},"updated":"2025-03-05 16:46:37.000000000","message":"Shouldn\u0027t stdout_lines already be a list? Curious if this is some ansible behavior I should be aware of requiring a conversion to a list.","commit_id":"e2d9be8a280dff20cfa51f59d8ad8d643997a85d"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"c9017732642382d769a563f4901aa3d123d21aa6","unresolved":false,"context_lines":[{"line_number":47,"context_line":"    line: \"{{ (item|split(\u0027 \u0027))[-1] }}\\t{{ (item|split(\u0027 \u0027))[0] }}\""},{"line_number":48,"context_line":"    mode: \"0644\""},{"line_number":49,"context_line":"    state: \"present\""},{"line_number":50,"context_line":"  loop: \"{{ docker_io_dns.stdout_lines|list }}\""},{"line_number":51,"context_line":"  when: force_docker_io_ipv4|bool"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"b54f9e38_f74dd4be","line":50,"range":{"start_line":50,"start_character":38,"end_line":50,"end_character":43},"in_reply_to":"5a7ddf16_8e6d8e5d","updated":"2025-03-05 22:05:59.000000000","message":"It should be, but without the explicit list filter I got a syntax error. :/","commit_id":"e2d9be8a280dff20cfa51f59d8ad8d643997a85d"}]}
