)]}'
{"ansible/roles/qinling/defaults/main.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"ed98b66bb0ae3a75ed54bdc3a9418b8aefb41584","unresolved":false,"context_lines":[{"line_number":8,"context_line":"    enabled: true"},{"line_number":9,"context_line":"    image: \"{{ qinling_api_image_full }}\""},{"line_number":10,"context_line":"    environment:"},{"line_number":11,"context_line":"      DUMMY_ENVIRONMENT: kolla_useless_env"},{"line_number":12,"context_line":"    volumes:"},{"line_number":13,"context_line":"      - \"{{ node_config_directory }}/qinling-api/:{{ container_config_directory }}/:ro\""},{"line_number":14,"context_line":"      - \"/etc/localtime:/etc/localtime:ro\""}],"source_content_type":"text/x-yaml","patch_set":6,"id":"bfb3d3c7_a0a5f2a3","line":11,"updated":"2019-05-29 10:15:02.000000000","message":"What\u0027s the reason for this environment variable?","commit_id":"4277d5607e97c5045848052cc6438a21f215abe6"},{"author":{"_account_id":16006,"name":"goldyfruit","email":"gaetan.trellu@incloudus.com","username":"goldyfruit"},"change_message_id":"680db9e764dfd5dc9a8494d120c020405ed6663f","unresolved":false,"context_lines":[{"line_number":8,"context_line":"    enabled: true"},{"line_number":9,"context_line":"    image: \"{{ qinling_api_image_full }}\""},{"line_number":10,"context_line":"    environment:"},{"line_number":11,"context_line":"      DUMMY_ENVIRONMENT: kolla_useless_env"},{"line_number":12,"context_line":"    volumes:"},{"line_number":13,"context_line":"      - \"{{ node_config_directory }}/qinling-api/:{{ container_config_directory }}/:ro\""},{"line_number":14,"context_line":"      - \"/etc/localtime:/etc/localtime:ro\""}],"source_content_type":"text/x-yaml","patch_set":6,"id":"bfb3d3c7_49d8e179","line":11,"in_reply_to":"bfb3d3c7_a0a5f2a3","updated":"2019-05-29 13:04:44.000000000","message":"\u003e What\u0027s the reason for this environment variable?\n\nThis is not needed.\nI based the Qinling role from the Magnum one, only two roles have this variable (magnum and common).","commit_id":"4277d5607e97c5045848052cc6438a21f215abe6"}],"ansible/roles/qinling/tasks/bootstrap.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"ed98b66bb0ae3a75ed54bdc3a9418b8aefb41584","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- name: Creating Qinling database"},{"line_number":3,"context_line":"  kolla_toolbox:"},{"line_number":4,"context_line":"    module_name: mysql_db"},{"line_number":5,"context_line":"    module_args:"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"bfb3d3c7_80d46eea","line":2,"updated":"2019-05-29 10:15:02.000000000","message":"become: true","commit_id":"4277d5607e97c5045848052cc6438a21f215abe6"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"ed98b66bb0ae3a75ed54bdc3a9418b8aefb41584","unresolved":false,"context_lines":[{"line_number":14,"context_line":"  when:"},{"line_number":15,"context_line":"    - not use_preconfigured_databases | bool"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"- name: Creating Qinling database user and setting permissions"},{"line_number":18,"context_line":"  kolla_toolbox:"},{"line_number":19,"context_line":"    module_name: mysql_user"},{"line_number":20,"context_line":"    module_args:"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"bfb3d3c7_20090295","line":17,"updated":"2019-05-29 10:15:02.000000000","message":"become: true","commit_id":"4277d5607e97c5045848052cc6438a21f215abe6"}],"ansible/roles/qinling/tasks/config.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"ed98b66bb0ae3a75ed54bdc3a9418b8aefb41584","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    - item.value.enabled | bool"},{"line_number":47,"context_line":"  with_dict: \"{{ qinling_services }}\""},{"line_number":48,"context_line":"  notify:"},{"line_number":49,"context_line":"    - Restart qinling-api container"},{"line_number":50,"context_line":"    - Restart qinling-engine container"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"- name: Copying over qinling.conf"},{"line_number":53,"context_line":"  vars:"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"bfb3d3c7_40319659","line":50,"range":{"start_line":49,"start_character":0,"end_line":50,"end_character":38},"updated":"2019-05-29 10:15:02.000000000","message":"Restart {{ item.key }} container","commit_id":"4277d5607e97c5045848052cc6438a21f215abe6"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"ed98b66bb0ae3a75ed54bdc3a9418b8aefb41584","unresolved":false,"context_lines":[{"line_number":69,"context_line":"  with_dict: \"{{ qinling_services }}\""},{"line_number":70,"context_line":"  notify:"},{"line_number":71,"context_line":"    - Restart qinling-api container"},{"line_number":72,"context_line":"    - Restart qinling-engine container"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"- name: Copying over existing policy file"},{"line_number":75,"context_line":"  template:"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"bfb3d3c7_a04172ab","line":72,"updated":"2019-05-29 10:15:02.000000000","message":"Restart {{ item.key }} container","commit_id":"4277d5607e97c5045848052cc6438a21f215abe6"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"ed98b66bb0ae3a75ed54bdc3a9418b8aefb41584","unresolved":false,"context_lines":[{"line_number":84,"context_line":"    - item.value.enabled | bool"},{"line_number":85,"context_line":"  with_dict: \"{{ qinling_services }}\""},{"line_number":86,"context_line":"  notify:"},{"line_number":87,"context_line":"    - Restart qinling-api container"},{"line_number":88,"context_line":"    - Restart qinling-engine container"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"- name: Check qinling containers"},{"line_number":91,"context_line":"  become: true"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"bfb3d3c7_c03ca630","line":88,"range":{"start_line":87,"start_character":0,"end_line":88,"end_character":38},"updated":"2019-05-29 10:15:02.000000000","message":"Restart {{ item.key }} container","commit_id":"4277d5607e97c5045848052cc6438a21f215abe6"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"ed98b66bb0ae3a75ed54bdc3a9418b8aefb41584","unresolved":false,"context_lines":[{"line_number":104,"context_line":"    - item.value.enabled | bool"},{"line_number":105,"context_line":"  with_dict: \"{{ qinling_services }}\""},{"line_number":106,"context_line":"  notify:"},{"line_number":107,"context_line":"    - Restart qinling-api container"},{"line_number":108,"context_line":"    - Restart qinling-engine container"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"bfb3d3c7_6047fabd","line":108,"range":{"start_line":107,"start_character":0,"end_line":108,"end_character":38},"updated":"2019-05-29 10:15:02.000000000","message":"Restart {{ item.key }} container","commit_id":"4277d5607e97c5045848052cc6438a21f215abe6"}],"ansible/roles/qinling/tasks/external_kubernetes.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"ed98b66bb0ae3a75ed54bdc3a9418b8aefb41584","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  copy:"},{"line_number":4,"context_line":"    src: \"{{ item }}\""},{"line_number":5,"context_line":"    dest: \"{{ node_config_directory }}/qinling-engine/\""},{"line_number":6,"context_line":"    mode: \"0600\""},{"line_number":7,"context_line":"  become: true"},{"line_number":8,"context_line":"  register: qinling_engine_kubernetes_files"},{"line_number":9,"context_line":"  with_fileglob:"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"bfb3d3c7_407f56df","line":6,"range":{"start_line":6,"start_character":11,"end_line":6,"end_character":15},"updated":"2019-05-29 10:15:02.000000000","message":"0660","commit_id":"4277d5607e97c5045848052cc6438a21f215abe6"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"ed98b66bb0ae3a75ed54bdc3a9418b8aefb41584","unresolved":false,"context_lines":[{"line_number":7,"context_line":"  become: true"},{"line_number":8,"context_line":"  register: qinling_engine_kubernetes_files"},{"line_number":9,"context_line":"  with_fileglob:"},{"line_number":10,"context_line":"    - \"{{ node_custom_config }}/qinling/qinling-engine/kubernetes*\""},{"line_number":11,"context_line":"  when:"},{"line_number":12,"context_line":"    - qinling_kubernetes_certificates | bool"},{"line_number":13,"context_line":"    - inventory_hostname in groups[\u0027qinling-engine\u0027]"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"bfb3d3c7_40f67665","line":10,"updated":"2019-05-29 10:15:02.000000000","message":"It would be better to iterate over the expected filenames so that we fail here rather than on container start up if they don\u0027t all exist.","commit_id":"4277d5607e97c5045848052cc6438a21f215abe6"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"ed98b66bb0ae3a75ed54bdc3a9418b8aefb41584","unresolved":false,"context_lines":[{"line_number":18,"context_line":"  file:"},{"line_number":19,"context_line":"    path: \"{{ node_config_directory }}/{{ item }}\""},{"line_number":20,"context_line":"    recurse: yes"},{"line_number":21,"context_line":"    owner: \"{{ config_owner_user }}\""},{"line_number":22,"context_line":"    group: \"{{ config_owner_group }}\""},{"line_number":23,"context_line":"  become: true"},{"line_number":24,"context_line":"  when: inventory_hostname in groups[\u0027qinling-engine\u0027]"},{"line_number":25,"context_line":"  with_items:"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"bfb3d3c7_4068b61b","line":22,"range":{"start_line":21,"start_character":0,"end_line":22,"end_character":37},"updated":"2019-05-29 10:15:02.000000000","message":"Can you just add these to the previous task and remove this one?","commit_id":"4277d5607e97c5045848052cc6438a21f215abe6"}],"ansible/roles/qinling/tasks/register.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"ed98b66bb0ae3a75ed54bdc3a9418b8aefb41584","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- name: Creating the Qinling service and endpoint"},{"line_number":3,"context_line":"  kolla_toolbox:"},{"line_number":4,"context_line":"    module_name: \"kolla_keystone_service\""},{"line_number":5,"context_line":"    module_args:"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"bfb3d3c7_604e1ac2","line":2,"updated":"2019-05-29 10:15:02.000000000","message":"become: true","commit_id":"4277d5607e97c5045848052cc6438a21f215abe6"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"ed98b66bb0ae3a75ed54bdc3a9418b8aefb41584","unresolved":false,"context_lines":[{"line_number":18,"context_line":"    - {\u0027interface\u0027: \u0027internal\u0027, \u0027url\u0027: \u0027{{ qinling_internal_endpoint }}\u0027}"},{"line_number":19,"context_line":"    - {\u0027interface\u0027: \u0027public\u0027, \u0027url\u0027: \u0027{{ qinling_public_endpoint }}\u0027}"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"- name: Creating the Qinling project, user, and role"},{"line_number":22,"context_line":"  kolla_toolbox:"},{"line_number":23,"context_line":"    module_name: \"kolla_keystone_user\""},{"line_number":24,"context_line":"    module_args:"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"bfb3d3c7_20ca621a","line":21,"updated":"2019-05-29 10:15:02.000000000","message":"become: true","commit_id":"4277d5607e97c5045848052cc6438a21f215abe6"}],"doc/source/reference/compute/qinling-guide.rst":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"ed98b66bb0ae3a75ed54bdc3a9418b8aefb41584","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":".. code-block:: yaml"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"   qinling_policy_file: policy.json"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":".. note::"},{"line_number":32,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"bfb3d3c7_c086e6b9","line":29,"range":{"start_line":29,"start_character":3,"end_line":29,"end_character":35},"updated":"2019-05-29 10:15:02.000000000","message":"Isn\u0027t this set automatically if the policy file exists?","commit_id":"4277d5607e97c5045848052cc6438a21f215abe6"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"ed98b66bb0ae3a75ed54bdc3a9418b8aefb41584","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"   ``policy.json`` file should be created under ``/etc/kolla/config/qinling`` directory."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"The ``policy.json`` file content could be found `here \u003chttps://github.com/openstack/qinling/blob/master/etc/policy.json.sample\u003e`_."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Connect to an existing Kubernetes cluster"}],"source_content_type":"text/x-rst","patch_set":6,"id":"bfb3d3c7_c0afc627","line":35,"updated":"2019-05-29 10:15:02.000000000","message":"Would be nicer if this was included in the qinling image.","commit_id":"4277d5607e97c5045848052cc6438a21f215abe6"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"dabb6b009460ee12a09ab482c43aeedd76040d3b","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Apply policies to Qinling API"},{"line_number":20,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"``qinling-api`` doesn\u0027t have default polices implemented which is why the"},{"line_number":23,"context_line":"``policy.json`` file has been integrated directly withing the Qinling Docker"},{"line_number":24,"context_line":"images."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":".. note::"},{"line_number":27,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"bfb3d3c7_fa071117","line":24,"range":{"start_line":22,"start_character":0,"end_line":24,"end_character":7},"updated":"2019-05-29 14:34:45.000000000","message":"The user probably doesn\u0027t need to know this. They just need to know how to apply custom policy file, if necessary.","commit_id":"6e66e134c832c3b68e8433530a1527d29a80d8c0"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"dabb6b009460ee12a09ab482c43aeedd76040d3b","unresolved":false,"context_lines":[{"line_number":23,"context_line":"``policy.json`` file has been integrated directly withing the Qinling Docker"},{"line_number":24,"context_line":"images."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":".. note::"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"   ``policy.json`` file should be created under ``/etc/kolla/config/qinling`` directory."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Connect to an existing Kubernetes cluster"}],"source_content_type":"text/x-rst","patch_set":8,"id":"bfb3d3c7_7a1b2172","line":28,"range":{"start_line":26,"start_character":0,"end_line":28,"end_character":88},"updated":"2019-05-29 14:34:45.000000000","message":"It should be more clear this is optional. It also doesn\u0027t need to be a note.","commit_id":"6e66e134c832c3b68e8433530a1527d29a80d8c0"},{"author":{"_account_id":16006,"name":"goldyfruit","email":"gaetan.trellu@incloudus.com","username":"goldyfruit"},"change_message_id":"ef85acbe1e307ba3ed951d1533eadd7d8236c9a2","unresolved":false,"context_lines":[{"line_number":23,"context_line":"``policy.json`` file has been integrated directly withing the Qinling Docker"},{"line_number":24,"context_line":"images."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":".. note::"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"   ``policy.json`` file should be created under ``/etc/kolla/config/qinling`` directory."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Connect to an existing Kubernetes cluster"}],"source_content_type":"text/x-rst","patch_set":8,"id":"bfb3d3c7_7ab7a13b","line":28,"range":{"start_line":26,"start_character":0,"end_line":28,"end_character":88},"in_reply_to":"bfb3d3c7_7a1b2172","updated":"2019-05-29 14:38:48.000000000","message":"So do I even need to document this part ?","commit_id":"6e66e134c832c3b68e8433530a1527d29a80d8c0"}]}
