)]}'
{"tasks/keystone_pre_install.yml":[{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"3cde6777292b48db403eed4c6f1cb07bd2e95690","unresolved":false,"context_lines":[{"line_number":18,"context_line":"    name: \"{{ keystone_system_group_name }}\""},{"line_number":19,"context_line":"    state: \"present\""},{"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":"  when: \"{{ inventory_hostname \u003d\u003d ansible_play_hosts[0] }}\""},{"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":2,"id":"da36d5c6_0fd029f7","line":23,"range":{"start_line":21,"start_character":0,"end_line":23,"end_character":59},"updated":"2017-02-27 14:29:39.000000000","message":"shouldn\u0027t the system group be created everywhere, whatever the serialization is?\n\nMy point is, if the \"business\" logic behind this starts to be blurry, then we did it wrong.","commit_id":"6ae3a330c385d1f572d1d7187753bee2e4bdef3b"},{"author":{"_account_id":17799,"name":"Logan V","email":"logan2211@gmail.com","username":"Logan2211"},"change_message_id":"e01759de2d81b699723091e35a810e22da241c71","unresolved":false,"context_lines":[{"line_number":18,"context_line":"    name: \"{{ keystone_system_group_name }}\""},{"line_number":19,"context_line":"    state: \"present\""},{"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":"  when: \"{{ inventory_hostname \u003d\u003d ansible_play_hosts[0] }}\""},{"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":2,"id":"da36d5c6_7268ae88","line":23,"range":{"start_line":21,"start_character":0,"end_line":23,"end_character":59},"in_reply_to":"da36d5c6_0fd029f7","updated":"2017-02-27 14:39:50.000000000","message":"These 3 tasks are all accelerated to run on the first serial host because they are prerequisites for the task down below: \"Create the keystone system user\", which is what actually generates the SSH keys for the keystone user, and that task requires the groups exist.\n\nThe reason we have to accelerate creating the SSH keys on all of the hosts is because the first host needs to be able to SSH to them all, and the key distribution task fails to distribute the keys for the first host if the other containers do not have a \u0027keystone\u0027 user existing.","commit_id":"6ae3a330c385d1f572d1d7187753bee2e4bdef3b"},{"author":{"_account_id":17799,"name":"Logan V","email":"logan2211@gmail.com","username":"Logan2211"},"change_message_id":"314984a1c6ec35f28f3342051d0f3d499a58d5ee","unresolved":false,"context_lines":[{"line_number":18,"context_line":"    name: \"{{ keystone_system_group_name }}\""},{"line_number":19,"context_line":"    state: \"present\""},{"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":"  when: \"{{ inventory_hostname \u003d\u003d ansible_play_hosts[0] }}\""},{"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":2,"id":"da36d5c6_928d222d","line":23,"range":{"start_line":21,"start_character":0,"end_line":23,"end_character":59},"in_reply_to":"da36d5c6_7268ae88","updated":"2017-02-27 14:42:03.000000000","message":"Sorry that was a terribly written and unclear response.\n\nLet me try again:\n\nKey distribution requires user+key on ansible_play_hosts[0], and user on ansible_play_hosts[1:]\n\nIn order for user to exist on ansible_play_hosts[1:] when key distribution occurs on ansible_play_hosts[0], we have to accelerate the creation of the user by using delegation here. That\u0027s the reason behind all of the changes in this file.","commit_id":"6ae3a330c385d1f572d1d7187753bee2e4bdef3b"},{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"fdcad2dbb1297125130516d37421021b58396b26","unresolved":false,"context_lines":[{"line_number":18,"context_line":"    name: \"{{ keystone_system_group_name }}\""},{"line_number":19,"context_line":"    state: \"present\""},{"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":"  when: \"{{ inventory_hostname \u003d\u003d ansible_play_hosts[0] }}\""},{"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":2,"id":"9a30ddce_3924a95e","line":23,"range":{"start_line":21,"start_character":0,"end_line":23,"end_character":59},"in_reply_to":"da36d5c6_928d222d","updated":"2017-03-10 11:37:50.000000000","message":"I find myself questioning this as I\u0027m not seeing how the role can create the groups and users on hosts !\u003d ansible_play_hosts[0]","commit_id":"6ae3a330c385d1f572d1d7187753bee2e4bdef3b"},{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"3cde6777292b48db403eed4c6f1cb07bd2e95690","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    - \"{{ ansible_play_hosts }}\""},{"line_number":32,"context_line":"    - \"{{ keystone_system_additional_groups }}\""},{"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:"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"da36d5c6_af071d80","line":34,"updated":"2017-02-27 14:29:39.000000000","message":"same comment","commit_id":"6ae3a330c385d1f572d1d7187753bee2e4bdef3b"},{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"3cde6777292b48db403eed4c6f1cb07bd2e95690","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: keystone_recreate_keys | bool"},{"line_number":46,"context_line":"  delegate_to: \"{{ item[0] }}\""},{"line_number":47,"context_line":"  when: \"{{ inventory_hostname \u003d\u003d ansible_play_hosts[0] }}\""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"- name: Create the keystone system user"},{"line_number":50,"context_line":"  user:"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"da36d5c6_2fac0d35","line":47,"range":{"start_line":36,"start_character":0,"end_line":47,"end_character":59},"updated":"2017-02-27 14:29:39.000000000","message":"The removal of the keys can optionally happen on all of them, but yes, on the first one it\u0027s mandatory.","commit_id":"6ae3a330c385d1f572d1d7187753bee2e4bdef3b"},{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"5f7b1c4fe06ea9bcd3714c95d2a4a1c8e29ac167","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: keystone_recreate_keys | bool"},{"line_number":46,"context_line":"  delegate_to: \"{{ item[0] }}\""},{"line_number":47,"context_line":"  when: \"{{ inventory_hostname \u003d\u003d ansible_play_hosts[0] }}\""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"- name: Create the keystone system user"},{"line_number":50,"context_line":"  user:"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"da36d5c6_d2c87aab","line":47,"range":{"start_line":36,"start_character":0,"end_line":47,"end_character":59},"in_reply_to":"da36d5c6_2fac0d35","updated":"2017-02-27 14:38:05.000000000","message":"Woops, you can scratch that comment.","commit_id":"6ae3a330c385d1f572d1d7187753bee2e4bdef3b"},{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"fdcad2dbb1297125130516d37421021b58396b26","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: keystone_recreate_keys | bool"},{"line_number":46,"context_line":"  delegate_to: \"{{ item[0] }}\""},{"line_number":47,"context_line":"  when: \"{{ inventory_hostname \u003d\u003d ansible_play_hosts[0] }}\""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"- name: Create the keystone system user"},{"line_number":50,"context_line":"  user:"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9a30ddce_59295d36","line":47,"range":{"start_line":36,"start_character":0,"end_line":47,"end_character":59},"in_reply_to":"da36d5c6_d2c87aab","updated":"2017-03-10 11:37:50.000000000","message":"I find myself questioning this as I\u0027m not seeing how the role can create the groups and users on hosts !\u003d ansible_play_hosts[0]","commit_id":"6ae3a330c385d1f572d1d7187753bee2e4bdef3b"},{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"fdcad2dbb1297125130516d37421021b58396b26","unresolved":false,"context_lines":[{"line_number":81,"context_line":"      - { path: \"/var/www/cgi-bin\", owner: root, group: root }"},{"line_number":82,"context_line":"      - { path: \"/var/www/cgi-bin/keystone\" }"},{"line_number":83,"context_line":"  delegate_to: \"{{ item[0] }}\""},{"line_number":84,"context_line":"  when: \"{{ inventory_hostname \u003d\u003d ansible_play_hosts[0] }}\""},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"- name: Test for log directory or link"},{"line_number":87,"context_line":"  shell: |"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9a30ddce_7922a153","line":84,"updated":"2017-03-10 11:37:50.000000000","message":"I find myself questioning this as I\u0027m not seeing how the role can create the files folders and links on hosts !\u003d ansible_play_hosts[0]","commit_id":"6ae3a330c385d1f572d1d7187753bee2e4bdef3b"}]}
