использование логического оператора && для проверки условия в Ansible

я бы создал playbook, который проверяет сконфигурированные файловые системы для конфигурации TSM, которую мне нужно echo "${FS_TSM[@]}" из register: FS_TO_ADD
и чтобы завершить его, необходимо установить условие для отладки FS_TSM
[[ ! -z "${FS_TO_ADD}" ]] && { FS_TSM+=( "${FS_TO_ADD}" } . Я думаю, когда: statement1 than statement2 это хорошо, но я не знаю, как настроить его для достижения этого


  - hosts: all
    vars:
      whitelist:
        - '/bin'
        - '/boot'
      FS_TSM:
        - "https://serverfault.com/"

    tasks:
      - set_fact:
          mount_point: "{{ansible_facts.mounts | selectattr('fstype', 'match', '^xf+') | map(attribute="mount")}}"
      - debug:
          var: mount_point

        loop: "{{ whitelist }}"
        when: item in mount_point
        register: FS_TO_ADD

окончательный результат playbook должен получить этот вывод:

/
/boot 
/home
/opt  
/var 
/var
/opt 
/var/tmp
/var/log
/var/log/audit

linux redhat storage ansible ansible-playbook

медизамм

2 ответа
2

Не уверен, к чему вы клоните, в любом случае, может быть, какое-то вдохновение:

- name: Test
  hosts: all
  vars:
    whitelist:
      - /bin
      - /boot
    FS_TSM:
      - /

  tasks:

  - name: Debug
    debug:
      msg: "{{ ansible_facts.mounts | selectattr('fstype', 'match', '^xf+') | map(attribute="mount") | intersect(whitelist) | union(FS_TSM) | list }}"

в моей системе дает:

ASK [Debug] ***********************************************************************************************************************************************************************************************
ok: [server] => {
    "msg": [
        "/boot",
        "/"
    ]
}

Крис Ванденберг

@KrisVandenbergh ваше предложение действительно полезно, особенно с

медизамм

Добавить комментарий

Ваш адрес email не будет опубликован.