December 26th, 2019

404

ansible: ip_link_set

Я всерьёз его пишу. Предыдущая попытка была несколько поверхностной и покрывала одновременно слишком много кейсов и каждый не до конца.

После срача о том, что ip link , который и up, и down, и present и absent, я согласился с аргументацией и начал писать только ip link set (разумное подмножество того, что умеет ip link set — разумное — это то, что я могу воспроизвести и понять).

В принципе, с третьей итерации я уже сделал его почти отлично. Он больше не ломается на разном числе параметров в выводе ip, я переделал его в ip -o (я бы рад, ip -j (т.е. json), но Centos6 must be supported, а там всё такое свежее, что в спеках CSV ещё чернила не высохли, что уж про json).

Ещё у меня огромная сага с netns. В отличие от большинства параметров, он эквивалентен операции 'move', а когда вы делаете 'move' для группы интерфейсов, там безумная логика (часть уже подвинута, часть уже не подвинута, плюс в разных namespace'ах могут быть интерфейсы с одинаковыми именами).

Но я постепенно всё это разгребаю и оно мне начинает нравиться всё больше. Если на code review меня сильно не завернут (... 47 юнит-тестов, 5 интеграционных...), то я потом так же ещё хочу ip route и ip address сделать. Ну и изначальный ip link add (как туда delete семантически вфигачить — это вопрос открытый).

Зачем оно мне сдалось? Когда лабы делаешь, персистентность не нужна, а вот интерфейсы, namespace'ы и бриджи плодятся тоннами. Модуль туда просто адски must have.

Оно находится тут: 

Collapse )