)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"abb92bbf455a0e0cefad32b6c705a12d69f349b5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"0915d5e8_84098e30","updated":"2023-01-25 00:58:46.000000000","message":"recheck","commit_id":"cf1cc4a2aca2e4fa88e48108cedb6af769a98fc7"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"32216a563de9834cb41f541ca1d489abf3ed2837","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"785e3726_bbe3b681","updated":"2023-06-05 22:23:22.000000000","message":"Looks good to me.\n\nThanks Ian","commit_id":"17cf97107c51ad3c81ce5080dfb8fb22f6d26ef3"}],"playbooks/roles/make-tarball/README.rst":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"a67a982e8cdd8fafd97a52633513745d5719a089","unresolved":true,"context_lines":[{"line_number":1,"context_line":"Make a tarball from a list of dirs"},{"line_number":2,"context_line":"----------------------------------"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"``make_tarball_dirs``: list"}],"source_content_type":"text/x-rst","patch_set":6,"id":"0797c3dc_ff9c2cf0","line":4,"updated":"2023-02-14 23:50:38.000000000","message":"Nit the role asserts that two other vars are set as well as this one.","commit_id":"cf1cc4a2aca2e4fa88e48108cedb6af769a98fc7"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"dfc8825dff0fdd277bf3c1a99597331a922d406b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"Make a tarball from a list of dirs"},{"line_number":2,"context_line":"----------------------------------"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"``make_tarball_dirs``: list"}],"source_content_type":"text/x-rst","patch_set":6,"id":"4618c06d_169fd683","line":4,"in_reply_to":"0797c3dc_ff9c2cf0","updated":"2023-02-27 23:54:11.000000000","message":"Done","commit_id":"cf1cc4a2aca2e4fa88e48108cedb6af769a98fc7"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"c1c30fd215505d8a8720b8984a3be7889e852928","unresolved":false,"context_lines":[{"line_number":1,"context_line":"Make a tarball from a list of dirs"},{"line_number":2,"context_line":"----------------------------------"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"``make_tarball_dirs``: list"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9c111a39_86e74166","line":4,"in_reply_to":"0797c3dc_ff9c2cf0","updated":"2023-02-15 16:29:23.000000000","message":"Done","commit_id":"cf1cc4a2aca2e4fa88e48108cedb6af769a98fc7"}],"playbooks/roles/make-tarball/files/make-tarball":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"a67a982e8cdd8fafd97a52633513745d5719a089","unresolved":true,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"CONFIG_FILE\u003d\"${1}\""},{"line_number":13,"context_line":"FINGERPRINT\u003d\"${2}\""},{"line_number":14,"context_line":"OUT_DIR\u003d\"${3}\""},{"line_number":15,"context_line":"TIMESTAMP\u003d\"$(date -u \u0027+%Y-%m-%dT%H:%M:%S\u0027)\""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"# Sourced config file should overwrite these"}],"source_content_type":"application/x-shellscript","patch_set":6,"id":"4c9e5d8f_d72a7d4f","line":14,"updated":"2023-02-14 23:50:38.000000000","message":"Above we\u0027re only allowing a single argument but then we grab the values of $2 and $3 here. Looks like this is dead code?","commit_id":"cf1cc4a2aca2e4fa88e48108cedb6af769a98fc7"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"c1c30fd215505d8a8720b8984a3be7889e852928","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"CONFIG_FILE\u003d\"${1}\""},{"line_number":13,"context_line":"FINGERPRINT\u003d\"${2}\""},{"line_number":14,"context_line":"OUT_DIR\u003d\"${3}\""},{"line_number":15,"context_line":"TIMESTAMP\u003d\"$(date -u \u0027+%Y-%m-%dT%H:%M:%S\u0027)\""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"# Sourced config file should overwrite these"}],"source_content_type":"application/x-shellscript","patch_set":6,"id":"252758ba_76164474","line":14,"in_reply_to":"4c9e5d8f_d72a7d4f","updated":"2023-02-15 16:29:23.000000000","message":"Done","commit_id":"cf1cc4a2aca2e4fa88e48108cedb6af769a98fc7"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"dfc8825dff0fdd277bf3c1a99597331a922d406b","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"CONFIG_FILE\u003d\"${1}\""},{"line_number":13,"context_line":"FINGERPRINT\u003d\"${2}\""},{"line_number":14,"context_line":"OUT_DIR\u003d\"${3}\""},{"line_number":15,"context_line":"TIMESTAMP\u003d\"$(date -u \u0027+%Y-%m-%dT%H:%M:%S\u0027)\""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"# Sourced config file should overwrite these"}],"source_content_type":"application/x-shellscript","patch_set":6,"id":"0f09e38a_5c032697","line":14,"in_reply_to":"4c9e5d8f_d72a7d4f","updated":"2023-02-27 23:54:11.000000000","message":"Indeed, not needed after having a config file","commit_id":"cf1cc4a2aca2e4fa88e48108cedb6af769a98fc7"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"a67a982e8cdd8fafd97a52633513745d5719a089","unresolved":true,"context_lines":[{"line_number":43,"context_line":"    exit 1"},{"line_number":44,"context_line":"fi"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"printf -v _BACKUP_DIRS \u0027%s \u0027 \"${BACKUP_DIRS[@]}\""},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"OUTPUT_FILE\u003d\"${OUTPUT_DIR}/${BACKUP_BASENAME}_${TIMESTAMP}.tar\""},{"line_number":49,"context_line":"OUTPUT_ENCRYPTED_FILE\u003d\"${OUTPUT_FILE}.gpg\""}],"source_content_type":"application/x-shellscript","patch_set":6,"id":"cd48f3e0_7abb354d","line":46,"updated":"2023-02-14 23:50:38.000000000","message":"I don\u0027t think this properly escapes dirs with spaces or other special characters in their names. Probably not super important though.","commit_id":"cf1cc4a2aca2e4fa88e48108cedb6af769a98fc7"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"c1c30fd215505d8a8720b8984a3be7889e852928","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    exit 1"},{"line_number":44,"context_line":"fi"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"printf -v _BACKUP_DIRS \u0027%s \u0027 \"${BACKUP_DIRS[@]}\""},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"OUTPUT_FILE\u003d\"${OUTPUT_DIR}/${BACKUP_BASENAME}_${TIMESTAMP}.tar\""},{"line_number":49,"context_line":"OUTPUT_ENCRYPTED_FILE\u003d\"${OUTPUT_FILE}.gpg\""}],"source_content_type":"application/x-shellscript","patch_set":6,"id":"cd5088a0_a85cf256","line":46,"in_reply_to":"cd48f3e0_7abb354d","updated":"2023-02-15 16:29:23.000000000","message":"Done","commit_id":"cf1cc4a2aca2e4fa88e48108cedb6af769a98fc7"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"dfc8825dff0fdd277bf3c1a99597331a922d406b","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    exit 1"},{"line_number":44,"context_line":"fi"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"printf -v _BACKUP_DIRS \u0027%s \u0027 \"${BACKUP_DIRS[@]}\""},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"OUTPUT_FILE\u003d\"${OUTPUT_DIR}/${BACKUP_BASENAME}_${TIMESTAMP}.tar\""},{"line_number":49,"context_line":"OUTPUT_ENCRYPTED_FILE\u003d\"${OUTPUT_FILE}.gpg\""}],"source_content_type":"application/x-shellscript","patch_set":6,"id":"1b5607db_cfad1544","line":46,"in_reply_to":"cd48f3e0_7abb354d","updated":"2023-02-27 23:54:11.000000000","message":"good point; changed to \"\u0027%s\u0027 \" which should put single quotes around args","commit_id":"cf1cc4a2aca2e4fa88e48108cedb6af769a98fc7"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"a67a982e8cdd8fafd97a52633513745d5719a089","unresolved":true,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"echo \"Backing up to ${OUTPUT_ENCRYPTED_FILE}\""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"tar cvf ${OUTPUT_FILE} ${_BACKUP_DIRS}"},{"line_number":54,"context_line":"gpg --output ${OUTPUT_ENCRYPTED_FILE} --encrypt \\"},{"line_number":55,"context_line":"    --recipient ${ENCRYPT_FINGERPRINT} ${OUTPUT_FILE}"},{"line_number":56,"context_line":"rm ${OUTPUT_FILE}"}],"source_content_type":"application/x-shellscript","patch_set":6,"id":"d3f8e049_771c6490","line":53,"updated":"2023-02-14 23:50:38.000000000","message":"Nit add j or z to keep file sizes down?","commit_id":"cf1cc4a2aca2e4fa88e48108cedb6af769a98fc7"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"dfc8825dff0fdd277bf3c1a99597331a922d406b","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"echo \"Backing up to ${OUTPUT_ENCRYPTED_FILE}\""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"tar cvf ${OUTPUT_FILE} ${_BACKUP_DIRS}"},{"line_number":54,"context_line":"gpg --output ${OUTPUT_ENCRYPTED_FILE} --encrypt \\"},{"line_number":55,"context_line":"    --recipient ${ENCRYPT_FINGERPRINT} ${OUTPUT_FILE}"},{"line_number":56,"context_line":"rm ${OUTPUT_FILE}"}],"source_content_type":"application/x-shellscript","patch_set":6,"id":"11163761_6db04ef5","line":53,"in_reply_to":"d3f8e049_771c6490","updated":"2023-02-27 23:54:11.000000000","message":"by default gpg compresses the output, so that is why i left it plain here","commit_id":"cf1cc4a2aca2e4fa88e48108cedb6af769a98fc7"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"a67a982e8cdd8fafd97a52633513745d5719a089","unresolved":true,"context_lines":[{"line_number":53,"context_line":"tar cvf ${OUTPUT_FILE} ${_BACKUP_DIRS}"},{"line_number":54,"context_line":"gpg --output ${OUTPUT_ENCRYPTED_FILE} --encrypt \\"},{"line_number":55,"context_line":"    --recipient ${ENCRYPT_FINGERPRINT} ${OUTPUT_FILE}"},{"line_number":56,"context_line":"rm ${OUTPUT_FILE}"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"echo \"Cleaning up old files\""},{"line_number":59,"context_line":"find ${OUTPUT_DIR} -mindepth 1 -mtime +7 -delete"}],"source_content_type":"application/x-shellscript","patch_set":6,"id":"341a7f04_2ed25c7b","line":56,"updated":"2023-02-14 23:50:38.000000000","message":"I suspect that if you do this with a pipe you never need to write the unencrypted data back out to disk.","commit_id":"cf1cc4a2aca2e4fa88e48108cedb6af769a98fc7"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"dfc8825dff0fdd277bf3c1a99597331a922d406b","unresolved":false,"context_lines":[{"line_number":53,"context_line":"tar cvf ${OUTPUT_FILE} ${_BACKUP_DIRS}"},{"line_number":54,"context_line":"gpg --output ${OUTPUT_ENCRYPTED_FILE} --encrypt \\"},{"line_number":55,"context_line":"    --recipient ${ENCRYPT_FINGERPRINT} ${OUTPUT_FILE}"},{"line_number":56,"context_line":"rm ${OUTPUT_FILE}"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"echo \"Cleaning up old files\""},{"line_number":59,"context_line":"find ${OUTPUT_DIR} -mindepth 1 -mtime +7 -delete"}],"source_content_type":"application/x-shellscript","patch_set":6,"id":"9f158177_8f624efb","line":56,"in_reply_to":"341a7f04_2ed25c7b","updated":"2023-02-27 23:54:11.000000000","message":"Ack","commit_id":"cf1cc4a2aca2e4fa88e48108cedb6af769a98fc7"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"c1c30fd215505d8a8720b8984a3be7889e852928","unresolved":false,"context_lines":[{"line_number":53,"context_line":"tar cvf ${OUTPUT_FILE} ${_BACKUP_DIRS}"},{"line_number":54,"context_line":"gpg --output ${OUTPUT_ENCRYPTED_FILE} --encrypt \\"},{"line_number":55,"context_line":"    --recipient ${ENCRYPT_FINGERPRINT} ${OUTPUT_FILE}"},{"line_number":56,"context_line":"rm ${OUTPUT_FILE}"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"echo \"Cleaning up old files\""},{"line_number":59,"context_line":"find ${OUTPUT_DIR} -mindepth 1 -mtime +7 -delete"}],"source_content_type":"application/x-shellscript","patch_set":6,"id":"c8c4b144_13f8b586","line":56,"in_reply_to":"341a7f04_2ed25c7b","updated":"2023-02-15 16:29:23.000000000","message":"Done","commit_id":"cf1cc4a2aca2e4fa88e48108cedb6af769a98fc7"}],"playbooks/service-bridge.yaml":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"a67a982e8cdd8fafd97a52633513745d5719a089","unresolved":true,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    - name: Install tarball creator"},{"line_number":35,"context_line":"      include_role:"},{"line_number":36,"context_line":"        name: make-tarball"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"# NOTE: we have hard-coded the active bridge here because we only want"},{"line_number":39,"context_line":"# to install this on the currently active production bridge that will"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"095795d6_d2d391c8","line":36,"updated":"2023-02-14 23:50:38.000000000","message":"We are only setting the three required variables for this role in testing which will cause this playbook to fail in production.","commit_id":"cf1cc4a2aca2e4fa88e48108cedb6af769a98fc7"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"dfc8825dff0fdd277bf3c1a99597331a922d406b","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    - name: Install tarball creator"},{"line_number":35,"context_line":"      include_role:"},{"line_number":36,"context_line":"        name: make-tarball"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"# NOTE: we have hard-coded the active bridge here because we only want"},{"line_number":39,"context_line":"# to install this on the currently active production bridge that will"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"3961f4af_35b647f9","line":36,"in_reply_to":"095795d6_d2d391c8","updated":"2023-02-27 23:54:11.000000000","message":"Done","commit_id":"cf1cc4a2aca2e4fa88e48108cedb6af769a98fc7"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"c1c30fd215505d8a8720b8984a3be7889e852928","unresolved":true,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    - name: Install tarball creator"},{"line_number":35,"context_line":"      include_role:"},{"line_number":36,"context_line":"        name: make-tarball"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"# NOTE: we have hard-coded the active bridge here because we only want"},{"line_number":39,"context_line":"# to install this on the currently active production bridge that will"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"264e81de_1510fd87","line":36,"in_reply_to":"095795d6_d2d391c8","updated":"2023-02-15 16:29:23.000000000","message":"I think this will still create problems with newer patchests unless we update secret vars due to the required key content vars.","commit_id":"cf1cc4a2aca2e4fa88e48108cedb6af769a98fc7"}],"playbooks/zuul/templates/group_vars/bastion.yaml.j2":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"c1c30fd215505d8a8720b8984a3be7889e852928","unresolved":true,"context_lines":[{"line_number":56,"context_line":"  -----END PGP PRIVATE KEY BLOCK-----"},{"line_number":57,"context_line":"make_tarball_backup_dirs:"},{"line_number":58,"context_line":"  - /etc/openstack"},{"line_number":59,"context_line":"  - /var/lib/rax-dns-backup"}],"source_content_type":"text/x-jinja2","patch_set":11,"id":"217e01b3_55d9ae9a","line":59,"range":{"start_line":59,"start_character":4,"end_line":59,"end_character":27},"updated":"2023-02-15 16:29:23.000000000","message":"This dir does not seem to exist on the test node and results in a failure of testing.","commit_id":"1c1bfb160c3916060ad59a864be9a456e77062c2"}],"testinfra/test_bridge.py":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"c1c30fd215505d8a8720b8984a3be7889e852928","unresolved":true,"context_lines":[{"line_number":126,"context_line":"    assert outdir.is_directory"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"    for f in outdir.listdir():"},{"line_number":129,"context_line":"        assert f.endswith(\u0027.tar\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"d4884370_e329d6ee","line":129,"updated":"2023-02-15 16:29:23.000000000","message":"Can also check the contents of that .tar file have a single key file and tar.gpg file.","commit_id":"1c1bfb160c3916060ad59a864be9a456e77062c2"}]}
