Timur
Timur
О каких скобках речь?
Dok
А можно поподробнее?
{{ ansible_all_ipv4_addresses | ipv4('192.168.15.0/24') }}
Делает вывод
[u'192.168.15.169']
Dok
Собсно, [u' '] надо грамотно отсечь
Dok
Ну, или есть другое стандартное решение выявления конкретного ip-адреса из нескольких?
Dok
Me
Кто-то с виндой работает? Видели такую проблему?
WindowsServer | UNREACHABLE! => {
"changed": false,
"msg": "ssl: 500 WinRMTransport. [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)",
"unreachable": true
}
George
Me
Нет
Me
Это Вагрант
Timur
Me
Спасибо
Михаил
Дратути.
Подскажите пожалуйста по ansible-vault
Есть ли он в виде модуля?
Потому что вот так
- name: test
hosts: localhost
tasks:
- name: vault var
command: ansible-vault encrypt_string "{{ password }}"
register: var
мне не хочется его использовать
Михаил
а гугл не помог
Egor
а гугл не помог
А зачем так делать? Достаточно держать переменную в vault и ссылаться на нее из плейбука
Михаил
мне надо расшифровывать N файлов
Михаил
Aleksei
если локально, то я бы в баш форлуп просто запихал
NS 🇷🇺
Всем привет.
NS 🇷🇺
подскажите, пытаюсь скопировать рекурсивно директории
NS 🇷🇺
- name: Create directories
file:
path: "/opt/warp-disks/{{ item.path }}"
state: directory
with_filetree: modules/
when: item.state == 'directory'
- name: copy main file
file:
path: "{{item.src}}"
dest: "/opt/warp-disks/{{item.path}}"
owner: root
with_filetree: modules/
when: item.state == 'file'
NS 🇷🇺
первый таск отрабатывает на ура, а вот копирование файлов начинает кидать какую то дичь
NS 🇷🇺
(item={'root': '/home/desperate/full_time/whip/roles/openstack/os_limiter/compute/files/modules/', 'path': 'consul_crud/ConsulCRUD.py', 'state': 'file', 'src': '/home/desperate/full_time/whip/roles/openstack/os_limiter/compute/files/modules/consul_crud/ConsulCRUD.py', 'uid': 1000, 'gid': 100, 'owner': 'desperate', 'group': 'users', 'mode': '0644', 'size': 2367, 'mtime': 1545046905.4898436, 'ctime': 1545046961.6419306}) => {"changed": false, "item": {"ctime": 1545046961.6419306, "gid": 100, "group": "users", "mode": "0644", "mtime": 1545046905.4898436, "owner": "desperate", "path": "consul_crud/ConsulCRUD.py", "root": "/home/desperate/full_time/whip/roles/openstack/os_limiter/compute/files/modules/", "size": 2367, "src": "/home/desperate/full_time/whip/roles/openstack/os_limiter/compute/files/modules/consul_crud/ConsulCRUD.py", "state": "file", "uid": 1000}, "msg": "file (/opt/warp-disks/consul_crud/ConsulCRUD.py) is absent, cannot continue", "path": "/opt/warp-disks/consul_crud/ConsulCRUD.py", "state": "absent"}
Timur
Timur
Без этой дичи
NS 🇷🇺
Без этой дичи
без дичи не нашел вариантов рекурсивно прогнать
Timur
(item={'root': '/home/desperate/full_time/whip/roles/openstack/os_limiter/compute/files/modules/', 'path': 'consul_crud/ConsulCRUD.py', 'state': 'file', 'src': '/home/desperate/full_time/whip/roles/openstack/os_limiter/compute/files/modules/consul_crud/ConsulCRUD.py', 'uid': 1000, 'gid': 100, 'owner': 'desperate', 'group': 'users', 'mode': '0644', 'size': 2367, 'mtime': 1545046905.4898436, 'ctime': 1545046961.6419306}) => {"changed": false, "item": {"ctime": 1545046961.6419306, "gid": 100, "group": "users", "mode": "0644", "mtime": 1545046905.4898436, "owner": "desperate", "path": "consul_crud/ConsulCRUD.py", "root": "/home/desperate/full_time/whip/roles/openstack/os_limiter/compute/files/modules/", "size": 2367, "src": "/home/desperate/full_time/whip/roles/openstack/os_limiter/compute/files/modules/consul_crud/ConsulCRUD.py", "state": "file", "uid": 1000}, "msg": "file (/opt/warp-disks/consul_crud/ConsulCRUD.py) is absent, cannot continue", "path": "/opt/warp-disks/consul_crud/ConsulCRUD.py", "state": "absent"}
Ошибка, судя по всему, связана с тем, что юзеру, из-под которого вызывается таск, не хватает прав рута для выставления нужных пермишенов
Timur
NS 🇷🇺
Vlad
Timur
да
Это читали?
https://docs.ansible.com/ansible/2.5/modules/copy_module.html#copy-module
Timur
Timur
А только создает их и меняет нужные права и прочие атрибуты
Timur
Для копирования есть модуль copy
Timur
Используйте его
Dok
Timur
Это для специфических случаев скорее
NS 🇷🇺
Используйте его
да я оладушек, извиняюсь ... file на copy сменил и оно поехало
Timur
synchronize копирует по умолчанию только с исходного хоста на удаленный
Timur
Для других целей приходится извращаться
NS 🇷🇺
Timur
If path is a directory, it is copied recursively. In this case, if path ends with "/", only inside contents of that directory are copied to destination. Otherwise, if it does not end with "/", the directory itself with all contents is copied.
Timur
Достаточно в src и dest просто указать пути к директориям
Timur
copy делает аналогично rsync
Vladislav 👻
Vladislav 👻
Vladislav 👻
кто подскажет, в чем прикол?
Vladislav 👻
Vladislav 👻
Vladislav 👻
Так что, нет идей, почему ансибл превращает значения в ахтунг?
Timur
Timur
Дефолты?
Vladislav 👻
да
Vladislav 👻
перезапись дефолта нет
Timur
Vladislav 👻
темплейт создает лишнию папку
Vladislav 👻
вот тут видно
Vladislav 👻
Timur
А в самом темплейте эти переменные не встречаются случайно?
Vladislav 👻
нет
Vladislav 👻
уникальное названия в рамках всего проекта
Vladislav 👻
Vladislav 👻
дальше только потом волум для докера
Timur
Может, путь представляет собой линк?
Vladislav 👻
в плане?
Timur
В плане - может, там как-то хитро структура каталогов смонтирована
Timur
А переменная tableau_dashboard_config_path еще где-то задается?
Vladislav 👻
Vladislav 👻
Timur
Докер же монтирует в похожий путь
Vladislav 👻
нет, в другой, но проблема не в докере, у меня темплейт не может лечь по нормальному пути
Timur
Не видно полной картины
Timur
Роль можете целиком показать?
Vladislav 👻
что именно показать?
Vladislav 👻