)]}'
{"ansible/roles/keystone/tasks/config.yml":[{"author":{"_account_id":1390,"name":"Paul Bourke","email":"pauldbourke@proton.me","username":"pauldbourke"},"change_message_id":"0262bca0a617b5df5625c4bb20ba31cdbf12ea8c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- name: Check if Keystone Domain specific settings enabled"},{"line_number":3,"context_line":"  local_action: stat path\u003d\"{{ node_custom_config }}/keystone/domains\""},{"line_number":4,"context_line":"  register: keystone_domain_cfg"},{"line_number":5,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":6,"id":"1aa78d24_b7577625","line":2,"updated":"2016-07-08 09:20:03.000000000","message":"The contents of {{ node_config_directory }}/keysone is copied recursively anyway, why do we need these extra tasks?","commit_id":"1308ef866a1d5a6ae131a1e11b47576f6c98aba2"},{"author":{"_account_id":1390,"name":"Paul Bourke","email":"pauldbourke@proton.me","username":"pauldbourke"},"change_message_id":"604f578bc837d1287f7c2f5b3d4a046ddfa05382","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- name: Check if Keystone Domain specific settings enabled"},{"line_number":3,"context_line":"  local_action: stat path\u003d\"{{ node_custom_config }}/keystone/domains\""},{"line_number":4,"context_line":"  register: keystone_domain_cfg"},{"line_number":5,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":6,"id":"1aa78d24_4c9c605d","line":2,"in_reply_to":"1aa78d24_4cfe7206","updated":"2016-07-11 16:20:29.000000000","message":"I think I may have misread this the first time, what you\u0027re doing makes sense. Thanks for clarification!","commit_id":"1308ef866a1d5a6ae131a1e11b47576f6c98aba2"},{"author":{"_account_id":979,"name":"Dave Walker","email":"email@daviey.com","username":"davewalker"},"change_message_id":"397af2b8725df3e682657102fc2f7e59b6e736a0","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- name: Check if Keystone Domain specific settings enabled"},{"line_number":3,"context_line":"  local_action: stat path\u003d\"{{ node_custom_config }}/keystone/domains\""},{"line_number":4,"context_line":"  register: keystone_domain_cfg"},{"line_number":5,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":6,"id":"1aa78d24_4cfe7206","line":2,"in_reply_to":"1aa78d24_b7577625","updated":"2016-07-08 15:16:50.000000000","message":"Hmm, i\u0027m not sure I understand...\n  - I need to check if the folder is there, to selectively enable the option in keystone.conf.\n  - Copying the file without the folder present on remote causes it to fail.\n  - The config file wasn\u0027t copied over unless I explicitly did it.. maybe I did something wrong.. but are you sure?","commit_id":"1308ef866a1d5a6ae131a1e11b47576f6c98aba2"},{"author":{"_account_id":7488,"name":"Jeffrey Zhang","email":"zhang.lei.fly@gmail.com","username":"Jeffrey4l"},"change_message_id":"a46153e4352988aa69f51f163c81eb3f27a97472","unresolved":false,"context_lines":[{"line_number":11,"context_line":"  with_items:"},{"line_number":12,"context_line":"    - \"keystone\""},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"- name: Creating Keystone Domain directory (if needed)"},{"line_number":15,"context_line":"  file:"},{"line_number":16,"context_line":"    dest: \"{{ node_config_directory }}/{{ item }}/domains/\""},{"line_number":17,"context_line":"    state: \"directory\""}],"source_content_type":"text/x-yaml","patch_set":8,"id":"1aa78d24_b5f76958","line":14,"updated":"2016-07-14 07:25:34.000000000","message":"no need to add the `(if needed)`. If the file do not exist,\nthis task will skip.","commit_id":"d7536243c79248532361a8b66a7198a628123a7c"},{"author":{"_account_id":7488,"name":"Jeffrey Zhang","email":"zhang.lei.fly@gmail.com","username":"Jeffrey4l"},"change_message_id":"a46153e4352988aa69f51f163c81eb3f27a97472","unresolved":false,"context_lines":[{"line_number":42,"context_line":"  with_items:"},{"line_number":43,"context_line":"    - \"keystone\""},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"- name: Copying Keystone Domain specific settings (if set)"},{"line_number":46,"context_line":"  copy:"},{"line_number":47,"context_line":"    src: \"{{ item }}\""},{"line_number":48,"context_line":"    dest: \"{{ node_config_directory }}/keystone/domains/\""}],"source_content_type":"text/x-yaml","patch_set":8,"id":"1aa78d24_1593dd01","line":45,"updated":"2016-07-14 07:25:34.000000000","message":"ditto","commit_id":"d7536243c79248532361a8b66a7198a628123a7c"}],"ansible/roles/keystone/templates/keystone.conf.j2":[{"author":{"_account_id":17938,"name":"Mathias Ewald","email":"mewald@evoila.de","username":"mewald"},"change_message_id":"1374de1da86a2f04925bc2e3222c2cf9926a700a","unresolved":false,"context_lines":[{"line_number":10,"context_line":"connection \u003d mysql+pymysql://{{ keystone_database_user }}:{{ keystone_database_password }}@{{ keystone_database_address }}/{{ keystone_database_name }}"},{"line_number":11,"context_line":"max_retries \u003d -1"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"{% if keystone_domain_cfg.stat.exists %}"},{"line_number":14,"context_line":"[identity]"},{"line_number":15,"context_line":"domain_specific_drivers_enabled \u003d true"},{"line_number":16,"context_line":"domain_config_dir \u003d /etc/keystone/domains"},{"line_number":17,"context_line":"{% endif %}"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"[cache]"},{"line_number":20,"context_line":"backend \u003d oslo_cache.memcache_pool"}],"source_content_type":"text/x-jinja2","patch_set":7,"id":"1aa78d24_bf09b62e","line":17,"range":{"start_line":13,"start_character":0,"end_line":17,"end_character":11},"updated":"2016-07-13 20:22:38.000000000","message":"Can\u0027t we let the user to that with the ini merge mechanism that is already in place?","commit_id":"b2a7819bbe29b2a943105419584c0dd4226b220d"}],"ansible/roles/keystone/templates/keystone.json.j2":[{"author":{"_account_id":1390,"name":"Paul Bourke","email":"pauldbourke@proton.me","username":"pauldbourke"},"change_message_id":"0262bca0a617b5df5625c4bb20ba31cdbf12ea8c","unresolved":false,"context_lines":[{"line_number":9,"context_line":"            \"owner\": \"keystone\","},{"line_number":10,"context_line":"            \"perm\": \"0600\""},{"line_number":11,"context_line":"        },"},{"line_number":12,"context_line":"{% if keystone_domain_cfg.stat.exists %}"},{"line_number":13,"context_line":"        {"},{"line_number":14,"context_line":"            \"source\": \"/var/lib/kolla/config_files/domains/*\","},{"line_number":15,"context_line":"            \"dest\": \"/etc/keystone/domains/\","}],"source_content_type":"text/x-jinja2","patch_set":6,"id":"1aa78d24_d26170aa","line":12,"updated":"2016-07-08 09:20:03.000000000","message":"I realise this if pattern is done in one or two other files, but I think it\u0027s better to just use the \"optional\" property here: e.g. https://github.com/openstack/kolla/blob/cac8b397956329df59b8bd0d7cecdbc429781baa/ansible/roles/ceph/templates/ceph-mon.json.j2#L15","commit_id":"1308ef866a1d5a6ae131a1e11b47576f6c98aba2"},{"author":{"_account_id":979,"name":"Dave Walker","email":"email@daviey.com","username":"davewalker"},"change_message_id":"397af2b8725df3e682657102fc2f7e59b6e736a0","unresolved":false,"context_lines":[{"line_number":9,"context_line":"            \"owner\": \"keystone\","},{"line_number":10,"context_line":"            \"perm\": \"0600\""},{"line_number":11,"context_line":"        },"},{"line_number":12,"context_line":"{% if keystone_domain_cfg.stat.exists %}"},{"line_number":13,"context_line":"        {"},{"line_number":14,"context_line":"            \"source\": \"/var/lib/kolla/config_files/domains/*\","},{"line_number":15,"context_line":"            \"dest\": \"/etc/keystone/domains/\","}],"source_content_type":"text/x-jinja2","patch_set":6,"id":"1aa78d24_ac36f6e4","line":12,"in_reply_to":"1aa78d24_d26170aa","updated":"2016-07-08 15:16:50.000000000","message":"Done","commit_id":"1308ef866a1d5a6ae131a1e11b47576f6c98aba2"},{"author":{"_account_id":17938,"name":"Mathias Ewald","email":"mewald@evoila.de","username":"mewald"},"change_message_id":"1374de1da86a2f04925bc2e3222c2cf9926a700a","unresolved":false,"context_lines":[{"line_number":10,"context_line":"            \"perm\": \"0600\""},{"line_number":11,"context_line":"        },"},{"line_number":12,"context_line":"        {"},{"line_number":13,"context_line":"            \"source\": \"/var/lib/kolla/config_files/domains/*\","},{"line_number":14,"context_line":"            \"dest\": \"/etc/keystone/domains/\","},{"line_number":15,"context_line":"            \"owner\": \"keystone\","},{"line_number":16,"context_line":"            \"perm\": \"0600\","}],"source_content_type":"text/x-jinja2","patch_set":7,"id":"1aa78d24_a4152f4a","line":13,"range":{"start_line":13,"start_character":58,"end_line":13,"end_character":60},"updated":"2016-07-13 20:22:38.000000000","message":"Why copy every individual file instead of the entire directory?","commit_id":"b2a7819bbe29b2a943105419584c0dd4226b220d"},{"author":{"_account_id":7488,"name":"Jeffrey Zhang","email":"zhang.lei.fly@gmail.com","username":"Jeffrey4l"},"change_message_id":"a46153e4352988aa69f51f163c81eb3f27a97472","unresolved":false,"context_lines":[{"line_number":10,"context_line":"            \"perm\": \"0600\""},{"line_number":11,"context_line":"        },"},{"line_number":12,"context_line":"        {"},{"line_number":13,"context_line":"            \"source\": \"/var/lib/kolla/config_files/domains\","},{"line_number":14,"context_line":"            \"dest\": \"/etc/keystone/domains\","},{"line_number":15,"context_line":"            \"owner\": \"keystone\","},{"line_number":16,"context_line":"            \"perm\": \"0600\","}],"source_content_type":"text/x-jinja2","patch_set":8,"id":"1aa78d24_f59731e9","line":13,"updated":"2016-07-14 07:25:34.000000000","message":"use {{ container_config_directory }} instead.","commit_id":"d7536243c79248532361a8b66a7198a628123a7c"}],"docker/keystone/extend_start.sh":[{"author":{"_account_id":17938,"name":"Mathias Ewald","email":"mewald@evoila.de","username":"mewald"},"change_message_id":"1374de1da86a2f04925bc2e3222c2cf9926a700a","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    chmod 755 ${KEYSTONE_LOG_DIR}"},{"line_number":36,"context_line":"fi"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"# Create Keystone Domains folder incase it is needed"},{"line_number":39,"context_line":"KEYSTONE_DOMAINS_DIR\u003d\"/etc/keystone/domains\""},{"line_number":40,"context_line":"if [[ ! -d \"${KEYSTONE_DOMAINS_DIR}\" ]]; then"},{"line_number":41,"context_line":"    mkdir -p ${KEYSTONE_DOMAINS_DIR}"},{"line_number":42,"context_line":"fi"},{"line_number":43,"context_line":"if [[ $(stat -c %U:%G ${KEYSTONE_DOMAINS_DIR}) !\u003d \"keystone:kolla\" ]]; then"},{"line_number":44,"context_line":"    chown keystone:kolla ${KEYSTONE_DOMAINS_DIR}"},{"line_number":45,"context_line":"fi"},{"line_number":46,"context_line":"if [[ $(stat -c %a ${KEYSTONE_DOMAINS_DIR}) !\u003d \"755\" ]]; then"},{"line_number":47,"context_line":"    chmod 755 ${KEYSTONE_DOMAINS_DIR}"},{"line_number":48,"context_line":"fi"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"# Bootstrap and exit if KOLLA_BOOTSTRAP variable is set. This catches all cases"},{"line_number":51,"context_line":"# of the KOLLA_BOOTSTRAP variable being set, including empty."}],"source_content_type":"text/x-sh","patch_set":7,"id":"1aa78d24_9f5afa28","line":48,"range":{"start_line":38,"start_character":0,"end_line":48,"end_character":2},"updated":"2016-07-13 20:22:38.000000000","message":"This section would be unnecessary if we just copied the entire domains directory instead of domains/*.","commit_id":"b2a7819bbe29b2a943105419584c0dd4226b220d"}],"releasenotes/notes/support-ldap-e678ce5b0a7eaedb.yaml":[{"author":{"_account_id":17938,"name":"Mathias Ewald","email":"mewald@evoila.de","username":"mewald"},"change_message_id":"1374de1da86a2f04925bc2e3222c2cf9926a700a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - LDAP \u0026 AD support has been added to the base images, and support"},{"line_number":4,"context_line":"    for Keystone multidomains config files."}],"source_content_type":"text/x-yaml","patch_set":7,"id":"1aa78d24_d36fed28","line":3,"range":{"start_line":3,"start_character":4,"end_line":3,"end_character":55},"updated":"2016-07-13 20:22:38.000000000","message":"Has LDAP been tested? We came across this bug https://bugs.launchpad.net/kolla/+bug/1602615 today which showed that python modules need to be installation for ldap to work. I believe this is not addressed in this change.","commit_id":"b2a7819bbe29b2a943105419584c0dd4226b220d"}]}
