Bug 59733 - pvesh не может создать/изменить BGP fabric ноду
Summary: pvesh не может создать/изменить BGP fabric ноду
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: pve-network (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: darisishe@altlinux.org
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2026-07-06 01:12 MSK by Божченко Павел Александрович
Modified: 2026-07-06 01:12 MSK (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Божченко Павел Александрович 2026-07-06 01:12:27 MSK
Версия: pve-network-1.6.6-alt1

Воспроизведение:
# pvesh create /cluster/sdn/fabrics/node/<id> --node_id pve01 --protocol bgp --ip <ip> --role internal
→ error: missing field `asn`
# pvesh create ... --asn 65001
→ 400 Unknown option: asn

pvesh генерирует список допустимых CLI-флагов для метода строго из известного ему набора параметров и отказывается принимать --asn ещё до отправки запроса на сервер - ограничение самого клиента pvesh, не серверная валидация.

Доказательство, что сервер (и, следовательно, GUI, который ходит тем же путём) принимает asn без проблем - прямой вызов REST API в обход pvesh:
# TICKET=$(perl -MPVE::AccessControl -e 'print PVE::AccessControl::assemble_ticket("root\@pam")')
# CSRF=$(perl -MPVE::AccessControl -e 'print PVE::AccessControl::assemble_csrf_prevention_token("root\@pam")')
# curl -sk -X POST "https://localhost:8006/api2/json/cluster/sdn/fabrics/node/<id>" \
    --cookie "PVEAuthCookie=$TICKET" -H "CSRFPreventionToken: $CSRF" \
    -d node_id=pve01 -d protocol=bgp -d ip=10.93.0.1 -d role=internal -d asn=65001 \
    --data-urlencode "interfaces=name=ens20"
→ {"data":""}  (HTTP 200 - успех)

Рекомендация: добавить asn в список параметров, для которых pvesh генерирует CLI-флаги для
protocol=bgp (аналогично тому, как это уже сделано для listen_port у protocol=wireguard, где
параметр хотя бы передаваем через property-string).