首页 > 解决方案 > 从角色中的 vars 文件调用具有多个值的变量时出错

问题描述

从角色的 tasks/main.yml 中的 vars 文件调用变量时出现错误,

vars/main.yml 如下所示,

ports:
  - "8080/tcp"
  - "80/tcp"

在tasks/main.yml中,调用如下,

- name: open firewall port
  firewalld:
    zone: public
    port: "{{ item }}"
    state: enabled
    permanent: yes
  loop:
    - "{{ ports }}"

出现如下错误

ain\r\nValueError: too many values to unpack\r\n", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1}

但是,如果我直接提供端口而不是从 vars 调用,它就可以正常工作

- name: open firewall port
  firewalld:
    zone: public
    port: "{{ item }}"
    state: enabled
    permanent: yes
  loop:
    - "8080/tcp"
    - "80/tcp"

TIA

标签: ansibleansible-role

解决方案


推荐阅读