ovsdb数据库修改

目前我们维护的ovsdb数据库主要是ovn nb和sb:ovn-nb.ovsschema ,ovn-sb.ovsschema
比如修改port_binding表,新增一个字段other_config:
第一步:修改ovn-sb.ovsschema文件,新增other_config 字段定义:

"Port_Binding": {
"columns": {
"logical_port": {"type": "string"},
"type": {"type": "string"},
......
"other_config": {
"type": {"key": "string",
"value": "string",
"min": 0,
"max": "unlimited"}},

第二步:修改schema的版本号和校验和,方法是先修改schema的version字段比如”version”: “20.17.1”,然后用工具生成校验和:

./build-aux/calculate-schema-cksum ovn-sb.ovsschema
3176199392 26758

再填入校验和,就像这样:

"name": "OVN_Southbound",
"version": "20.17.1",
"cksum": "3176199392 26758",

第三步:编译ovn,将生成的ovn-sbctl, ovn-controller等二进制替换掉

第四步:使用新的schema,用ovsdb-client convert命令使其生效:

ovsdb-client convert  unix:/var/run/ovn/ovnsb_db.sock /usr/share/ovn/ovn-sb.ovsschema

个人分析,欢迎指正,若转载请注明出处!