Apr. 5th, 2023

amarao: (Default)
СЯУ что если открыть сокет в netlink, то этот сокет фиксирует namespace, в котором всё было сделано, и последующие unshare на него не действуют. То есть если процесс форкнуть или новый сокет открыть, то на них действуют (включая банальный exec для ping), а вот содержимое интерфейсов через уже открытый (до смены namespace) сокет - старое.

Задним числом очевидно, но я это выяснял 2 часа, ибо на попытку добавить роут pr2modules.netlink.exceptions.NetlinkError: (101, 'Network is unreachable'), а руками все роуты добавлялись.

А причина простая - чтобы пореже раздалбывать себе сеть, все тесты - в namespace, а фикстура с сокетом создаётся до этого. Получается не очень.

Решение - поменять scope у фикстуры с session на function.

Profile

amarao: (Default)
amarao

December 2025

S M T W T F S
 12 3456
78910111213
14151617181920
21222324252627
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 14th, 2025 11:31 am
Powered by Dreamwidth Studios