ansible: Как изменить каталог $ HOME - PullRequest
1 голос
/ 14 марта 2020

Я управляю ansible 2.9.6 на моей управляющей машине Ubuntu 18.04 Desktop для управления одним сервером Ubuntu 16.04 сервером, у которого нет каталога /home/username/. Я не собираюсь создавать один из них.

Я просто пытаюсь создать новую папку "/ usr / local / src / fromcontrolmachine" на подчиненном компьютере с управляющего компьютера

Итак, я запустил Команда ниже

 dinesh@dinesh-VirtualBox:/etc/ansible$ ansible all -u dira
 --become -m file -a "dest=/usr/local/src/fromcontrolmachine mode=755 owner=dira group=dira state=directory" -K 

СТАТЬ пароль:

> 10.211.108.44 | FAILED! => {
>     "changed": false, 
>     "module_stderr": "Shared connection to 10.211.108.44 closed.\r\n", 
>     "module_stdout": "Could not chdir to home directory /home/dira: No such file or directory\r\n\r\n", 
>     "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", 
>     "rc": 1 }

Я думал об изменении каталога $ Home, добавив строку ниже в / etc / ansible / ansible .cfg. Он только что создал пустую папку с именем ansible

 remote_tmp = usr/local/src/ansible

Как сказать ansible изменить каталог по умолчанию $Home, указав на другое местоположение, отличное от значения по умолчанию /home/dira?

Я хотел очистить эту досадную ошибку "module_stdout": "Не удалось chdir к домашнему каталогу / home / dira271641: Нет такого файла или каталога

ОБНОВЛЕНИЕ:

Также попытался создать playbook pb.yml & добавьте home_dir: /usr/local/src/ansible, как указано ниже.

---

- hosts: all
  become: true
  tasks:
    - set_fact:
        home_dir: /usr/local/src/ansible
      become: true
    - name: ansible create directory example
      file:
        path: /tmp/devops_directory
        state: directory

Когда я запускаю выше, используя команду ansible-playbook pb.yml -K

Но выдает ту же ошибку, как указано выше.

ОБНОВЛЕНИЕ: Я пытался environment: HOME:

---
- hosts: all
  become: true
  environment: 
    HOME: /usr/local/src/ansible
  tasks:
  - name: ansible create directory example
    file:
      path: /tmp/devops_directory
      state: directory

Выдает ту же ошибку

Could not chdir to home directory /home/dira: No such file or directory\r\n\r\n", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1}}, "msg": "The following modules failed to execute: setup\n"}

1 Ответ

1 голос
/ 15 марта 2020

Добавление строки ниже.

become_user: dira

решило эту проблему. Примечание: дира мое имя пользователя. Поэтому замените ваше имя пользователя вместо. Так что полный скрипт playbook будет выглядеть как

---
- hosts: all
  become: true
  become_user: dira
  environment: 
    HOME: /usr/local/src/ansible
  tasks:
  - name: ansible create directory example
    file:
      path: /tmp/devops_directory
      state: directory
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...