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
Nazar
Коллеги, что-то из доки я так и не понял, нахрена нужен --vault-id
Sergey
Igor
/
Lex
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, добавить .. по вкусу
inqfen
Sergey
там описана общая структура проекта
Vadim
а еще лучше в ansible-playbook передавать путь через переменную - -e src_prefix=$(pwd)
manefesto
http://docs.ansible.com/ansible/latest/playbooks_best_practices.html#directory-layout
inqfen
Хотя можно предварительно subprocess вызвать в принципе
Vadim
inqfen
сейчас плейбук так вызывается
subprocess.call(["ansible-playbook", "-i", "ansible/inventories/stands", "-vvv", "ansible/playbook.yml"])
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
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
Ievgen
qww а в var1 что?
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: []
Vadim
Ievgen
может