Использование команды "ovs-vsctl show" не может найти мост OVS, созданный OVSDB - PullRequest
0 голосов
/ 17 декабря 2018

Я использую подключаемый модуль OVSDB Southbound RESTAPI для создания моста следующим образом:

HTTP PUT:http://<controller-ip>:8181/restconf/config/networktopology:network-topology/topology/ovsdb:1/node/ofconfig%2Fbridge%2Fbrtest
Body:{"network-topology:node": [
{
  "node-id": "ofconfig%2Fbridge%2Fbrtest",
  "ovsdb:bridge-name": "brtest",
  "ovsdb:protocol-entry": [
    {
      "protocol": "ovsdb:ovsdb-bridge-protocol-openflow-13"
    }
  ],
  "ovsdb:managed-by": "/network-topology:network-topology/network-topology:topology[network-topology:topology-id='ovsdb:1']/network-topology:node[network-topology:node-id='ofconfig']"
}]}

И результат 201 Created. Но когда я использую команду "ovs-vsctl show" в хосте OVS, я могуне найти "самый крутой" мост.Итак, любой может помочь мне решить эту проблему.Спасибо!

1 Ответ

0 голосов
/ 17 декабря 2018

ваши овы подключены?даже без подключения коммутатора все еще возможно создать мост в хранилище конфигураций.

сделать GET для топологии из оперативного хранилища и посмотреть, есть ли у вас правильный идентификатор узла и т. д. URI долженbe:

/restconf/operational/network-topology:network-topology/topology/ovsdb:1

только просмотр ovsdb: 1 не указывает на то, что ваши ovs подключены.Это просто означает, что вы фактически запускаете ovsdb на юг в odl.

пример моей установки с установленным ovsdb и без подключения ovs:

# curl -u admin:admin http://localhost:8181/restconf/operational/network-topology:network-topology/topology/ovsdb:1 | python -m json.tool 

{
    "topology": [
        {
            "topology-id": "ovsdb:1"
        }
    ]
}

сейчас, подключив мои ovs:

# ovs-vsctl set-manager tcp:127.0.0.1:6640
# ovs-vsctl show | egrep connec
        is_connected: true
# ovs-vsctl show
28bde339-8db8-4848-a1fc-4a9ecc81b5c3
    Manager "tcp:127.0.0.1:6640"
        is_connected: true
    ovs_version: "2.9.0"
[root@jamo-rc701 karaf-0.9.0-SNAPSHOT]# curl -u admin:admin http://localhost:8181/restconf/operational/network-topology:network-topology/topology/ovsdb:1 | python -m json.tool 

{
    "topology": [
        {
            "node": [
                {
                    "node-id": "ovsdb://uuid/28bde339-8db8-4848-a1fc-4a9ecc81b5c3",
                    "ovsdb:connection-info": {
                        "local-ip": "127.0.0.1",
                        "local-port": 6640,
                        "remote-ip": "127.0.0.1",
                        "remote-port": 60478
                    },
                    "ovsdb:datapath-type-entry": [
                        {
                            "datapath-type": "ovsdb:datapath-type-netdev"
                        },
                        {
                            "datapath-type": "ovsdb:datapath-type-system"
                        }
                    ],
                    "ovsdb:db-version": "7.15.1",
                    "ovsdb:interface-type-entry": [
                        {
                            "interface-type": "ovsdb:interface-type-lisp"
                        },
                        {
                            "interface-type": "ovsdb:interface-type-geneve"
                        },
                        {
                            "interface-type": "ovsdb:interface-type-gre"
                        },
                        {
                            "interface-type": "ovsdb:interface-type-system"
                        },
                        {
                            "interface-type": "ovsdb:interface-type-vxlan"
                        },
                        {
                            "interface-type": "ovsdb:interface-type-internal"
                        },
                        {
                            "interface-type": "ovsdb:interface-type-stt"
                        },
                        {
                            "interface-type": "ovsdb:interface-type-tap"
                        },
                        {
                            "interface-type": "ovsdb:interface-type-patch"
                        }
                    ],
                    "ovsdb:manager-entry": [
                        {
                            "connected": true,
                            "number_of_connections": 1,
                            "target": "tcp:127.0.0.1:6640"
                        }
                    ],
                    "ovsdb:openvswitch-external-ids": [
                        {
                            "external-id-key": "hostname",
                            "external-id-value": "localhost"
                        },
                        {
                            "external-id-key": "system-id",
                            "external-id-value": ""
                        },
                        {
                            "external-id-key": "rundir",
                            "external-id-value": "/var/run/openvswitch"
                        }
                    ],
                    "ovsdb:ovs-version": "2.9.0"
                }
            ],
            "topology-id": "ovsdb:1"
        }
    ]
}

обратите внимание, что в ovs-vsctl show указано is_connected: true, а также обратите внимание на фактический идентификатор узла

...