Не удалось получить значения ключей dict в файле ansible yml в моем файле after.yml - PullRequest
0 голосов
/ 10 мая 2018

abc.yml:

d_lab: 192.168.1.1
d_location: /ephemeral
ema:
    apple: 10.0.0.1
    orange: 10.0.0.2
    jack: 10.0.0.3

def.yml:

- name: Load data
  hosts: CENTRAL_host
  any_errors_fatal: yes
  tasks:
    - name: Copy files from ema
      shell: "scp -oStrictHostKeyChecking=no -i ~/.ssh/abc.pem root@{{ ema['item'] }}:/tmp/ /tmp/test/"
      with_items:
        - "{{ items }}"

Я могу получить доступ к d_lab и d_location из abc.yml в def.yml. Однако, когда я пытаюсь получить доступ к значению любых ключей в словаре ema (например, ema [apple]), я получаю сообщение об ошибке

» ЗАДАЧА [Копировать файлы из ema] ******************************************* ************************************************** ********************** не удалось: [<>] (item = apple) => {"updated": true, "cmd": "scp -oStrictHostKeyChecking = no -i ~ / .ssh / abc.pem root@10.0.0.1: / tmp / / tmp / test / "," delta ":" 0: 00: 00.089524 "," end ":" 2018-05-10 09: 15: 24.235767 "," failed ": true," item ":" apple "," rc ": 1," start ":" 2018-05-10 09: 15: 24.146243 "," stderr ":" Предупреждение: навсегда добавлен '10 .0.0.1' (RSA) в список известных хостов. \ r \ nscp : / tmp: не обычный файл "," stderr_lines ": [" Предупреждение: навсегда добавлен '10 .0.0.1 '(RSA) в список известных хостов. "," scp: / tmp: не обычный файл "], "stdout": "", "stdout_lines": []} «

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

1 Ответ

0 голосов
/ 10 мая 2018

Похоже, что настоящая ошибка:

scp: /tmp: not a regular file

Вероятно, это связано с тем, что /tmp/ является каталогом, а не файлом на удаленном сервере.

Вы должны иметь возможность рекурсивно копировать файлы, передав аргумент -r в scp. См. этот вопрос для более подробной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...