Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ansible group_vars环境变量替代_Ansible - Fatal编程技术网

Ansible group_vars环境变量替代

Ansible group_vars环境变量替代,ansible,Ansible,将其放入组\u vars/all: default_environment: HOME2: "{{ ansible_env.HOME }}" 在任务中使用定义环境时: environment: "{{ default_environment }}" 我明白了: The field 'environment' has an invalid value, which includes an undefined variable. The error was: {u'HOME2': u'{

将其放入
组\u vars/all

default_environment:
  HOME2: "{{ ansible_env.HOME }}"
在任务中使用定义环境时:

environment:
  "{{ default_environment }}"
我明白了:

The field 'environment' has an invalid value, which includes an undefined variable. The error was: {u'HOME2': u'{{ ansible_env.HOME }}'}: 'ansible_env' is undefined
exception type: <class 'ansible.errors.AnsibleUndefinedVariable'>
组变量/all

- name: Test
  hosts: hosts1
  become: true
  become_user: user1

  environment:
    "{{ default_environment }}"

  tasks:
    - debug:
        msg: "{{ ansible_env }}"
default_environment:
  HOME2: "{{ ansible_env.HOME }}"   
使用
ansible plyabook test.yml运行时输出

PLAY [Test] ********************************************************************************************************************************************************************************************************************************


TASK [Gathering Facts] *********************************************************************************************************************************************************************************************************************

fatal: [host1]: FAILED! => {}

MSG:

The field 'environment' has an invalid value, which includes an undefined variable. The error was: {u'HOME2': u'{{ ansible_env.HOME }}'}: 'ansible_env' is undefined
exception type: <class 'ansible.errors.AnsibleUndefinedVariable'>
exception: {u'HOME2': u'{{ ansible_env.HOME }}'}: 'ansible_env' is undefined

        to retry, use: --limit @/work/ansible/test.retry

PLAY RECAP *********************************************************************************************************************************************************************************************************************************

host1                      : ok=0    changed=0    unreachable=0    failed=1
播放[测试]********************************************************************************************************************************************************************************************************************************
任务[收集事实]*********************************************************************************************************************************************************************************************************************
致命:[host1]:失败!=>{}
味精:
字段“environment”的值无效,其中包含未定义的变量。错误是:{u'HOME2':u'{{ansible_env.HOME}}}:'ansible_env'未定义
异常类型:
异常:{u'HOME2':u'{{ansible_env.HOME}}}:'ansible_env'未定义
要重试,请使用:--limit@/work/ansible/test.retry
重演*********************************************************************************************************************************************************************************************************************************
主机1:正常=0更改=0无法访问=0失败=1
错误消息是:

“ansible_env”未定义

你没有收集事实


在您试图仅收集事实的剧本之前运行剧本,而不声明
环境

- name: Test
  hosts: hosts1
  become: true
  become_user: user1

- name: Test
  hosts: hosts1
  become: true
  become_user: user1
  gather_facts: false

  environment:
    "{{ default_environment }}"

  tasks:
    - debug:
        msg: "{{ ansible_env }}"

实际上,这是在
任务[收集事实]
阶段打印的:)实际上,您的问题中没有任何东西可以证明这一点。在这种情况下,它会尝试通过
ansible_env
事实收集环境设置的事实。一种鸡和蛋的情况。在不设置此环境的情况下,使用单独的播放来收集事实。并尝试将完全可复制的示例添加到您的原始帖子中,以便其他人可以看到完整的上下文。@techraf,因此我的评论提供了额外的信息:)请查看编辑,并在问题本身中提供更多信息。@KonstantinSuvorov好的,让我试试。。。增加了更多的信息,尽管这并不比以前多多少。