)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11491,"name":"Gael Chamoulaud","email":"gchamoul@redhat.com","username":"gchamoul"},"change_message_id":"dab80521f167550161b30984191f1a69b0b666e9","unresolved":false,"context_lines":[{"line_number":10,"context_line":"when deploying tls-everywhere.  I still have a number of"},{"line_number":11,"context_line":"questions including:"},{"line_number":12,"context_line":"-- do we need special tags ?  how do we make sure these tests"},{"line_number":13,"context_line":"   only run when deploying tls-everywhere?"},{"line_number":14,"context_line":"-- how is output handled?"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Right now, this gives you an idea how things are shaping up."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"bfb3d3c7_ad5909ff","line":13,"updated":"2019-05-20 08:06:44.000000000","message":"We don\u0027t really special tags here, you will if you need to call this role as in-flight validation.\n\nIs it realistic to say we are deploying tls-everywhere if these two variables are set in the undercloud.conf file?\n- enable_novajoin \u003d True\n- ipa_op \u003d \u0027something\u0027\n\nWhatever the answer, it would be great to run this role ONLY IF we are deploying tls-everywhere and avoid a validation to fail for nothing!","commit_id":"e664df0ec1dcd01842bc613d7733be094cf63da2"},{"author":{"_account_id":11491,"name":"Gael Chamoulaud","email":"gchamoul@redhat.com","username":"gchamoul"},"change_message_id":"c646017103c0cc50f30543384aa3bbb437060b25","unresolved":false,"context_lines":[{"line_number":11,"context_line":"questions including:"},{"line_number":12,"context_line":"-- do we need special tags ?  how do we make sure these tests"},{"line_number":13,"context_line":"   only run when deploying tls-everywhere?"},{"line_number":14,"context_line":"-- how is output handled?"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Right now, this gives you an idea how things are shaping up."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"bfb3d3c7_18897174","line":14,"updated":"2019-05-20 09:02:55.000000000","message":"Tripleo-validations is using a custom callback plugins called validation_output.py [1] which outputs these templates [2].\n\nBut we sometimes use customs templates like what you are using for diplaying recommendations and I like it.\n\n[1] - https://github.com/openstack/tripleo-validations/blob/master/callback_plugins/validation_output.py\n[2] - https://github.com/openstack/tripleo-validations/blob/master/callback_plugins/validation_output.py#L24-L41","commit_id":"e664df0ec1dcd01842bc613d7733be094cf63da2"}],"playbooks/tls-everywhere.yaml":[{"author":{"_account_id":11491,"name":"Gael Chamoulaud","email":"gchamoul@redhat.com","username":"gchamoul"},"change_message_id":"dab80521f167550161b30984191f1a69b0b666e9","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        tasks_from: common.yaml"},{"line_number":47,"context_line":"    - include_role:"},{"line_number":48,"context_line":"        name: tls-everywhere"},{"line_number":49,"context_line":"        tasks_from: overcloud-post-deployment.yaml"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"bfb3d3c7_cd5ebde5","line":49,"updated":"2019-05-20 08:06:44.000000000","message":"This playbook has to be splitted up in 3 separated playbooks, I think.","commit_id":"e664df0ec1dcd01842bc613d7733be094cf63da2"}],"roles/tls-everywhere/defaults/main.yml":[{"author":{"_account_id":11491,"name":"Gael Chamoulaud","email":"gchamoul@redhat.com","username":"gchamoul"},"change_message_id":"3652d5ace1e016664c317a30b2ebf83b51ab0cd2","unresolved":false,"context_lines":[{"line_number":2,"context_line":"helper_status_ok: OK"},{"line_number":3,"context_line":"helper_status_error: ERROR"},{"line_number":4,"context_line":"helper_status_skipped: SKIPPED"},{"line_number":5,"context_line":"helper_report_path: /tmp/report.txt"},{"line_number":6,"context_line":"helper_undercloud_path: \"/home/{{ ansible_ssh_user }}\""}],"source_content_type":"text/x-yaml","patch_set":15,"id":"9fb8cfa7_c77b3589","line":5,"updated":"2019-06-14 09:55:02.000000000","message":"Do we still need this variable?","commit_id":"e146c14d10d58e08c86ec397a881e3adbe7531f2"},{"author":{"_account_id":11589,"name":"Harry Rybacki","email":"hrybacki@redhat.com","username":"hrybacki"},"change_message_id":"8e34b160ea8215b9a5729fd3beb9fabceb3b7cdb","unresolved":false,"context_lines":[{"line_number":2,"context_line":"helper_status_ok: OK"},{"line_number":3,"context_line":"helper_status_error: ERROR"},{"line_number":4,"context_line":"helper_status_skipped: SKIPPED"},{"line_number":5,"context_line":"helper_report_path: /tmp/report.txt"},{"line_number":6,"context_line":"helper_undercloud_path: \"/home/{{ ansible_ssh_user }}\""}],"source_content_type":"text/x-yaml","patch_set":15,"id":"9fb8cfa7_e77e79ad","line":5,"in_reply_to":"9fb8cfa7_c77b3589","updated":"2019-06-14 10:50:03.000000000","message":"Nope. Will remove.","commit_id":"e146c14d10d58e08c86ec397a881e3adbe7531f2"}],"roles/tls-everywhere/handlers/main.yml":[{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"a3d64a327a11e4d769d6757d04070c3a01037987","unresolved":false,"context_lines":[{"line_number":10,"context_line":"  ignore_errors: false"},{"line_number":11,"context_line":"  become: true"},{"line_number":12,"context_line":"  with_items: \"{{ novajoin_temp_krb_caches }}\""},{"line_number":13,"context_line":"  delegate_to: novajoin_server"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":15,"id":"9fb8cfa7_3951ed63","line":13,"updated":"2019-06-17 18:29:51.000000000","message":"We\u0027re still delegating here -- but to what now?  Is this cleanup still happening?","commit_id":"e146c14d10d58e08c86ec397a881e3adbe7531f2"},{"author":{"_account_id":11589,"name":"Harry Rybacki","email":"hrybacki@redhat.com","username":"hrybacki"},"change_message_id":"ccc0d931febf896cb1f33b748e45eb87d092fa46","unresolved":false,"context_lines":[{"line_number":10,"context_line":"  ignore_errors: false"},{"line_number":11,"context_line":"  become: true"},{"line_number":12,"context_line":"  with_items: \"{{ novajoin_temp_krb_caches }}\""},{"line_number":13,"context_line":"  delegate_to: novajoin_server"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":15,"id":"7faddb67_c2c09c2d","line":13,"in_reply_to":"9fb8cfa7_3951ed63","updated":"2019-07-09 18:51:33.000000000","message":"The second handler wasn\u0027t working as expected. After breaking the containerized/non-containerized bits into separate task lists for pre-deployment I simply created a task where this notifier was originally invoked and removed this handler as it\u0027s used nowhere else.","commit_id":"e146c14d10d58e08c86ec397a881e3adbe7531f2"}],"roles/tls-everywhere/tasks/common.yaml":[{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"8000bac322efef31135453c28b32dffc58c5a254","unresolved":false,"context_lines":[{"line_number":18,"context_line":"    dns_status: \u0027{{ helper_status_ok }}\u0027"},{"line_number":19,"context_line":"    dns_reason: DNS is configured correctly"},{"line_number":20,"context_line":"    dns_recommendations: null"},{"line_number":21,"context_line":"  when: ipa_ca_ping_status.rc \u003d\u003d 0"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"- name: Set facts for error in DNS configuration"},{"line_number":24,"context_line":"  set_fact:"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"bfb3d3c7_58bcc904","line":21,"range":{"start_line":21,"start_character":2,"end_line":21,"end_character":34},"updated":"2019-05-20 09:13:49.000000000","message":"This will (probably) fail if, for some reason, we run ansible-playbook --check","commit_id":"e664df0ec1dcd01842bc613d7733be094cf63da2"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"8000bac322efef31135453c28b32dffc58c5a254","unresolved":false,"context_lines":[{"line_number":78,"context_line":"      vars:"},{"line_number":79,"context_line":"        firewall_query: \"{{ port_status.results | json_query(\u0027[?failed].item\u0027) | join(\u0027, \u0027) }}\""},{"line_number":80,"context_line":"      when:"},{"line_number":81,"context_line":"        - \"\u0027failed\u0027 in port_status\""},{"line_number":82,"context_line":"        - port_status.failed|bool"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"- name: Set facts for skipping firewall checks"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"bfb3d3c7_b85945ff","line":81,"range":{"start_line":81,"start_character":10,"end_line":81,"end_character":35},"updated":"2019-05-20 09:13:49.000000000","message":"why double-quoting?","commit_id":"e664df0ec1dcd01842bc613d7733be094cf63da2"},{"author":{"_account_id":11491,"name":"Gael Chamoulaud","email":"gchamoul@redhat.com","username":"gchamoul"},"change_message_id":"c646017103c0cc50f30543384aa3bbb437060b25","unresolved":false,"context_lines":[{"line_number":270,"context_line":"- name: Set facts for principal is usable failure"},{"line_number":271,"context_line":"  set_fact:"},{"line_number":272,"context_line":"    principal_usable_status: \u0027{{ helper_status_error }}\u0027"},{"line_number":273,"context_line":"    principal_usable_reason: \"Tho principal {{ host_principal }} is unable to obtain a kerberos ticket\""},{"line_number":274,"context_line":"    principal_usable_recommendations: null"},{"line_number":275,"context_line":"  when:"},{"line_number":276,"context_line":"    - krb5_keytab_stat.stat.exists"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"bfb3d3c7_b87dc56f","line":273,"updated":"2019-05-20 09:02:55.000000000","message":"s/Tho/The/","commit_id":"e664df0ec1dcd01842bc613d7733be094cf63da2"},{"author":{"_account_id":11491,"name":"Gael Chamoulaud","email":"gchamoul@redhat.com","username":"gchamoul"},"change_message_id":"780af84dcfe5ad0eb2b5ea3c65da5e82d5e8fe89","unresolved":false,"context_lines":[{"line_number":12,"context_line":"  register: ipa_ca_ping_status"},{"line_number":13,"context_line":"  ignore_errors: true"},{"line_number":14,"context_line":"  changed_when: false"},{"line_number":15,"context_line":"  check_mode: no"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"- name: Set facts for ok DNS configuration"},{"line_number":18,"context_line":"  set_fact:"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"9fb8cfa7_3b875d12","line":15,"updated":"2019-06-06 06:34:48.000000000","message":"Is the `check_mode: no` really necessary here ?","commit_id":"2cc820135395c117749d4dd5e7fa81cafe05f81a"},{"author":{"_account_id":11491,"name":"Gael Chamoulaud","email":"gchamoul@redhat.com","username":"gchamoul"},"change_message_id":"780af84dcfe5ad0eb2b5ea3c65da5e82d5e8fe89","unresolved":false,"context_lines":[{"line_number":221,"context_line":"    principal_in_keytab_reason: \"skipped checking for the principal in the host\u0027s {{ ansible_host }} because there is no keytab file\""},{"line_number":222,"context_line":"    principal_in_keytab_recommendations: null"},{"line_number":223,"context_line":"  when:"},{"line_number":224,"context_line":"    - not krb5_keytab_stat.stat.exists"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"- name: \"Kerberos principal in host keytab check\""},{"line_number":227,"context_line":"  reportentry:"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"9fb8cfa7_db7de11c","line":224,"updated":"2019-06-06 06:34:48.000000000","message":"when: not krb5_keytab_stat.stat.exists instead","commit_id":"2cc820135395c117749d4dd5e7fa81cafe05f81a"},{"author":{"_account_id":11491,"name":"Gael Chamoulaud","email":"gchamoul@redhat.com","username":"gchamoul"},"change_message_id":"780af84dcfe5ad0eb2b5ea3c65da5e82d5e8fe89","unresolved":false,"context_lines":[{"line_number":235,"context_line":"  register: principal_usable_result"},{"line_number":236,"context_line":"  ignore_errors: true"},{"line_number":237,"context_line":"  when:"},{"line_number":238,"context_line":"    - krb5_keytab_stat.stat.exists"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"- name: Set facts for principal is usable skipped"},{"line_number":241,"context_line":"  set_fact:"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"9fb8cfa7_fb78e52b","line":238,"updated":"2019-06-06 06:34:48.000000000","message":"when: krb5_keytab_stat.stat.exists instead.","commit_id":"2cc820135395c117749d4dd5e7fa81cafe05f81a"},{"author":{"_account_id":11491,"name":"Gael Chamoulaud","email":"gchamoul@redhat.com","username":"gchamoul"},"change_message_id":"780af84dcfe5ad0eb2b5ea3c65da5e82d5e8fe89","unresolved":false,"context_lines":[{"line_number":243,"context_line":"    principal_usable_reason: \"skipped checking if the principal is usable for host {{ ansible_host }} because there is no keytab file\""},{"line_number":244,"context_line":"    principal_usable_recommendations: null"},{"line_number":245,"context_line":"  when:"},{"line_number":246,"context_line":"    - not krb5_keytab_stat.stat.exists"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"- name: Set facts for principal is usable success"},{"line_number":249,"context_line":"  set_fact:"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"9fb8cfa7_9b77693b","line":246,"updated":"2019-06-06 06:34:48.000000000","message":"when: not krb5_keytab_stat.stat.exists instead.","commit_id":"2cc820135395c117749d4dd5e7fa81cafe05f81a"}],"roles/tls-everywhere/tasks/overcloud-post-deployment.yaml":[{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"8000bac322efef31135453c28b32dffc58c5a254","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"# Check for certmonger user service"},{"line_number":3,"context_line":"- name: Check if the certmonger user service has been enabled"},{"line_number":4,"context_line":"  command: hiera -c /etc/puppet/hiera.yaml certmonger_user_enabled"},{"line_number":5,"context_line":"  become: true"},{"line_number":6,"context_line":"  changed_when: false"},{"line_number":7,"context_line":"  register: certmonger_user_enabled"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"bfb3d3c7_180ad1d1","line":4,"range":{"start_line":4,"start_character":2,"end_line":4,"end_character":66},"updated":"2019-05-20 09:13:49.000000000","message":"iirc there is a \"hiera\" ansible module","commit_id":"e664df0ec1dcd01842bc613d7733be094cf63da2"}],"roles/tls-everywhere/tasks/pre-deployment.yaml":[{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"8000bac322efef31135453c28b32dffc58c5a254","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- name: set facts for undercloud handlers to clean up"},{"line_number":3,"context_line":"  set_fact:"},{"line_number":4,"context_line":"    novajoin_temp_krb_caches: []"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"bfb3d3c7_981ec10a","line":1,"updated":"2019-05-20 09:13:49.000000000","message":"Same remark as Gael - and you can avoid duplicating most of the commands using a fact instead :).","commit_id":"e664df0ec1dcd01842bc613d7733be094cf63da2"},{"author":{"_account_id":11491,"name":"Gael Chamoulaud","email":"gchamoul@redhat.com","username":"gchamoul"},"change_message_id":"c646017103c0cc50f30543384aa3bbb437060b25","unresolved":false,"context_lines":[{"line_number":5,"context_line":""},{"line_number":6,"context_line":"# figure out what kind of undercloud we have"},{"line_number":7,"context_line":"- name: test if this is a podman deployment"},{"line_number":8,"context_line":"  command: podman inspect novajoin_server"},{"line_number":9,"context_line":"  ignore_errors: true"},{"line_number":10,"context_line":"  register: podman_install"},{"line_number":11,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":1,"id":"bfb3d3c7_d882f94f","line":8,"updated":"2019-05-20 09:02:55.000000000","message":"We still have choice between using Docker or Podman, so first you have to get this information through the container_cli variable coming from the undercloud.conf file[1].\n\nNote that it is only for knowing the container tool used for the undercloud.\n\nFor the overcloud, this information is coming from the inventory[2] itself.\n\n[1] - https://github.com/openstack/tripleo-validations/blob/master/roles/undercloud-heat-purge-deleted/tasks/main.yml#L6-L21\n[2] - https://github.com/openstack/tripleo-validations/blob/master/roles/mysql-open-files-limit/tasks/main.yml#L2-L13","commit_id":"e664df0ec1dcd01842bc613d7733be094cf63da2"},{"author":{"_account_id":11589,"name":"Harry Rybacki","email":"hrybacki@redhat.com","username":"hrybacki"},"change_message_id":"7919660217712a7fac58fde72b5fb026423494e0","unresolved":false,"context_lines":[{"line_number":67,"context_line":"# that are unreachable through delegate_to."},{"line_number":68,"context_line":"# See (ansible issue)"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"- name: check if novajoin_server is up for containerized undercloud"},{"line_number":71,"context_line":"  shell: \"{{ container_cli.value|default(\u0027\u0027) }} ps |grep novajoin_server\""},{"line_number":72,"context_line":"  when: containerized_undercloud"},{"line_number":73,"context_line":"  register: novajoin_server_status_result"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"bfb3d3c7_7a3b9eea","line":70,"updated":"2019-05-21 20:47:25.000000000","message":"Missing `become: True`\n\nThis will fail if invoked by stack","commit_id":"ddade8948a9a89bddd1a5e40e96a4e395f08a166"},{"author":{"_account_id":11589,"name":"Harry Rybacki","email":"hrybacki@redhat.com","username":"hrybacki"},"change_message_id":"7919660217712a7fac58fde72b5fb026423494e0","unresolved":false,"context_lines":[{"line_number":80,"context_line":"    - novajoin_server_status_result is defined"},{"line_number":81,"context_line":"    - novajoin_server_status_result is failed"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"- name: check if novajoin_notifier is up for containerized unercloud"},{"line_number":84,"context_line":"  shell: \"{{ container_cli.value|default(\u0027\u0027) }} ps |grep novajoin_notifier\""},{"line_number":85,"context_line":"  when: containerized_undercloud"},{"line_number":86,"context_line":"  register: novajoin_notifier_status_result"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"bfb3d3c7_1a2aa28f","line":83,"updated":"2019-05-21 20:47:25.000000000","message":"Same as above.","commit_id":"ddade8948a9a89bddd1a5e40e96a4e395f08a166"},{"author":{"_account_id":11491,"name":"Gael Chamoulaud","email":"gchamoul@redhat.com","username":"gchamoul"},"change_message_id":"4bb68baa1377f9d922cf672024150e46674f1336","unresolved":false,"context_lines":[{"line_number":21,"context_line":"- name: set container facts (Stein+)"},{"line_number":22,"context_line":"  set_fact:"},{"line_number":23,"context_line":"    podman_install: \"{{ container_cli.value|default(\u0027\u0027) \u003d\u003d \u0027podman\u0027 }}\""},{"line_number":24,"context_line":"    docker_install: \"{{ container_cli.value|default(\u0027\u0027) \u003d\u003d \u0027docker\u0027 }}\""},{"line_number":25,"context_line":"  when: container_cli|bool"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"- block: # for rocky and earlier"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"9fb8cfa7_296de931","line":24,"updated":"2019-06-05 13:43:30.000000000","message":"I would recommend this\n    podman_install: \"{{ container_cli.value|default(\u0027\u0027, true) \u003d\u003d \u0027podman\u0027 }}\"\n    docker_install: \"{{ container_cli.value|default(\u0027\u0027, true) \u003d\u003d \u0027docker\u0027 }}\"\n\nIf the container_cli is not present in the undercloud.conf file or set to an empty string,\nthe Jinja2\u0027s default function won\u0027t work and fail.\n\nSee https://review.opendev.org/#/c/659249/","commit_id":"2cc820135395c117749d4dd5e7fa81cafe05f81a"},{"author":{"_account_id":11491,"name":"Gael Chamoulaud","email":"gchamoul@redhat.com","username":"gchamoul"},"change_message_id":"4bb68baa1377f9d922cf672024150e46674f1336","unresolved":false,"context_lines":[{"line_number":22,"context_line":"  set_fact:"},{"line_number":23,"context_line":"    podman_install: \"{{ container_cli.value|default(\u0027\u0027) \u003d\u003d \u0027podman\u0027 }}\""},{"line_number":24,"context_line":"    docker_install: \"{{ container_cli.value|default(\u0027\u0027) \u003d\u003d \u0027docker\u0027 }}\""},{"line_number":25,"context_line":"  when: container_cli|bool"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"- block: # for rocky and earlier"},{"line_number":28,"context_line":"  when: not container_cli|bool"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"9fb8cfa7_49685d20","line":25,"updated":"2019-06-05 13:43:30.000000000","message":"I would use instead:\n  when: not container_cli|default(\u0027\u0027)|length \u003d\u003d 0\n\nAs the ini module returns a string in the case the container_cli key, not a boolean.","commit_id":"2cc820135395c117749d4dd5e7fa81cafe05f81a"},{"author":{"_account_id":11491,"name":"Gael Chamoulaud","email":"gchamoul@redhat.com","username":"gchamoul"},"change_message_id":"ea6860c9d5ec3163125d58dad75baebb73b90140","unresolved":false,"context_lines":[{"line_number":25,"context_line":"  when: container_cli|bool"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"- block: # for rocky and earlier"},{"line_number":28,"context_line":"  when: not container_cli|bool"},{"line_number":29,"context_line":"  - name: Determine if Docker is enabled and has containers running"},{"line_number":30,"context_line":"    become: true"},{"line_number":31,"context_line":"    command: docker ps -q"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"9fb8cfa7_30a21c4d","line":28,"updated":"2019-06-06 05:59:01.000000000","message":"This should be:\n\n- when: my condition\n  block:\n    - name: ...\n      ...","commit_id":"2cc820135395c117749d4dd5e7fa81cafe05f81a"},{"author":{"_account_id":11491,"name":"Gael Chamoulaud","email":"gchamoul@redhat.com","username":"gchamoul"},"change_message_id":"780af84dcfe5ad0eb2b5ea3c65da5e82d5e8fe89","unresolved":false,"context_lines":[{"line_number":35,"context_line":"  - name: set container facts (Rocky and earlier)"},{"line_number":36,"context_line":"    set_fact:"},{"line_number":37,"context_line":"      docker_install: true"},{"line_number":38,"context_line":"    when: docker_ps.stdout !\u003d \"\""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"# (hrybacki) rip this out -- we cannot rely "},{"line_number":41,"context_line":"#   on the podman ansible connection as \u0027become\u0027"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"9fb8cfa7_bb726d48","line":38,"updated":"2019-06-06 06:34:48.000000000","message":"Don\u0027t make comparison to an empty string but:\n\n    when: not docker_ps.stdout | length \u003d\u003d 0","commit_id":"2cc820135395c117749d4dd5e7fa81cafe05f81a"},{"author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"change_message_id":"96497771aeff54afff99325e2f8145280b408d16","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"9fb8cfa7_f9cf76ad","updated":"2019-06-07 09:21:52.000000000","message":"I would divide these containerized/not containerized checks into files and than use\n\n include: \"{{ \u0027./containerized.yaml\u0027 if containerized_undercloud else \u0027./not_containerized.yaml\u0027 }}\"\n\nIt will be easy to remove it when we stop supporting qeens.\n\nAfter dividing it up in this way, we should be able to use the same names for setting the facts, and have singular fail statements for both.","commit_id":"c68f4be2a9460c9b384ee3a716fa54ea1b1f9825"},{"author":{"_account_id":11589,"name":"Harry Rybacki","email":"hrybacki@redhat.com","username":"hrybacki"},"change_message_id":"ccc0d931febf896cb1f33b748e45eb87d092fa46","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"7faddb67_c2f89c4a","in_reply_to":"9fb8cfa7_f9cf76ad","updated":"2019-07-09 18:51:33.000000000","message":"Done","commit_id":"c68f4be2a9460c9b384ee3a716fa54ea1b1f9825"},{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"a3d64a327a11e4d769d6757d04070c3a01037987","unresolved":false,"context_lines":[{"line_number":23,"context_line":"    path: \"{{ tripleo_undercloud_conf_file }}\""},{"line_number":24,"context_line":"    section: DEFAULT"},{"line_number":25,"context_line":"    key: container_cli"},{"line_number":26,"context_line":"    ignore_missing_file: true"},{"line_number":27,"context_line":"  register: container_cli"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"- name: Set container facts (Stein+)"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"9fb8cfa7_598141c3","line":26,"updated":"2019-06-17 18:29:51.000000000","message":"OK to ignore missing file here?","commit_id":"e146c14d10d58e08c86ec397a881e3adbe7531f2"},{"author":{"_account_id":11589,"name":"Harry Rybacki","email":"hrybacki@redhat.com","username":"hrybacki"},"change_message_id":"ccc0d931febf896cb1f33b748e45eb87d092fa46","unresolved":false,"context_lines":[{"line_number":23,"context_line":"    path: \"{{ tripleo_undercloud_conf_file }}\""},{"line_number":24,"context_line":"    section: DEFAULT"},{"line_number":25,"context_line":"    key: container_cli"},{"line_number":26,"context_line":"    ignore_missing_file: true"},{"line_number":27,"context_line":"  register: container_cli"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"- name: Set container facts (Stein+)"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"7faddb67_02cc745f","line":26,"in_reply_to":"9fb8cfa7_598141c3","updated":"2019-07-09 18:51:33.000000000","message":"No -- although that should never get hit assuming the previous task doesn\u0027t fail. I\u0027ll remove it anyways.","commit_id":"e146c14d10d58e08c86ec397a881e3adbe7531f2"},{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"a3d64a327a11e4d769d6757d04070c3a01037987","unresolved":false,"context_lines":[{"line_number":42,"context_line":"    register: docker_ps"},{"line_number":43,"context_line":"    become: true"},{"line_number":44,"context_line":"    ignore_errors: true"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"  - name: Set container facts (Rocky and earlier)"},{"line_number":47,"context_line":"    set_fact:"},{"line_number":48,"context_line":"      docker_install: true"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"9fb8cfa7_39f56d84","line":45,"updated":"2019-06-17 18:29:51.000000000","message":"So, what happens if docker is enabled, and has containers defined, but these containers are not running?\n\nMaybe - docker ps -aq instead ?","commit_id":"e146c14d10d58e08c86ec397a881e3adbe7531f2"},{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"a3d64a327a11e4d769d6757d04070c3a01037987","unresolved":false,"context_lines":[{"line_number":57,"context_line":"  - name: Set container facts (Rocky and earlier)"},{"line_number":58,"context_line":"    set_fact:"},{"line_number":59,"context_line":"      podman_install: false"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"- name: Set podman command prefix"},{"line_number":62,"context_line":"  set_fact:"},{"line_number":63,"context_line":"    command_prefix: \"podman\""}],"source_content_type":"text/x-yaml","patch_set":15,"id":"9fb8cfa7_19266918","line":60,"updated":"2019-06-17 18:29:51.000000000","message":"This assumes that for all podman systems, the parameter \"podman\" is set as the container_cli in the undercloud.conf.  Is that a valid assumption?\n\nI noticed in my earlier testing that sometimes we use podman even if the coontainer_cli is not set.  That might be why in other validations, we assumed if the container_cli was absent, then it was \"podman\" by default.\n\nI originally solved this by trying to do a \"podman inspect novajoin-server\" and handling the error if podman was not present.","commit_id":"e146c14d10d58e08c86ec397a881e3adbe7531f2"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"5063af92e23a3d6bf9f28e1ea91b095c114c45c6","unresolved":false,"context_lines":[{"line_number":57,"context_line":"  - name: Set container facts (Rocky and earlier)"},{"line_number":58,"context_line":"    set_fact:"},{"line_number":59,"context_line":"      podman_install: false"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"- name: Set podman command prefix"},{"line_number":62,"context_line":"  set_fact:"},{"line_number":63,"context_line":"    command_prefix: \"podman\""}],"source_content_type":"text/x-yaml","patch_set":15,"id":"7faddb67_592b3e2f","line":60,"in_reply_to":"9fb8cfa7_19266918","updated":"2019-07-17 05:54:30.000000000","message":"Starting Stein, podman is the default container_cli","commit_id":"e146c14d10d58e08c86ec397a881e3adbe7531f2"}],"roles/tls-everywhere/tasks/prep.yaml":[{"author":{"_account_id":11491,"name":"Gael Chamoulaud","email":"gchamoul@redhat.com","username":"gchamoul"},"change_message_id":"dab80521f167550161b30984191f1a69b0b666e9","unresolved":false,"context_lines":[{"line_number":13,"context_line":"# undercloud.conf DNS check"},{"line_number":14,"context_line":"- name: Verify that nameservers are set in undercloud.conf"},{"line_number":15,"context_line":"  set_fact:"},{"line_number":16,"context_line":"    undercloud_nameservers: \"{{ lookup(\u0027ini\u0027, \u0027undercloud_nameservers section\u003dDEFAULT file\u003d{{ helper_undercloud_path }}/undercloud.conf\u0027) }}\""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"- name: Check that nameservers point to IdM/FreeIPA"},{"line_number":19,"context_line":"  set_fact:"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"bfb3d3c7_6d731182","line":16,"updated":"2019-05-20 08:06:44.000000000","message":"When we would like to deal with variables coming from the undercloud.conf file, we used to do like this [1]\n\n1- Get the undercloud.conf path from hiera\n2- Use our custom ini module to get what you desire from this file\n   * By putting \u0027ignore_missing_file\u0027 to False, it will fail if that file doesn\u0027t exist.\n\n[1] - https://github.com/openstack/tripleo-validations/blob/master/roles/ctlplane-ip-range/tasks/main.yml#L1-L14","commit_id":"e664df0ec1dcd01842bc613d7733be094cf63da2"},{"author":{"_account_id":11491,"name":"Gael Chamoulaud","email":"gchamoul@redhat.com","username":"gchamoul"},"change_message_id":"c646017103c0cc50f30543384aa3bbb437060b25","unresolved":false,"context_lines":[{"line_number":24,"context_line":"- name: Set facts undercloud.conf DNS is not configured"},{"line_number":25,"context_line":"  set_fact:"},{"line_number":26,"context_line":"    undercloud_conf_dns_status: \u0027{{ helper_status_error }}\u0027"},{"line_number":27,"context_line":"    undercloud_conf_dns_reason: \u0027DNS is not set up correctly in undercloud.conf\u0027"},{"line_number":28,"context_line":"    undercloud_conf_dns_recommendations:"},{"line_number":29,"context_line":"      - \"Please set the \u0027undercloud_nameservers\u0027 parameter to point to IdM/FreeIPA in undercloud.conf\""},{"line_number":30,"context_line":"  when: undercloud_conf_dns_query|default(\u0027NXDOMAIN\u0027) \u003d\u003d \"NXDOMAIN\""}],"source_content_type":"text/x-yaml","patch_set":1,"id":"bfb3d3c7_78974d92","line":27,"updated":"2019-05-20 09:02:55.000000000","message":"Please, use double-quotes for variables as much as possible.","commit_id":"e664df0ec1dcd01842bc613d7733be094cf63da2"},{"author":{"_account_id":11491,"name":"Gael Chamoulaud","email":"gchamoul@redhat.com","username":"gchamoul"},"change_message_id":"c646017103c0cc50f30543384aa3bbb437060b25","unresolved":false,"context_lines":[{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    - name: Get domain is set in undercloud.conf"},{"line_number":60,"context_line":"      set_fact:"},{"line_number":61,"context_line":"        undercloud_overcloud_domain: \"{{ lookup(\u0027ini\u0027, \u0027overcloud_domain_name section\u003dDEFAULT file\u003d{{ helper_undercloud_path }}/undercloud.conf\u0027) }}\""},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    - name: Set facts undercloud.conf domain is not configured correctly"},{"line_number":64,"context_line":"      set_fact:"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"bfb3d3c7_9894818d","line":61,"updated":"2019-05-20 09:02:55.000000000","message":"Please, use the custom ini plugin embbeded in the library dir.","commit_id":"e664df0ec1dcd01842bc613d7733be094cf63da2"},{"author":{"_account_id":11491,"name":"Gael Chamoulaud","email":"gchamoul@redhat.com","username":"gchamoul"},"change_message_id":"c646017103c0cc50f30543384aa3bbb437060b25","unresolved":false,"context_lines":[{"line_number":89,"context_line":""},{"line_number":90,"context_line":"- name: Get enable_novajoin flag from undercloud.conf"},{"line_number":91,"context_line":"  set_fact:"},{"line_number":92,"context_line":"    undercloud_enable_novajoin: \"{{ lookup(\u0027ini\u0027, \u0027enable_novajoin section\u003dDEFAULT default\u003dFalse file\u003d{{ helper_undercloud_path }}/undercloud.conf\u0027) }}\""},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"- name: Set facts undercloud.conf enable novajoin is disabled"},{"line_number":95,"context_line":"  set_fact:"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"bfb3d3c7_3891d59a","line":92,"updated":"2019-05-20 09:02:55.000000000","message":"ditto here about the custom ini plugin","commit_id":"e664df0ec1dcd01842bc613d7733be094cf63da2"}],"roles/tls-everywhere/tasks/reportentry.yaml":[{"author":{"_account_id":11491,"name":"Gael Chamoulaud","email":"gchamoul@redhat.com","username":"gchamoul"},"change_message_id":"dcb46529c0e38ed42ae8ad37898f050010c66d5d","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    marker: \u0027* {mark} {{ report_check }} for host {{ report_host }}\u0027"},{"line_number":6,"context_line":"    path: \u0027{{ helper_report_path }}\u0027"},{"line_number":7,"context_line":"    content: \"{{ lookup(\u0027template\u0027, \u0027templates/report-template-txt.j2\u0027) }}\""},{"line_number":8,"context_line":"  delegate_to: localhost"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"bfb3d3c7_b6fda6b2","line":8,"updated":"2019-05-22 10:21:29.000000000","message":"I like very much the way you handle the reporting of informations, but you have to go to \n/tmp to see the report.txt file to get feedbacks.\n\ntripleo-validations uses a custom callback plugin which will display only messages coming\nfrom warn/fail/debug tasks.\n\nfor example, when the validation fails:\n```\nTask \u0027undercloud-cpu : Verify the number of CPU cores\u0027 failed:\nHost: undercloud\nMessage: There are 6 cores in the system, but there should be at least 8\n\nFailure! The validation failed for all hosts:\n* undercloud\n```\n\nWhen it succeeds:\n```\nSuccess! The validation passed for all hosts:\n* undercloud\n```\n\nWhen I run the tls-everywhere-prep.yaml playbook on my development environment which doesn\u0027t have tls configuration at all, I got \na success message even if the code has detected a DNS not setup correctly in my undercloud.conf.\n\nOne important thing, it would be perfect to be able to know if we are in a tls-everywhere configuration before to run all the tasks in this role. This will avoid us warnings or failures for nothing.","commit_id":"ddade8948a9a89bddd1a5e40e96a4e395f08a166"},{"author":{"_account_id":11589,"name":"Harry Rybacki","email":"hrybacki@redhat.com","username":"hrybacki"},"change_message_id":"363f1b162b8072cb497a7c39411ac83a9e95f7bb","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    marker: \u0027* {mark} {{ report_check }} for host {{ report_host }}\u0027"},{"line_number":6,"context_line":"    path: \u0027{{ helper_report_path }}\u0027"},{"line_number":7,"context_line":"    content: \"{{ lookup(\u0027template\u0027, \u0027templates/report-template-txt.j2\u0027) }}\""},{"line_number":8,"context_line":"  delegate_to: localhost"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"bfb3d3c7_64ee58ee","line":8,"in_reply_to":"bfb3d3c7_b6fda6b2","updated":"2019-05-26 16:17:21.000000000","message":"Gael, what are you thoughts on expanding the validation_output plugin to include the ability to add `Recommendations` akin to what Ade and Ozz have done here[1]?\n\nThis could expand the use cases for tripleo-validations. For example, we envision these recommendations assisting folks working with Operators, consultants doing PoC work, and anyone wanting to learn more about TLS-Everywhere enabled deployments. However, I could see (optional) recommendations (when failure/warning occurs) as a tool that allows developers to assist a variety of folks who work with TripleO in general.\n\nWe could:\n1- Create another review to integrate this functionality with tripleo-validations \n2- Propose this through a spec\n3- Not move forward with this and continue logging our tls-everywhere specific notes into /tmp\n\nThoughts?\n\n[1] - https://review.opendev.org/#/c/659885/3/roles/tls-everywhere/templates/report-template-txt.j2@1","commit_id":"ddade8948a9a89bddd1a5e40e96a4e395f08a166"}],"roles/tls-everywhere/templates/report-template-txt.j2":[{"author":{"_account_id":11491,"name":"Gael Chamoulaud","email":"gchamoul@redhat.com","username":"gchamoul"},"change_message_id":"3652d5ace1e016664c317a30b2ebf83b51ab0cd2","unresolved":false,"context_lines":[{"line_number":3,"context_line":"{% for recommendation in report_recommendations %}"},{"line_number":4,"context_line":"  - RECOMMENDATION: {{ recommendation }}"},{"line_number":5,"context_line":"{% endfor %}"},{"line_number":6,"context_line":"{% endif %}"}],"source_content_type":"text/x-jinja2","patch_set":15,"id":"9fb8cfa7_676e09ca","line":6,"updated":"2019-06-14 09:55:02.000000000","message":"Same kind of question here.\nDo we still need this template?","commit_id":"e146c14d10d58e08c86ec397a881e3adbe7531f2"},{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"a3d64a327a11e4d769d6757d04070c3a01037987","unresolved":false,"context_lines":[{"line_number":3,"context_line":"{% for recommendation in report_recommendations %}"},{"line_number":4,"context_line":"  - RECOMMENDATION: {{ recommendation }}"},{"line_number":5,"context_line":"{% endfor %}"},{"line_number":6,"context_line":"{% endif %}"}],"source_content_type":"text/x-jinja2","patch_set":15,"id":"9fb8cfa7_99601938","line":6,"in_reply_to":"9fb8cfa7_2762510b","updated":"2019-06-17 18:29:51.000000000","message":"No need to dump a file if the output is elsewhere.","commit_id":"e146c14d10d58e08c86ec397a881e3adbe7531f2"},{"author":{"_account_id":11589,"name":"Harry Rybacki","email":"hrybacki@redhat.com","username":"hrybacki"},"change_message_id":"8e34b160ea8215b9a5729fd3beb9fabceb3b7cdb","unresolved":false,"context_lines":[{"line_number":3,"context_line":"{% for recommendation in report_recommendations %}"},{"line_number":4,"context_line":"  - RECOMMENDATION: {{ recommendation }}"},{"line_number":5,"context_line":"{% endfor %}"},{"line_number":6,"context_line":"{% endif %}"}],"source_content_type":"text/x-jinja2","patch_set":15,"id":"9fb8cfa7_2762510b","line":6,"in_reply_to":"9fb8cfa7_676e09ca","updated":"2019-06-14 10:50:03.000000000","message":"I\u0027ll confirm Ade doesn\u0027t still want a file dumped but most likely this will be removed.","commit_id":"e146c14d10d58e08c86ec397a881e3adbe7531f2"},{"author":{"_account_id":11589,"name":"Harry Rybacki","email":"hrybacki@redhat.com","username":"hrybacki"},"change_message_id":"ccc0d931febf896cb1f33b748e45eb87d092fa46","unresolved":false,"context_lines":[{"line_number":3,"context_line":"{% for recommendation in report_recommendations %}"},{"line_number":4,"context_line":"  - RECOMMENDATION: {{ recommendation }}"},{"line_number":5,"context_line":"{% endfor %}"},{"line_number":6,"context_line":"{% endif %}"}],"source_content_type":"text/x-jinja2","patch_set":15,"id":"7faddb67_e2559851","line":6,"in_reply_to":"9fb8cfa7_99601938","updated":"2019-07-09 18:51:33.000000000","message":"Removed.","commit_id":"e146c14d10d58e08c86ec397a881e3adbe7531f2"}]}
