Ansible предупреждение о преобразовании логического типа - PullRequest
0 голосов
/ 01 мая 2020

У меня есть этот фрагмент Ansible:

  - name: check for reboot request
    stat:
      path: /var/run/reboot-required
    register: reboot_request

  - name: reboot if requested
    reboot:
      reboot_timeout: 180
      test_command: whoami
    when: reboot_request.stat.exists

..., который генерирует это предупреждение:

[WARNING]: The value True (type bool) in a string field was converted to
u'True' (type string). If this does not look like what you expect, quote the
entire value to ensure it does not change.

Я считаю сообщение об ошибке не очень полезным. Какой будет правильный синтаксис?

Я работаю Ansible 2.9.7 на MacOS 10.15.4, и целевой машиной является Ubuntu 18.04.3, созданная с помощью Vagrant 2.2.7, если что-то из этого имеет значение! :)

РЕДАКТИРОВАТЬ: Вот моя вся пьеса

---
- hosts: all
  become: yes
  tasks:
  - name: Ubuntu Update and Upgrade 
    apt:
      upgrade: yes
      update_cache: yes
      cache_valid_time: 3600

  - name: check for reboot request
    stat:
      path: /var/run/reboot-required
    register: reboot_request

  - name: reboot if requested
    reboot:
      reboot_timeout: 180
      test_command: whoami
    when: reboot_request.stat.exists

1 Ответ

1 голос
/ 01 мая 2020

Похоже, что проблема здесь

  - name: Ubuntu Update and Upgrade 
    apt:
      upgrade: yes
      update_cache: yes
      cache_valid_time: 3600

Если вы посмотрите документацию apt (https://docs.ansible.com/ansible/latest/modules/apt_module.html), вы обнаружите, что клавише upgrade нужна строка, а не бул.

Choices:
dist
full
no ←
safe
yes

Итак, вы должны написать это

  - name: Ubuntu Update and Upgrade 
    apt:
      upgrade: "yes"
      update_cache: yes
      cache_valid_time: 3600

Чтобы удалить предупреждение

...