Tadeusz
fatal: [localhost]: FAILED! => {"msg": "JMESPathError in json_query filter plugin:\ninvalid token: Parse error at column 0, token \".\" (DOT), for expression:\n\".result.[*].id\"\n ^"}
#Rλatan
Ansible использует JSPath в этом фильтре, можете поигратся http://www.jsonquerytool.com/
#Rλatan
JSON: {
"key": "value",
"array": [
{
"key": 1
},
{
"key": 2,
"dictionary": {
"a": "Apple",
"b": "Butterfly",
"c": "Cat",
"d": "Dog"
}
},
{
"key": 3
}
]
}Query: .array[0].keyResult: [
1
]
Tadeusz
к сожалению или к счастью, у меня не грузится данный сайт
Tadeusz
даже при подтягивании всех js'ов и отключении adblocker'ов всяких
Tadeusz
Tadeusz
#Rλatan
Tadeusz
та не говори... кто ж мог подумать что надо добавить .json
#Rλatan
Это от API зависит
Alexander
Попробовал еще раз завести Python Api, по-прежнему не работает
simplemice.eth
#Ansible #book
[Russian]
Title: Запускаем Ansible
Author: Хоштейн Л., Мозер Р.
Year: 2018
Pages: 384
ISBN: 978-5-97060-513-4
Alexander
Сделал все ровно как в доке, доходит до tqm.run(play) и дальше даже дебажить не выходит. До брекпоинтов внутри этого метода не доходит, трейсбеков нет, просто никакого результата
Ilya
Морнинг! Поскажите: можно ли отключить условие when заданием переменной?. т.е нет переменной, условие не проверяется, есть - она же и есть условие? смысл: задал имя виртуалки, и loop по этой сработает, не задал -по всем пройдется.
Div
https://docs.ansible.com/ansible/latest/user_guide/playbooks_conditionals.html#the-when-statement
Div
дока начинается с ответа на ваш вопрос.
Alexander
Мдэ, отловил таки багу у них, которая не давала запускать через PlaybookExecutor
Div
is defined / is undefined
Артем
Морнинг! Поскажите: можно ли отключить условие when заданием переменной?. т.е нет переменной, условие не проверяется, есть - она же и есть условие? смысл: задал имя виртуалки, и loop по этой сработает, не задал -по всем пройдется.
Если список виртуалок это переменная, то, что требуется, можно сделать так:
перед основной таской добавить таску set_fact, которая будет переопределять эту переменную и записывать в неё только одну, и тут поставить условие when: vm_name is defined
а в основной таске loop по этой переменной
если она не переопределится, то будет ходить по всем
Ilya
Timur
Alex
Timur
Timur
Это строка, которую фильтр может превратить в словарь
Sergey
Alex
Как задача выглядит?
задача определение состояния сервиса
- name: Check topology health
become: yes
shell: |
docker exec xray_router curl -s http://localhost:8046/router/api/v1/topology/health
register: docker_ha_topology_health
ignore_errors: yes
- name: Set ha topology health as failed
set_fact:
ha_topology_health_result:
json: ""
- name: Set topology health
set_fact:
ha_topology_health_result: "{{ {} | combine({'json': docker_ha_topology_health.stdout | from_json }) }}"
но так как exec может вернуть и не json, то возникают проблемы
Sergey
Alex
что странного?
Sergey
Странное - модуль shell использвать. Антипаттерн же.
Alex
да, я в курсе, но сервис доступен только внутри контейнера, так что без exec никак
Sergey
Sergey
Alex
это уже из пушки по воробьям
Sergey
это уже из пушки по воробьям
Зависит. С учётом того, что минимальный модуль - это полчаса работы, то с этим своим JSON-ом ты явно больше приседать будешь с отягощениями.
Tadeusz
есть api'шка cloudflare, интересует удаление сайта/домена/зоны https://api.cloudflare.com/#zone-delete-zone
дергаю - получаю Malformed JSON in request body
ЧЯДНТ?!
ok: [localhost] => {
"msg": "https://api.cloudflare.com/client/v4/zones/71628736127368721а12"
}
Tadeusz
Sergey
Tadeusz
подобным образом вызываю эту же апишку методами GET/PATCH/PUT безо всяких проблем
Sergey
Sergey
body?
Tadeusz
а зачем там тело?
Tadeusz
тут (в доке API) же нет -d '...'
inqfen
body_format: json
inqfen
у тебя там {} body получается
inqfen
видать недоволен он этим
Tadeusz
кстати. да - убрал body_format и проканало, благодарю
Aleksey
господа multiline lookup бывает ?
George
multiline - это как?
Гайрат
var: |
String
Aleksey
вот пример из доки
- name: Return all secrets from a path
debug:
msg: "{{ lookup('hashi_vault', 'secret=secret/hello token=c975b780-d1be-8016-866b-01d0f9b688a5 url=http://myvault:8200')}}"
так много букв с строку. хочу мало букв
Aleksey
Johnny
добрый день, подскажите, можно как-то сделать цикл в плейбуке по инвентарному файлу и отдать имя хоста в loop? Второй день бьюсь, в документации такого случая не нашел
Sergey
Lamobot
Johnny
спасибо, буду пробовать
Johnny
получилось. за magic vars отдельное спасибо)
Aleksey
если без мультилайнинга получается dict
Aleksey
там в итоге что бы работало надо убирать "
Igor
подскажите плз, почему запуск плейбука на локалхосте может скипать роль?
Igor
Igor
в плее почему то ничего не отрабатывает
Sergey
Sergey
Опиши, что должны делать ключи командной строки.
Tadeusz
парни, а tower платный?
Yuriy
Tadeusz
спасибо, потыкаю
Gleb
Gleb
150 баксов хост-месяц по gpl