本地事实(facts.d)和mount模块

时间:2015-12-23 10:33:15

标签: python linux ansible mount ansible-facts

我在/etc/ansible/facts.d/mount.fact中创建了以下本地事实文件:

[
      {
         "name": "/mastersystem",
         "src": "/dev/sda1",
         "fstype": "ext3",
         "state": "mounted",
         "opts": "defaults"
       }

]

当我尝试将此事实用于装载模块时,如

- name: mount filesystem 
  mount:
    name="{{ item }}.name"
    src="{{ item }}.src"
    fstype="{{ item }}.fstype"
    state="{{ item }}.state"
    opts="{{ item }}.opts"
  with_items:
    "{{ ansible_local.mount }}"

我收到了像

这样的错误
  

失败:[127.0.0.1] => (item = {u'src':u'/ dev / sda1',u'state':u'mounted',u'name':u'/ mastersystem',u'opts':u'defaults',u' fstype':u'ext3'})=> {“failed”:true,“item”:{“fstype”:“ext3”,“name”:“/ mastersystem”,“opts”:“defaults”,“src”:“/ dev / sda1”,“state” “:”已挂载“}}   msg:state的值必须是以下之一:present,absent,mount,unmounted,got:{u'src':u'/ dev / sda1',u'state':u'mounted',u'name':u '/ mastersystem',u'opts':u'defaults',u'fstype':u'ext3'}。州

任何其他尝试都会导致类似的错误。知道我做错了吗?

1 个答案:

答案 0 :(得分:1)

我自己发现了错误: 它必须是"{{ item.state }}"而不是"{{ item }}.state"