ansible модуль os_keypair никогда не возвращает значение private_key - PullRequest
0 голосов
/ 20 сентября 2019

Я хотел бы использовать модуль ansible os_keypair для генерации пары ключей ssh ​​с openstack.Для этого я использую следующий код:

- name: create openstack ssh key pair
  os_keypair:
    name: my-key
    auth: my authentication parameters
    auth_type: password
    state: present
  register: key

Когда этот код запускается с нуля, т.е. без сгенерированного ранее ключа, он работает в том смысле, что ключ сгенерирован и загружен в openstack.Тем не менее, мне нужен закрытый ключ для выполнения последующих действий через ansible (например, local_action для копирования закрытого ключа в файл).В документации модуля сказано, что закрытый ключ доступен как одно из возвращаемых значений.При проверке моих возвращаемых значений я получаю следующее:

"key": {
   "created_at": null, 
   "fingerprint": null, 
   "id": null, 
   "is_deleted": null, 
   "location": null, 
   "name": null, 
   "private_key": null, 
   "public_key": null, 
   "type": "ssh", 
   "user_id": null
}

, что мне кажется несколько загадочным.Это нормальное поведение или что-то не так с этим модулем?

[ОБНОВЛЕНИЕ] Вот полная книга воспроизведения, которая воспроизводит такое поведение:

---
- hosts: localhost

  become_user: ansible

  become: True

  tasks:

    - name: create openstack ssh key pair
      os_keypair:
        name: my-key
        auth:
          auth_url: http://cloudsrv1.ill.fr:5000/v3
          username: ansible-test
          password: 1234
          project_name: k8s
          project_domain_name: default
          user_domain_name: default
        auth_type: password
        state: present
      register: key

    - debug:
        var: key

Книга воспроизведения, выполненная с python3 в качестве интерпретатора python.

Вывод:

TASK [debug] ********************************************************************************************************************
ok: [localhost] => {
    "key": {
        "changed": true, 
        "failed": false, 
        "id": "my-key", 
        "key": {
            "created_at": null, 
            "fingerprint": null, 
            "id": null, 
            "is_deleted": null, 
            "location": null, 
            "name": null, 
            "private_key": null, 
            "public_key": null, 
            "type": "ssh", 
            "user_id": null
        }
    }
}

, но ключ генерируется, как видно из снимка openstack.

enter image description here

1 Ответ

0 голосов
/ 24 сентября 2019

Проблема была решена pip установкой новейшего пакета openstacksdk (0,36).

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