Рейтинг:0

сбой установки devstack xena на ubuntu20.04 (ошибка arping br-ex)

флаг ng

Возникли проблемы с установкой devstack stable/xena на чистый облачный образ ubuntu20.04 (экземпляр виртуальной машины с помощью virt-install с 2 интерфейсами: ens3 (192.168.122.36 на HostPC virbr0) для общедоступного интерфейса и ens4 (192.168.100.100 host virbr1) для управления)

Установка devstack продолжается почти до конца, но завершается при проверке arping на br-ex: хвост stack.sh.log:

2022-02-02 21:52:21.085 | +lib/neutron-legacy:_move_neutron_addresses_route:671 IP_BRD='192.168.122.36/24 brd 192.168.122.255'
2022-02-02 21:52:21.093 | +lib/neutron-legacy:_move_neutron_addresses_route:673 '[' 192.168.122.1 '!=' '' ']'
2022-02-02 21:52:21.101 | +lib/neutron-legacy:_move_neutron_addresses_route:674 ADD_DEFAULT_ROUTE='sudo ip -finet r заменить по умолчанию через 192.168.122.1 dev br-ex'
2022-02-02 21:52:21.109 | +lib/neutron-legacy:_move_neutron_addresses_route:677 [[ True == \T\r\u\e ]]
2022-02-02 21:52:21.118 | +lib/neutron-legacy:_move_neutron_addresses_route:678 ADD_OVS_PORT='sudo ovs-vsctl --may-exist add-port br-ex ens3'
2022-02-02 21:52:21.127 | +lib/neutron-legacy:_move_neutron_addresses_route:681 [[ False == \T\r\u\e ]]
2022-02-02 21:52:21.135 | +lib/neutron-legacy:_move_neutron_addresses_route:685 [[ 192.168.122.36/24 brd 192.168.122.255 != '' ]]
2022-02-02 21:52:21.143 | +lib/neutron-legacy:_move_neutron_addresses_route:686 IP_DEL='sudo ip addr del 192.168.122.36/24 brd 192.168.122.255 dev ens3'
2022-02-02 21:52:21.153 | +lib/neutron-legacy:_move_neutron_addresses_route:687 IP_REPLACE='sudo ip addr replace 192.168.122.36/24 brd 192.168.122.255 dev br-ex'
2022-02-02 21:52:21.164 | +lib/neutron-legacy:_move_neutron_addresses_route:688 IP_UP='sudo ip link set br-ex up'
2022-02-02 21:52:21.172 | +lib/neutron-legacy:_move_neutron_addresses_route:689 [[ inet == \i\n\e\t ]]
2022-02-02 21:52:21.183 | ++lib/neutron-legacy:_move_neutron_addresses_route:690 awk '{ print $1; выход }'
2022-02-02 21:52:21.183 | ++lib/neutron-legacy:_move_neutron_addresses_route:690 echo 192.168.122.36/24 brd 192.168.122.255
2022-02-02 21:52:21.185 | ++lib/neutron-legacy:_move_neutron_addresses_route:690 grep -o -E '(.*)/'
2022-02-02 21:52:21.192 | ++lib/neutron-legacy:_move_neutron_addresses_route:690 вырезать -d / -f1
2022-02-02 21:52:21.202 | +lib/neutron-legacy:_move_neutron_addresses_route:690 IP=192.168.122.36
2022-02-02 21:52:21.210 | +lib/neutron-legacy:_move_neutron_addresses_route:691 ARP_CMD='sudo arping -A -c 3 -w 5 -I br-ex 192.168.122.36 '
2022-02-02 21:52:21.217 | +lib/neutron-legacy:_move_neutron_addresses_route:697 sudo ip addr del 192.168.122.36/24 brd 192.168.122.255 dev ens3
2022-02-02 21:52:21.236 | +lib/neutron-legacy:_move_neutron_addresses_route:697 sudo ip addr заменить 192.168.122.36/24 brd 192.168.122.255 dev br-ex
2022-02-02 21:52:21.252 | +lib/neutron-legacy:_move_neutron_addresses_route:697 sudo ip link set br-ex up
2022-02-02 21:52:21.272 | +lib/neutron-legacy:_move_neutron_addresses_route:697 sudo ovs-vsctl --may-exist add-port br-ex ens3
2022-02-02 21:52:21.293 | +lib/neutron-legacy:_move_neutron_addresses_route:697 sudo ip -finet r заменить по умолчанию через 192.168.122.1 dev br-ex
2022-02-02 21:52:21.309 | +lib/neutron-legacy:_move_neutron_addresses_route:697 sudo arping -A -c 3 -w 5 -I br-ex 192.168.122.36
2022-02-02 21:52:24.316 | ARPING 192.168.122.36 с 192.168.122.36 br-ex
2022-02-02 21:52:24.316 | Отправлено 3 зонда (3 рассылки))
2022-02-02 21:52:24.316 | Получено 0 ответов
2022-02-02 21:52:24.341 | +lib/neutron-legacy:_move_neutron_addresses_route:1 exit_trap
2022-02-02 21:52:24.349 | +./stack.sh:exit_trap:521 локальный r=1
2022-02-02 21:52:24.359 | ++./stack.sh:exit_trap:522 задания -p
2022-02-02 21:52:24.367 | +./stack.sh:exit_trap:522 задания=
2022-02-02 21:52:24.376 | +./stack.sh:exit_trap:525 [[ -n '' ]]
2022-02-02 21:52:24.384 | +./stack.sh:exit_trap:531 '[' -f /tmp/tmp.WDapXUJF5c ']'
2022-02-02 21:52:24.394 | +./stack.sh:exit_trap:532 rm /tmp/tmp.WDapXUJF5c
2022-02-02 21:52:24.407 | +./stack.sh:exit_trap:536 kill_spinner
2022-02-02 21:52:24.422 | +./stack.sh:kill_spinner:431 '[' '!' -з '' ']'
2022-02-02 21:52:24.430 | +./stack.sh:exit_trap:538 [[ 1 -ne 0 ]]
2022-02-02 21:52:24.441 | +./stack.sh:exit_trap:539 echo 'Ошибка при выходе'
2022-02-02 21:52:24.441 | Ошибка на выходе
2022-02-02 21:52:24.447 | +./stack.sh:exit_trap:541 type -p generate-subunit
2022-02-02 21:52:24.455 | +./stack.sh:exit_trap:542 generate-subunit 1643837814 930 сбой
2022-02-02 21:52:24.807 | +./stack.sh:exit_trap:544 [[ -z /opt/stack/logs ]]
2022-02-02 21:52:24.814 | +./stack.sh:exit_trap:547 /usr/bin/python3.8 /home/stack/devstack/tools/worlddump.py -d /opt/stack/logs
2022-02-02 21:52:25.437 | +./stack.sh:exit_trap:556 выход 1

