ovs-vsctl的DB的操作
如果你在命令行里面找不到相应的命令创建和删除对象,则可以直接删除数据库
[??if?exists] [??columns=column[,column]...] list table [record]...
$ sudo ovs-vsctl list bridge
_uuid : 91cd3178-fe2d-4004-85b6-f0f01fcc8b51
controller : []
datapath_id : "00007a31cd910440"
datapath_type : ""
external_ids : {}
fail_mode : []
flood_vlans : []
flow_tables : {}
ipfix : []
mirrors : []
name : helloother
netflow : []
other_config : {}
ports : [20682bfb-ea46-497e-940f-43f48f00da84, 7dce6e3c-cedd-4bf0-b9dc-f8e90e8788c2, 83489fb4-f8c3-4a32-9bc4-b4cb484dd684]
protocols : []
sflow : []
status : {}
stp_enable : false
_uuid : b491acba-c237-4942-94c8-14afad6d1a36
controller : []
datapath_id : "0000baac91b44249"
datapath_type : ""
external_ids : {}
fail_mode : []
flood_vlans : []
flow_tables : {}
ipfix : []
mirrors : []
name : hello
netflow : []
other_config : {}
ports : [90a3fc08-5eea-4d69-bb00-c25250d94d33, bbdf854e-06d5-42f9-8074-98f608248860, c1a8c0f7-11c7-42fd-a272-0961a9aa6522, c5e0caca-5387-4e19-b4d5-25c58eb1257c, e7b71762-f0ac-4cf9-afb6-686e10c23518]
protocols : []
sflow : []
status : {}
stp_enable : false
[??columns=column[,column]...] find table [column[:key]=value]...
$ sudo ovs-vsctl find port name=first_br
_uuid : c5e0caca-5387-4e19-b4d5-25c58eb1257c
bond_downdelay : 0
bond_fake_iface : false
bond_mode : []
bond_updelay : 0
external_ids : {}
fake_bridge : false
interfaces : [b0645fc3-c977-42ca-a234-5e84f1a9801a]
lacp : []
mac : []
name : first_br
other_config : {}
qos : ce7cfd43-8369-4ce6-a7fd-4e0b79307c10
statistics : {}
status : {}
tag : []
trunks : []
vlan_mode : []
[??if?exists] [??columns=column[,column]...] list table [record]...
- Lists the data in each specified record. If no records are specified, lists all the records in table.
- If ??columns is specified, only the requested columns are listed, in the specified order. Otherwise, all columns are listed, in alphabetical order by column name.
- Without ??if-exists, it is an error if any specified record does not exist. With ??if-exists, the command ignores any record that does not exist, without producing any output.
[??columns=column[,column]...] find table [column[:key]=value]...
- Lists the data in each record in table whose column equals value or, if key is specified, whose column contains a key with the specified value.
- The following operators may be used where = is written in the syntax summary: = != < > <= >=
[??if?exists] [[email protected]name] get table record [column[:key]]...
- Prints the value of each specified column in the given record in table. For map columns, a key may optionally be specified, in which case the value associated with key in the column is printed, instead of the entire map.
- Without ??if?exists, it is an error if record does not exist or key is specified, if key does not exist in record. With ??if?exists, a missing record yields no output and a missing key prints a blank line.
- If @name is specified, then the UUID for record may be referred to by that name later in the same ovs?vsctl invocation in contexts where a UUID is expected.
- Both ??id and the column arguments are optional, but usually at least one or the other should be specified. If both are omitted, then get has no effect except to verify that record exists in table.
- ??id and ??if?exists cannot be used together.
[??if?exists] set table record column[:key]=value...
- Sets the value of each specified column in the given record in table to value. For map columns, a key may optionally be specified, in which case the value associated with key in that column is changed (or added, if none exists), instead of the entire map.
- Without ??if-exists, it is an error if record does not exist. With ??if-exists, this command does nothing if record does not exist.
[??if?exists] add table record column [key=]value...
- Adds the specified value or key-value pair to column in record in table. If column is a map, then key is required, otherwise it is prohibited. If key already exists in a map column, then the current value is not replaced (use the set command to replace an existing value).
- Without ??if-exists, it is an error if record does not exist. With ??if-exists, this command does nothing if record does not exist.
[??if?exists] remove table record column value...
[??if?exists] remove table record column key...
[??if?exists] remove table record column key=value...
- Removes the specified values or key-value pairs from column in record in table. The first form applies to columns that are not maps: each specified value is removed from the column. The second and third forms apply to map columns: if only a key is specified, then any key-value pair with the given key is removed, regardless of its value; if a value is given then a pair is removed only if both key and value match.
- It is not an error if the column does not contain the specified key or value or pair.
- Without ??if-exists, it is an error if record does not exist. With ??if-exists, this command does nothing if record does not exist.
[??if?exists] clear table record column...
- Sets each column in record in table to the empty set or empty map, as appropriate. This command applies only to columns that are allowed to be empty.
- Without ??if-exists, it is an error if record does not exist. With ??if-exists, this command does nothing if record does not exist.
[[email protected]name] create table column[:key]=value...
- Creates a new record in table and sets the initial values of each column. Columns not explicitly set will receive their default values. Outputs the UUID of the new row.
- If @name is specified, then the UUID for the new row may be referred to by that name elsewhere in the same ovs?vsctl invocation in contexts where a UUID is expected. Such references may precede or follow the create command.
- Records in the Open vSwitch database are significant only when they can be reached directly or indirectly from the Open_vSwitch table. Except for records in the QoS or Queue tables, records that are not reachable from the Open_vSwitch table are automatically deleted from the database. This deletion happens immediately, without waiting for additional ovs?vsctl commands or other database activity. Thus, a create command must generally be accompanied by additional commands within the same ovs?vsctl invocation to add a chain of references to the newly created record from the top-level Open_vSwitch record. The EXAMPLES section gives some examples that show how to do this.
[??if?exists] destroy table record...
- Deletes each specified record from table. Unless ??if?exists is specified, each records must exist.
??all destroy table
- Deletes all records from the table.
- The destroy command is only useful for records in the QoS or Queue tables. Records in other tables are automatically deleted from the database when they become unreachable from the Open_vSwitch table. This means that deleting the last reference to a record is sufficient for deleting the record itself. For records in these tables, destroy is silently ignored. See the EXAMPLES section below for more information.
Openvswitch手册(8)