【问题标题】:ansible: The task includes an option with an undefined variable. The error was: 'variable' is undefinedansible:该任务包含一个带有未定义变量的选项。错误是:“变量”未定义
【发布时间】:2019-02-06 14:57:31
【问题描述】:

我正在编写 ansible playbook,并设置以下变量:

default_tz: 'ZONE="America/Los_Angeles"'

我正在尝试使用以下代码将上述变量添加到文件中 在同一个剧本上:

- name: configure time zone
  lineinfile:
   line: "{{ default_tz }}"
   dest: "/etc/sysconfig/clock"

运行 playbook 时出现以下错误:

"The task includes an option with an undefined variable. The error was: 'default_tz' is undefined\

【问题讨论】:

  • 您究竟是如何设置变量的(即在vars 块中,带有set_fact 模块,在库存中的某个位置)?你能发布你用来设置变量相对于调用它的任务的实际代码吗?
  • 我在 vars 块中设置变量
  • 好吧,没有任何进一步的代码,你正在做的事情没有明显的错误。因此,如果这一切都在同一个剧本中,那么最有可能的问题是您在剧本中有不止一个剧本,并且在一个剧本中定义了变量,并在另一个剧本中调用它,这是行不通的。如果不查看所有相关代码,很难知道。
  • 请发布整个剧本,并提及变量。

标签: ansible


【解决方案1】:

你应该在变量的范围内声明变量。 像这样:

vars: default_tz: 'ZONE="America/Los_Angeles"'

https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html#defining-variables-in-a-playbook

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-17
    • 1970-01-01
    • 2021-02-06
    • 1970-01-01
    • 2012-04-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多