Dmitriy
test_home: "/home/test" сейчас там вот такое значение
Egor
там ещё есть gotchas, там, прямо есть твой пример
Egor
foo: "{{ variable }}/additional/string/literal"
foo2: "{{ variable }}\\backslashes\\are\\also\\special\\characters"
foo3: "even if it's just a string literal it must all be quoted"
Dmitriy
понял, спасибо, я заключал в " только саму переменную, а нужно всю фразу
Dmitriy
src: "{{ test_home }}/test/test.txt" вот так если кто не понял. Всем спасибо :)
Slava
В notify можно как-то из модуля значение path использовать?
Например:
lineinfile:
path: /path/to/file
line: "test OK"
state: present
notify: "runsmth {{ path }}"
Slava
Хотя в целом, наверное, не очень хорошая идея в module_args лезть.
Sergey
DVG_Lab
Хочу странного, провиженинг вагранта ансиблом под win10 через WSL, делаю все как написано тут https://www.vagrantup.com/docs/other/wsl.html но vagrant ssh требует пароль, а значит ключ не работает. Ругани вроде нет, лезу внутрь виртуалки и там не нахожу ~/.ssh/authorized_keys
Куда копать?
Sergey
Sergey
Причём тут Ansible?
DVG_Lab
Или мож отдельный чатик по вагранту посоветуете, я чот сходу не нашел
Отделение Bereke Bank
попробуй сюда https://t.me/ru_hashicorp
DVG_Lab
О, спасибо.
Sergey
О, спасибо.
Ещё раз - у тебя нет проблемы с вагрантом. Проблема в незнании того, что если authorized_keys для конкретной учётки не сущесвтует - его нужно просто создать руками.
DVG_Lab
Anonymous
Подскажите, можно ли в одном массиве делать еще доп массив. Имею условно объявление в vars clickhouse:
users:
- {networks_incl: "networks", networks_replace: "replace", profile: "default", quota: "default", ip: 12.3.4 }.
Anonymous
Задача такая что у меня поле ip: может быть много
Anonymous
и в реальости выглядить примерно так <default>
<password>asdsadsad</password>
<networks incl="networks" replace="replace">
<ip>::/0</ip>
<ip>10.0.0.0/8</ip>
</networks>
<profile>default</profile>
<quota>default</quota>
</default>
Anonymous
то есть мне нужно в параметр ip передавать нескольок парамеетров которые я уже в шаблоне вставлю
Timur
И в чем проблема?
Anonymous
не до конца понимаю как в ip поставить штук 5 разных
Anonymous
которые я через for хотел бы в шаблоне вставлять
Timur
В чем проблема дать список?
Anonymous
пример как правильно оформть ip: чтобы можно было с ним работать в массиве
Anonymous
хотя я кажеться нашел
Timur
-ться и тся пишутся в разных случаях
Timur
"кажеться" - не пишется никогда
Anonymous
разобрался, относительно даже просто и логично получилось
Anonymous
Тимур как сведа своими комментариями и вопросами наталкивает на ответ
Timur
Egor
Граммар наци негодуе?
Anonymous
вопрос на засыпку есть такая штука в шаблоне
Anonymous
{% for user in clickhouse.users %}
<{{user.name}}>
<password>{{user.password}}</password>
<networks incl="{{user.networks_incl|default('networks')}}" replace="{{user.networks_replace|default('replace')}}">
{% if user.ip is defined %}
{% for ip in user.ip %}
<ip>{{ip|default('::/0')}}</ip>
{% endfor %}
{% else %}
<ip>{{user.ip|default('::/0')}}</ip>
{% endif %}
</networks>
<profile>{{user.profile|default('default')}}</profile>
<quota>{{user.quota|default('default')}}</quota>
{% if user.readonly is defined%}
<readonly>1</readonly>
{% endif %}
</{{user.name}}>
{% endfor %}
Anonymous
а так выглядит в файле после генерации <backoffice>
<password>asdasdads</password>
<networks incl="networks" replace="replace">
<ip>::/0</ip>
</networks>
<profile>default</profile>
<quota>default</quota>
<readonly>{1</readonly>
</backoffice>
Anonymous
откуда беруться лишние проблеы не пойму перекопировал все оступы с тех что надо уже хз сколько раз
Boris 🦍
Привет, есть мастера регулярок? как с помощью фильтра regex_replace из "*.test.com" получить "test.com" ? что-то экранирую по-разному, не получается
Alexey
Timur
Alexey
может надо просто заэкранировать экранирующие символы?
Anonymous
так выше для соседних полей же все окей
Anonymous
короче нашел в чем нюанс
Anonymous
он начинат отсуп делать в зависимости какой отступ у {% if user.readonly is defined%}
Anonymous
даже нгаверное правильне сказать он ориентируется на входящий выше {%
Boris 🦍
код в студию
- name: "deliver_crt | Deliver certificate"
copy:
content: "{{ ssl_data.json.data.certificate }}"
dest: "{{ ssl_dir }}/{{ cn | regex_replace('\*\.') }}.crt"
Пробовал так экранировать
Timur
Anonymous
короче дичка какая та
Boris 🦍
Alexey
Boris 🦍
не нравится ему такой синтаксис
Boris 🦍
Boris 🦍
Alexey
а \\*\\.(.*) ?
Boris 🦍
Alexey
тогда наверное должно сработать и [*.]
Alexey
^[*.] м?
Alexey
хотя не
Alexey
в общем мой первый вариант норм, просто надо в строковых литералах 2 слеша
Boris 🦍
ну ок, попробую, если что, спс
Logan
^[*.] м?
точку надо экранировать же
Alexey
в квадратных скобках это не квалификатор а просто литерал "точка", так что не надо
Aleksey
Ребята, подскажите, кто с DigitalOcean работает? У вас нет проблем с залипанием ssh сессии?
Slava
Roman
Подскажите, при использовании конструкции lookup('template', 'dockerfile.j2') возникае ошибка. Содержимое вставляется в ямл. Есть подозрения что из за спецсимволов. Как их можно экранировать?
GithubReleases
ansible/ansible tagged: v2.9.0rc3
Link: https://github.com/ansible/ansible/releases/tag/v2.9.0rc3
Release notes:
New release v2.9.0rc3
Sergey
Добрый день! Подскажите пожалуйста как можно сделать такое когла луп проходит key: "{{ lookup('file', 'files/authorized_keys/') }}{{ item }}.pub"
Sergey
а то я чёт туплю
Lamobot
Sergey
Denis
Всем привет! Есть следующая таска:
- name: mount sftp
mount:
path: /mnt/sftp
src: "root@{{nodes_in_ftp}}:/home/ftp"
fstype: fuse.sshfs
state: mounted
opts: "IdentityFile=~/.ssh/id_rsa"
Собсвенно насколько я понимаю если указан state: mounted, то в этом случае модуль не только добавить необходимую запись в fstab, но еще и сделает перемонтирование ( аналог mount -a )?
inqfen
да, сразу примонтирует
Alex
Denis
да, сразу примонтирует
Проблема в том что он как раз у меня не монтирует. Дистрибутив Ubuntu 18.04. Может кто сталкивался?
Lamobot
Denis
Причем когда заходишь на сам инстанс и делаешь mount -a ручками, то тогда все применяется.
Denis