Hadoop Ansible(模块文件系统):未找到设备项

Hadoop Ansible(模块文件系统):未找到设备项,hadoop,filesystems,ansible,Hadoop,Filesystems,Ansible,当尝试使用Ansible模块“filesystem”创建文件系统列表时,我遇到以下错误消息: 失败:[host](item=/dev/sdb)=>{“failed”:true,“item”:“/dev/sdb”,“msg”:“未找到设备项”。} 我已验证目标“主机”上存在/dev/sdb,因此我不理解Ansible错误消息: [~]# ls -l /dev/sdb brw-rw---- 1 root disk 8, 16 Mar 1 09:06 /dev/sdb 以下是我的任务定义: - n

当尝试使用Ansible模块“filesystem”创建文件系统列表时,我遇到以下错误消息:

失败:[host](item=/dev/sdb)=>{“failed”:true,“item”:“/dev/sdb”,“msg”:“未找到设备项”。}

我已验证目标“主机”上存在
/dev/sdb
,因此我不理解Ansible错误消息:

[~]# ls -l /dev/sdb
brw-rw---- 1 root disk 8, 16 Mar  1 09:06 /dev/sdb
以下是我的任务定义:

- name: Create /grid* filesystems using "hadoop" options defined in /etc/mke2fs.conf
  filesystem:
    fstype: ext4
    dev: item
    opts: -T hadoop
  with_items: "{{ grid_block_devices }}"

有人知道问题出在哪里吗?

您需要使用Jinja2表达式来引用变量值,否则将为
dev
参数指定一个字符串
item
。错误消息是:

未找到设备项目

它找不到名为
项的设备

通过以下方式进行修复:

- name: Create /grid* filesystems using "hadoop" options defined in /etc/mke2fs.conf
  filesystem:
    fstype: ext4
    dev: "{{ item }}"
    opts: -T hadoop
  with_items: "{{ grid_block_devices }}"
是的,{{item}}确实有效。{item}不起作用。谢谢!
- name: Create /grid* filesystems using "hadoop" options defined in /etc/mke2fs.conf
  filesystem:
    fstype: ext4
    dev: "{{ item }}"
    opts: -T hadoop
  with_items: "{{ grid_block_devices }}"