Pavel
спасибо
http://docs.ansible.com/ansible/latest/playbooks_filters.html#hashing-filters конкретно про хеши и пароли
Pavel
оно то все равно на этих либах: Hash types available depend on the master system running ansible, ‘hash’ depends on hashlib password_hash depends on passlib
matt
чот вместо соли теперь rounds=656000
matt
root:$6$rounds=656000$8L9xA6
Tadeusz
лол
Pavel
чот вместо соли теперь rounds=656000
так поставь свою: To get a sha512 password hash (random salt): {{ 'passwordsaresecret'|password_hash('sha512') }} To get a sha256 password hash with a specific salt: {{ 'secretpassword'|password_hash('sha256', 'mysecretsalt') }}
Nazar
Коллеги, есть секрет файл c переменными, который лежит в group_vars При запуске плейбука, он по дефолту не подсасывается. Куда копать?
matt
путь верный?
Nazar
tree . ├── Makefile ├── ansible.cfg ├── group_vars │   └── secret ├── hosts ├── playbooks │   └── main.yml ├── roles │   ├── apps │   │   ├── tasks
matt
попробуй group_vars/all/secret
Pavel
или хосты в группу "секрет"
Pavel
у меня так ключи-сертификаты хранятся для нгнх
Aleksey
вроде бы весь мир уже умеет json. но по дефолту ансибл умеет кверить json но не обновлять в нем ключи. удивляюсь этому.
Aleksey
стековерфлоу....
Aleksey
Aleksey
АААА
Aleksey
божечки. кошечки. модуль combine из ансибла нужно просто взять и удалить
Aleksey
Vadim
божечки. кошечки. модуль combine из ансибла нужно просто взять и удалить
https://groups.google.com/forum/#!topic/ansible-project/QM8hl6KcC8k аххахахха
Nazar
попробуй group_vars/all/secret
Так тоже пробовал, но ещё разок попробую. Может что упустил
Nazar
Коллеги, что-то из доки я так и не понял, нахрена нужен --vault-id
Igor
/
Lex
лол
inqfen
день в хату
inqfen
кто знает, как можно переопределить для плейбука пути поиска файлов в copy?
inqfen
для src
manefesto
укажие полный путь
inqfen
Он меняется
inqfen
нужен именно относительный
manefesto
задача не ясна
manefesto
нууу
manefesto
пример можно ?
inqfen
/ansible /inventories /roles /playbook.yml /src /file ansible и src лежат в одном каталоге
inqfen
нужно чтобы copy забирал файл из src
inqfen
полный путь меняется
inqfen
поэтому нужен именно относительный
inqfen
- name: copy python script copy: src: src/DockerService.py dst: /home/deployer/gc/DockerService.py force: yes так не канает, видимо пытается src искать в files
manefesto
вообще то он в ролях ищет
manefesto
запихай через переменную путь источника
inqfen
можно кончено костылить через shell: pwd и это в переменную записать
manefesto
можно не костылить и делать как написано в best-practice
Vadim
playbook_dir, добавить .. по вкусу
Sergey
там описана общая структура проекта
Vadim
а еще лучше в ansible-playbook передавать путь через переменную - -e src_prefix=$(pwd)
manefesto
http://docs.ansible.com/ansible/latest/playbooks_best_practices.html#directory-layout
inqfen
http://docs.ansible.com/ansible/latest/playbooks_best_practices.html#directory-layout
этот плейбук не самостоятельный, а часть проги на питоне и выносить свои модули в другие места будет криво
inqfen
а еще лучше в ansible-playbook передавать путь через переменную - -e src_prefix=$(pwd)
а вот это в принципе можно попробовать, если $(pwd) в subprocess нормально обработается
inqfen
Хотя можно предварительно subprocess вызвать в принципе
inqfen
сейчас плейбук так вызывается subprocess.call(["ansible-playbook", "-i", "ansible/inventories/stands", "-vvv", "ansible/playbook.yml"])
Sergey
а вот это в принципе можно попробовать, если $(pwd) в subprocess нормально обработается
кроилово ведёт к попадалову. воспользуйся функциями ОС, чтобы определить текущий каталог, и передай в плейбук нужные параметры штатными способами через extra-vars
inqfen
видимо так и сделаю, сначала получу текущее расположение, и в subprocess передам в переменную
Sergey
Либо, если жажда боли и унижения сильнее тебя, можно воспользоваться lookup('env') и переменными окружения.
Anuar
Всем здравствуйте, кто-нибудь пробовал с ансибл создавать массовый maintance в заббикс с периодами и т.д. для каждого хоста отдельный?)
George
А в чём проблема? Если ручка есть - дёргаешь. delegate_to и вперёд.
John
парни, есть задание: ansible-playbook -i .deploy/inventory .deploy/playbook.yml —check Тут ансибл должен проверить корректность написанного и др. однако в плейбуке есть две роли(таска), установка pip'a и вторая роль установка плагинов с помощью pip Как правильно написать, что бы check не фейлился из-за отсутствия на ОС pip'a? вот проблема: fatal: [10.0.0.77]: FAILED! => {"changed": false, "msg": "Unable to find any of pip3 to use. pip needs to be installed."}
Vadim
-fail: msg: foo when: bar
John
деталей можно?
Vadim
https://docs.ansible.com/ansible/latest/fail_module.html
Aleksey
деталей можно?
у меня чеки позырь
Aleksey
https://github.com/nocproject/ansible_deploy/blob/microservices/noc_roles/pre/tasks/checks.yml
John
только что делает строка when: "'old' in tower_version" ?
Pavel
для использования jinja синтаксиса (http://jinja.pocoo.org/docs/dev/templates/#selectattr) в playbook требуется что-либо устанавливать на хост? у меня на эту строку msg: {{ var1 | selectattr ("checksum", "match", "123") }} ругается Syntax Error while loading YAML указывая на последнюю круглую ) скобку либо выдает в логе "msg": "<generator object _select_or_reject at 0x7fdcfe4200a0>" если взять выражение в одинарные кавычки
Aleksey
только что делает строка when: "'old' in tower_version" ?
проверяет переменную tower_version на слово old
Ievgen
qww а в var1 что?
Pavel
qww а в var1 что?
результат работы модуля find
Ievgen
типа лист?
Ievgen
какой то
Pavel
смешанное
Pavel
files: [ { path: 123 checksum: 123 } {} ]
Ievgen
{{ var1 | selectattr ("checksum", "match", "123") | list }} сделай
Ievgen
на вскидку
Ievgen
<generator object _select_or_reject at 0x7fdcfe4200a0> это говорит о том что selectattr отработал и вернул обьект
Ievgen
смешанное
вообще то это таки лист files: [ { path: 123 checksum: 123 } {} ]
Ievgen
files: []
Ievgen
может