【发布时间】:2019-11-22 10:05:08
【问题描述】:
我是Ansible 的新手(有基本的工作知识)。尝试通过 ansible playbook 在 linux 机器上自动添加磁盘。
以下是尝试实现这一目标的方法。
- 我试图识别附加在 linux 机器上的新磁盘。从命令行我能够识别新磁盘名称,但无法通过 ansible 找到。
我需要为此编写哪个模块。已尝试使用 /sys/block 的 shell 命令,但它不起作用,因此我离开了这种情况。
- 现在我决定手动扫描磁盘并在
ansible中提供该名称以自动创建分区。
为此,我写了下面的代码。
- name: list out currnet PV
shell: pvs --noheadings -o pv_name
register: pvs_list
- debug: var=pvs_list.stdout
- name: create partition on the given disk name
shell: /bin/echo -e "n\np\n1\n\n\nt\n8e\nw" | fdisk "{{ disk_name }}" ## Create the partition on a disk.
register: partitioning
上面的代码工作正常,但如果我再次运行这个作业,它不会失败,它会再次在磁盘中重新创建新分区。
我尝试应用 when / failed_when 条件,但它不起作用。
如果再次提供已经存在的磁盘,播放应该会失败并显示正确的消息。
failed_when: "'{{ disk_name }}"' in pvs_list.stdout"
这种情况也不行。
也无法使用 Ansible 识别新磁盘。
【问题讨论】:
标签: ansible