python - 本地事实(facts.d)和安装模块

标签 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 }}"

我遇到了这样的错误

failed: [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": "mounted"}} msg: value of state must be one of: present,absent,mounted,unmounted, got: {u'src': u'/dev/sda1', u'state': u'mounted', u'name': u'/mastersystem', u'opts': u'defaults', u'fstype': u'ext3'}.state

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

最佳答案

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

关于python - 本地事实(facts.d)和安装模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34433674/

相关文章:

ansible - 如何在ansible中扩展dict而不是覆盖它?

bash - Ansible:如何使用 Ansible chmod +x 文件?

python - SALib.analyze.delta : What is the definition of the return parameters delta and delta_conf?

linux - 从 perl 网络服务器访问用户文件

python - Tensorflow 可以用于多元函数的全局最小化吗?

linux - 在运行时将代码注入(inject)可执行文件

linux - 如何使用linux命令行批量下载数据?

linux - 如何使用 Ansible playbook 设置 PATH 变量?

python - 如何在 Django 模板中显示列表?

python - Whit python,在 blender 中插入一个效果条作为视频序列编辑器中的删除