)]}'
{"playbooks/host_vars/graphite01.opendev.org.yaml":[{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"f2e16dcec4368399c58965d738b9357466523f3e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"letsencrypt_certs:"},{"line_number":2,"context_line":"  graphtite01-main:"},{"line_number":3,"context_line":"    - graphite01.opendev.org"},{"line_number":4,"context_line":"    - graphite.opendev.org"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"dfbec78f_5fc3d85d","line":2,"range":{"start_line":2,"start_character":7,"end_line":2,"end_character":8},"updated":"2019-05-13 12:51:09.000000000","message":"Erroneous t","commit_id":"404e4d90f09fe0b89282ace75a082087ade284b9"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"8382beca927d55cdb48e6678f0d5ae246e2f89d8","unresolved":false,"context_lines":[{"line_number":1,"context_line":"letsencrypt_certs:"},{"line_number":2,"context_line":"  graphtite01-main:"},{"line_number":3,"context_line":"    - graphite01.opendev.org"},{"line_number":4,"context_line":"    - graphite.opendev.org"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"dfbec78f_7e9b3417","line":2,"range":{"start_line":2,"start_character":7,"end_line":2,"end_character":8},"in_reply_to":"dfbec78f_5fc3d85d","updated":"2019-05-13 22:15:05.000000000","message":"Thanks!","commit_id":"404e4d90f09fe0b89282ace75a082087ade284b9"}],"playbooks/roles/letsencrypt-create-certs/handlers/main.yaml":[{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"9ab1bb4e2902f192161943c554f0122e464b06e3","unresolved":false,"context_lines":[{"line_number":10,"context_line":"# doesn\u0027t actually register the handler.  May be a bug or a feature to"},{"line_number":11,"context_line":"# do with import_tasks; currently unsure."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"- name: letsencrypt updated graphite01-main"},{"line_number":14,"context_line":"  import_tasks: touch_file.yaml"},{"line_number":15,"context_line":"  vars:"},{"line_number":16,"context_line":"    touch_file: \u0027/tmp/letsencrypt-graphite01-main.stamp\u0027"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"3fce034c_a24466b8","line":13,"updated":"2019-04-16 23:27:47.000000000","message":"I realise this fails the abstraction test a bit ... that we have what would be considered in some ways configuration in the role.  But handlers seem like the way to do this, and they have to be tasks that can be run from the playbook ...","commit_id":"9dc4e796951f32f04ca6d9cd2f222ba46383802a"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"419c4b4b13a74e8c7025f2d89c7538a01dffa52b","unresolved":false,"context_lines":[{"line_number":10,"context_line":"# doesn\u0027t actually register the handler.  May be a bug or a feature to"},{"line_number":11,"context_line":"# do with import_tasks; currently unsure."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"- name: letsencrypt updated graphite01-main"},{"line_number":14,"context_line":"  import_tasks: touch_file.yaml"},{"line_number":15,"context_line":"  vars:"},{"line_number":16,"context_line":"    touch_file: \u0027/tmp/letsencrypt-graphite01-main.stamp\u0027"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"dfbec78f_aa4c9076","line":13,"in_reply_to":"3fce034c_a24466b8","updated":"2019-05-04 15:55:43.000000000","message":"This means that we\u0027ll add a handler to the role for each consumer of a cert?\n\nThat is probably workable until we get out of the puppet business.\n\nOut of curiosity why not have the handler do the service reload directly? If the handler is a per service/consumer thing we should be able to write appropriate handlers for whatever thta might be?","commit_id":"9dc4e796951f32f04ca6d9cd2f222ba46383802a"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"72f482f6fe301b9a98edb6aa8ee70fe397c61464","unresolved":false,"context_lines":[{"line_number":10,"context_line":"# doesn\u0027t actually register the handler.  May be a bug or a feature to"},{"line_number":11,"context_line":"# do with import_tasks; currently unsure."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"- name: letsencrypt updated graphite01-main"},{"line_number":14,"context_line":"  import_tasks: touch_file.yaml"},{"line_number":15,"context_line":"  vars:"},{"line_number":16,"context_line":"    touch_file: \u0027/tmp/letsencrypt-graphite01-main.stamp\u0027"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"dfbec78f_2ec1662f","line":13,"in_reply_to":"dfbec78f_aa4c9076","updated":"2019-05-07 23:58:45.000000000","message":"\u003e This means that we\u0027ll add a handler to the role for each consumer of a cert?\n\nThis is correct; if ansible does a notify: for \"letsencrypt updated XYZ\" and it\u0027s not defined, we\u0027ll get an error.  there\u0027s no facility I know of to say \"notify only if there\u0027s a handler\".\n\n\u003e Out of curiosity why not have the handler do the service reload directly?\n\nThis handler can do anything we want; I have a slight concern with having ansible manage things like restarting apache directly here as there might be corner cases -- e.g. starting a new host; I think this will run first, before puppet has even installed apache.  there might be other interactions I haven\u0027t thought of.\n\nI think it\u0027s useful to include the default \"touch_file.yaml\" as an example, even if we want to just \"service restart\" something in this task.","commit_id":"9dc4e796951f32f04ca6d9cd2f222ba46383802a"}],"playbooks/roles/letsencrypt-request-certs/README.rst":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"419c4b4b13a74e8c7025f2d89c7538a01dffa52b","unresolved":false,"context_lines":[{"line_number":50,"context_line":"   ``letsencrypt updated hostname-main-cert``) when that certificate"},{"line_number":51,"context_line":"   is created or updated.  Because Ansible errors if a handler is"},{"line_number":52,"context_line":"   called with no listeners, you *must* define a listener for event."},{"line_number":53,"context_line":"   ``letsencrypt-create-certs`` has ``handlers/main.yaml`` where"},{"line_number":54,"context_line":"   handlers can be defined.  Since handlers reside in a global"},{"line_number":55,"context_line":"   namespace, you should choose an appropriately unique name."},{"line_number":56,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"dfbec78f_0a603cce","line":53,"updated":"2019-05-04 15:55:43.000000000","message":"Would ansible let us do handlers/main.yaml with the test bootstrapping handlers and then handlers/graphite.yaml for the graphite handler and handlers/mirrors.yaml etc for say the mirror nodes? Might help us organize things a bit better.","commit_id":"9dc4e796951f32f04ca6d9cd2f222ba46383802a"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"72f482f6fe301b9a98edb6aa8ee70fe397c61464","unresolved":false,"context_lines":[{"line_number":50,"context_line":"   ``letsencrypt updated hostname-main-cert``) when that certificate"},{"line_number":51,"context_line":"   is created or updated.  Because Ansible errors if a handler is"},{"line_number":52,"context_line":"   called with no listeners, you *must* define a listener for event."},{"line_number":53,"context_line":"   ``letsencrypt-create-certs`` has ``handlers/main.yaml`` where"},{"line_number":54,"context_line":"   handlers can be defined.  Since handlers reside in a global"},{"line_number":55,"context_line":"   namespace, you should choose an appropriately unique name."},{"line_number":56,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"dfbec78f_8ee732e5","line":53,"in_reply_to":"dfbec78f_0a603cce","updated":"2019-05-07 23:58:45.000000000","message":"I don\u0027t think so; ansible will only look for \"handlers/main.yaml\" in the role.  While the tasks within that role can certainly import other files, I don\u0027t think there\u0027s a way to tell ansible \"import all the tasks from these other yaml files too\" within main.yaml","commit_id":"9dc4e796951f32f04ca6d9cd2f222ba46383802a"}]}
