Ansible -AWX получить файл с удаленного Windows на локальный linux - PullRequest
0 голосов
/ 31 марта 2020

Привет всем сообществу переполнения стека. Мне нужна ваша помощь, потому что я пытался выполнить sh задачу получения файла с удаленного Windows на локальный linux с помощью Ansible -AWX, и я не могу заставить его работать. Ниже я поделился сборником пьес и большинством тестов, но ни один из них не сработал.

Я получаю последний файл в каталоге windows и пытаюсь перенести этот файл в локальный AWX либо внутри docker или на linux сервере, на котором работает AWX.

Test_1: указанный файл был скопирован, но когда я go внутри docker ничего не было. Я не могу найти ответ и не могу найти его в Google.

Test_2: не работает. Он говорит, что не может аутентифицироваться на linux сервере

Test_3: Задача стала бездействующей, и я должен перезапустить docker, чтобы иметь возможность остановить его. Это сходит с ума. Понятия не имею, почему.

Test_4: говорится, что соединение неожиданно закрыто.

Я не хотел предоставлять вывод для уменьшения шума и потому что не могу поделиться информацией. Я также удалил имена и ips из playbook.

Я подключаюсь к Windows серверу, используя AD.

Пожалуйста, я не знаю, что еще делать. Заранее спасибо за помощь.

---
- name: Get file from Windows to Linux
  hosts: all # remote windows server ip
  gather_facts: true
  become: true

  vars:
    local_dest_path_test1: \var\lib\awx\public\ # Inside AWX docker
    local_dest_path_test2: \\<linux_ip>\home\user_name\temp\  # Outside AWX docker in the linux server
    local_dest_path_test3: /var/lib/awx/public/ # Inside AWX docker
    # Source file in remote windows server
    src_file: C:\temp\

  tasks:
    # Getting file information to be copied
    - name: Get files in a folder
      win_find:
        paths: "{{ src_file }}"
      register: found_files

    - name: Get latest file
      set_fact:
        latest_file: "{{ found_files.files | sort(attribute='creationtime',reverse=true) | first }}"

    # Test 1
    - name: copy files from Windows to Linux
      win_copy:
        src: "{{ latest_file.path }}"
        dest: "{{ local_dest_path_test1 }}"
        remote_src: yes

    # Test 2
    - name: copy files from Windows to Linux
      win_copy:
        src: "{{ latest_file.path }}"
        dest: "{{ local_dest_path_test2 }}"
        remote_src: yes
      become: yes
      become_method: su
      become_flags: logon_type=new_credentials logon_flags=netcredentials_only
      vars:
        ansible_become_user: <linux_user_name>
        ansible_become_pass: <linux_user_password>
        ansible_remote_tmp: <linux_remote_path>

    # Test 3
    - name: Fetch latest file to linux
      fetch:
        src: "{{ latest_file.path }}"
        dest: "{{ local_dest_path_test3 }}"
        flat: yes
        fail_on_missing: yes
      delegate_to: 127.0.0.1

    # Test 4
    - name: Transfer file from Windows to Linux
      synchronize:
        src: "{{ latest_file.path }}"
        dest: "{{ local_dest_path_test3 }}"
        mode: pull
      delegate_to: 127.0.0.1

...