UglyKoyote
"{{app_type}}_installer_type" - емнип
Alex
так мне надо получить значение
UglyKoyote
ну тогда жинжа в руки (в качестве костыля сойдет) - но костыли это плохо) не слушай меня
Lamobot
Nikita
А не подскажите почему могут исключения игнорироваться:
- name: Use gzip to compress a single archive (i.e don't archive it first with tar)
archive:
path: "{{ lookup('env','CI_PROJECT_DIR') }}"
dest: "/tmp/{{ build_id }}.zip"
format: zip
exclude_path: "{{ search_result.files | map(attribute='path') | list }}"
?
kevit
@UglyKoyote спасибо, помогло
kevit
но в целом конечно как-то брутально перезапускать systemd чтоб заработало
kevit
спасибо еще раз, все пытался понять чего оно барахлит)
Alex
Nikita
Результат из find
Alex
а конкртенее
Nikita
К примеру так
- /builds/web/project/project/.gitlab-ci.yml
- /builds/web/project/project/.gitignore
- /builds/web/project/project/.git
- /builds/web/project/project/_CI
kevit
@UglyKoyote daemon_reload это
kevit
перечитывает конфиги из /etc/systemd
kevit
а то что ты прислал перегружает systemd, там что-то с сериализацией, оно перестраивает дерево зависимостей как я понял, чего не происходит при daemon_reload
kevit
но надо подчитать что именно ансибл там делает
UglyKoyote
я не помню причины, но мне демон релоад почему то не помогал, может это на бубунте был
tutunak
Nikita
tutunak
2.8.5
может эта бага аффетит, хотя там про директории
https://github.com/ansible/ansible/issues/58731
𝚔𝚟𝚊𝚙𝚜
Всем привет, а Ansbile умеет JSON Merge Patch?
Ruslan
доборый вечер
Ruslan
подскажите пожалуйста как вывести переменную groups['group1'] в jinja шаблоне колонкой?
{{ groups['group1'] }}
результат: host1, host2
а хотелось бы:
host1
host2
Alexey
Ruslan
да, я первое о чем подумал это цикл, но хотелось избежать сложных конструкций в шаблоне
Ruslan
{{ groups['group'] | join('\n') }}
подошло
George
@kvaps, нет, но он умеет мержить словари из переменных если есть такая опция в конфиге ансибла.
𝚔𝚟𝚊𝚙𝚜
Sergey
Гайрат
Гайрат
kevit
Гайрат
notify чего?
notify: systemd reload
handlers/main.yml:
- name: systemd reload:
systemd:
...
kevit
а что под systemd написано?
kevit
там выше был мой код
kevit
- name: "Start and enable services"
become: true
systemd:
name: "{{ item }}"
enabled: true
daemon_reload: true
kevit
daemon_reload там отрабатывает трижды
𝚔𝚟𝚊𝚙𝚜
в jsonnet'е я могбы сделать просто:
std.mergePatch(
var,
{ aaa: { bbb: { ccc: 'another_string' } } }
)как реализовать что-то подобное в ansible?
𝚔𝚟𝚊𝚙𝚜
𝚔𝚟𝚊𝚙𝚜
а вот combine это похоже именно то что мне и было нужно
Sebor▂▅▇█▓▒░
Кто сталкивался с таким поведением:
есть 2 сервера с gitlab-runner, но на одном ansible установлен через deb-пакеты, а на втором - через pip.
Так вот, тот ансибл, что через pip вызывается в CI, не хочет читать переменные окружения для своего конфига
Пример .gitlab-ci.yml:
stages:
- build
- deploy
variables:
ANSIBLE_HOST_KEY_CHECKING: 'False'
ANSIBLE_LOCALHOST_WARNING: 'False'
GithubReleases
ansible/ansible tagged: v2.7.15
Link: https://github.com/ansible/ansible/releases/tag/v2.7.15
Release notes:
New release v2.7.15
GithubReleases
ansible/ansible tagged: v2.8.7
Link: https://github.com/ansible/ansible/releases/tag/v2.8.7
Release notes:
New release v2.8.7
GithubReleases
ansible/ansible tagged: v2.9.1
Link: https://github.com/ansible/ansible/releases/tag/v2.9.1
Release notes:
New release v2.9.1
Timur
Sebor▂▅▇█▓▒░
Timur
А операционка на раннеры под какой осью?
Timur
И какой тип раннеров? shell? Docker? Docker-machine?
Sebor▂▅▇█▓▒░
Sebor▂▅▇█▓▒░
Gleb
Все раннеры shell
ну поделай раннерами команды типа env и прочее, что с окружением и все остальное
kevit
@sebor запусти вот такое
- name: Print env
vars:
msg: |
{{ environment | to_nice_json }}
debug:
msg: "{{ msg.split('\n') }}"
SABeShnik
Коллеги, всем доброго дня!
Подскажите плиз один момент.
Ansible на RHEL 7.7.
Клиенты на Win Server 2016.
При выполнении win_ping на части машин ошибка:
"changed": false,
"msg": "plaintext: HTTPConnectionPool(host='10.89.64.114', port=5985): Max retries exceeded with url: /wsman (Caused by ConnectTimeoutError(<requests.packages.urllib3.connection.HTTPConnection object at 0x7f117943bc90>, 'Connection to 10.89.64.114 timed out. (connect timeout=30)'))",
"unreachable": true
В чем может быть дело?
SABeShnik
Timur
Timur
Timur
В документации довольно детально описано, как должен быть настроен хост
Timur
https://docs.ansible.com/ansible/latest/user_guide/windows_setup.html
UglyKoyote
Народ, а поскажите, почему конструкция
{% for host in groups['ххх'] %}
"{{ hostvars[host]['ansible_hostname'] }}"{%- if not loop.last %},{% endif %}
{% endfor %}
в одну строчку может "вытягивать" переменные, а не построчно клепает? (ansible 2.8.5)
Sergey
UglyKoyote
Nikolay
привет. Как проще в ансибле можно выдать след ip и сетки, но исключив адреса из списка exclude_ips?
- name: get free ip
vars:
exclude_ips = [’192.168.122.2’, ’192.168.122.3’]
set_fact:
ipaddr: “{{ '192.168.122.1/24' | ipaddr('next_usable') }}”
# return 192.168.122.2
Lamobot
Nikolay
ipaddr: “{{ '192.168.122.3/24' | ipaddr('next_usable') }}” ?
спасибо за наводку. Так работает.
- name: get free ip
vars:
exclude_ips = [’192.168.122.2/24’, ’192.168.122.3/24’]
set_fact:
ipaddr: “{{ (exclude_ips | max) | ipaddr('next_usable') }}”
# return 192.168.122.3
Правда, освобожденные адреса в середине диапазона /24 все равно не обрабатываются, надо подумать как еще отфильтровать.
Lamobot
Гайрат
Alexandr
добрый день! а подскажите пожалуйста как через extra_vars можно передать переменную вида path.name ?
Артём
Alexandr
да(
Артём
То есть у нас словарь кусками определён и нужно его смержить, так?
Alexandr
у меня есть одно инвентори там есть групповая переменная path.name и есть втрое инвентори в котором есть такая же перемененая . я через template делаю щаблон с bash скриптом в котором хочу переопределить эту переменную