我有一个用于创建和调整逻辑卷大小的 Ansible 剧本
# playbook lvol.yml
- hosts: step
tasks:
- name: 'create /dev/sdb1 -> 20GB (of 35GB)'
community.general.parted:
device: /dev/sdb
number: 1
state: present
# fs_type: ext4
- name: "resize vgsys by /dev/sdb1"
community.general.lvg:
vg: vgsys
pvs: /dev/sdb1
- name: "extend lv 'name' to 10GB from /dev/sdb (35GB)"
community.general.lvol:
vg: vgsys
lv: name
size: 10g
yaml 语法似乎很好(通过 onlineyamltools.com 检查)但我在执行时收到此错误:
ERROR! conflicting action statements: community.general.parted, device
The error appears to be in '/path/to/lvol.yml': line 4, column 5, but may
be elsewhere in the file depending on the exact syntax problem.
The offending line appears to be:
tasks:
- name: 'create /dev/sdb1 -> 20GB (of 35GB)'
^ here
如果我注释掉第一个(community.general.parted)任务,第二个(lvol)任务会出现相同的错误。
任何人都可以为我指出如何克服这个问题的正确方向吗?
您的 yaml 没有正确缩进。
您需要将参数进一步缩进到一个模块:
您对
lvol
模块的任务已经正确。在线验证器无法检测到这一点,因为它只能检查语法正确的 yaml,而不是功能正确的键和值。