我正在尝试使用serial
元素构建具有滚动更新用例(顺序执行)的剧本。由于必须在剧本的多个位置使用序列值,因此我想将其用作变量,该变量可用于将某处定义为组变量。
库存文件
[all]
webserver1 ansible_host=10.1.1.1 ansible_user=root
webserver2 ansible_host=10.1.1.2 ansible_user=root
webserver3 ansible_host=10.1.1.3 ansible_user=root
dbserver1 ansible_host=10.1.2.1 ansible_user=root
[webserver]
webserver1
webserver2
webserver3
[dbserver]
dbserver1
[app-stack:children]
webservers
dbservers
[app-stack:vars]
app_stack_serial_value=1
剧本
- hosts: app-stack
serial: "{{ app_stack_serial_value }}"
tasks:
- name: debug
debug:
msg: "Ansible Host - {{ ansible_host }}"
错误
错误!字段“ serial”的值无效,其中包含未定义的变量。错误是:“ app_stack_serial_value”未定义
如果我在serial: 1
之类的串行字段中指定值,这将起作用。但是我想将此值用作变量。任何想法??
Ansible版本:ansible 2.7.10
python版本= 3.7.2(默认,2019年1月13日,12:50:01)[Clang 10.0.0(clang-1000.11.45.5)]