Коллекции в файле Ansible galaxy yaml игнорировались при запуске команды установки

---
roles:
    -
        name: Aplyca.S3fs
    -
        name: badpacketsllc.aws_cli
        version: v1.0.3
    -
        name: geerlingguy.nodejs
        version: 5.1.1
    -
        name: geerlingguy.filebeat
        version: 3.0.2
    -
        name: geerlingguy.pip
        version: 2.0.0

collections:
    -   name: nginxinc.nginx_core
        version: 0.1.3

Результат

ansible-galaxy install -r galaxy.yml -p ./roles
[WARNING]: - Aplyca.S3fs (master) is already installed - use --force to change version to unspecified
- badpacketsllc.aws_cli (v1.0.3) is already installed, skipping.
- geerlingguy.nodejs (5.1.1) is already installed, skipping.
- geerlingguy.filebeat (3.0.2) is already installed, skipping.
- geerlingguy.pip (2.0.0) is already installed, skipping.

Это мой файл, и это команда, которую я запускаю для установки ролей и коллекций.

ansible-galaxy install -r galaxy.yml -p ./roles

Я использую Ansible 2.9.13

Я не вижу, что не так в моем файле, вот официальный документ. https://docs.ansible.com/ansible/latest/user_guide/collections_using.html

---
roles:
  # Install a role from Ansible Galaxy.
  - name: geerlingguy.java
    version: 1.9.6

collections:
  # Install a collection from Ansible Galaxy.
  - name: geerlingguy.php_roles
    version: 0.9.3
    source: https://galaxy.ansible.com

person tom10271    schedule 12.11.2020    source источник


Ответы (1)


Чтобы установить обе роли и коллекции одновременно с помощью одной команды, выполните следующее:

ansible-galaxy install -r galaxy.yml

Установка ролей и коллекций из одного файла требований не будет работать при указании настраиваемой коллекции или пути установки роли. В этом сценарии коллекции будут пропущены, и команда будет обрабатывать каждую так же, как установка роли ansible-galaxy.

Затем вам нужно установить коллекции с помощью этой команды

ansible-galaxy collection install -r galaxy.yml -p ./roles

Документация:

https://docs.ansible.com/ansible/latest/user_guide/collections_using.html#install-multiple-collections-with-a-requirements-file

person gary lopez    schedule 12.11.2020
comment
Вот официальный документ - чтобы установить обе роли и коллекции одновременно с помощью одной команды, выполните следующее: ansible-galaxy install -r requirements.yml Я думаю, что это, скорее всего, ошибка, ваша команда - только обойти ограничение - person tom10271; 12.11.2020
comment
Вы правы, чтобы установить обе роли и коллекции одновременно с помощью одной команды, выполните следующее: ansible-galaxy install -r requirements.yml, но есть примечание: установка ролей и коллекций из одного и того же файла требований не будет работать при указании настраиваемой коллекции или роли путь установки. В этом сценарии коллекции будут пропущены, и команда будет обрабатывать каждую, как ansible-galaxy role install. Ссылка: документы. ansible.com/ansible/latest/user_guide/ Я отредактирую свой ответ. - person gary lopez; 12.11.2020