сетевые части local.conf:

HOST_IP=192.168.122.36
СЕРВИС_ХОСТ = 192.168.122.36
#HOST_IPV6=2001:db8::7

## Варианты нейтронов
Q_USE_SECGROUP=Истина
#FLOATING_RANGE="192.168.122.0/24"
#Q_FLOATING_ALLOCATION_POOL=начало=192.168.122.240,конец=192.168.122.254
FLOATING_RANGE=192.168.122.224/27
IPV4_ADDRS_SAFE_TO_USE="10.0.0.0/22"
PUBLIC_NETWORK_GATEWAY="192.168.122.1"
PUBLIC_INTERFACE=ens3

# попробуйте LinuxBridge, так как ovs выдает ошибку arping для br-ex на $HOST_IP
#Q_USE_PROVIDERNET_FOR_PUBLIC=Истина
#Q_AGENT=linuxмост
#LB_PHYSICAL_INTERFACE=ens3
#PUBLIC_PHYSICAL_NETWORK=по умолчанию
#LB_INTERFACE_MAPPINGS=по умолчанию:ens3

# Открыть сетевую конфигурацию провайдера vSwitch
Q_USE_PROVIDERNET_FOR_PUBLIC=Истина
OVS_PHYSICAL_BRIDGE=br-ex
PUBLIC_BRIDGE=br-ex
OVS_BRIDGE_MAPPINGS = общедоступный: br-ex

