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

August 2025

S M T W T F S
     12
345 6789
10111213141516
17181920212223
24252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 11th, 2025 10:28 pm
Powered by Dreamwidth Studios