cent
fatal: [10.62.254.10]: FAILED! => { "changed": false, "msg": "Connection type ssh is not valid for this module"
Видимо, какой-то модуль дергаешь, который по telnet ходит.
Artem
да похоже на то
Artem
есть внятная инфа где нибудь по network_cli
Artem
в офф доке примеров нема -_-
cent
есть внятная инфа где нибудь по network_cli
Прямо в модулях поищи. Там должен быть. Проще по коду глянуть. Генерить доку геморно
Artem
network_cli а кто нибудь им пользовался вообще ?
Artem
не могу найти как пропихнуть команду в ииоге
Alexander
в офф доке примеров нема -_-
Тут есть пример: https://docs.ansible.com/ansible/latest/network/user_guide/network_best_practices_2.5.html
Alexandr
Тут есть пример: https://docs.ansible.com/ansible/latest/network/user_guide/network_best_practices_2.5.html
такой себе пример. народ юзает модули под конкретное железо. у товарища, как и у меня, вопрос, как лучше делать, когда модуля нет? например, как в случае с хуавеем. они модуль написали только под линейку CloudEngine.
Alexander
А какой сценарий? могу проверить на huawei
Alexandr
А какой сценарий? могу проверить на huawei
дык, и сам могу, хуавея вагон в проде. )) в идеале хотелось бы плейбуком полностью описать конфигурацию коммутатора, но пока это утопия.
cent
дык, и сам могу, хуавея вагон в проде. )) в идеале хотелось бы плейбуком полностью описать конфигурацию коммутатора, но пока это утопия.
Ну, там будут raw команды, которые будут транслироваться в python модуль, который будет их по telnet отправлять. Получается, что тут мало чего от ansible вообще есть. Только шаблонизатор jinja2 ?
Alexandr
Ну, там будут raw команды, которые будут транслироваться в python модуль, который будет их по telnet отправлять. Получается, что тут мало чего от ansible вообще есть. Только шаблонизатор jinja2 ?
выбор по ходу не велик, только raw. скорее всего даже без джинджи, сразу в плейбуке команды. и это все будет выглядеть крайне убого.
cent
А как в jinja2 конвертнуть ['Vasya', 'Petya'] через map в [{name: 'Vasya'}, {name: 'Petya'}] ?
Sun
Вроде через -i указывают hosts, не?
зависит от того где они у тебя лежат
cent
выбор по ходу не велик, только raw. скорее всего даже без джинджи, сразу в плейбуке команды. и это все будет выглядеть крайне убого.
Ну, я openwrt через ansible конфигурю. Я генерю файлики, отправляю в роутер и через raw дергаю uci commit
Alexandr
Ну, я openwrt через ansible конфигурю. Я генерю файлики, отправляю в роутер и через raw дергаю uci commit
я примерно так сейчас надупляю хуавей. там из коробки только телнет включен. коммутаторы получают адреса по дхцп в менеджмент вилане. плейбук делает телнет+експект. меняет админ пароль. проливает базовый конфиг с тфтп, применяет его и ребутает коммутаторы. хочется сделать нормально.
cent
Блин, что-то не могу найти доки с хаками по jinja2 в ansible...
inqfen
Господа, подскажите убогому
inqfen
нужно сделать типа lst = [] for line in (lookup (file, filename): line = line.split("=")[0] lst.append(line)
inqfen
lineinfile пишет в файл, а мне нужно в переменную
inqfen
Чтобы потом сравнить с другой
inqfen
ну или хотя бы как по строке в лист забрать
inqfen
split можно потом сделать
Erick
подскажите, как можно вывести все локации, где ансибл ищет переменные для конкретного хоста?
cent
lineinfile пишет в файл, а мне нужно в переменную
Ну, а в чем проблема через темповый файл прогнать?
cent
подскажите, как можно вывести все локации, где ансибл ищет переменные для конкретного хоста?
Там вроде захардкожено, что нужно искать там, где прописаны факты в ansible.cfg, в инвентори и на самом хосте, если хаками проставляются там факты
Erick
я понимаю, но вывести это как-то можно?
cent
я понимаю, но вывести это как-то можно?
Если захардкожено, то как можно вывести кусок кода на питоне через ansible?
Vladislav 👻
в документации написано про приоритеты, читайте и смотрите
Erick
в документации написано про приоритеты, читайте и смотрите
вопрос же не в этом, вопрос в том, какие конкретные файлы он пытается прочитать для какого-то хоста
Vladislav 👻
ответ именно в этом
Erick
с учетом cfg и прочих переменных
cent
вопрос же не в этом, вопрос в том, какие конкретные файлы он пытается прочитать для какого-то хоста
А задача какая? Чистить все факты? Я писал свой хак (тупо скрипт на удаление всех файликов из которых читает) для дебага сложных ролей. Можно, вроде, через meta. https://docs.ansible.com/ansible/latest/modules/meta_module.html Но вроде на самом хосте не чистит
Sun
Парни, жёсткий оффтоп: Есть Postgres с базой в 30 гигов. Дефолтная установка, ничего не тюнили. В нём есть табличка на 40+(!) колонок. Через эту табличку проходят охренительно тяжёлые запросы. Настолько тяжёлые, что всего-лишь 30-гиговая база кладёт 12-ядерный сервер набок по цпу. Скорее всего, потому что из 30 гигов, 27 находятся в этой табличке. Я без понятия что там делают погромисты, но явно что-то неправильное. Но у меня есть задача как-то сделать серверу полегче, чтобы он пореже падал на бок, пока они там учатся проектировать БД нормально. У кого какие идеи есть?
జ్ఞా
Это view ?
జ్ఞా
Или табличко ?
జ్ఞా
Готовьте результаты ответов на запросы заранее и положите все в редис
జ్ఞా
Пусть скрипт готовит заранее всё
జ్ఞా
Если переделать нельзя
Sun
Если переделать нельзя
Да можно. Просто у нас главный по ДБ — убелённый сединами болгарин, который такие пузыри пускает, что впечатлительные израильтяне на него смотрят как на бога. А организация бд такая, как будто он просто фокс-про переложил в ПГ.
జ్ఞా
Может румын ?
Sun
не, точно болгарин. Я проверял. 🙂
జ్ఞా
Ёбните его клавой по башке
Sun
Он в Болгарии. А так бы я б уже давно
జ్ఞా
Братушки неможно субота вчера
Sun
https://medium.com/@amangoeliitb/improving-database-performance-with-redis-dbd38fdf3cb Вот тут тоже про редис пишут, но: Problem happens when writes are issued. For instance, suppose we insert a new entry in our TestModel table. The Postgres database (in hard disk/SSD) will contain 1 extra row (the newly inserted entry), however, Redis cache (in RAM) won’t get updated with this new row and so, we now have a stale cache. The solution is fairly simple. Whenever a write is issued, all the caches associated with that particular model (table) are invalidated (marked as stale).
Sun
а так как примерно 90% работы с базой происходит в одной таблице, то этот кеш будет почти бесполезен.
Павел П.
В t.me/pgsql больше вероятности что помогут. А так да, нормализовать и да запросы-логи смотреть
Vitaly
Наймите на консалт нормального DBA
Vitaly
Я думаю проблема решится
Max
Да можно. Просто у нас главный по ДБ — убелённый сединами болгарин, который такие пузыри пускает, что впечатлительные израильтяне на него смотрят как на бога. А организация бд такая, как будто он просто фокс-про переложил в ПГ.
на звук полный маразм. как @Lokks рекомендует, видимо нужно нормализовать. или вообще менять модель данных. вполне вероятно у вас не строчные данные а колоночные.....или вам вообще нужно key-value (кстати постгреш умеет и это)
Max
Наймите на консалт нормального DBA
не факт. иногда субд используют когда нужна кассяндра или доксервис. дба по субд заставит крокодила рожить от утконоса.
ℭ𝔞𝔯𝔯𝔬𝔩
Но точечные и быстрые запросы всё равно пихать в pg и индексировать в какой-нибудь b-tree
Max
Толковый дба подберет подходящий вариант
толковый дба.... я знаю 2-х. я с 98 г. на рынке.
Max
:)
Max
еще ее помежает знать вес одной строки.
Vitaly
толковый дба.... я знаю 2-х. я с 98 г. на рынке.
Я тоже знаю пару толковых людей, их и не будет много
Vitaly
Не отменяет написанного выше
Max
нет, но не факт что клиент на этом делает деньги.
ℭ𝔞𝔯𝔯𝔬𝔩
толковый дба.... я знаю 2-х. я с 98 г. на рынке.
Я знаю одного отличного и двух хороших, все уже не в роиссе
Max
поэтому и не факт что не пожопится на консалт.
ℭ𝔞𝔯𝔯𝔬𝔩
Отличный вроде как раз на консалте
Max
надо понять и этот вопрос
Vitaly
Ну тогда садитесь за анализ структуры данных и разбирайтесь сами
Vitaly
Дело это не благодарное
Max
в Израиле есть не плохой выбор, если работают с Болгарами, то уж явно что жопятся ;)
Vitaly
Вполне может так статься что всего то какого индекса правильного нехватает :)
Vitaly
Ну и всегда есть оракл :)
Павел П.
Vitaly
Но интересное)
Нельзя досконально знать все