2016-02-28 67 views
1

我试图写一个剧本的格式一定体积,但我不能让我的头围绕选择正确的驱动Ansible发现卷磁盘名

这里是我工作的

--- 
- hosts: all 
    gather_facts: no 
    remote_user: root 
    tasks: 
    - name: create file system on storage lun 
    filesystem: fstype=xfs dev=/dev/mapper/mpath* 

我试图匹配mpath后的任何单个字符,但*似乎不起作用。

回答

3

通配符不会在那里工作。您需要在额外的任务中或者从设置模块中获取这些信息。

实施例:

- command: ls /dev/mapper/mpath* 
    register: mapper 
- filesystem: fstype=xfs dev="{{ mapper.stdout_lines[0] }}" 

没有测试上述但那是一般的想法。

+1

这样做,谢谢 – Deano

+0

对于谁来说,这是一个非常讨厌的和不专业的行为,downvote完全工作的接受答案,没有任何解释。 – Wtower

+0

然后这里出现你的解释。无论是工作解决方案还是接受的解决方案本身都不是一个好答案。这个解决方案需要额外的任务,在这种情况下,执行时间加倍。由于有一种方法可以完成一项任务,因此这可能是一个可行的解决方案,但不是最好的。投票是反映这一点。 – udondan