Я пытаюсь скопировать файл из моей системы Host Mac в CentOS на виртуальной машине через Ansible Roles.
У меня есть папка, созданная под названием Ansible Roles, в которой я использовал команду ansible-galaxy и создал роль под названием tomcatdoccfg. helloworld.war присутствует в корневой папке Ansible Roles.
Структура папок выглядит следующим образом:
Сборник заданий Ansible tasks \ main.yml на Mac:
- name: Copy war file to tmp
copy:
src: helloworld.war
dest: /tmp/helloworld.war
Файл helloworld.war должен быть доступен для пользователя abhilashdk (имя пользователя по умолчанию для MAC). В CentOS VM также есть пользователь abhilashdk. Я настроил SSH ключи. Это значит, что я сгенерировал ssh-keys -t rsa и переместил ключи на виртуальную машину CentOS с помощью ssh-copy-id, и я могу пропинговать виртуальную машину с помощью команды ansible -i hosts node1 -m ping
. Я могу установить докер также на мою машину node1, используя ansible.
У меня есть файл main.yml в корневой папке Ansible Roles, содержимое которого указано ниже:
---
- hosts: node1
vars:
webapp:
app1:
PORT: 8090
NAME: webapp1
app2:
PORT: 8091
NAME: webapp2
become: true
roles:
- docinstall
- tomcatdoccfg
Теперь, когда я запускаю команду ansible-playbook -i hosts main.yml
, я получаю следующую ошибку для Copy war file to tmp:
TASK [tomcatdoccfg : Copy war file to tmp] ************************************************************************************
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: /Files/DevOps/Ansible/Ansible_roles/helloworld.war
fatal: [node1]: FAILED! => {"changed": false, "msg": "Could not find or access 'helloworld.war'\nSearched in:\n\t/Files/DevOps/Ansible/Ansible_roles/tomcatdoccfg/files/helloworld.war\n\t/Files/DevOps/Ansible/Ansible_roles/tomcatdoccfg/helloworld.war\n\t/Files/DevOps/Ansible/Ansible_roles/tomcatdoccfg/tasks/files/helloworld.war\n\t/Files/DevOps/Ansible/Ansible_roles/tomcatdoccfg/tasks/helloworld.war\n\t/Files/DevOps/Ansible/Ansible_roles/files/helloworld.war\n\t/Files/DevOps/Ansible/Ansible_roles/helloworld.war"}
Я не понимаю, какие разрешения я должен дать файлу hellowrold.war, чтобы мои centos на vm могли получить к нему доступ через ANSIBLE PlayBook / Роли.
Может кто-нибудь помочь мне решить эту проблему.
Заранее спасибо