Serialization Ansible:Can';t为顺序执行设置变量

Serialization Ansible:Can';t为顺序执行设置变量,serialization,ansible,ansible-inventory,ansible-role,Serialization,Ansible,Ansible Inventory,Ansible Role,我正试图用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 dbs

我正试图用
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”的值无效,其中包含未定义的变量。错误是:“应用程序\u堆栈\u序列\u值”未定义

如果我在串行字段中指定值,如
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)]

AFAIK这是一个报告中的错误,所有的解决方法都非常难看。你可以将它作为一个额外变量传入:
-e'app\u stack\u serial\u value=1'
@jack我知道这会很好用,但是我想在变量文件的某个地方配置它。我必须根据组名定义多个序列值。我不能把所有这些变量作为额外变量。