Saltstack:如何将信息性消息添加到长编排状态
Saltstack: how to add informational messages to long orchestration state
我有一些很长的 saltstack 编排状态,我想向它添加一些信息性消息(例如:将在 minion foo 上应用一些状态),并且必须立即打印此消息(而不是在所有操作完成之后)。
Jinja 日志消息 {% do salt.log.error("Some message) %}
不合适(它们在状态实际运行之前打印)。
test.echo
模块也不合适(所有操作完成后打印消息)
test_blabla:
salt.runner:
- name: salt.cmd
- arg:
- test.echo
- some_blabla
有什么方法可以在状态执行期间打印消息吗?也许我遗漏了什么?
作弊是有办法的。只要您在谈论编排并且您通过 salt-run
.
运行 说编排
你几乎成功了。除了将答案混入 jinja 并将错误的模块混入状态。日志消息出现在 运行s 之前的原因是因为你在 jinja 中调用它。但你不必通过神社调用它。你可以在状态下调用它。
test_blabla:
module.run:
- name: log.error
- message: some_blabla
test_oh:
salt.runner:
- name: salt.cmd
- arg:
- test.sleep
- 10
这有点古怪,因为盐不是用来做这个的。 salt 运行s async 这意味着它不会 return 直到它完成。或者可能根本不直接return,你应该在其他地方检查结果。另一种方法是让状态触发事件并观察事件总线而不是状态 运行.
我有一些很长的 saltstack 编排状态,我想向它添加一些信息性消息(例如:将在 minion foo 上应用一些状态),并且必须立即打印此消息(而不是在所有操作完成之后)。
Jinja 日志消息 {% do salt.log.error("Some message) %}
不合适(它们在状态实际运行之前打印)。
test.echo
模块也不合适(所有操作完成后打印消息)
test_blabla:
salt.runner:
- name: salt.cmd
- arg:
- test.echo
- some_blabla
有什么方法可以在状态执行期间打印消息吗?也许我遗漏了什么?
作弊是有办法的。只要您在谈论编排并且您通过 salt-run
.
你几乎成功了。除了将答案混入 jinja 并将错误的模块混入状态。日志消息出现在 运行s 之前的原因是因为你在 jinja 中调用它。但你不必通过神社调用它。你可以在状态下调用它。
test_blabla:
module.run:
- name: log.error
- message: some_blabla
test_oh:
salt.runner:
- name: salt.cmd
- arg:
- test.sleep
- 10
这有点古怪,因为盐不是用来做这个的。 salt 运行s async 这意味着它不会 return 直到它完成。或者可能根本不直接return,你应该在其他地方检查结果。另一种方法是让状态触发事件并观察事件总线而不是状态 运行.