ovsdb-server(5)
β¨ NAME β¨
okay so bestie, welcome to the ovsdb-server(5) page π this is all about the _Server database schema.
every ovsdb-server (version 2.9 or later) always hosts an instance of this schema, and it holds all the info about the status and configuration of the server itself. this database is read-only, periodt. this manpage describes the schema for this database. π
π TABLE SUMMARY π
hereβs the vibe check on every table in the _Server database β each one gets its own lil detailed section later:
Databaseβ Databases. ποΈβ¨
ποΈ Database TABLE ποΈ
this table is literally the main character: it describes the databases hosted by the database server, with one row per database. as its database configuration and status changes, the server automatically and immediately updates the table to match. no cap. π
the OVSDB protocol specified in RFC 7047 does not provide a way for an OVSDB client to find out about some kinds of configuration changes β like databases added or removed while a client is connected to the server, or databases changing between read/write and read-only due to a transition between active and backup roles. this table provides a solution: clients can monitor the tableβs contents to find out about important changes. π¦
traditionally, ovsdb-server disconnects all of its clients when a significant configuration change occurs, because this prompts a well-written client to reassess what is available from the server when it reconnects. because this table provides an alternative and more efficient way to find out about those changes, OVS 2.9 also introduces the set_db_change_aware RPC, documented in ovsdb-server(7), to allow clients to suppress this disconnection behavior. slay. β¨
when a database is removed from the server, in addition to Database table updates, the server sends canceled messages, as described in RFC 7047 section 4.1.4, in reply to outstanding transactions for the removed database. the server also cancels any outstanding monitoring initiated by monitor or monitor_cond requested on the removed database, sending the monitor_canceled RPC described in ovsdb-server(7). only clients that disable disconnection with set_db_change_aware receive these messages. π
clients can use the _uuid column in this table as a generation number. the server generates a fresh _uuid every time it adds a database, so that removing and then re-adding a database to the server causes its row _uuid to change. π
πΈ Summary πΈ
nameβstringmodelβstring, one ofclustered,relay, orstandaloneschemaβ optionalstringconnectedβboolean- Clustered Databases:
leaderβbooleancidβ optionaluuidsidβ optionaluuidindexβ optionalinteger
π Details π
name:stringβ the databaseβs name, as specified in its schema.model:string, one ofclustered,relay, orstandaloneβ the storage model:standalonefor a standalone or active-backup database,clusteredfor a clustered database,relayfor a relay database. π§schema: optionalstringβ the database schema, as a JSON string. in the case of a clustered database, this is empty until it finishes joining its cluster. in the case of a relay database, this is empty until it connects to the relay source. β¨connected:booleanβTrueif the database is connected to its storage. a standalone database is always connected. a clustered database is connected if the server is in contact with a majority of its cluster. a relay database is connected if the server is in contact with the relay source, i.e. is connected to the server it syncs from. an unconnected database cannot be modified and its data might be unavailable or stale. π
π Clustered Databases π
these columns are most interesting and in some cases only relevant for clustered databases, that is, those where the model column is clustered. π
leader:booleanβTrueif the database is the leader in its cluster. for a standalone or active-backup database, this is alwaystrue. for a relay database, this is alwaysfalse. πcid: optionaluuidβ the cluster ID for this database, which is the same for all of the servers that host this particular clustered database. for a standalone, active-backup or relay database, this is empty. πsid: optionaluuidβ the server ID for this database, different for each server that hosts a particular clustered database. a server that hosts more than one clustered database will have a differentsidin each one. for a standalone, active-backup or relay database, this is empty. πindex: optionalintegerβ for a clustered database, the index of the log entry currently exposed to clients. for a given server, this increases monotonically. when a client switches from one server to another in a cluster, it can ensure that it never sees an older snapshot of data by avoiding servers that haveindexless than the largest value they have already observed.
for a standalone, active-backup or relay database, this is empty. π
mwah π thatβs the whole page, bestie β brought to you by Open vSwitch 4.0.0, DB Schema 1.2.0, and the one and only ovsdb-server(5). go off π
β¨π¦
π¦ where this page comes from
- arch rolling: openvswitch 4.0.0-1 Β· Apache-2.0
- nixpkgs unstable: openvswitch 4.0.0
- nixpkgs unstable: openvswitch-dpdk 4.0.0
- ubuntu stonking: openvswitch-common 4.0.0-1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms