Ansible когда условие всегда оценивается как ложное - PullRequest
0 голосов
/ 02 апреля 2020

Я пытался заставить это условие работать несколько часов. Решение ускользает от меня.

«Когда» всегда оценивается как ложное. Это сбивает с толку, так как шаблон / sr c работает отлично.

- name: Copy PHP Pool Config
  template:
    src: "{{ src_conf }}"
    dest: /etc/php/{{ php_version }}/fpm/pool.d/{{ user.name }}.conf
    mode: u=rw,g=r,o=r
  with_flattened:
    - "{{ users|default([]) }}"
  notify: reload PhpFpm
  vars:
    user: "{{ item }}"
    src_conf: "../files/etc/php/fpm/pool.d/{{ group_names | first }}/{{ user.name }}.conf"
  tags:
    - php
  when: src_conf is exists

Это работает, как и ожидалось, если я уберу «когда». Проблема не во всех файлах "{{user.name}}. Conf".

Имеет ли "когда: src_conf is found" поиск в другом месте?

Обновление:

Я также пробовал это с помощью location_action, но оно все равно приводило к false.

- name: Copy PHP Pool Config files
  local_action: stat path="../../files/etc/php/fpm/pool.d/{{ group_names | first }}/{{ user.name }}.conf"
  register: phpPools
  with_flattened:
    - "{{ users|default([]) }}"
  become: no
  vars:
    user: "{{ item }}"
  tags:
    - php

- name: Copy PHP Pool Config
  template:
    src: item.invocation.module_args.path
    dest: /etc/php/{{ php_version }}/fpm/pool.d/{{ user.name }}.conf
    mode: u=rw,g=r,o=r
  with_flattened:
    - "{{ phpPools.results }}"
  notify: reload PhpFpm
  vars:
    user: "{{ item.item }}"
  tags:
    - php
  when: item.stat.exists == true
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...