J
>SET_ADD failed (No such file or directory): set __set%d
Artur
Eugen
Друзья, никто не сталкивался с такой проблемой, при создании instance, релиз victoria , вываливается ошибка: Cmd: ['sudo', 'neutron-rootwrap', '/etc/neutron/rootwrap.conf', 'ebtables', '-t', 'nat', '--concurrent', '-A',.
'neutronMAC-tapc223dddb-44', '-i', 'tapc223dddb-44', '--among-src', 'fa:16:3e:a0:be:ee', '-j', 'RETURN']; Stdin: ; Stdout: ; Stderr:.
ebtables v1.8.4 (nf_tables): SET_ADD failed (No such file or directory): set __set%d
2020-12-24 14:27:23.177 6 ERROR neutron.plugins.ml2.drivers.agent._common_agent [req-97253535-bfc1-43c1-858c-c307b7eb7f1c - - - - -] Error in agent loop.
2020-12-24 14:27:23.177 6 ERROR neutron.plugins.ml2.drivers.agent._common_agent Traceback (most recent call last):
Ну и после трех попыток, заваливается попытка создания, куда копать?
а запуск на чём, на bare/vm/container ?
Artur
bare
Artur
kolla
Aleksey
есть идеи?
эту команду руками выполнить можешь?
Dmitry
J
есть идеи?
Смотри код агента и где там подставляется этот самый set.
А дальше надо будет понять почему подстановка криво идет.
Dmitry
kolla
Ну вот из контейнера бы это ручками дёрнуть
Dmitry
Ну и падает на первом правиле или что-то добавляет?
Artur
на первом правиле
Aleksey
короче дерни вот это руками
'ebtables', '-t', 'nat', '--concurrent', '-A',.
'neutronMAC-tapc223dddb-44', '-i', 'tapc223dddb-44', '--among-src', 'fa:16:3e:a0:be:ee', '-j', 'RETURN’
Aleksey
Dmitry
Aleksey
Ага
проблемы были из-за замеса нейтрона и цилиума, но уже всё решили 🙂 оказывается есть коннтрек зоны, которые как раз уже есть в попенстеке и они решают проблему
J
Artur
neutron-rootwrap /etc/neutron/rootwrap.conf ebtables -t nat --concurrent -A neutronMAC-tapc223dddb-44 -i tapc223dddb-44 --among-src=fa:16:3e:a0:be:ee -j RETURN
ebtables: No chain/target/match by that name
Artur
Bridge table: filter
Bridge chain: INPUT, entries: 0, policy: ACCEPT
Bridge chain: FORWARD, entries: 0, policy: ACCEPT
Bridge chain: OUTPUT, entries: 0, policy: ACCEPT
Bridge chain: RETURN, entries: 0, policy: ACCEPT
Я и твой кот
Я и твой кот
J
Artur
Bridge table: nat
Bridge chain: PREROUTING, entries: 0, policy: ACCEPT
Bridge chain: OUTPUT, entries: 0, policy: ACCEPT
Bridge chain: POSTROUTING, entries: 0, policy: ACCEPT
Bridge chain: RETURN, entries: 0, policy: ACCEPT
Artur
сори
J
Ну вот.
Должна существовать цепочка neutronMAC-tapc223dddb-44, чтобы в неё правило добавить.
А цепочки этой нет.
J
А почему её нейтрон не создал - хз.
Artur
создал ее вручную
Artur
теперь вернулись к ошибке
Artur
neutron-rootwrap /etc/neutron/rootwrap.conf ebtables -t nat --concurrent -A neutronMAC-tapc223dddb-44 -i tapc223dddb-44 --among-src=fa:16:3e:a0:be:ee -j RETURN
ebtables v1.8.4 (nf_tables): SET_ADD failed (No such file or directory): set __set%d
J
А знаешь почему её могло не быть?
J
Потому что ты не в том netns смотрел.
J
Например)
Eugen
Artur
внутри конейнера
Eugen
а какая ОС - убунту ?
Artur
centos 7
Artur
даже если точнее oraclelinux 7
J
Eugen
внутри конейнера
а на хосте как настроена сеть? что возвращает ?
sysctl -a | grep bridge-nf-call-iptables
Artur
net.bridge.bridge-nf-call-iptables = 1
Eugen
в моём случае жить стало проще с отключённым netfilter:
sysctl -w net.bridge.bridge-nf-call-iptables=0
Aleksey
Eugen
насколько я понял, в этом месте перескаются настройки сети docker и neutron. Если кто знает точнее, подскажите
Eugen
Aleksey
при переходе на nf_tables посоны сказали не ссать, мол мы вам дадим новую iptables и она будет работать один в один, но лучше. А старую назовем iptables-legacy и вперёт.
Но в нашем случае было не так, так как удаление цепочки немного отличалось от старого поведения
Artur
ладно парни, что делать то :) в инете что то особо не пишут
Artur
на ussuri такая же ерунда
Aleksey
Denis
в 8 центосе намерено и качественно удален iptables-legacy
Aleksey
ну точнее в нашем случае centos 8 в контейнере, а крутится на 18.04
Denis
Denis
---
# Can be: nftables|iptables
prepare_default_firewalld_backend: iptables
---
- name: Set proper firewalld backend
become: true
ini_file:
no_extra_spaces: true
option: FirewallBackend
path: /etc/firewalld/firewalld.conf
section: null
value: "{{ prepare_default_firewalld_backend }}"
Denis
а то докер потом создает сети и ничего не работает :(
Denis
в интернетах принято копипастить одно и тоже решение - добавить docker0 в исключения, но.... user definet сетям от этого лучше не станет )))
Artur
контейнеры на centos 8 если что
Aleksey
контейнеры на centos 8 если что
хм, таки может быть nf_tables из контейнеров не может с netfilter хоста подружиться. Попробуй контейнеры на centos 7 или ubuntu 18&04
Eugen
а кстати, ebtables -L должна работать одинаково с хоста и из privileged-контейнера или нет ? в нашем случае с хоста было пусто, с контейнера возвращало правила ?
Denis
Aleksey
Eugen
Aleksey
у нас также и хостовая 18.04 с iptables не видит правил от контейнера, который в nf_tables все захерачил
Denis
на всякий случай перепроверить, что nft -a list ruleset пусто
Eugen
спасибо, одной головной болью меньше)
Я и твой кот
Не забывайте, что там может быть куча неймспейсов, и все эти nftables/iptables/ebtables и прочие там везде разные.
ip netns sh
J
J
Чот что CentOS что Ubuntu в последние годы эт кромешный ад.
NS 🇷🇺
@adiantum
NS 🇷🇺