Я пытаюсь использовать возможность проверки, чтобы проверить, происходят ли какие-либо аэрокосмические миграции, а затем выполнить задачу, когда миграции достигают 0. Для этого я использую модуль ansible shell для выведите общее количество миграций в stdout, зарегистрируйте этот вывод с возможностью доступа и получите на нем пробный тест.Ansible Registered Variable, не сохраняющаяся в задаче
анзибль, кажется, записи выходного сигнала правильно, но он постоянно отображает стандартный вывод, как «Hello World»
Вот мой тест сборник пьес:
---
- hosts:
- foo
- bar
serial: 1
gather_facts: no
tasks:
- name: check for migrates
shell: "echo 10"
register: as_migrates
- debug: var=as_migrates
- debug: msg = "{{ as_migrates.stdout }}"
- debug: msg = "{{ as_migrates.stdout_lines }}"
- debug: msg = "{{ as_migrates }}"
Вот результат:
PLAY [foo;bar] ******************************************************
TASK: [check for migrates] ****************************************************
changed: [foo-10]
TASK: [debug var=as_migrates] *************************************************
ok: [foo-10] => {
"var": {
"as_migrates": {
"changed": true,
"cmd": "echo 10",
"delta": "0:00:00.001367",
"end": "2016-01-26 23:19:20.586245",
"invocation": {
"module_args": "echo 10",
"module_complex_args": {},
"module_name": "shell"
},
"rc": 0,
"start": "2016-01-26 23:19:20.584878",
"stderr": "",
"stdout": "10",
"stdout_lines": [
"10"
],
"warnings": []
}
}
}
TASK: [debug msg = "{{ as_migrates.stdout }}"] ********************************
ok: [foo-10] => {
"msg": "Hello world!"
}
TASK: [debug msg = "{{ as_migrates.stdout_lines }}"] **************************
ok: [foo-10] => {
"msg": "Hello world!"
}
TASK: [debug msg = "{{ as_migrates }}"] ***************************************
ok: [foo-10] => {
"msg": "Hello world!"
}
Мой вопрос: почему утилита debug var четко показывает правильное значение stdout и отображение as_migrats.stdout "Hello World"? Я знаю, что «Hello World» является сообщением по умолчанию для модуля сообщений. Так что регистр не сохраняется от одной задачи к другой? Я чувствую, что мне не хватает чего-то очевидного. У меня нет другой переменной с именем «as_migrates» в моей незаменимой среде.
Awesome! Так оно и было. Спасибо за быстрый ответ! –