)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"52e378c03780f046bd49498651e9f26b7964fcde","unresolved":false,"context_lines":[{"line_number":23,"context_line":"role will fetch files from the disk whenever an override is provided and"},{"line_number":24,"context_line":"then push the fetched file back to the target using `config_template`."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"The \"when\" condition was removed on the tasks using \"with_nested\". This"},{"line_number":27,"context_line":"was done because \"when\" is not valid \"with_nested\". Ansible ignores \"when\""},{"line_number":28,"context_line":"when \"with_nested\" is used during an include. An upstream issue confirms"},{"line_number":29,"context_line":"this behaviour:  https://github.com/ansible/ansible/issues/20382"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Change-Id: I93cb6463ca1eb93ab7f4e7a3970a7de829efaf66"},{"line_number":32,"context_line":"Signed-off-by: Kevin Carter \u003ckevin.carter@rackspace.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"dfd5e7cf_ffcee281","line":29,"range":{"start_line":26,"start_character":0,"end_line":29,"end_character":64},"updated":"2019-01-07 09:11:42.000000000","message":"I think that this part of the patch should be separated into its own review to keep the review focused on solving one issue - as it stands, the smart sources changes are complex enough to be confusing without this extra bit added to it.","commit_id":"b59fc78bdf41f0c0c388a0c961e555dab174a474"}],"tasks/keystone_post_install.yml":[{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"bc60e2de1792a6aeafbd62eff8a5d224df2b93ed","unresolved":false,"context_lines":[{"line_number":107,"context_line":"    - Restart uWSGI"},{"line_number":108,"context_line":"    - Restart web server"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"- name: Clean up Keystone Federation SP SSO callback template"},{"line_number":111,"context_line":"  file:"},{"line_number":112,"context_line":"    path: \"/etc/keystone/sso_callback_template.html\""},{"line_number":113,"context_line":"    state: absent"},{"line_number":114,"context_line":"  when:"},{"line_number":115,"context_line":"    - not keystone_sp"},{"line_number":116,"context_line":"  notify:"},{"line_number":117,"context_line":"    - Manage LB"},{"line_number":118,"context_line":"    - Restart uWSGI"},{"line_number":119,"context_line":"    - Restart web server"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"dfd5e7cf_e916fdf1","line":119,"range":{"start_line":110,"start_character":0,"end_line":119,"end_character":24},"updated":"2019-01-09 09:31:10.000000000","message":"This task should no longer be there, it was removed in https://github.com/openstack/openstack-ansible-os_keystone/commit/f66eca27d32fefc334d5b0f90c64f551e9b19116","commit_id":"89922289c6067c0b00ba5f01a726ffa9786050d8"},{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"b7d40ccecf97da204fc799644529b40769244e9f","unresolved":false,"context_lines":[{"line_number":107,"context_line":"    - Restart uWSGI"},{"line_number":108,"context_line":"    - Restart web server"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"- name: Clean up Keystone Federation SP SSO callback template"},{"line_number":111,"context_line":"  file:"},{"line_number":112,"context_line":"    path: \"/etc/keystone/sso_callback_template.html\""},{"line_number":113,"context_line":"    state: absent"},{"line_number":114,"context_line":"  when:"},{"line_number":115,"context_line":"    - not keystone_sp"},{"line_number":116,"context_line":"  notify:"},{"line_number":117,"context_line":"    - Manage LB"},{"line_number":118,"context_line":"    - Restart uWSGI"},{"line_number":119,"context_line":"    - Restart web server"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"dfd5e7cf_bd8d81d4","line":119,"range":{"start_line":110,"start_character":0,"end_line":119,"end_character":24},"in_reply_to":"dfd5e7cf_e916fdf1","updated":"2019-01-10 00:30:03.000000000","message":"Done","commit_id":"89922289c6067c0b00ba5f01a726ffa9786050d8"}],"tasks/keystone_pre_install.yml":[{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"a5e72cc3b265a94ad62e9cba2e9a8fbf69c44aab","unresolved":false,"context_lines":[{"line_number":33,"context_line":"  delegate_to: \"{{ item[0] }}\""},{"line_number":34,"context_line":"  when: \"inventory_hostname \u003d\u003d ansible_play_hosts[0]\""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"- name: Remove old key file(s) if found"},{"line_number":37,"context_line":"  file:"},{"line_number":38,"context_line":"    path: \"{{ item[1] }}\""},{"line_number":39,"context_line":"    state: \"absent\""},{"line_number":40,"context_line":"  with_nested:"},{"line_number":41,"context_line":"    - \"{{ ansible_play_hosts }}\""},{"line_number":42,"context_line":"    - - \"{{ keystone_system_user_home }}/.ssh/authorized_keys\""},{"line_number":43,"context_line":"      - \"{{ keystone_system_user_home }}/.ssh/id_rsa\""},{"line_number":44,"context_line":"      - \"{{ keystone_system_user_home }}/.ssh/id_rsa.pub\""},{"line_number":45,"context_line":"  when:"},{"line_number":46,"context_line":"    - keystone_recreate_keys | bool"},{"line_number":47,"context_line":"    - \"inventory_hostname \u003d\u003d ansible_play_hosts[0]\""},{"line_number":48,"context_line":"  delegate_to: \"{{ item[0] }}\""},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"- name: Create the keystone system user"},{"line_number":51,"context_line":"  user:"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"dfd5e7cf_5c74c535","side":"PARENT","line":48,"range":{"start_line":36,"start_character":0,"end_line":48,"end_character":30},"updated":"2019-01-08 09:36:34.000000000","message":"Why is this being removed?","commit_id":"87b3926ed14877dc050b6aec1300fdeab3587423"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"a5e72cc3b265a94ad62e9cba2e9a8fbf69c44aab","unresolved":false,"context_lines":[{"line_number":20,"context_line":"    system: \"yes\""},{"line_number":21,"context_line":"  delegate_to: \"{{ item }}\""},{"line_number":22,"context_line":"  with_items: \"{{ ansible_play_hosts }}\""},{"line_number":23,"context_line":"  run_once: true"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"- name: create additional groups"},{"line_number":26,"context_line":"  group:"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"dfd5e7cf_5c9b6571","line":23,"range":{"start_line":23,"start_character":0,"end_line":23,"end_character":16},"updated":"2019-01-08 09:36:34.000000000","message":"This needs to run on the first host, not any host. The rsync of credentials and keys must happen from the first host to all the others immediately, and this is required as a dependency for that.\n\nSee https://review.openstack.org/438219 for the original reason why it was added in this way.","commit_id":"6efde2c91a23f7c7f87832a6204eac4e3bc2d425"},{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"6f1827791f142c0b0cadb690d4f37e95d2620a9e","unresolved":false,"context_lines":[{"line_number":20,"context_line":"    system: \"yes\""},{"line_number":21,"context_line":"  delegate_to: \"{{ item }}\""},{"line_number":22,"context_line":"  with_items: \"{{ ansible_play_hosts }}\""},{"line_number":23,"context_line":"  run_once: true"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"- name: create additional groups"},{"line_number":26,"context_line":"  group:"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"dfd5e7cf_0c592659","line":23,"range":{"start_line":23,"start_character":0,"end_line":23,"end_character":16},"in_reply_to":"dfd5e7cf_5c9b6571","updated":"2019-01-08 13:52:37.000000000","message":"Many of these changes were implemented months ago, I\u0027ll adjust to the new pattern.","commit_id":"6efde2c91a23f7c7f87832a6204eac4e3bc2d425"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"a5e72cc3b265a94ad62e9cba2e9a8fbf69c44aab","unresolved":false,"context_lines":[{"line_number":31,"context_line":"  with_nested:"},{"line_number":32,"context_line":"    - \"{{ ansible_play_hosts }}\""},{"line_number":33,"context_line":"    - \"{{ keystone_system_additional_groups }}\""},{"line_number":34,"context_line":"  run_once: true"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"- name: Create the keystone system user"},{"line_number":37,"context_line":"  user:"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"dfd5e7cf_9c7a2d22","line":34,"range":{"start_line":34,"start_character":0,"end_line":34,"end_character":16},"updated":"2019-01-08 09:36:34.000000000","message":"This needs to run on the first host, not any host. The rsync of credentials and keys must happen from the first host to all the others immediately, and this is required as a dependency for that.","commit_id":"6efde2c91a23f7c7f87832a6204eac4e3bc2d425"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"a5e72cc3b265a94ad62e9cba2e9a8fbf69c44aab","unresolved":false,"context_lines":[{"line_number":45,"context_line":"    home: \"{{ keystone_system_user_home }}\""},{"line_number":46,"context_line":"  delegate_to: \"{{ item }}\""},{"line_number":47,"context_line":"  with_items: \"{{ ansible_play_hosts }}\""},{"line_number":48,"context_line":"  run_once: true"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"# NOTE(cloudnull): During an upgrade the local directory may exist on a source"},{"line_number":51,"context_line":"#                  install. If the directory does exist it will need to be"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"dfd5e7cf_fc8ed925","line":48,"range":{"start_line":48,"start_character":0,"end_line":48,"end_character":16},"updated":"2019-01-08 09:36:34.000000000","message":"This needs to run on the first host, not any host. The rsync of credentials and keys must happen from the first host to all the others immediately, and this is required as a dependency for that.","commit_id":"6efde2c91a23f7c7f87832a6204eac4e3bc2d425"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"a5e72cc3b265a94ad62e9cba2e9a8fbf69c44aab","unresolved":false,"context_lines":[{"line_number":111,"context_line":"        owner: root"},{"line_number":112,"context_line":"        group: root"},{"line_number":113,"context_line":"  delegate_to: \"{{ item[0] }}\""},{"line_number":114,"context_line":"  run_once: true"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"dfd5e7cf_7ca2e99c","line":114,"range":{"start_line":114,"start_character":0,"end_line":114,"end_character":16},"updated":"2019-01-08 09:36:34.000000000","message":"This needs to run on the first host, not any host. The rsync of credentials and keys must happen from the first host to all the others immediately, and this is required as a dependency for that.","commit_id":"6efde2c91a23f7c7f87832a6204eac4e3bc2d425"}],"templates/policy.json":[{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"52e378c03780f046bd49498651e9f26b7964fcde","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"dfd5e7cf_9f8eb62c","updated":"2019-01-07 09:11:42.000000000","message":"I may be wrong, but I think placing a policy file like this into the configuration will cause there to be no policies, not even defaults in code. Rather than implement an empty default and carry this template, why not do https://review.openstack.org/625545 instead.","commit_id":"b59fc78bdf41f0c0c388a0c961e555dab174a474"},{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"b5b20f415de1eabca95b38f591a18e79488a744d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"dfd5e7cf_cb0476c9","in_reply_to":"dfd5e7cf_9f8eb62c","updated":"2019-01-07 17:09:43.000000000","message":"Done","commit_id":"b59fc78bdf41f0c0c388a0c961e555dab174a474"}],"vars/main.yml":[{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"bc60e2de1792a6aeafbd62eff8a5d224df2b93ed","unresolved":false,"context_lines":[{"line_number":13,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":14,"context_line":"# limitations under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"keystone_core_files: []"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"dfd5e7cf_6911adac","line":16,"updated":"2019-01-09 09:31:10.000000000","message":"The one file that does need to be copied from the venv is https://github.com/openstack/keystone/blob/master/etc/sso_callback_template.html - that should only be copied on the condition that \u0027keystone_sso_callback_file_path is not defined\u0027 to ensure idempotence when a custom file is provided.","commit_id":"89922289c6067c0b00ba5f01a726ffa9786050d8"},{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"b7d40ccecf97da204fc799644529b40769244e9f","unresolved":false,"context_lines":[{"line_number":13,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":14,"context_line":"# limitations under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"keystone_core_files: []"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"dfd5e7cf_bda6e152","line":16,"in_reply_to":"dfd5e7cf_6911adac","updated":"2019-01-10 00:30:03.000000000","message":"There\u0027s no need to include this in the core files as we\u0027re not able to set overrides in the \"html\" document with `config_template` at this time. With these changes the default file will already be in the venv and part of config given the setup.cfg [ https://github.com/openstack/keystone/blob/master/setup.cfg#L22-L24 ]. If the option `keystone_sso_callback_file_path` is set, the default file will be overwritten with the user provided file.","commit_id":"89922289c6067c0b00ba5f01a726ffa9786050d8"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"271567b1156b2cd928e4dd59d4bfe33db159029d","unresolved":false,"context_lines":[{"line_number":13,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":14,"context_line":"# limitations under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"keystone_core_files: []"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"dfd5e7cf_a3d6bb26","line":16,"in_reply_to":"dfd5e7cf_bda6e152","updated":"2019-01-10 10:08:08.000000000","message":"Ah, because of the symlink - of course. Thanks.","commit_id":"89922289c6067c0b00ba5f01a726ffa9786050d8"}]}
