我使用OVSDB南向插件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.But当我在OVS主机上使用"ovs-vsctl show“命令时,我找不到"brtest”桥。所以,任何人都可以帮助我解决这个问题。谢谢!
发布于 2018-12-18 02:32:21
您的ovs是否已连接?即使没有连接交换机,仍然可以在配置存储中创建网桥。
对操作存储中的拓扑执行GET操作,并查看是否具有正确的节点id等。URI应为:
/restconf/operational/network-topology:network-topology/topology/ovsdb:1仅仅看到ovsdb:1并不表示您的ovs已连接。这只意味着您实际上是在odl中南下运行ovsdb。
安装了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,还要注意实际的node-id
https://stackoverflow.com/questions/53810624
复制相似问题