2016-08-18 1 views

ответ

0

Похоже, эта операция не реализована в port_install module модуль является частью ansible-module-extra repository, что означает:

Эти модули в настоящее время поставляются с Ansible, но могут поставляться отдельно в будущем. Они также в основном поддерживаются сообществом. Неосновные модули по-прежнему полностью пригодны для использования, но могут получать несколько более низкий уровень ответов для проблем и запросов на получение.

Поскольку BSD (к сожалению) не очень популярен, вероятность того, что кто-то реализует функциональность, не очень высока.

Но можно обойти эти ограничения, используя command модуль вроде этого:

- name: Build Nginx with geoip. 
    command: make HTTP_GEOIP=YES BATCH=yes 
    args: 
    chdir: /usr/ports/www/nginx/ 

я рекомендовал бы написать еще одну задачу, чтобы проверить состояние/версию порта, установленного в системе и добавить a when предложение в противном случае Ansible будет перестраивать порт при каждом запуске.

1

Я бы предложил сохранить локальный файл настраиваемых параметров сборки и скопировать его на хост перед установкой portinstall.

- name: Copy customized build options 
    copy: src="{{role_path}}/files/nginx-build-options" 
     dest="/var/db/ports/www_nginx/options" 

- name: Install nginx from the port 
    portinstall: name=nginx state=present 
1

Я бы хотел (а) добавить. К сожалению, предлагаемое обходное решение не является идемпотентным.

- name: Build Nginx with geoip. command: make HTTP_GEOIP=YES BATCH=yes args: chdir: /usr/ports/www/nginx/ Это означает, что он будет всегда сообщаться как «измененный».

Смежные вопросы