Я хочу, чтобы задача завершалась, если какая-либо точка монтирования не соответствует утверждению

У меня был GDM3, в Debian SID после обновления до нестабильного пакета GDM не работал,

После нескольких поисков в Google я нашел решение, удалив файл.ICEauthority и затем настроив GDM3 для использования только X11 из /etc/gdm3/something.conf

1
05.06.2021, 16:14
1 ответ

Q:" Я хочу, чтобы задача завершалась, если какая-либо точка монтирования не соответствует утверждению. "

A :Упростите условие. Например

shell> cat playbook.yml
- hosts: localhost
  vars:
    my_mounts: [500, 600,700]
  tasks:
    - assert:
        that: mounts_all == mounts_ok
      vars:
        mounts_all: "{{ my_mounts|length }}"
        mounts_ok: "{{ my_mounts|select('gt', 400)|length }}"

дает

TASK [assert] ******************************************************
ok: [localhost] => {
    "changed": false,
    "msg": "All assertions passed"
}

Отключите обратный вызов, если вы не хотите отображать результат. Например

shell> ANSIBLE_DISPLAY_OK_HOSTS=false ansible-playbook playbook.yml

Подробнее об обратном вызове см.

shell> ansible-doc -t callback default

Воспроизведение завершится неудачно, если какой-либо из предметов не соответствует условию.Например

    - assert:
        that: mounts_all == mounts_ok
      vars:
        mounts_all: "{{ my_mounts|length }}"
        mounts_ok: "{{ my_mounts|select('gt', 600)|length }}"

дает

TASK [assert] *******************************************************
fatal: [localhost]: FAILED! => {
    "assertion": "mounts_all == mounts_ok",
    "changed": false,
    "evaluated_to": false,
    "msg": "Assertion failed"
}

Q:" Отображать только сообщение о сбое утверждения. "

A :Добавьте задачу отладки, если вы хотите отображать неудачные точки подключения. Например

- hosts: localhost
  vars:
    my_mounts:
      - {dev: da0, size: 500}
      - {dev: da1, size: 600}
      - {dev: da2, size: 700}
  tasks:
    - debug:
        msg: >
          Filesystems: {{ mounts_fail }} failed.
          Consider increasing the FS size.
      when: mounts_fail|length > 0
      vars:
        mounts_fail: "{{ my_mounts|
                         selectattr('size', 'lt', 600)|
                         map(attribute='dev')|list }}"
    - assert:
        that: mounts_all == mounts_ok
      vars:
        mounts_all: "{{ my_mounts|length }}"
        mounts_ok: "{{ my_mounts|
                       selectattr('size', 'gt', 600)|length }}"

дает

TASK [debug] *******************************************************
ok: [localhost] => {
    "msg": "Filesystems: ['da0'] failed. Consider increasing the FS size.\n"
}

TASK [assert] ******************************************************
fatal: [localhost]: FAILED! => {
    "assertion": "mounts_all == mounts_ok",
    "changed": false,
    "evaluated_to": false,
    "msg": "Assertion failed"
}
0
28.07.2021, 11:26

Теги

Похожие вопросы