?

Log in

No account? Create an account

Previous Entry | Next Entry

Invalid argument

Виртуальный networking в OpenStack, а именно проект Neutron, построен на такой фиче Linux ядра, как network namespaces. Все созданные namespaces можно посмотреть командой ip netns, выглядит примерно так:

qrouter-........-f70e-4334-b909-21253127b5dd
qrouter-........-c56d-46ce-968c-6168d4fb08ec
qdhcp-........-07a2-4d70-ab01-7a2c45ea7941
qrouter-........-928f-4b5e-a457-935f9bcbee58


qdhcp- и qrouter- namespace'ы создаются dhcp и l3 агентами соответственно. Наткнулась на проблему, если network namespace'ы не трогать где-то трое суток, они умирают, хотя в /var/run/netns/ остаются записи о них.

Попытка выполнить команду внутри namespace'а, например

:~# ip netns exec qdhcp-c9901b99-07a2-4d70-ab01-7a2c45ea7941 ifconfig

выдаёт ошибку

seting the network namespace failed: Invalid argument


Проблема лечится остановкой всех neutron сервисов, например

:~# for i in `ls /etc/init.d/neutron-*`; do $i stop; done
:~# neutron-ovs-cleanup
Kill all neutron-ns-metadata-proxy processes
:~# rm /var/run/netns/q*
:~# for i in `ls /etc/init.d/neutron-*`; do $i start; done

Neutron создаёт все эти namespace'ы заново и всё работает. Однако, проблема довольно серьёзная, в продакшне останавливать network service будет нельзя.

Ubuntu LTS 12.04, kernel 3.11.0, OpenStack Havana

UPD. Проблема была вызвана LXC контейнерами.

Comments

( 1 comment — Leave a comment )
romik_g
Mar. 25th, 2014 03:41 pm (UTC)
Попробуй повторить на Red Hat'овской сборке OpenStack, если то же самое - в багзиллу им, и они быстро поправят.
( 1 comment — Leave a comment )

Latest Month

October 2014
S M T W T F S
   1234
567891011
12131415161718
19202122232425
262728293031