Я использую Ansible 2.4
В playbook я извлекаю секрет из файла хранилища Ansible и пытаюсь ввести этот секрет как секрет роя с помощью модуля docker_secret:
- hosts: managers
become: yes
become_method: sudo
gather_facts: yes
tasks:
- name: Include secrets vars in task
include_vars: "{{ playbook_dir }}/vault/vault.yml"
name: secrets
- debug:
msg: "{{ secrets }}"
- name: Set Docker secrets in SWARM
docker_secret:
name: "secrets.properties"
data: "{{ secrets }}"
state: present
Отладка выводит правильное значение, но задание docker_secret сообщает мне, что нет атрибута "секреты".
ИГРАТЬ [менеджеры]
ЗАДАЧА [Сбор фактов] ******************************************* ************ ОК: [test1]
ЗАДАЧА [секреты] ********************************************* ******************* ОК: [test1]
ЗАДАЧА [отладка] ********************************************* ********************* ok: [test1] => {"msg": "secrets.gitJenkinsPassword = MY_SECRET_PASSWORD < / strong> "}
ЗАДАЧА [Установить секреты Докера в SWARM] ***************************************** *** фатальный: [test1]: НЕ ПРОШЛО! => {"changed": false, "failed": true, "module_stderr": "Общее соединение с node1.mycompany.com закрыто. \ r \ n", "module_stdout": "Отслеживание (последний вызов последним): \ r \ n Файл \ "/ tmp / ansible_9JUi1H / ansible_module_docker_secret.py \", строка 283, в \ r \ n файле main () \ r \ n \ "/ tmp / ansible_9JUi1H / ansible_module_docker_secret.py \", строка 278, в main \ r \ n SecretManager (client, results) () \ r \ n Файл \ "/ tmp / ansible_9JUi1H / ansible_module_docker_secret.py \", строка 170, в вызове \ r \ n self.present () \ r \ n Файл \ "/ tmp / ansible_9JUi1H / ansible_module_docker_secret.py \", строка 209, в настоящем \ r \ n secret = self.get_secret () \ r \ n File \ "/ tmp / ansible_9JUi1H / ansible_module_docker_secret. py \ ", строка 177, в get_secret \ r \ n secrets = self.client.secrets (filters = {'name': self.name}) \ r \ nAttributeError: объект 'AnsibleDockerClient' не имеет атрибута 'секреты' \ r \ n "," msg ":" MODULE FAILURE "," rc ": 0}, чтобы повторить попытку, используйте: --limit @ / var / jenkins_home / workspace / deploy / ansible / p laybooks / swarm.retry
Requirements (on host that executes module) docker-py >= 2.1.0
выполнено? - person Konstantin Suvorov   schedule 02.11.2017