(пробовал linuxbridge как обходной путь к OVS, но все еще хочет определить br-ex и получить более серьезные ошибки (нейтрон не запускается)

моя сетевая конфигурация в конце выглядит нормально

стек@devstackxena:~/девстек$ ip-ссылка
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    ссылка/петля 00:00:00:00:00:00 брд 00:00:00:00:00:00
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master ovs-system state Режим UP DEFAULT group default qlen 1000
    ссылка/эфир 52:54:00:ed:c1:f2 brd ff:ff:ff:ff:ff:ff
3: ens4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel состояние UP режим DEFAULT группа по умолчанию qlen 1000
    ссылка/эфир 52:54:00:28:b9:e7 brd ff:ff:ff:ff:ff:ff
27: ovs-system: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    ссылка/эфир 4a:4d:4c:08:59:d1 brd ff:ff:ff:ff:ff:ff
28: br-int: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    ссылка/эфир 7a:0c:6d:1c:17:49 brd ff:ff:ff:ff:ff:ff
29: br-ex: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    ссылка/эфир c6:1e:0f:72:91:4c brd ff:ff:ff:ff:ff:ff
стек@devstackxena:~/девстек$ ip а
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    ссылка/петля 00:00:00:00:00:00 брд 00:00:00:00:00:00
    инет 127.0.0.1/8 область хоста lo
       valid_lft навсегда
    inet6 :: 1/128 узел области видимости 
       valid_lft навсегда
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master ovs-system state UP group default qlen 1000
    ссылка/эфир 52:54:00:ed:c1:f2 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::5054:ff:feed:c1f2/64 ссылка на область действия 
       valid_lft навсегда
3: ens4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel состояние UP группа по умолчанию qlen 1000
    ссылка/эфир 52:54:00:28:b9:e7 brd ff:ff:ff:ff:ff:ff
    инет 192.168.100.100/24 ​​область глобальная ens4
       valid_lft навсегда
    inet6 2001:db8:ca2:3:5054:ff:fe28:b9e7/64 глобальная динамическая область mngtmpaddr 
       valid_lft 3269 сек. selected_lft 3 269 сек.
    inet6 fe80::5054:ff:fe28:b9e7/64 ссылка на область действия 
       valid_lft навсегда
27: ovs-system: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    ссылка/эфир 4a:4d:4c:08:59:d1 brd ff:ff:ff:ff:ff:ff
28: br-int: <BROADCAST,MULTICAST> mtu 1500 qdisc noop состояние DOWN группа по умолчанию qlen 1000
    ссылка/эфир 7a:0c:6d:1c:17:49 brd ff:ff:ff:ff:ff:ff
29: br-ex: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
    ссылка/эфир c6:1e:0f:72:91:4c brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.36/24 brd 192.168.122.255 глобальная область действия br-ex
       valid_lft навсегда
    ссылка на область inet6 fe80::c41e:fff:fe72:914c/64 
       valid_lft навсегда

конфиг овс:

стек@devstackxena:~/девстек$ sudo ovs-vsctl показать
2448b59c-19b3-4043-ab1f-c3bbc0e66102
    Диспетчер "ptcp:6640:127.0.0.1"
        is_connected: правда
    Мост бр-инт
        fail_mode: безопасный
        Порт бр-инт
            Интерфейс br-int
                тип: внутренний
    Мост бр-экс
        Порт ens3
            Интерфейс ens3
        Порт бр-экс
            Интерфейс br-ex
                тип: внутренний
    ovs_версия: "2.13.3"
стек@devstackxena:~/девстек$ IP-маршрут
по умолчанию через 192.168.122.1 dev br-ex 
192.168.100.0/24 dev ens4 ссылка на область ядра proto src 192.168.100.100 
192.168.122.0/24 dev br-ex ссылка на область ядра прото src 192.168.122.36 

tcpdump arp на br-ex:

стек@devstackxena:~$ sudo tcpdump -i br-ex -n icmp или arp
tcpdump: подробный вывод подавлен, используйте -v или -vv для полного декодирования протокола
прослушивание по br-ex, тип канала EN10MB (Ethernet), размер захвата 262144 байт
12:09:52.568287 ARP, Запросите, у кого есть 192.168.122.37, сообщите 192.168.122.1, длина 28
12:09:53.592292 ARP, Запросите, у кого есть 192.168.122.37, сообщите 192.168.122.1, длина 28
12:10:18.892563 ARP, Запросить у кого есть 192.168.122.36 (ff:ff:ff:ff:ff:ff) сообщить 192.168.122.36, длина 28
12:10:19.892728 ARP, запросить у кого есть 192.168.122.36 (ff:ff:ff:ff:ff:ff) сообщить 192.168.122.36, длина 28
12:10:20.892764 ARP, запросить у кого есть 192.168.122.36 (ff:ff:ff:ff:ff:ff) сообщить 192.168.122.36, длина 28
12:10:48.145743 IP 192.168.122.1 > 192.168.122.36: эхо-запрос ICMP, идентификатор 33715, последовательность 0, длина 28
12:10:48.145850 IP 192.168.122.36 > 192.168.122.1: эхо-ответ ICMP, идентификатор 33715, последовательность 0, длина 28

arping получил 192.168.122.36, но ответа не получил (это моя интерпретация выхода из devstack).

не уверен, откуда берется дополнительный 192.168.122.37, этот IP-адрес не существует в виртуальной машине (нет других виртуальных машин на хосте) Я предполагаю, что можно арпинговать собственный IP? (это то, что пытается сделать скрипт devstack)

спасибо за любые указатели, идеи

Рейтинг:0
флаг cn

I just encountered the same issue and tracked it donw to be this bug: https://github.com/iputils/iputils/issues/247. So either manually install a recent version if iputils-arping or e.g create a wrapper script and correct the exit code

AndyW avatar
флаг ng
спасибо за ваш вклад
AndyW avatar
флаг ng
Большое спасибо за вашу помощь . Как получить последнюю версию iputils? на ubuntu20.04, стандартная установка, статус: арпинг -V Арпинг от iputils s20190709 тогда git-клон https://github.com/iputils/iputils.git sudo apt install gcc make meson ninja-build xsltproc libcap-dev компакт-диск iputils ./настроить --опции делать судо сделать установить поэтому после этого у меня есть: арпинг -V арпинг от iputils s20190709 (без изменений!) для вашего 2-го пункта, не знаете, как добавить оболочку, поскольку stack.sh использует процедуру exit_trap, если я помещу команду arping в функцию с выходом 0 в конце, это не позволит избежать ловушки
AndyW avatar
флаг ng
извините форматирование комментария было потеряно
флаг cn
Привет Энди, странно. Не знаю, как выглядит мастер iputils. Но я предполагаю, что вы облачно проверяете более поздний тег и создаете его. Здесь вы можете увидеть выпуски и соответствующие проблемы: https://github.com/iputils/iputils/releases. Я переименовал исполняемый файл и создал сценарий bash с исходным именем. Этот сценарий упаковывает исходный исполняемый файл и вместо этого возвращает 0. Надеюсь, что это объясняет этот обходной путь более подробно

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.