Компания Red Hat представила (https://www.redhat.com/en/about/press-releases/red-hat-advan...) новый проект AWX, в рамках которого открыты наработки, лежащие в основе продукта Ansible Tower (https://www.ansible.com/tower), web-интерфейса для управления серверной инфраструктуры на базе системы Ansible. Код открыт (https://github.com/ansible/awx) под лицензией Apache 2.0.
AWX предоставляет простой интерфейс для централизованного управления инфраструктурой серверов или облачных окружений и автоматизации выполнения типовых задач, таких как установка новых программ, доставка обновлений, оркестровка, инвентаризация, контроль безопасности, запуск команд и изменение настроек на большом числе серверов. Особенностью интерфейса является наглядное представление информации и выскоуровневый подход, не требующий наличия навыков программирования и знания особенностей Ansible для решения своих задач. Для интеграции с другими системами предлагается REST API и CLI-интерфейс.
В дальнейшем, AWX позиционируется (https://www.ansible.com/awx-project-faq) как активно развиваемая кодовая база, на основе которой будут формироваться выпуски коммерческой платформы Ansible Tower. Основное отличие будет состоять в сокращённом цикле разработки, при котором релизы AWX будут формироваться значительно чаще, а новые возможности доводиться до пользователей более оперативно. Релизы AWX планируется выпускать примерно раз в две недели, некоторые выпуски будут помечаться стабильными и на их основе будут формироваться релизы Ansible Tower, которые будут доработаны и предложены как продукт с длительным сроком поддержки.Следует отметить, что продукт Ansible Tower оказался под контролем Red Hat после покупки (https://www.opennet.me/opennews/art.shtml?num=43150) в 2015 году стартапа, занимающегося разработкой инструментария Ansible. Если Ansible изначально позиционировался как открытый проект, то надстройка Ansible Tower носила проприетарный характер. Так как открытие кода Ansible Tower затянулось, сообществом было основано два независимых открытых аналога Ansible Tower - Polemarch (https://github.com/vstconsulting/polemarch/) и Semaphore (https://github.com/ansible-semaphore/semaphore).
URL: https://www.redhat.com/en/about/press-releases/red-hat-advan...
Новость: http://www.opennet.me/opennews/art.shtml?num=47162
Использую для своих нужд semaphore, может кому будет полезен этот инструмент - https://github.com/ansible-semaphore/semaphore
лучше бы модуль file до ума довели.
А что с ним не так?
> А что с ним не так?невозможно рекурсивно поставить одни пермишены файлам и другие каталогам,
приходится использовать
- shell: find /path -type f -exec chmod 644 {} \;
- shell: find /path -type d -exec chmod 755 {} \;что не есть хороший путь, ибо всегда покажет changed
>> А что с ним не так?
> невозможно рекурсивно поставить одни пермишены файлам и другие каталогам,
> приходится использовать
> - shell: find /path -type f -exec chmod 644 {} \;
> - shell: find /path -type d -exec chmod 755 {} \;
> что не есть хороший путь, ибо всегда покажет changedа вот так не получится ?
>execute/search only if the file is a directory or already has execute permission for some user (X)
>chmod -R a+X dir
Я добавляю -print:
find /path -type f -print -exec chmod 644 {} \;и в задаче прописываю changed_when:
- name: 'Set permissions in …'
script: permissions_bla.sh
register: permissions_result
changed_when: permissions_result.stdout_lines|length > 0
tags:
- permissions- name: 'List changed files in …'
debug:
var: permissions_result.stdout_lines
when: permissions_result.stdout_lines is defined
and permissions_result.stdout_lines|length > 0
tags:
- permissions
file:
path: dir
mode: u=rwX,g=rX,o=rX
recurse: yes
- shell: find /path -type f ! -perm 0644 -exec chmod 0644 {} \;
- shell: find /path -type d ! -perm 0644 -exec chmod 0755 {} \;
А заодно и модуль dnf. Да-да, Гнатенко, это к тебе вопрос, ты его писал, да так, что опции dnf'у никак не передать, и приходится использовать простой вызов dnf'а через shell...
Так возьми и перепиши. В ansible патчи принимают от всех и достаточно быстро.
Тебе не приходило в голову, что не все на этой планете переписатели?
Polemarch выглядит интересно, но у меня он не хочет ни откуда принимать переменные, только если через выполнение команды их передать работает.