)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"5417ed5201ddb7486430dd59729ad0f96d6da444","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Mark Goddard \u003cmark@stackhpc.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2021-06-02 12:37:36 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"chrony: remove during upgrade when disabled"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The chrony container is deprecated in Wallaby, and disabled by default."},{"line_number":10,"context_line":"This change removes the container on upgrade if chrony is disabled."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":14,"id":"69cd6324_cf950045","line":7,"range":{"start_line":7,"start_character":15,"end_line":7,"end_character":29},"updated":"2021-06-02 15:16:32.000000000","message":"not accurate","commit_id":"ff9ace985f56f0e7d1e5e9ffecc0cab3269a8b82"}],"ansible/roles/chrony/tasks/cleanup.yml":[{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"41539f029029ceddc862b43b1ea1f538b137c6a1","unresolved":true,"context_lines":[{"line_number":2,"context_line":"- name: Stop and remove chrony container"},{"line_number":3,"context_line":"  become: true"},{"line_number":4,"context_line":"  kolla_docker:"},{"line_number":5,"context_line":"    action: \"stop_and_remove_container\""},{"line_number":6,"context_line":"    name: chrony"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"- name: Removing config for chrony"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"ecda4ab2_ae1c2402","line":5,"range":{"start_line":5,"start_character":13,"end_line":5,"end_character":38},"updated":"2021-05-19 12:43:14.000000000","message":"and clean up image?","commit_id":"110f4d289d3a443d6372b3c2cb6b2d886941fe81"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"4ca8ce98ad5196e43b9f1c234ea87a861eeb380e","unresolved":true,"context_lines":[{"line_number":2,"context_line":"- name: Stop and remove chrony container"},{"line_number":3,"context_line":"  become: true"},{"line_number":4,"context_line":"  kolla_docker:"},{"line_number":5,"context_line":"    action: \"stop_and_remove_container\""},{"line_number":6,"context_line":"    name: chrony"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"- name: Removing config for chrony"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"4c8db416_4848cc97","line":5,"range":{"start_line":5,"start_character":13,"end_line":5,"end_character":38},"in_reply_to":"ecda4ab2_ae1c2402","updated":"2021-05-20 08:04:09.000000000","message":"We don\u0027t do it after upgrades. There is a prune-images command which can do it.","commit_id":"110f4d289d3a443d6372b3c2cb6b2d886941fe81"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"41539f029029ceddc862b43b1ea1f538b137c6a1","unresolved":true,"context_lines":[{"line_number":5,"context_line":"    action: \"stop_and_remove_container\""},{"line_number":6,"context_line":"    name: chrony"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"- name: Removing config for chrony"},{"line_number":9,"context_line":"  file:"},{"line_number":10,"context_line":"    path: \"{{ node_config_directory }}/chrony\""},{"line_number":11,"context_line":"    state: \"absent\""}],"source_content_type":"text/x-yaml","patch_set":1,"id":"03cbdbda_70d96040","line":8,"range":{"start_line":8,"start_character":8,"end_line":8,"end_character":17},"updated":"2021-05-19 12:43:14.000000000","message":"nit: \"Remove\"","commit_id":"110f4d289d3a443d6372b3c2cb6b2d886941fe81"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"41539f029029ceddc862b43b1ea1f538b137c6a1","unresolved":true,"context_lines":[{"line_number":9,"context_line":"  file:"},{"line_number":10,"context_line":"    path: \"{{ node_config_directory }}/chrony\""},{"line_number":11,"context_line":"    state: \"absent\""},{"line_number":12,"context_line":"  become: true"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"0c094467_176e801f","line":12,"range":{"start_line":12,"start_character":2,"end_line":12,"end_character":14},"updated":"2021-05-19 12:43:14.000000000","message":"nit: could be after \"name\" (as above)","commit_id":"110f4d289d3a443d6372b3c2cb6b2d886941fe81"}],"ansible/roles/prechecks/tasks/timesync_checks.yml":[{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"47f63682ed37b397bbf3892d42e6e3989536a9b5","unresolved":true,"context_lines":[{"line_number":51,"context_line":"        - systemctl_is_active.rc !\u003d 0"},{"line_number":52,"context_line":"  when: prechecks_enable_host_ntp_checks | bool"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"- name: Checking timedatectl status"},{"line_number":55,"context_line":"  become: true"},{"line_number":56,"context_line":"  command: timedatectl status"},{"line_number":57,"context_line":"  register: timedatectl_status"},{"line_number":58,"context_line":"  changed_when: false"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"- name: Fail if the clock is not synchronized"},{"line_number":61,"context_line":"  fail:"},{"line_number":62,"context_line":"    msg: \u003e-"},{"line_number":63,"context_line":"      timedatectl sees the system clock as unsynchronized."},{"line_number":64,"context_line":"      Please wait for synchronization."},{"line_number":65,"context_line":"  when:"},{"line_number":66,"context_line":"    - \"\u0027synchronized: yes\u0027 not in timedatectl_status.stdout\""}],"source_content_type":"text/x-yaml","patch_set":6,"id":"07facdaf_e8ab7220","line":66,"range":{"start_line":54,"start_character":0,"end_line":66,"end_character":60},"updated":"2021-05-24 10:46:46.000000000","message":"should we also skip those when prechecks_enable_host_ntp_checks \u003d\u003d False?","commit_id":"322681c35f21c6558ec141e4f4e498bb649d8737"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"ffbee0feb0c43ef266d4cc8d9127bab2da8386a0","unresolved":true,"context_lines":[{"line_number":16,"context_line":"      of \u0027enable_chrony\u0027 was changed to \u0027false\u0027."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"      The chrony container may be cleaned up via \u0027kolla-ansible"},{"line_number":19,"context_line":"      chrony-cleanup\u0027. You should then install and configure a suitable host"},{"line_number":20,"context_line":"      NTP daemon before running these prechecks again."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"      To continue running the chrony container, set \u0027enable_chrony\u0027 to \u0027true\u0027,"},{"line_number":23,"context_line":"      however note that this feature will be removed in the Xena release."}],"source_content_type":"text/x-yaml","patch_set":13,"id":"f0cb4559_6a780d77","line":20,"range":{"start_line":19,"start_character":23,"end_line":20,"end_character":17},"updated":"2021-06-01 17:35:29.000000000","message":"should we get minimal docs in place and point at them?","commit_id":"247142617b0146337c90475b81ad904a0b0c1a70"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"ba9bf5c9cf2bd1ee9db9a6d4ba8f462bbd848542","unresolved":false,"context_lines":[{"line_number":16,"context_line":"      of \u0027enable_chrony\u0027 was changed to \u0027false\u0027."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"      The chrony container may be cleaned up via \u0027kolla-ansible"},{"line_number":19,"context_line":"      chrony-cleanup\u0027. You should then install and configure a suitable host"},{"line_number":20,"context_line":"      NTP daemon before running these prechecks again."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"      To continue running the chrony container, set \u0027enable_chrony\u0027 to \u0027true\u0027,"},{"line_number":23,"context_line":"      however note that this feature will be removed in the Xena release."}],"source_content_type":"text/x-yaml","patch_set":13,"id":"d60b7825_9c4b0ca4","line":20,"range":{"start_line":19,"start_character":23,"end_line":20,"end_character":17},"in_reply_to":"c66e107f_7f39e616","updated":"2021-06-02 17:24:34.000000000","message":"Fair point.","commit_id":"247142617b0146337c90475b81ad904a0b0c1a70"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"d7eca48c59a2474fd3bcf09da12096bb1315e2fa","unresolved":true,"context_lines":[{"line_number":16,"context_line":"      of \u0027enable_chrony\u0027 was changed to \u0027false\u0027."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"      The chrony container may be cleaned up via \u0027kolla-ansible"},{"line_number":19,"context_line":"      chrony-cleanup\u0027. You should then install and configure a suitable host"},{"line_number":20,"context_line":"      NTP daemon before running these prechecks again."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"      To continue running the chrony container, set \u0027enable_chrony\u0027 to \u0027true\u0027,"},{"line_number":23,"context_line":"      however note that this feature will be removed in the Xena release."}],"source_content_type":"text/x-yaml","patch_set":13,"id":"c66e107f_7f39e616","line":20,"range":{"start_line":19,"start_character":23,"end_line":20,"end_character":17},"in_reply_to":"f0cb4559_6a780d77","updated":"2021-06-02 11:19:28.000000000","message":"covering what? Installing an NTP daemon?","commit_id":"247142617b0146337c90475b81ad904a0b0c1a70"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"ffbee0feb0c43ef266d4cc8d9127bab2da8386a0","unresolved":true,"context_lines":[{"line_number":20,"context_line":"      NTP daemon before running these prechecks again."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"      To continue running the chrony container, set \u0027enable_chrony\u0027 to \u0027true\u0027,"},{"line_number":23,"context_line":"      however note that this feature will be removed in the Xena release."},{"line_number":24,"context_line":"  when:"},{"line_number":25,"context_line":"    - \"\u0027chrony\u0027 in container_facts\""},{"line_number":26,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":13,"id":"c5953007_a04ffd76","line":23,"range":{"start_line":23,"start_character":72,"end_line":23,"end_character":73},"updated":"2021-06-01 17:35:29.000000000","message":"\"and thus is not recommended\"","commit_id":"247142617b0146337c90475b81ad904a0b0c1a70"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"ba9bf5c9cf2bd1ee9db9a6d4ba8f462bbd848542","unresolved":false,"context_lines":[{"line_number":20,"context_line":"      NTP daemon before running these prechecks again."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"      To continue running the chrony container, set \u0027enable_chrony\u0027 to \u0027true\u0027,"},{"line_number":23,"context_line":"      however note that this feature will be removed in the Xena release."},{"line_number":24,"context_line":"  when:"},{"line_number":25,"context_line":"    - \"\u0027chrony\u0027 in container_facts\""},{"line_number":26,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":13,"id":"c923ba80_86f5d42f","line":23,"range":{"start_line":23,"start_character":72,"end_line":23,"end_character":73},"in_reply_to":"c5953007_a04ffd76","updated":"2021-06-02 17:24:34.000000000","message":"Done","commit_id":"247142617b0146337c90475b81ad904a0b0c1a70"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"ffbee0feb0c43ef266d4cc8d9127bab2da8386a0","unresolved":true,"context_lines":[{"line_number":38,"context_line":"        cmd: \"systemctl is-active {{ prechecks_host_ntp_daemons | join(\u0027 \u0027) }}\""},{"line_number":39,"context_line":"      register: systemctl_is_active"},{"line_number":40,"context_line":"      changed_when: false"},{"line_number":41,"context_line":"      failed_when: false"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    - name: Fail if a host NTP daemon is not running"},{"line_number":44,"context_line":"      fail:"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"4ac04a5f_5019d557","line":41,"range":{"start_line":41,"start_character":19,"end_line":41,"end_character":24},"updated":"2021-06-01 17:35:29.000000000","message":"I think we should accept only RCs about these being missing/inactive, not other failures","commit_id":"247142617b0146337c90475b81ad904a0b0c1a70"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"ba9bf5c9cf2bd1ee9db9a6d4ba8f462bbd848542","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        cmd: \"systemctl is-active {{ prechecks_host_ntp_daemons | join(\u0027 \u0027) }}\""},{"line_number":39,"context_line":"      register: systemctl_is_active"},{"line_number":40,"context_line":"      changed_when: false"},{"line_number":41,"context_line":"      failed_when: false"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    - name: Fail if a host NTP daemon is not running"},{"line_number":44,"context_line":"      fail:"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"f1036407_4e8984fb","line":41,"range":{"start_line":41,"start_character":19,"end_line":41,"end_character":24},"in_reply_to":"32743e50_a21db686","updated":"2021-06-02 17:24:34.000000000","message":"Ack","commit_id":"247142617b0146337c90475b81ad904a0b0c1a70"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"d7eca48c59a2474fd3bcf09da12096bb1315e2fa","unresolved":true,"context_lines":[{"line_number":38,"context_line":"        cmd: \"systemctl is-active {{ prechecks_host_ntp_daemons | join(\u0027 \u0027) }}\""},{"line_number":39,"context_line":"      register: systemctl_is_active"},{"line_number":40,"context_line":"      changed_when: false"},{"line_number":41,"context_line":"      failed_when: false"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    - name: Fail if a host NTP daemon is not running"},{"line_number":44,"context_line":"      fail:"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"32743e50_a21db686","line":41,"range":{"start_line":41,"start_character":19,"end_line":41,"end_character":24},"in_reply_to":"4ac04a5f_5019d557","updated":"2021-06-02 11:19:28.000000000","message":"Returns an exit code 0 if at least one is active, or non-zero otherwise","commit_id":"247142617b0146337c90475b81ad904a0b0c1a70"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"ffbee0feb0c43ef266d4cc8d9127bab2da8386a0","unresolved":true,"context_lines":[{"line_number":45,"context_line":"        msg: \u003e-"},{"line_number":46,"context_line":"          No host NTP daemon is running, and the Kolla Ansible chrony container"},{"line_number":47,"context_line":"          is disabled. Please install and configure a host NTP daemon."},{"line_number":48,"context_line":"          Alternatively, set \u0027prechecks_enable_host_ntp_checks\u0027 to \u0027false\u0027 to"},{"line_number":49,"context_line":"          disable this check."},{"line_number":50,"context_line":"      when:"},{"line_number":51,"context_line":"        - systemctl_is_active.rc !\u003d 0"},{"line_number":52,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":13,"id":"a28c9704_8b9b86bc","line":49,"range":{"start_line":48,"start_character":10,"end_line":49,"end_character":29},"updated":"2021-06-01 17:35:29.000000000","message":"this is bad advice","commit_id":"247142617b0146337c90475b81ad904a0b0c1a70"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"ba9bf5c9cf2bd1ee9db9a6d4ba8f462bbd848542","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        msg: \u003e-"},{"line_number":46,"context_line":"          No host NTP daemon is running, and the Kolla Ansible chrony container"},{"line_number":47,"context_line":"          is disabled. Please install and configure a host NTP daemon."},{"line_number":48,"context_line":"          Alternatively, set \u0027prechecks_enable_host_ntp_checks\u0027 to \u0027false\u0027 to"},{"line_number":49,"context_line":"          disable this check."},{"line_number":50,"context_line":"      when:"},{"line_number":51,"context_line":"        - systemctl_is_active.rc !\u003d 0"},{"line_number":52,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":13,"id":"28ed9aed_8b7adf26","line":49,"range":{"start_line":48,"start_character":10,"end_line":49,"end_character":29},"in_reply_to":"6504624d_cf8a44bd","updated":"2021-06-02 17:24:34.000000000","message":"Done","commit_id":"247142617b0146337c90475b81ad904a0b0c1a70"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"d7eca48c59a2474fd3bcf09da12096bb1315e2fa","unresolved":true,"context_lines":[{"line_number":45,"context_line":"        msg: \u003e-"},{"line_number":46,"context_line":"          No host NTP daemon is running, and the Kolla Ansible chrony container"},{"line_number":47,"context_line":"          is disabled. Please install and configure a host NTP daemon."},{"line_number":48,"context_line":"          Alternatively, set \u0027prechecks_enable_host_ntp_checks\u0027 to \u0027false\u0027 to"},{"line_number":49,"context_line":"          disable this check."},{"line_number":50,"context_line":"      when:"},{"line_number":51,"context_line":"        - systemctl_is_active.rc !\u003d 0"},{"line_number":52,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":13,"id":"6504624d_cf8a44bd","line":49,"range":{"start_line":48,"start_character":10,"end_line":49,"end_character":29},"in_reply_to":"a28c9704_8b9b86bc","updated":"2021-06-02 11:19:28.000000000","message":"It allows someone to run an NTP daemon other than those in our list.","commit_id":"247142617b0146337c90475b81ad904a0b0c1a70"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"ffbee0feb0c43ef266d4cc8d9127bab2da8386a0","unresolved":true,"context_lines":[{"line_number":61,"context_line":"        msg: \u003e-"},{"line_number":62,"context_line":"          timedatectl sees the system clock as unsynchronized."},{"line_number":63,"context_line":"          Please wait for synchronization."},{"line_number":64,"context_line":"          Alternatively, set \u0027prechecks_enable_host_ntp_checks\u0027 to \u0027false\u0027 to"},{"line_number":65,"context_line":"          disable this check."},{"line_number":66,"context_line":"      when:"},{"line_number":67,"context_line":"        - \"\u0027synchronized: yes\u0027 not in timedatectl_status.stdout\""},{"line_number":68,"context_line":"  when: prechecks_enable_host_ntp_checks | bool"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"d416bdd6_691e68d9","line":65,"range":{"start_line":64,"start_character":10,"end_line":65,"end_character":29},"updated":"2021-06-01 17:35:29.000000000","message":"this is bad advice","commit_id":"247142617b0146337c90475b81ad904a0b0c1a70"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"ba9bf5c9cf2bd1ee9db9a6d4ba8f462bbd848542","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        msg: \u003e-"},{"line_number":62,"context_line":"          timedatectl sees the system clock as unsynchronized."},{"line_number":63,"context_line":"          Please wait for synchronization."},{"line_number":64,"context_line":"          Alternatively, set \u0027prechecks_enable_host_ntp_checks\u0027 to \u0027false\u0027 to"},{"line_number":65,"context_line":"          disable this check."},{"line_number":66,"context_line":"      when:"},{"line_number":67,"context_line":"        - \"\u0027synchronized: yes\u0027 not in timedatectl_status.stdout\""},{"line_number":68,"context_line":"  when: prechecks_enable_host_ntp_checks | bool"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"963b14ed_b2e12eff","line":65,"range":{"start_line":64,"start_character":10,"end_line":65,"end_character":29},"in_reply_to":"d416bdd6_691e68d9","updated":"2021-06-02 17:24:34.000000000","message":"Done","commit_id":"247142617b0146337c90475b81ad904a0b0c1a70"}],"releasenotes/notes/deprecate-chrony-077a8686e79a919e.yaml":[{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"7bf74f4430f8e1496b512085191b25250ac97b9f","unresolved":true,"context_lines":[{"line_number":13,"context_line":"    ``kolla-ansible chrony-cleanup``."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"    The ``kolla-ansible prechecks`` command will fail if Chrony is disabled and"},{"line_number":16,"context_line":"    the container is running. It will also fail if Chrony is disabled an no"},{"line_number":17,"context_line":"    host NTP daemon is detected. This check may be disabled by setting"},{"line_number":18,"context_line":"    ``prechecks_enable_host_ntp_checks`` to ``false``."}],"source_content_type":"text/x-yaml","patch_set":13,"id":"7f93ccb5_eed10638","line":16,"range":{"start_line":16,"start_character":70,"end_line":16,"end_character":73},"updated":"2021-06-01 17:30:17.000000000","message":"nit: \"and\"","commit_id":"247142617b0146337c90475b81ad904a0b0c1a70"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"ba9bf5c9cf2bd1ee9db9a6d4ba8f462bbd848542","unresolved":false,"context_lines":[{"line_number":13,"context_line":"    ``kolla-ansible chrony-cleanup``."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"    The ``kolla-ansible prechecks`` command will fail if Chrony is disabled and"},{"line_number":16,"context_line":"    the container is running. It will also fail if Chrony is disabled an no"},{"line_number":17,"context_line":"    host NTP daemon is detected. This check may be disabled by setting"},{"line_number":18,"context_line":"    ``prechecks_enable_host_ntp_checks`` to ``false``."}],"source_content_type":"text/x-yaml","patch_set":13,"id":"dbb36f9a_08da8ee7","line":16,"range":{"start_line":16,"start_character":70,"end_line":16,"end_character":73},"in_reply_to":"7f93ccb5_eed10638","updated":"2021-06-02 17:24:34.000000000","message":"Done","commit_id":"247142617b0146337c90475b81ad904a0b0c1a70"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"7bf74f4430f8e1496b512085191b25250ac97b9f","unresolved":true,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"    The ``kolla-ansible prechecks`` command will fail if Chrony is disabled and"},{"line_number":16,"context_line":"    the container is running. It will also fail if Chrony is disabled an no"},{"line_number":17,"context_line":"    host NTP daemon is detected. This check may be disabled by setting"},{"line_number":18,"context_line":"    ``prechecks_enable_host_ntp_checks`` to ``false``."}],"source_content_type":"text/x-yaml","patch_set":13,"id":"2ef43c8a_40418a6a","line":18,"range":{"start_line":17,"start_character":33,"end_line":18,"end_character":54},"updated":"2021-06-01 17:30:17.000000000","message":"We should really NOT endorse that.","commit_id":"247142617b0146337c90475b81ad904a0b0c1a70"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"ba9bf5c9cf2bd1ee9db9a6d4ba8f462bbd848542","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"    The ``kolla-ansible prechecks`` command will fail if Chrony is disabled and"},{"line_number":16,"context_line":"    the container is running. It will also fail if Chrony is disabled an no"},{"line_number":17,"context_line":"    host NTP daemon is detected. This check may be disabled by setting"},{"line_number":18,"context_line":"    ``prechecks_enable_host_ntp_checks`` to ``false``."}],"source_content_type":"text/x-yaml","patch_set":13,"id":"8a74250a_e9157d90","line":18,"range":{"start_line":17,"start_character":33,"end_line":18,"end_character":54},"in_reply_to":"2ef43c8a_40418a6a","updated":"2021-06-02 17:24:34.000000000","message":"Done","commit_id":"247142617b0146337c90475b81ad904a0b0c1a70"}],"tests/run.yml":[{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"7bf74f4430f8e1496b512085191b25250ac97b9f","unresolved":true,"context_lines":[{"line_number":344,"context_line":"          - { name: \"nova\", keyring: \"ceph.client.cinder.keyring\" }"},{"line_number":345,"context_line":"      when: scenario \u003d\u003d \"cephadm\""},{"line_number":346,"context_line":""},{"line_number":347,"context_line":"    # TODO(mgoddard): Remove this task in the Y cycle after chrony has been"},{"line_number":348,"context_line":"    # dropped for a cycle."},{"line_number":349,"context_line":"    # NOTE(mgoddard): For upgrades, test the case where we are running"},{"line_number":350,"context_line":"    # a chrony container, but keep the default of disabled after the"},{"line_number":351,"context_line":"    # upgrade."},{"line_number":352,"context_line":"    - block:"},{"line_number":353,"context_line":"        - name: Remove host NTP packages"},{"line_number":354,"context_line":"          become: true"},{"line_number":355,"context_line":"          package:"},{"line_number":356,"context_line":"            name:"},{"line_number":357,"context_line":"              - chrony"},{"line_number":358,"context_line":"              - ntp"},{"line_number":359,"context_line":"            state: absent"},{"line_number":360,"context_line":""},{"line_number":361,"context_line":"        # NOTE(mgoddard): removing the systemd-timesyncd package fails, so stop"},{"line_number":362,"context_line":"        # and disable it instead."},{"line_number":363,"context_line":"        - name: Stop systemd-timesyncd service"},{"line_number":364,"context_line":"          become: true"},{"line_number":365,"context_line":"          service:"},{"line_number":366,"context_line":"            name: systemd-timesyncd"},{"line_number":367,"context_line":"            enabled: no"},{"line_number":368,"context_line":"            state: stopped"},{"line_number":369,"context_line":"          when: ansible_os_family \u003d\u003d \u0027Debian\u0027"},{"line_number":370,"context_line":"      when: is_upgrade"},{"line_number":371,"context_line":""},{"line_number":372,"context_line":"    # Deploy control plane. For upgrade jobs this is the previous release."},{"line_number":373,"context_line":"    - block:"},{"line_number":374,"context_line":"        - name: Run deploy.sh script"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"f10c4ad7_e66b488c","line":371,"range":{"start_line":347,"start_character":0,"end_line":371,"end_character":0},"updated":"2021-06-01 17:30:17.000000000","message":"I must say I have node idea why. We rely on KA for this. Or is it to ensure host-level chrony?","commit_id":"247142617b0146337c90475b81ad904a0b0c1a70"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"c1b910da81196fa1f31fe94c82ff50f261457f9f","unresolved":false,"context_lines":[{"line_number":344,"context_line":"          - { name: \"nova\", keyring: \"ceph.client.cinder.keyring\" }"},{"line_number":345,"context_line":"      when: scenario \u003d\u003d \"cephadm\""},{"line_number":346,"context_line":""},{"line_number":347,"context_line":"    # TODO(mgoddard): Remove this task in the Y cycle after chrony has been"},{"line_number":348,"context_line":"    # dropped for a cycle."},{"line_number":349,"context_line":"    # NOTE(mgoddard): For upgrades, test the case where we are running"},{"line_number":350,"context_line":"    # a chrony container, but keep the default of disabled after the"},{"line_number":351,"context_line":"    # upgrade."},{"line_number":352,"context_line":"    - block:"},{"line_number":353,"context_line":"        - name: Remove host NTP packages"},{"line_number":354,"context_line":"          become: true"},{"line_number":355,"context_line":"          package:"},{"line_number":356,"context_line":"            name:"},{"line_number":357,"context_line":"              - chrony"},{"line_number":358,"context_line":"              - ntp"},{"line_number":359,"context_line":"            state: absent"},{"line_number":360,"context_line":""},{"line_number":361,"context_line":"        # NOTE(mgoddard): removing the systemd-timesyncd package fails, so stop"},{"line_number":362,"context_line":"        # and disable it instead."},{"line_number":363,"context_line":"        - name: Stop systemd-timesyncd service"},{"line_number":364,"context_line":"          become: true"},{"line_number":365,"context_line":"          service:"},{"line_number":366,"context_line":"            name: systemd-timesyncd"},{"line_number":367,"context_line":"            enabled: no"},{"line_number":368,"context_line":"            state: stopped"},{"line_number":369,"context_line":"          when: ansible_os_family \u003d\u003d \u0027Debian\u0027"},{"line_number":370,"context_line":"      when: is_upgrade"},{"line_number":371,"context_line":""},{"line_number":372,"context_line":"    # Deploy control plane. For upgrade jobs this is the previous release."},{"line_number":373,"context_line":"    - block:"},{"line_number":374,"context_line":"        - name: Run deploy.sh script"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"eb0cb8e4_a2064c9a","line":371,"range":{"start_line":347,"start_character":0,"end_line":371,"end_character":0},"in_reply_to":"6c36a4c1_c43ab867","updated":"2021-06-02 17:26:09.000000000","message":"Ack","commit_id":"247142617b0146337c90475b81ad904a0b0c1a70"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"d7eca48c59a2474fd3bcf09da12096bb1315e2fa","unresolved":true,"context_lines":[{"line_number":344,"context_line":"          - { name: \"nova\", keyring: \"ceph.client.cinder.keyring\" }"},{"line_number":345,"context_line":"      when: scenario \u003d\u003d \"cephadm\""},{"line_number":346,"context_line":""},{"line_number":347,"context_line":"    # TODO(mgoddard): Remove this task in the Y cycle after chrony has been"},{"line_number":348,"context_line":"    # dropped for a cycle."},{"line_number":349,"context_line":"    # NOTE(mgoddard): For upgrades, test the case where we are running"},{"line_number":350,"context_line":"    # a chrony container, but keep the default of disabled after the"},{"line_number":351,"context_line":"    # upgrade."},{"line_number":352,"context_line":"    - block:"},{"line_number":353,"context_line":"        - name: Remove host NTP packages"},{"line_number":354,"context_line":"          become: true"},{"line_number":355,"context_line":"          package:"},{"line_number":356,"context_line":"            name:"},{"line_number":357,"context_line":"              - chrony"},{"line_number":358,"context_line":"              - ntp"},{"line_number":359,"context_line":"            state: absent"},{"line_number":360,"context_line":""},{"line_number":361,"context_line":"        # NOTE(mgoddard): removing the systemd-timesyncd package fails, so stop"},{"line_number":362,"context_line":"        # and disable it instead."},{"line_number":363,"context_line":"        - name: Stop systemd-timesyncd service"},{"line_number":364,"context_line":"          become: true"},{"line_number":365,"context_line":"          service:"},{"line_number":366,"context_line":"            name: systemd-timesyncd"},{"line_number":367,"context_line":"            enabled: no"},{"line_number":368,"context_line":"            state: stopped"},{"line_number":369,"context_line":"          when: ansible_os_family \u003d\u003d \u0027Debian\u0027"},{"line_number":370,"context_line":"      when: is_upgrade"},{"line_number":371,"context_line":""},{"line_number":372,"context_line":"    # Deploy control plane. For upgrade jobs this is the previous release."},{"line_number":373,"context_line":"    - block:"},{"line_number":374,"context_line":"        - name: Run deploy.sh script"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"6c36a4c1_c43ab867","line":371,"range":{"start_line":347,"start_character":0,"end_line":371,"end_character":0},"in_reply_to":"f10c4ad7_e66b488c","updated":"2021-06-02 11:19:28.000000000","message":"1. stop any running host NTP\n2. deploy chrony container using previous release\n3. cleanup chrony\n4. deploy host chrony\n5. prechecks\n6. upgrade","commit_id":"247142617b0146337c90475b81ad904a0b0c1a70"}],"tests/templates/globals-default.j2":[{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"9e8ed7c4036109350e03ff88fa49517b1a6bbe67","unresolved":true,"context_lines":[{"line_number":33,"context_line":"enable_horizon: \"{{ dashboard_enabled }}\""},{"line_number":34,"context_line":"enable_heat: \"{{ openstack_core_tested }}\""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"# TODO(yoctozepto): Remove this in the Xena cycle."},{"line_number":37,"context_line":"# We have to keep it for now for upgrades because dropping chronyd inbetween"},{"line_number":38,"context_line":"# will make prechecks fail due to lack of proper host-level timesync (chronyd"},{"line_number":39,"context_line":"# is containerized and the host-level client either removed or fought with)."},{"line_number":40,"context_line":"enable_chrony: \"no\""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"{% if scenario !\u003d \u0027bifrost\u0027 %}"},{"line_number":43,"context_line":"kolla_internal_vip_address: \"{{ kolla_internal_vip_address }}\""}],"source_content_type":"text/x-jinja2","patch_set":9,"id":"e42b6f73_352bd9db","side":"PARENT","line":40,"range":{"start_line":36,"start_character":0,"end_line":40,"end_character":19},"updated":"2021-05-28 15:24:06.000000000","message":"this needs to stay until this change is backported to stable/wallaby, because previous_release in master is set to stable/victoria, and centos8 upgrade fails.","commit_id":"99e09537f2d2575859c2053a2e28d80f8fa5d9a0"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"7bf74f4430f8e1496b512085191b25250ac97b9f","unresolved":true,"context_lines":[{"line_number":34,"context_line":"enable_heat: \"{{ openstack_core_tested }}\""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"# TODO(yoctozepto): Remove this in the Xena cycle."},{"line_number":37,"context_line":"# We have to keep it for now for upgrades because dropping chronyd inbetween"},{"line_number":38,"context_line":"# will make prechecks fail due to lack of proper host-level timesync (chronyd"},{"line_number":39,"context_line":"# is containerized and the host-level client either removed or fought with)."},{"line_number":40,"context_line":"# Also cephadm doesn\u0027t support chrony in a container (checks for chrony.service)"},{"line_number":41,"context_line":"{% if scenario !\u003d \"cephadm\" and is_previous_release %}"},{"line_number":42,"context_line":"enable_chrony: \"yes\""}],"source_content_type":"text/x-jinja2","patch_set":13,"id":"e40fb624_0ca35504","line":39,"range":{"start_line":37,"start_character":0,"end_line":39,"end_character":76},"updated":"2021-06-01 17:30:17.000000000","message":"This we should drop.","commit_id":"247142617b0146337c90475b81ad904a0b0c1a70"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"ba9bf5c9cf2bd1ee9db9a6d4ba8f462bbd848542","unresolved":false,"context_lines":[{"line_number":34,"context_line":"enable_heat: \"{{ openstack_core_tested }}\""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"# TODO(yoctozepto): Remove this in the Xena cycle."},{"line_number":37,"context_line":"# We have to keep it for now for upgrades because dropping chronyd inbetween"},{"line_number":38,"context_line":"# will make prechecks fail due to lack of proper host-level timesync (chronyd"},{"line_number":39,"context_line":"# is containerized and the host-level client either removed or fought with)."},{"line_number":40,"context_line":"# Also cephadm doesn\u0027t support chrony in a container (checks for chrony.service)"},{"line_number":41,"context_line":"{% if scenario !\u003d \"cephadm\" and is_previous_release %}"},{"line_number":42,"context_line":"enable_chrony: \"yes\""}],"source_content_type":"text/x-jinja2","patch_set":13,"id":"fcf3f31d_d909a79d","line":39,"range":{"start_line":37,"start_character":0,"end_line":39,"end_character":76},"in_reply_to":"e40fb624_0ca35504","updated":"2021-06-02 17:24:34.000000000","message":"Done","commit_id":"247142617b0146337c90475b81ad904a0b0c1a70"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"7bf74f4430f8e1496b512085191b25250ac97b9f","unresolved":true,"context_lines":[{"line_number":41,"context_line":"{% if scenario !\u003d \"cephadm\" and is_previous_release %}"},{"line_number":42,"context_line":"enable_chrony: \"yes\""},{"line_number":43,"context_line":"{% else %}"},{"line_number":44,"context_line":"enable_chrony: \"no\""},{"line_number":45,"context_line":"{% endif %}"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":13,"id":"4b015dc6_45cb7c72","line":44,"range":{"start_line":44,"start_character":0,"end_line":44,"end_character":19},"updated":"2021-06-01 17:30:17.000000000","message":"I\u0027d say we simply include this in the cephadm scenario.","commit_id":"247142617b0146337c90475b81ad904a0b0c1a70"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"d7eca48c59a2474fd3bcf09da12096bb1315e2fa","unresolved":true,"context_lines":[{"line_number":41,"context_line":"{% if scenario !\u003d \"cephadm\" and is_previous_release %}"},{"line_number":42,"context_line":"enable_chrony: \"yes\""},{"line_number":43,"context_line":"{% else %}"},{"line_number":44,"context_line":"enable_chrony: \"no\""},{"line_number":45,"context_line":"{% endif %}"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":13,"id":"c1fd23bc_3e0ac095","line":44,"range":{"start_line":44,"start_character":0,"end_line":44,"end_character":19},"in_reply_to":"4b015dc6_45cb7c72","updated":"2021-06-02 11:19:28.000000000","message":"{% if scenario \u003d\u003d \"cephadm\" and is_previous_release %}\nenable_chrony: \"no\"\n{% endif %}","commit_id":"247142617b0146337c90475b81ad904a0b0c1a70"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"ba9bf5c9cf2bd1ee9db9a6d4ba8f462bbd848542","unresolved":true,"context_lines":[{"line_number":41,"context_line":"{% if scenario !\u003d \"cephadm\" and is_previous_release %}"},{"line_number":42,"context_line":"enable_chrony: \"yes\""},{"line_number":43,"context_line":"{% else %}"},{"line_number":44,"context_line":"enable_chrony: \"no\""},{"line_number":45,"context_line":"{% endif %}"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":13,"id":"c0d47bef_5138bf6c","line":44,"range":{"start_line":44,"start_character":0,"end_line":44,"end_character":19},"in_reply_to":"c1fd23bc_3e0ac095","updated":"2021-06-02 17:24:34.000000000","message":"I would go for including the 3 lines (2 comment, 1 actual) at the bottom of cephadm scenario block.","commit_id":"247142617b0146337c90475b81ad904a0b0c1a70"}],"tests/upgrade.sh":[{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"ddb056ad9b4e467e6b39795515f76adcca3f4482","unresolved":true,"context_lines":[{"line_number":26,"context_line":"    fi"},{"line_number":27,"context_line":"    ansible all -i $RAW_INVENTORY -m package -a \u0027name\u003dchrony state\u003dpresent\u0027 -b"},{"line_number":28,"context_line":"    ansible all -i $RAW_INVENTORY -m service -a \u0027name\u003d\u0027$chrony_service\u0027 state\u003dstarted enabled\u003dyes\u0027 -b"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    tools/kolla-ansible -i ${RAW_INVENTORY} -vvv prechecks \u0026\u003e /tmp/logs/ansible/upgrade-prechecks"},{"line_number":31,"context_line":"    tools/kolla-ansible -i ${RAW_INVENTORY} -vvv pull \u0026\u003e /tmp/logs/ansible/pull-upgrade"},{"line_number":32,"context_line":"    tools/kolla-ansible -i ${RAW_INVENTORY} -vvv upgrade \u0026\u003e /tmp/logs/ansible/upgrade"},{"line_number":33,"context_line":"    tools/kolla-ansible -i ${RAW_INVENTORY} -vvv check \u0026\u003e /tmp/logs/ansible/check-upgrade"},{"line_number":34,"context_line":"}"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":""}],"source_content_type":"text/x-sh","patch_set":13,"id":"9e6c3fc3_9919d3dd","line":33,"range":{"start_line":29,"start_character":0,"end_line":33,"end_character":23},"updated":"2021-06-01 17:30:55.000000000","message":"these got tools/ back","commit_id":"247142617b0146337c90475b81ad904a0b0c1a70"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"ba9bf5c9cf2bd1ee9db9a6d4ba8f462bbd848542","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    fi"},{"line_number":27,"context_line":"    ansible all -i $RAW_INVENTORY -m package -a \u0027name\u003dchrony state\u003dpresent\u0027 -b"},{"line_number":28,"context_line":"    ansible all -i $RAW_INVENTORY -m service -a \u0027name\u003d\u0027$chrony_service\u0027 state\u003dstarted enabled\u003dyes\u0027 -b"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    tools/kolla-ansible -i ${RAW_INVENTORY} -vvv prechecks \u0026\u003e /tmp/logs/ansible/upgrade-prechecks"},{"line_number":31,"context_line":"    tools/kolla-ansible -i ${RAW_INVENTORY} -vvv pull \u0026\u003e /tmp/logs/ansible/pull-upgrade"},{"line_number":32,"context_line":"    tools/kolla-ansible -i ${RAW_INVENTORY} -vvv upgrade \u0026\u003e /tmp/logs/ansible/upgrade"},{"line_number":33,"context_line":"    tools/kolla-ansible -i ${RAW_INVENTORY} -vvv check \u0026\u003e /tmp/logs/ansible/check-upgrade"},{"line_number":34,"context_line":"}"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":""}],"source_content_type":"text/x-sh","patch_set":13,"id":"71a81736_8295afe4","line":33,"range":{"start_line":29,"start_character":0,"end_line":33,"end_character":23},"in_reply_to":"9e6c3fc3_9919d3dd","updated":"2021-06-02 17:24:34.000000000","message":"Done","commit_id":"247142617b0146337c90475b81ad904a0b0c1a70"}]}
