)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"33fabd78b2ad5f4b6086b94adbccb71ed39815ed","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"a556bc71_2a817301","updated":"2022-08-01 18:21:33.000000000","message":"recheck autohold in place to debug docker networking","commit_id":"ed4873d0ea9013323e88d9fcfb2ea4e5d051cbf5"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"1c16184eefe5eda383c2a19ab2a5006584227f78","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"e74d0c12_a12e925e","updated":"2022-08-01 20:30:19.000000000","message":"The current error with mailman-web is due to https://github.com/maxking/docker-mailman/blob/66dc40f9ae73960be2febd8f668983d91b4bca47/postorius/mailman-web/settings.py#L55 hardcoding the docker dns name.","commit_id":"6abdc1871de716c1bb3c220e1edd781324c690ff"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"ca77fcd20bfc6872b7f4acccabcef3e25de783c1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"7531393c_fdbf2fbf","updated":"2022-08-02 21:49:50.000000000","message":"recheck there is a hold to debug the port issue","commit_id":"c46e77c296225f30cf2980d6f6c574e500108451"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"29be73e461af147fd93b745f9b7c42ab5074e613","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":52,"id":"9cfdcca8_30e1be22","updated":"2022-08-09 18:39:26.000000000","message":"recheck test to see if the django admin user creation issue is consistent","commit_id":"39c008f95c2ed0d070d3d9f40755919fe5904f5d"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"de8bfbd658565703387ca285ef5b8f4ce2336b59","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":54,"id":"fe163e4b_83028e58","updated":"2022-08-09 22:14:25.000000000","message":"recheck check if alembic wait is more reliable","commit_id":"76c0f571b7ffcdeebe0449a6c87f559dbf165281"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"257c74fd6dcaec85656e1c037381d7e05fd70f86","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":54,"id":"f9819c1b_91c6ccd6","updated":"2022-08-10 16:58:57.000000000","message":"recheck more data on whether or not the alembic wait is stable","commit_id":"76c0f571b7ffcdeebe0449a6c87f559dbf165281"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"ddde6a6afcaba73676456fa0a5f3f46bbfdf7740","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":54,"id":"6d8211e8_f09d0e74","updated":"2022-08-09 23:53:51.000000000","message":"recheck more iterations on the new alembic check","commit_id":"76c0f571b7ffcdeebe0449a6c87f559dbf165281"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"7ceb476b21841bb81f6b3b099fed9388921733bd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":77,"id":"4c8e849c_ee409c1a","updated":"2022-10-05 23:38:48.000000000","message":"Thank you for the large amount of work that has gone into this!  I expect a few more iterations from comments and meeting; but I\u0027ve read through everything and nothing looks out of place.  A few minor comments","commit_id":"d137eb87978f6ce0e504f9834758ae82ad193c3e"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"92dfeff1f897215aa83f2cc5e939b759b8f45071","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":80,"id":"40117f60_4c99a723","updated":"2022-10-12 15:40:47.000000000","message":"recheck want to learn if these errors are persistent.","commit_id":"9f4c885fc2749a671dc49c2320332da0641147b2"}],"inventory/service/host_vars/lists01.opendev.org.yaml":[{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"f68a0729c6c927697343635d451c2fd091e653e3","unresolved":true,"context_lines":[{"line_number":108,"context_line":"      headers_remove \u003d Errors-To"},{"line_number":109,"context_line":"      max_rcpt \u003d 1"},{"line_number":110,"context_line":"      return_path \u003d ${local_part:$return_path}+$local_part\u003d$domain@${domain:$return_path}"},{"line_number":111,"context_line":"letsencrypt_certs:"},{"line_number":112,"context_line":"  lists-opendev-org-main:"},{"line_number":113,"context_line":"    - lists.opendev.org"},{"line_number":114,"context_line":"    - lists.airshipit.org"},{"line_number":115,"context_line":"    - lists.katacontainers.io"}],"source_content_type":"text/x-yaml","patch_set":50,"id":"3050f71c_0206fa3e","line":112,"range":{"start_line":111,"start_character":0,"end_line":112,"end_character":25},"updated":"2022-08-08 22:33:49.000000000","message":"with the self-signed cert stuff we have now, it\u0027s probably better to put this in the groups variable file, and add {{ inventory_hostname }} to it; that way we use the same for the list99 testing host and lists01 in production","commit_id":"53b9a7a4faee00989bcef4e31c557fbd99221954"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"d714af3296f17b0c991a8db67b1349ebcd4c623d","unresolved":true,"context_lines":[{"line_number":111,"context_line":"mailman_multihost: true"},{"line_number":112,"context_line":"mailman_sites:"},{"line_number":113,"context_line":"  # First entry in this list is the primary web domain"},{"line_number":114,"context_line":"  - name: opendev"},{"line_number":115,"context_line":"    listdomain: lists.opendev.org"},{"line_number":116,"context_line":"    install_languages: [\u0027en\u0027]"},{"line_number":117,"context_line":"    lists:"}],"source_content_type":"text/x-yaml","patch_set":74,"id":"26da9aa6_069dc996","line":114,"updated":"2022-09-12 18:26:37.000000000","message":"We need to update this list of sites to match the test list that was recently updated. We can continue to comment out the extra sites until we want to deploy them, but we should keep the two files in sync otherwise.","commit_id":"0f8a4c3bcc5af0fa860d165e04410117f732ab2c"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"7ceb476b21841bb81f6b3b099fed9388921733bd","unresolved":true,"context_lines":[{"line_number":45,"context_line":"  marketing@lists.openstack.org: marketing@lists.openinfra.dev"},{"line_number":46,"context_line":"  staff@lists.openstack.org: staff@lists.openinfra.dev"},{"line_number":47,"context_line":"  summitsponsors@lists.openstack.org: summitsponsors@lists.openinfra.dev"},{"line_number":48,"context_line":"exim_routers:"},{"line_number":49,"context_line":"  - mailman_verp_router: |"},{"line_number":50,"context_line":"      {% raw -%}"},{"line_number":51,"context_line":"      driver \u003d dnslookup"}],"source_content_type":"text/x-yaml","patch_set":77,"id":"b069e537_d0b9eac0","line":48,"updated":"2022-10-05 23:38:48.000000000","message":"should this perhaps be in the group level file?  Do you need to update this across hosts?\n\nI\u0027m thinking that people might end up here when doing more common operations like adding lists, so keeping it smaller might help in that regard","commit_id":"d137eb87978f6ce0e504f9834758ae82ad193c3e"},{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"6e03f7c9494a8cfd26ab028af385176a9b677786","unresolved":false,"context_lines":[{"line_number":54,"context_line":"      {% endraw %}"},{"line_number":55,"context_line":"      domains \u003d !+local_domains"},{"line_number":56,"context_line":"      ignore_target_hosts \u003d \u003c; 0.0.0.0; \\"},{"line_number":57,"context_line":"                                        64.94.110.11; \\"},{"line_number":58,"context_line":"                                        127.0.0.0/8; \\"},{"line_number":59,"context_line":"                                        ::1/128;fe80::/10;fe \\"},{"line_number":60,"context_line":"                                        c0::/10;ff00::/8"}],"source_content_type":"text/x-yaml","patch_set":77,"id":"0989d5af_53330c86","line":57,"updated":"2022-10-06 12:15:17.000000000","message":"Great question! I\u0027d never spotted it, but seems to have been included with our original import of the configuration in 2012: https://review.openstack.org/7319\n\nIt seems entirely superfluous, but may have been the publicly reachable address of the listserv at that time. We should definitely clean this up while working on the replacement config here. Thanks for calling it out!","commit_id":"d137eb87978f6ce0e504f9834758ae82ad193c3e"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"7ceb476b21841bb81f6b3b099fed9388921733bd","unresolved":true,"context_lines":[{"line_number":54,"context_line":"      {% endraw %}"},{"line_number":55,"context_line":"      domains \u003d !+local_domains"},{"line_number":56,"context_line":"      ignore_target_hosts \u003d \u003c; 0.0.0.0; \\"},{"line_number":57,"context_line":"                                        64.94.110.11; \\"},{"line_number":58,"context_line":"                                        127.0.0.0/8; \\"},{"line_number":59,"context_line":"                                        ::1/128;fe80::/10;fe \\"},{"line_number":60,"context_line":"                                        c0::/10;ff00::/8"}],"source_content_type":"text/x-yaml","patch_set":77,"id":"90c89835_560ad245","line":57,"range":{"start_line":57,"start_character":40,"end_line":57,"end_character":52},"updated":"2022-10-05 23:38:48.000000000","message":"what\u0027s this host?","commit_id":"d137eb87978f6ce0e504f9834758ae82ad193c3e"}],"playbooks/roles/mailman3/files/web-settings_local.py":[{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"f68a0729c6c927697343635d451c2fd091e653e3","unresolved":true,"context_lines":[{"line_number":19,"context_line":"# TODO there are warnings related to this when creating the super user"},{"line_number":20,"context_line":"# in django. But setting this value as suggested results in:"},{"line_number":21,"context_line":"#   AttributeError: type object \u0027BigAutoField\u0027 has no attribute \u0027rsplit\u0027"},{"line_number":22,"context_line":"#DEFAULT_AUTO_FIELD \u003d django.db.models.BigAutoField"}],"source_content_type":"text/x-python","patch_set":50,"id":"84649c45_75e9b58f","line":22,"updated":"2022-08-08 22:33:49.000000000","message":"Is this our todo or something from an upstream config?","commit_id":"53b9a7a4faee00989bcef4e31c557fbd99221954"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"928c7b956cee89f9c4f76772c7ecc0ce06370ae1","unresolved":true,"context_lines":[{"line_number":19,"context_line":"# TODO there are warnings related to this when creating the super user"},{"line_number":20,"context_line":"# in django. But setting this value as suggested results in:"},{"line_number":21,"context_line":"#   AttributeError: type object \u0027BigAutoField\u0027 has no attribute \u0027rsplit\u0027"},{"line_number":22,"context_line":"#DEFAULT_AUTO_FIELD \u003d django.db.models.BigAutoField"}],"source_content_type":"text/x-python","patch_set":50,"id":"9403b3e6_14b375c2","line":22,"in_reply_to":"84649c45_75e9b58f","updated":"2022-08-08 22:41:14.000000000","message":"This is our TODO. Everythin in this file is our local config. The other web-settings.py file is copied from upstream with some minor edits.","commit_id":"53b9a7a4faee00989bcef4e31c557fbd99221954"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"7ceb476b21841bb81f6b3b099fed9388921733bd","unresolved":false,"context_lines":[{"line_number":19,"context_line":"# TODO there are warnings related to this when creating the super user"},{"line_number":20,"context_line":"# in django. But setting this value as suggested results in:"},{"line_number":21,"context_line":"#   AttributeError: type object \u0027BigAutoField\u0027 has no attribute \u0027rsplit\u0027"},{"line_number":22,"context_line":"#DEFAULT_AUTO_FIELD \u003d django.db.models.BigAutoField"}],"source_content_type":"text/x-python","patch_set":50,"id":"2307ff19_3679da4b","line":22,"in_reply_to":"9403b3e6_14b375c2","updated":"2022-10-05 23:38:48.000000000","message":"Done","commit_id":"53b9a7a4faee00989bcef4e31c557fbd99221954"}],"playbooks/roles/mailman3/tasks/main.yaml":[{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"f68a0729c6c927697343635d451c2fd091e653e3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"a7570218_6d624712","line":73,"updated":"2022-08-08 22:33:49.000000000","message":"I know this is still wip but might like to think about a db backup script and bits for this too in a later revision","commit_id":"6fa6c2093ba74f1bd7f94ee41f083fb8b42bdfbe"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"f68a0729c6c927697343635d451c2fd091e653e3","unresolved":true,"context_lines":[{"line_number":211,"context_line":"      bash -c \u0027/usr/bin/mysqldump --opt --databases mailmandb --single-transaction -uroot -p\"$MYSQL_ROOT_PASSWORD\"\u0027 |"},{"line_number":212,"context_line":"      gzip -9 \u003e /var/backups/mailman-mariadb/mailman-mariadb.sql.gz"},{"line_number":213,"context_line":"    minute: 14"},{"line_number":214,"context_line":"    hour: 5"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"- name: Rotate db backups"},{"line_number":217,"context_line":"  include_role:"}],"source_content_type":"text/x-yaml","patch_set":50,"id":"f918ff80_d91e28e1","line":214,"updated":"2022-08-08 22:33:49.000000000","message":"Probably don\u0027t need to keep it on disk and also stream it to the backup servers; but fine if it\u0027s not too much overhead","commit_id":"53b9a7a4faee00989bcef4e31c557fbd99221954"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"7ceb476b21841bb81f6b3b099fed9388921733bd","unresolved":false,"context_lines":[{"line_number":211,"context_line":"      bash -c \u0027/usr/bin/mysqldump --opt --databases mailmandb --single-transaction -uroot -p\"$MYSQL_ROOT_PASSWORD\"\u0027 |"},{"line_number":212,"context_line":"      gzip -9 \u003e /var/backups/mailman-mariadb/mailman-mariadb.sql.gz"},{"line_number":213,"context_line":"    minute: 14"},{"line_number":214,"context_line":"    hour: 5"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"- name: Rotate db backups"},{"line_number":217,"context_line":"  include_role:"}],"source_content_type":"text/x-yaml","patch_set":50,"id":"47a98dd9_9b0c59c1","line":214,"in_reply_to":"7de590e9_70a04946","updated":"2022-10-05 23:38:48.000000000","message":"Ack","commit_id":"53b9a7a4faee00989bcef4e31c557fbd99221954"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"928c7b956cee89f9c4f76772c7ecc0ce06370ae1","unresolved":true,"context_lines":[{"line_number":211,"context_line":"      bash -c \u0027/usr/bin/mysqldump --opt --databases mailmandb --single-transaction -uroot -p\"$MYSQL_ROOT_PASSWORD\"\u0027 |"},{"line_number":212,"context_line":"      gzip -9 \u003e /var/backups/mailman-mariadb/mailman-mariadb.sql.gz"},{"line_number":213,"context_line":"    minute: 14"},{"line_number":214,"context_line":"    hour: 5"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"- name: Rotate db backups"},{"line_number":217,"context_line":"  include_role:"}],"source_content_type":"text/x-yaml","patch_set":50,"id":"7de590e9_70a04946","line":214,"in_reply_to":"f918ff80_d91e28e1","updated":"2022-08-08 22:41:14.000000000","message":"Ya, mostly doing this to be in sync with some of the other services.","commit_id":"53b9a7a4faee00989bcef4e31c557fbd99221954"},{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"8fb0c54ea07a9117353bac44d22beacd8495324e","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    - database"},{"line_number":39,"context_line":"    - web"},{"line_number":40,"context_line":"    - web-data"},{"line_number":41,"context_line":"    - web-data/fulltext_index"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"- name: Copy our overridden settings.py for mailman-web"},{"line_number":44,"context_line":"  copy:"}],"source_content_type":"text/x-yaml","patch_set":63,"id":"3f89d2a5_fa75d936","line":41,"updated":"2022-08-29 17:18:11.000000000","message":"It appears Xapian wants this to be owned 100:101 (mailman:mailman inside the container). I had to chown it manually to this before I could refresh the search index for a list after imported its archive.","commit_id":"ffb7b004cd222177b9a6d269c500c12dca5334e3"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"ec18acb29103b4795c37c6ed5991c81bb9de7707","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    - database"},{"line_number":39,"context_line":"    - web"},{"line_number":40,"context_line":"    - web-data"},{"line_number":41,"context_line":"    - web-data/fulltext_index"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"- name: Copy our overridden settings.py for mailman-web"},{"line_number":44,"context_line":"  copy:"}],"source_content_type":"text/x-yaml","patch_set":63,"id":"4aabe297_cb91dd6f","line":41,"in_reply_to":"3f89d2a5_fa75d936","updated":"2022-08-29 18:24:30.000000000","message":"Interesting. Previously xapian failed because it couldn\u0027t create this directory. Creating it here seems to have allowed the container startup to chown it. I think this is an issue for production but I\u0027m surprised that the container startup chowning didn\u0027t address this on the test node. Maybe beacuse we run ansible twice to check for idempotency?\n\nhttps://github.com/maxking/docker-mailman/issues/550 is an issue I filed upstream related to this. No movement yet.\n\nMaybe the best thing to do for now is move this into a separate file: creation block that doesn\u0027t set the owner group and mode and let the container manage it for now.","commit_id":"ffb7b004cd222177b9a6d269c500c12dca5334e3"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"7ceb476b21841bb81f6b3b099fed9388921733bd","unresolved":true,"context_lines":[{"line_number":244,"context_line":"    - /var/lib/mailman/core/var/logs/plugins.log"},{"line_number":245,"context_line":"    - /var/lib/mailman/core/var/logs/smtp.log"},{"line_number":246,"context_line":"  loop_control:"},{"line_number":247,"context_line":"    loop_var: logrotate_file_name"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"#### Database Backups ####"},{"line_number":250,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":77,"id":"3a9c9f15_ce2c115d","line":247,"updated":"2022-10-05 23:38:48.000000000","message":"I think you can probably reduce this by setting\n\n logrotate_file_name: \u0027/var/lib/mailman/web-data/logs/*.log\u0027\n \n(and similar for core/var/logs/)\n \nI\u0027m about 95% sure that works ... so double check 😊","commit_id":"d137eb87978f6ce0e504f9834758ae82ad193c3e"}],"playbooks/roles/mailman3/templates/docker-compose.yaml.j2":[{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"2a6f1097a95d961bdb5b4dc3738ee614cdb1db52","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    image: docker.io/maxking/mailman-core:0.4"},{"line_number":8,"context_line":"    container_name: mailman-core"},{"line_number":9,"context_line":"    volumes:"},{"line_number":10,"context_line":"      - /var/lib/mailman/core:/opt/mailman/"},{"line_number":11,"context_line":"    stop_grace_period: 30s"},{"line_number":12,"context_line":"    depends_on:"},{"line_number":13,"context_line":"      - database"}],"source_content_type":"text/x-jinja2","patch_set":63,"id":"6ae17277_650e3fad","line":10,"updated":"2022-08-29 17:49:39.000000000","message":"Can we add a /var/lib/mailman/import:/opt/import to hold our old MM2 listserv data, in order to ease migration?","commit_id":"ffb7b004cd222177b9a6d269c500c12dca5334e3"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"ec18acb29103b4795c37c6ed5991c81bb9de7707","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    image: docker.io/maxking/mailman-core:0.4"},{"line_number":8,"context_line":"    container_name: mailman-core"},{"line_number":9,"context_line":"    volumes:"},{"line_number":10,"context_line":"      - /var/lib/mailman/core:/opt/mailman/"},{"line_number":11,"context_line":"    stop_grace_period: 30s"},{"line_number":12,"context_line":"    depends_on:"},{"line_number":13,"context_line":"      - database"}],"source_content_type":"text/x-jinja2","patch_set":63,"id":"e22b0311_5ccf757a","line":10,"in_reply_to":"6ae17277_650e3fad","updated":"2022-08-29 18:24:30.000000000","message":"Yup, that shouldn\u0027t be an issue. Just be sure to create the directory on the host side in main.yaml.","commit_id":"ffb7b004cd222177b9a6d269c500c12dca5334e3"},{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"2a6f1097a95d961bdb5b4dc3738ee614cdb1db52","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    container_name: mailman-web"},{"line_number":30,"context_line":"    depends_on:"},{"line_number":31,"context_line":"      - database"},{"line_number":32,"context_line":"    volumes:"},{"line_number":33,"context_line":"      - /var/lib/mailman/web-data:/opt/mailman-web-data"},{"line_number":34,"context_line":"      - /var/lib/mailman/web/settings.py:/opt/mailman-web/settings.py"},{"line_number":35,"context_line":"    environment:"}],"source_content_type":"text/x-jinja2","patch_set":63,"id":"35aec91e_cd8355db","line":32,"updated":"2022-08-29 17:49:39.000000000","message":"And the same /var/lib/mailman/import:/opt/import here too, so that we don\u0027t have to split configuration and archives up, since half the import process happens in the core container and half in the web container?","commit_id":"ffb7b004cd222177b9a6d269c500c12dca5334e3"}],"playbooks/roles/mailman3/templates/mailman.vhost.j2":[{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"16fa0d21dc2b29af6f7f155a674de1c2a5af71d8","unresolved":false,"context_lines":[{"line_number":44,"context_line":"  \u003cLocation \"/admin\"\u003e"},{"line_number":45,"context_line":"    Require local"},{"line_number":46,"context_line":"  \u003c/Location\u003e"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"  ProxyPassMatch ^/static/ !"},{"line_number":49,"context_line":"  ProxyPass \"/\" \"uwsgi://localhost:8080/\""},{"line_number":50,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":63,"id":"c1fae371_4d8a08b0","line":47,"updated":"2022-08-29 23:06:10.000000000","message":"Oh, good idea. If I sync the the import trees in by FQDN rather than the old site designations, that should be trivial.","commit_id":"ffb7b004cd222177b9a6d269c500c12dca5334e3"},{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"2a6f1097a95d961bdb5b4dc3738ee614cdb1db52","unresolved":false,"context_lines":[{"line_number":44,"context_line":"  \u003cLocation \"/admin\"\u003e"},{"line_number":45,"context_line":"    Require local"},{"line_number":46,"context_line":"  \u003c/Location\u003e"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"  ProxyPassMatch ^/static/ !"},{"line_number":49,"context_line":"  ProxyPass \"/\" \"uwsgi://localhost:8080/\""},{"line_number":50,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":63,"id":"889d21b5_3aa6c2ab","line":47,"updated":"2022-08-29 17:49:39.000000000","message":"We\u0027ll probably want to map /pipermail/ to /var/lib/mailman/import/*/archives/public/ for each of the existing sites, in order to provide backward compatibility for old archive hyperlinks. We can work up redirects for the old list info page and archive index URLs well enough, I expect, it\u0027s just the individual E-mails and specific thread views which are hard to map to Hyperkitty\u0027s scheme.","commit_id":"ffb7b004cd222177b9a6d269c500c12dca5334e3"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"ec18acb29103b4795c37c6ed5991c81bb9de7707","unresolved":false,"context_lines":[{"line_number":44,"context_line":"  \u003cLocation \"/admin\"\u003e"},{"line_number":45,"context_line":"    Require local"},{"line_number":46,"context_line":"  \u003c/Location\u003e"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"  ProxyPassMatch ^/static/ !"},{"line_number":49,"context_line":"  ProxyPass \"/\" \"uwsgi://localhost:8080/\""},{"line_number":50,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":63,"id":"2b7e2d3f_fccb7dde","line":47,"in_reply_to":"889d21b5_3aa6c2ab","updated":"2022-08-29 18:24:30.000000000","message":"Using mod rewrite we should be able to keep it all in a single vhost as well. We can map lists.foo.org/pipermail to /var/lib/mailman/lists.foo.org/archives/public in this way.","commit_id":"ffb7b004cd222177b9a6d269c500c12dca5334e3"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"8be0427e2e76c3bbadf7b203e6bf47454f506782","unresolved":true,"context_lines":[{"line_number":46,"context_line":"  \u003c/Location\u003e"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"  RewriteEngine On"},{"line_number":49,"context_line":"  RewriteRule \"/pipermail/(.*)\" \"/var/lib/mailman/web-data/mm2archives/%{HTTP_HOST}/public/$1\""},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"  ProxyPassMatch ^/static/ !"},{"line_number":52,"context_line":"  ProxyPass \"/\" \"uwsgi://localhost:8080/\""}],"source_content_type":"text/x-jinja2","patch_set":67,"id":"ed75020f_2d0afda2","line":49,"updated":"2022-08-30 21:59:15.000000000","message":"I chose this target path so that I could have a single Directory entry below. It organizes things somewhat arbitrarily under the web-data dir but I think that is maybe a good spot for it?","commit_id":"87174ed91f0eb0b61ef787afdd230bd1307e7f9e"}],"playbooks/zuul/files/host_vars/lists99.opendev.org.yaml":[{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"f68a0729c6c927697343635d451c2fd091e653e3","unresolved":true,"context_lines":[{"line_number":117,"context_line":"      headers_remove \u003d Errors-To"},{"line_number":118,"context_line":"      max_rcpt \u003d 1"},{"line_number":119,"context_line":"      return_path \u003d ${local_part:$return_path}+$local_part\u003d$domain@${domain:$return_path}"},{"line_number":120,"context_line":"letsencrypt_certs:"},{"line_number":121,"context_line":"  lists-opendev-org-main:"},{"line_number":122,"context_line":"    - lists.opendev.org"},{"line_number":123,"context_line":"    - lists.airshipit.org"}],"source_content_type":"text/x-yaml","patch_set":50,"id":"2e988a10_3a733332","line":120,"updated":"2022-08-08 22:33:49.000000000","message":"as mentioned we can move this into the groups file","commit_id":"53b9a7a4faee00989bcef4e31c557fbd99221954"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"7ceb476b21841bb81f6b3b099fed9388921733bd","unresolved":false,"context_lines":[{"line_number":117,"context_line":"      headers_remove \u003d Errors-To"},{"line_number":118,"context_line":"      max_rcpt \u003d 1"},{"line_number":119,"context_line":"      return_path \u003d ${local_part:$return_path}+$local_part\u003d$domain@${domain:$return_path}"},{"line_number":120,"context_line":"letsencrypt_certs:"},{"line_number":121,"context_line":"  lists-opendev-org-main:"},{"line_number":122,"context_line":"    - lists.opendev.org"},{"line_number":123,"context_line":"    - lists.airshipit.org"}],"source_content_type":"text/x-yaml","patch_set":50,"id":"0435fe11_cf612aad","line":120,"in_reply_to":"2e988a10_3a733332","updated":"2022-10-05 23:38:48.000000000","message":"Done","commit_id":"53b9a7a4faee00989bcef4e31c557fbd99221954"}],"playbooks/zuul/run-base.yaml":[{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"f68a0729c6c927697343635d451c2fd091e653e3","unresolved":true,"context_lines":[{"line_number":154,"context_line":"    - name: Write lists99 host_vars."},{"line_number":155,"context_line":"      # This file is special because it has raw tags in it that we need to"},{"line_number":156,"context_line":"      # carry through. I can\u0027t figure out a better way to do that then copying"},{"line_number":157,"context_line":"      # it directly rather than treating it as a template."},{"line_number":158,"context_line":"      copy:"},{"line_number":159,"context_line":"        src: \"files/host_vars/lists99.opendev.org.yaml\""},{"line_number":160,"context_line":"        dest: \"/etc/ansible/hosts/host_vars/lists99.opendev.org.yaml\""}],"source_content_type":"text/x-yaml","patch_set":50,"id":"cbe80598_1e654baf","line":157,"updated":"2022-08-08 22:33:49.000000000","message":"can you put the problem bits in \n\n{% raw %} \n\n?","commit_id":"53b9a7a4faee00989bcef4e31c557fbd99221954"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"7ceb476b21841bb81f6b3b099fed9388921733bd","unresolved":false,"context_lines":[{"line_number":154,"context_line":"    - name: Write lists99 host_vars."},{"line_number":155,"context_line":"      # This file is special because it has raw tags in it that we need to"},{"line_number":156,"context_line":"      # carry through. I can\u0027t figure out a better way to do that then copying"},{"line_number":157,"context_line":"      # it directly rather than treating it as a template."},{"line_number":158,"context_line":"      copy:"},{"line_number":159,"context_line":"        src: \"files/host_vars/lists99.opendev.org.yaml\""},{"line_number":160,"context_line":"        dest: \"/etc/ansible/hosts/host_vars/lists99.opendev.org.yaml\""}],"source_content_type":"text/x-yaml","patch_set":50,"id":"acee0069_51601ef1","line":157,"in_reply_to":"73f846b5_915a6c49","updated":"2022-10-05 23:38:48.000000000","message":"Ack","commit_id":"53b9a7a4faee00989bcef4e31c557fbd99221954"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"928c7b956cee89f9c4f76772c7ecc0ce06370ae1","unresolved":true,"context_lines":[{"line_number":154,"context_line":"    - name: Write lists99 host_vars."},{"line_number":155,"context_line":"      # This file is special because it has raw tags in it that we need to"},{"line_number":156,"context_line":"      # carry through. I can\u0027t figure out a better way to do that then copying"},{"line_number":157,"context_line":"      # it directly rather than treating it as a template."},{"line_number":158,"context_line":"      copy:"},{"line_number":159,"context_line":"        src: \"files/host_vars/lists99.opendev.org.yaml\""},{"line_number":160,"context_line":"        dest: \"/etc/ansible/hosts/host_vars/lists99.opendev.org.yaml\""}],"source_content_type":"text/x-yaml","patch_set":50,"id":"73f846b5_915a6c49","line":157,"in_reply_to":"cbe80598_1e654baf","updated":"2022-08-08 22:41:14.000000000","message":"No, because that would require nested raw entries due to: https://opendev.org/opendev/system-config/src/branch/master/inventory/service/host_vars/lists.openstack.org.yaml#L46-L50\n\nI couldn\u0027t figure out how to do that and jinja doesn\u0027t seem to do a proper pushdown to do nesting.","commit_id":"53b9a7a4faee00989bcef4e31c557fbd99221954"}],"testinfra/test_lists_opendev_org.py":[{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"49d25d8dc88b703bffe150a0d1a4aa588bc6bd82","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"def test_mailman3_screenshots(host):"},{"line_number":40,"context_line":"    shots \u003d ("},{"line_number":41,"context_line":"        (\"https://lists.opendev.org:443\", None, \"mm3-opendev-main.png\"),"},{"line_number":42,"context_line":"        (\"https://lists.opendev.org:443/hyperkitty/\","},{"line_number":43,"context_line":"         None, \"mm3-opendev-archives.png\"),"},{"line_number":44,"context_line":"        (\"https://lists.opendev.org:443\""}],"source_content_type":"text/x-python","patch_set":77,"id":"6a0f5fa1_61b40a52","line":41,"updated":"2022-10-07 19:24:23.000000000","message":"That\u0027s not one of the sites the vhosts are set up to serve though, is it? I guess I\u0027ll give it a try anyay.","commit_id":"d137eb87978f6ce0e504f9834758ae82ad193c3e"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"7ceb476b21841bb81f6b3b099fed9388921733bd","unresolved":true,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"def test_mailman3_screenshots(host):"},{"line_number":40,"context_line":"    shots \u003d ("},{"line_number":41,"context_line":"        (\"https://lists.opendev.org:443\", None, \"mm3-opendev-main.png\"),"},{"line_number":42,"context_line":"        (\"https://lists.opendev.org:443/hyperkitty/\","},{"line_number":43,"context_line":"         None, \"mm3-opendev-archives.png\"),"},{"line_number":44,"context_line":"        (\"https://lists.opendev.org:443\""}],"source_content_type":"text/x-python","patch_set":77,"id":"49cc215d_43874db3","line":41,"updated":"2022-10-05 23:38:48.000000000","message":"it might be better to go to lists99.opendev.org ... i feel like that way you can never accidentally take shots of the production service","commit_id":"d137eb87978f6ce0e504f9834758ae82ad193c3e"}]}
