restconf: каков правильный вызов API для настройки однорангового узла BGP

Я пытаюсь запустить сеанс BGP (семейство состояний каналов, если это имеет значение). Следуя этому руководству https://github.com/opendaylight/docs/blob/master/docs/user-guide/bgpcep-guide/bgp/bgp-user-guide-linkstate-family.rst

Когда я делаю запрос, используя в качестве URL-адреса /restconf/config/openconfig-network-instance:network-instances/network-instance/global-bgp/openconfig-network-instance:protocols и в качестве тела

<protocol xmlns="http://openconfig.net/yang/network-instance">
    <name>nl-ams02c-ispbgp01</name>
    <identifier xmlns:x="http://openconfig.net/yang/policy-types">x:BGP</identifier>
    <bgp xmlns="urn:opendaylight:params:xml:ns:yang:bgp:openconfig-extensions">
        <global>
            <config>
                <router-id>10.20.14.1</router-id>
                <as>xxx</as>
            </config>
            <afi-safis>
                <afi-safi>
                    <afi-safi-name>LINKSTATE</afi-safi-name>
                </afi-safi>
            </afi-safis>
        </global>
    </bgp>
</protocol>

Кажется, семейство добавилось в динамик BGP, я проверяю это с помощью

In [5]: url = "/restconf/operational/bgp-rib:bgp-rib"

In [6]: requests.get('http://{}:{}{}'.format(odl['api']['ipaddr'],odl['api']['port'],url), auth=auth).json()
Out[6]: 
{'bgp-rib': {'rib': [{'id': 'nl-ams02c-ispbgp01',
    'loc-rib': {'tables': [{'afi': 'bgp-linkstate:linkstate-address-family',
       'safi': 'bgp-linkstate:linkstate-subsequent-address-family',
       'bgp-linkstate:linkstate-routes': {},
       'attributes': {'uptodate': True}}, ...

Вопрос #1 Я не знаю, как проверить и где я должен увидеть локальный IP-адрес (10.20.14.1 в приведенном выше примере), который используется для этого сеанса BGP. Каким будет запрос HTTP GET для этого?

Затем, когда я пытаюсь настроить узел BGP, используя URL-адрес /restconf/config/openconfig-network-instance:network-instances/network-instance/global-bgp/openconfig-network-instance:protocols/protocol/openconfig-policy-types:BGP/nl-ams02c-ispbgp01/bgp/neighbors и тело

<neighbor xmlns="urn:opendaylight:params:xml:ns:yang:bgp:openconfig-extensions">
    <neighbor-address>10.20.14.0</neighbor-address>
    <afi-safis>
        <afi-safi>
            <afi-safi-name>LINKSTATE</afi-safi-name>
        </afi-safi>
    </afi-safis>
</neighbor>

Я получаю следующую ошибку:

{'errors': {'error': [{'error-type': 'protocol',
    'error-tag': 'malformed-message',
    'error-message': 'Error parsing input: Child "protocol" was not found in parent schema node "(urn:opendaylight:params:xml:ns:yang:bgp:openconfig-extensions?revision=2017-12-07)neighbors"',
    'error-info': 'Child "protocol" was not found in parent schema node "(urn:opendaylight:params:xml:ns:yang:bgp:openconfig-extensions?revision=2017-12-07)neighbors"'}]}}

Вопрос № 2 Не могли бы вы помочь мне и посоветовать правильный HTTP-вызов для настройки узла BGP?

PS. Я использую OpenDaylight Oxygen-SR2.

ОБНОВЛЕНИЕ: я узнал, что RESTCONF API Explorer помогает, все еще просматривая его.


person nskalis    schedule 07.07.2018    source источник


Ответы (1)


используя преимущества https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL:Restconf_API_Explorer

ответ на вопрос №1: http://127.0.0.1:8181/restconf/config/openconfig-network-instance:network-instances

вопрос №2 остался без ответа :)

person nskalis    schedule 07.07.2018