summaryrefslogtreecommitdiff
path: root/ovsdb/ovsdb-server.1.in
Commit message (Collapse)AuthorAgeFilesLines
* ovsdb-server: Log database transactions for user requested tables.Dumitru Ceara2022-06-281-0/+7
| | | | | | | | | | | | | | | | | | | Add a new command, 'ovsdb-server/tlog-set DB:TABLE on|off', which allows the user to enable/disable transaction logging for specific databases and tables. By default, logging is disabled. Once enabled, logs are generated with level INFO and are also rate limited. If used with care, this command can be useful in analyzing production deployment performance issues, allowing the user to pin point bottlenecks without the need to enable wider debug logs, e.g., jsonrpc. A command to inspect the logging state is also added: 'ovsdb-server/tlog-list'. Signed-off-by: Dumitru Ceara <dceara@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* docs: Add documentation for ovsdb relay mode.Ilya Maximets2021-07-151-10/+17
| | | | | | | | | Main documentation for the service model and tutorial with the use case and configuration examples. Acked-by: Mark D. Gray <mark.d.gray@redhat.com> Acked-by: Dumitru Ceara <dceara@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* ovsdb-server: Integrate stream replay engine.Ilya Maximets2021-06-071-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change adds support of stream record/replay functionality to ovsdb-server. Since current replay engine doesn't work well with time-based events generated locally, it will work only with standalone databases for now (raft heavily depends on time). To use this functionality run: Recording: # create a directory for replay files. mkdir replay_dir # copy current db for later use by replay cp my_db ./replay_dir/my_db ovsdb-server --record=./replay_dir <OVSDB_ARGS> my_db # connect some clients and run some ovsdb transactions ovs-appctl -t ovsdb-server exit Replay: # restore db from the copy cp ./replay_dir/my_db my_db.for_replay ovsdb-server --replay=./replay_dir <OVSDB_ARGS> my_db.for_replay At this point ovsdb-server should execute all the same commands and transactions. Since the last command was 'exit' via unixctl, ovsdb-server will exit in the end. Signed-off-by: Ilya Maximets <i.maximets@ovn.org> Acked-by: Dumitru Ceara <dceara@redhat.com>
* raft: Make backlog thresholds configurable.Ilya Maximets2020-11-101-0/+5
| | | | | | | | | | New appctl 'cluster/set-backlog-threshold' to configure thresholds on backlog of raft jsonrpc connections. Could be used, for example, in some extreme conditions where size of a database expected to be very large, i.e. comparable with default 4GB threshold. Acked-by: Dumitru Ceara <dceara@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* ovsdb-server: Reclaim heap memory after compaction.Ilya Maximets2020-11-031-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Compaction happens at most once in 10 minutes. That is a big time interval for a heavy loaded ovsdb-server in cluster mode. In 10 minutes raft logs could grow up to tens of thousands of entries with tens of gigabytes in total size. While compaction cleans up raft log entries, the memory in many cases is not returned to the system, but kept in the heap of running ovsdb-server process, and it could stay in this condition for a really long time. In the end one performance spike could lead to a fast growth of the raft log and this memory will never (for a really long time) be released to the system even if the database if empty. Simple example how to reproduce with OVN sandbox: 1. make sandbox SANDBOXFLAGS='--nbdb-model=clustered --sbdb-model=clustered' 2. Run following script that creates 1 port group, adds 4000 acls and removes all of that in the end: # cat ../memory-test.sh pg_name=my_port_group export OVN_NB_DAEMON=$(ovn-nbctl --pidfile --detach --log-file -vsocket_util:off) ovn-nbctl pg-add $pg_name for i in $(seq 1 4000); do echo "Iteration: $i" ovn-nbctl --log acl-add $pg_name from-lport $i udp drop done ovn-nbctl acl-del $pg_name ovn-nbctl pg-del $pg_name ovs-appctl -t $(pwd)/sandbox/nb1 memory/show ovn-appctl -t ovn-nbctl exit --- 3. Stopping one of Northbound DB servers: ovs-appctl -t $(pwd)/sandbox/nb1 exit Make sure that ovsdb-server didn't compact the database before it was stopped. Now we have a db file on disk that contains 4000 fairly big transactions inside. 4. Trying to start same ovsdb-server with this file. # cd sandbox && ovsdb-server <...> nb1.db At this point ovsdb-server reads all the transactions from db file and performs all of them as fast as it can one by one. When it finishes this, raft log contains 4000 entries and ovsdb-server consumes (on my system) ~13GB of memory while database is empty. And libc will likely never return this memory back to system, or, at least, will hold it for a really long time. This patch adds a new command 'ovsdb-server/memory-trim-on-compaction'. It's disabled by default, but once enabled, ovsdb-server will call 'malloc_trim(0)' after every successful compaction to try to return unused heap memory back to system. This is glibc-specific, so we need to detect function availability in a build time. Disabled by default since it adds from 1% to 30% (depending on the current state) to the snapshot creation time and, also, next memory allocations will likely require requests to kernel and that might be slower. Could be enabled by default later if considered broadly beneficial. Reported-at: https://bugzilla.redhat.com/show_bug.cgi?id=1888829 Acked-by: Dumitru Ceara <dceara@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* RAFT: Add clarifying note for cluster/leave operation.Mark Michelson2020-05-121-0/+5
| | | | | | | | | | | | | | | | | | | | | We had a user express confusion about the state of a cluster after using cluster/leave. The user had a three server cluster and used cluster/leave to remove two servers from the cluster. The user expected that the single server left would not function since the quorum of two servers for a three server cluster was not met. In actuality, cluster/leave removes the server from the cluster and alters the cluster size in the process. Thus the single remaining server continued to function since quorum was reached. This documentation change makes it a bit more explicit that cluster/leave alters the size of the cluster and cites the three server down to one server case as an example. Reported-at: https://bugzilla.redhat.com/show_bug.cgi?id=1798158 Acked-by: Han Zhou <hzhou@ovn.org> Signed-off-by: Mark Michelson <mmichels@redhat.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* ovsdb replication: Provide option to configure probe interval.Numan Siddique2020-01-071-0/+5
| | | | | | | | | | | | | | | | | | | | | When ovsdb-server is in backup mode and connects to the active ovsdb-server for replication, and if takes more than 5 seconds to get the dump of the whole database, it will drop the connection soon after as the default probe interval is 5 seconds. This results in a snowball effect of reconnections to the active ovsdb-server. This patch handles or mitigates this issue by setting the default probe interval value to 60 seconds and provide the option to configure this value from the unixctl command. Other option could be increase the value of 'RECONNECT_DEFAULT_PROBE_INTERVAL' to a higher value. Acked-by: Mark Michelson <mmichels@redhat.com> Acked-by: Dumitru Ceara <dceara@redhat.com> Signed-off-by: Numan Siddique <numans@ovn.org> Signed-off-by: Ben Pfaff <blp@ovn.org>
* ovsdb raft: Support leader election time change online.Han Zhou2019-08-211-0/+15
| | | | | | | | | | | | A new unixctl command cluster/change-election-timer is implemented to change leader election timeout base value according to the scale needs. The change takes effect upon consensus of the cluster, implemented through the append-request RPC. A new field "election-timer" is added to raft log entry for this purpose. Signed-off-by: Han Zhou <hzhou8@ebay.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* ovsdb: Clarify that a server that leaves a cluster may never rejoin.Ben Pfaff2018-11-021-0/+3
| | | | | | | | This wasn't clear from the documentation. Reported-by; Paul Greenberg <greenpau@outlook.com> Reviewed-by: Yifeng Sun <pkusunyifeng@gmail.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* manpages: Include ovs.tmac in most man roots.Ilya Maximets2018-10-301-5/+1
| | | | | | | | | | | | | | | This allows to not redefine common macroses in every single file and allowes using things like .EX without warying about compatibility. manpages.mk updated automatically. Files that are already complete pages (i.e. has no *.in sources) wasn't touched, because this will require additional file manipulations and changes in makefiles/specs without serious profit. Signed-off-by: Ilya Maximets <i.maximets@samsung.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* ovsdb: Introduce experimental support for clustered databases.Ben Pfaff2018-03-241-5/+64
| | | | | | | | | | | | | | | | | | | This commit adds support for OVSDB clustering via Raft. Please read ovsdb(7) for information on how to set up a clustered database. It is simple and boils down to running "ovsdb-tool create-cluster" on one server and "ovsdb-tool join-cluster" on each of the others and then starting ovsdb-server in the usual way on all of them. One you have a clustered database, you configure ovn-controller and ovn-northd to use it by pointing them to all of the servers, e.g. where previously you might have said "tcp:1.2.3.4" was the database server, now you say that it is "tcp:1.2.3.4,tcp:5.6.7.8,tcp:9.10.11.12". This also adds support for database clustering to ovs-sandbox. Acked-by: Justin Pettit <jpettit@ovn.org> Tested-by: aginwala <aginwala@asu.edu> Signed-off-by: Ben Pfaff <blp@ovn.org>
* ovsdb-server: Add support for a built-in _Server database.Ben Pfaff2018-03-241-0/+6
| | | | | | | | | | | | | | | | | | | | | The _Server database is valuable primarily because it provides database clients a way to find out the details of changes to databases, schemas, etc. in a granular, natural way. Until now, the only way that the server could notify clients about these kinds of changes was to close the session; when the client reconnects, it is expected to reassess the server's state. One way to provide this kind of granular information would be to add specific JSON-RPC requests to obtain notifications for different kinds of changes, but since ovsdb-server already provides granular and flexible notification support for databases, using a database for the purpose is convenient and avoids duplicating functionality. Initially this database only reports databases' names and schemas, but when clustering support is added in a later commit it will also report important aspects of clustering and cluster status. Thus, this database also reduces the need to add JSON-RPC calls to retrieve information about new features. Signed-off-by: Ben Pfaff <blp@ovn.org>
* ovsdb: Loosen requirements for automatically compacting databases.Daniel Alvarez2018-03-091-2/+4
| | | | | | | | | | | | | | | | | | | | | Before this patch, the databases were automatically compacted when a transaction is logged when: * It's been > 10 minutes after last compaction AND * At least 100 commits have occurred AND * Database has grown at least 4x since last compaction (and it's > 10M) This patch changes the conditions as follows: * It's been > 10 minutes after last compaction AND * At least 100 commits have occurred AND either - It's been > 24 hours after the last compaction OR - Database has grown at least 2x since last compaction (and it's > 10M) Reported-by: Daniel Alvarez <dalvarez@redhat.com> Reported-at: https://mail.openvswitch.org/pipermail/ovs-discuss/2018-March/046309.html Signed-off-by: Daniel Alvarez <dalvarez@redhat.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* ovsdb-server: Update description for "compact" command in man page.Justin Pettit2017-12-241-2/+2
| | | | | | | | The man page indicated that multiple databases could be specified, but only one is allowed. Signed-off-by: Justin Pettit <jpettit@ovn.org> Acked-by: Ben Pfaff <blp@ovn.org>
* ovsdb: Improve documentation.Ben Pfaff2017-12-141-463/+79
| | | | | Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: Justin Pettit <jpettit@ovn.org>
* ovsdb-server: Document monitor_cond_change behavior for unmentioned tables.Ben Pfaff2017-12-081-1/+2
| | | | | | | It seems best to be explicit about this. Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: Justin Pettit <jpettit@ovn.org>
* ovsdb-server.1: Fix mention of wrong option.Russell Bryant2017-09-101-1/+1
| | | | | | | | The man page referenced a "--no-sync" option. The correct option is "--active". Signed-off-by: Russell Bryant <russell@ovn.org> Acked-by: Ben Pfaff <blp@ovn.org>
* ovsdb-server: Document clarification for some bad wording in RFC 7047.Ben Pfaff2017-08-041-0/+8
| | | | | | Reported-by: Harish Kanakaraju <hkanakaraju@vmware.com> Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: Andy Zhou <azhou@ovn.org>
* ovsdb: add support for role-based access controlsLance Richardson2017-06-081-0/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add suport for ovsdb RBAC (role-based access control). This includes: - Support for "RBAC_Role" table. A db schema containing a table by this name will enable role-based access controls using this table for RBAC role configuration. The "RBAC_Role" table has one row per role, with each row having a "name" column (role name) and a "permissions" column (map of table name to UUID of row in separate permission table.) The permission table has one row per access control configuration, with the following columns: "name" - name of table to which this row applies "authorization" - set of column names and column:key pairs to be compared against client ID to determine authorization status "insert_delete" - boolean, true if insertions and authorized deletions are allowed. "update" - Set of columns and column:key pairs for which authorized updates are allowed. - Support for a new "role" column in the remote configuration table. - Logic for applying the RBAC role and permission tables, in combination with session role from the remote connection table and client id, to determine whether operations modifying database contents should be permitted. - Support for specifying RBAC role string as a command-line option to ovsdb-tool (Ben Pfaff). Signed-off-by: Lance Richardson <lrichard@redhat.com> Co-authored-by: Ben Pfaff <blp@ovn.org> Signed-off-by: Ben Pfaff <blp@ovn.org>
* ovsdb: Prevent OVSDB server from replicating itself.Andy Zhou2017-02-131-0/+30
| | | | | | | | | | | | | | | Replication OVSDB server from itself is usually caused by configuration errors. Such configuration errors can lead to OVSDB server data loss. See "reported-at" for more details. This patch adds logics that prevent OVSDB server from replicating itself. Reported-by: Guishuai Li <ligs@dtdream.com> Reported-at: https://mail.openvswitch.org/pipermail/ovs-dev/2017-January/326963.html Suggested-by: Ben Pfaff <blp@ovn.org> Signed-off-by: Andy Zhou <azhou@ovn.org> Acked-by: Ben Pfaff <blp@ovn.org>
* Add support for specifying SSL connection parameters to ovsdbEthan Rahn2016-11-101-0/+3
| | | | | Signed-off-by: Ethan Rahn <erahn@arista.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* ovsdb-server: Implement read-only remote connection type.Lance Richardson2016-11-011-0/+2
| | | | | | | | | | | Adds a new "read_only" column for remote connections. Operations that would alter the state of the database are not permitted on connections for which the "read_only" column is set to "true". Signed-off-by: Lance Richardson <lrichard@redhat.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* ovsdb: Replication usability improvementsAndy Zhou2016-09-031-7/+17
| | | | | | | | | | | | | | | | | | | | | | | Based on feedbacks from initial HA manager integration, added the '--active' command line option and appctl command "ovsdb-server/sync-status. See man page updates for details. Added the RPL_S_INIT state in the state machine. This state is not strictly necessary for the replication state machine, but is introduced to make sure the state is update immediately when the state machine is reset, via replication_init(). Without it ovsdb/sync-status may display "replicating" or crash, if the command is issued between after replication_init() is called, but before the state variable is updated from replication_run(). Added a test to simulate the integration of HA manager with OVSDB server using replication. Other documentation and API improvements. Tested-by: Numan Siddique <nusiddiq@redhat.com> Signed-off-by: Andy Zhou <azhou@ovn.org> Acked-by: Ben Pfaff <blp@ovn.org>
* ovsdb: Make OVSDB backup sever read onlyAndy Zhou2016-08-141-0/+17
| | | | | | | | | | | | | When ovsdb-sever is running in the backup state, it would be nice to make sure there is no un-intended changes to the backup database. This patch makes the ovsdb server only accepts 'read' transactions as a backup server. When the server role is changed into an active server, all existing client connections will be reset. After reconnect, all clinet transactions will then be accepted. Signed-off-by: Andy Zhou <azhou@ovn.org> Acked-by: Ben Pfaff <blp@ovn.org>
* ovsdb: Rename replication related variable names.Andy Zhou2016-08-141-9/+9
| | | | | | | | | | | | Current replication code refers the other ovsdb-sever instance as a 'remote'. which is overloaded in ovsdb. Switching to use active/backup instead to make it less confusing. Active is the server that should be servicing the client, backup server is the server that boots with the --sync-from option. Signed-off-by: Andy Zhou <azhou@ovn.org> Acked-by: Ben Pfaff <blp@ovn.org>
* ovsdb: Add unixctl commands for OVSDB replicationMario Cabrera2016-07-191-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | Set and get the server to replicate from: ovsdb-server/set-remote-ovsdb-server {server} ovsdb-server/get-remote-ovsdb-server Set and get the replicated table blacklist: ovsdb-server/set-sync-excluded-tables {DB:table,...} ovsdb-server/get-sync-excluded-tables Connect to the configured server and start replication: ovsdb-server/connect-remote-ovsdb-server Disconnect from the remote server and stop replication, without dropping the replicated data: ovsdb-server/disconnect-remote-ovsdb-server Signed-off-by: Mario Cabrera <mario.cabrera@hpe.com> Signed-off-by: Andy Zhou <azhou@ovn.org> Acked-by: Andy Zhou <azhou@ovn.org>
* ovsdb: enable jsonrpc-server to service "monitor_cond_change" requestLiran Schour2016-07-181-1/+73
| | | | | | | | | | | ovsdb-server now accepts "monitor_cond_change" request. After conditions change we compose update notification according to the current state of the database without using a change list before sending reply to the monitor_cond_change request. Sees ovsdb-server (1) man page for details of monitor_cond_change. Signed-off-by: Liran Schour <lirans@il.ibm.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* ovsdb: generate update notifications for monitor_cond sessionLiran Schour2016-07-181-16/+127
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hold session's conditions in ovsdb_monitor_session_condition. Pass it to ovsdb_monitor for generating "update2" notifications. Add functions that can generate "update2" notification for a "monitor_cond" session. JSON cache is enabled only for session's with true condition only. "monitor_cond" and "monitor_cond_change" are RFC 7047 extensions described by ovsdb-server(1) manpage. Performance evaluation: OVN is the main candidate for conditional monitoring usage. It is clear that conditional monitoring reduces computation on the ovn-controller (client) side due to the reduced size of flow tables and update messages. Performance evaluation shows up to 75% computation reduction. However, performance evaluation shows also a reduction in computation on the SB ovsdb-server side proportional to the degree that each logical network is spread over physical hosts in the DC. Evaluation shows that in a realistic scenarios there is a computation reduction also in the server side. Evaluation on simulated environment of 50 hosts and 1000 logical ports shows the following results (cycles #): LN spread over # hosts| master | patch | change ------------------------------------------------------------- 1 | 24597200127 | 24339235374 | 1.0% 6 | 23788521572 | 19145229352 | 19.5% 12 | 23886405758 | 17913143176 | 25.0% 18 | 25812686279 | 23675094540 | 8.2% 24 | 28414671499 | 24770202308 | 12.8% 30 | 31487218890 | 28397543436 | 9.8% 36 | 36116993930 | 34105388739 | 5.5% 42 | 37898342465 | 38647139083 | -1.9% 48 | 41637996229 | 41846616306 | -0.5% 50 | 41679995357 | 43455565977 | -4.2% Signed-off-by: Liran Schour <lirans@il.ibm.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* ovsdb: add conditions utilities to support monitor_condLiran Schour2016-07-181-0/+6
| | | | | | | | | Change ovsdb_condition to be a 3-element json array or a boolean value (see ovsdb-server man page). Conditions utilities will be used later for conditional monitoring. Signed-off-by: Liran Schour <lirans@il.ibm.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* ovsdb: Introduce OVSDB replication featureMario Cabrera2016-06-241-0/+3
| | | | | | | | | | | | | | Replication is enabled by using the following option when starting the database server: --sync-from=server Where 'server' can take any form described in the ovsdb-client(1) manpage as an active connection. If this option is specified, the replication process is immediately started. Signed-off-by: Mario Cabrera <mario.cabrera@hpe.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* ovsdb: Force columns that contain weak references to be immutable.Ben Pfaff2016-04-111-0/+6
| | | | | | | | | | An immutable weak reference is a hole in the constraint system: if referenced rows are deleted, then the weak reference needs to change. Therefore, force columsn that contain weak references to be mutable. Reported-by: "Elluru, Krishna Mohan" <elluru.kri.mohan@hpe.com> Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: Ryan Moats <rmoats@us.ibm.com>
* ovsdb: Use previous snapshot size as an additional factor for compaction.Ben Pfaff2016-03-311-2/+5
| | | | | | | | | | | | | | Until now, the minimum database size before automatically compacting has been 10 MB, regardless of the inherent size of the data in the database. A couple of people have pointed out that this won't scale well to larger databases. This commit changes this criterion to 4 times the previously compacted size of the database, with 10 MB as a minimum. The 4x factor is suggested by Diego Ongaro's thesis, "Consensus: Bridging Theory and Practice", section 5.1.2 "When to snapshot". Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: Justin Pettit <jpettit@ovn.org>
* ovsdb: generate update2 notification for a monitor2 sessionAndy Zhou2015-12-111-0/+84
| | | | | | | | | | Add functions that can generate "update2" notification for a "monitor2" session. "monitor2" and "update2" are RFC 7047 extensions described by ovsdb-server(1) manpage. See the manpage changes for more details. Signed-off-by: Andy Zhou <azhou@nicira.com> Acked-by: Ben Pfaff <blp@ovn.org>
* ovsdb-server: Add the ability to push peer-cert.Gurucharan Shetty2015-08-211-0/+2
| | | | | | | | | | In OVN, ovsdb-server is the daemon that manages the databases and can be called as the central controller. So it would be nice for ovsdb-server to be able to push its self-signed certificate to all the other nodes where ovn-controller runs. Signed-off-by: Gurucharan Shetty <gshetty@nicira.com> Acked-by: Ben Pfaff <blp@nicira.com>
* ovsdb-server: Correct malformed error replies to certain JSON-RPC requests.Ben Pfaff2015-03-311-1/+28
| | | | | | | | I realized that this bug existed only a few weeks ago, but it has been there since the earliest ovsdb-server code. Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Alex Wang <alexw@nicira.com>
* Use the IANA-assigned ports for OpenFlow and OVSDB.Justin Pettit2015-03-121-4/+0
| | | | | | | | We've been warning about the change since 2.1, which was released a year ago. Signed-off-by: Justin Pettit <jpettit@nicira.com> Acked-by: Ben Pfaff <blp@nicira.com>
* ovsdb: Allow comparison on optional scalar typesTerry Wilson2014-08-201-0/+9
| | | | | | | | | | | | | This allows things like initiating a wait request on an interface ofport being set. When the optional field is empty and operation is != or excludes then the result is true; otherwise it is false. If the field is set then the field is compared normally for its type. Signed-off-by: Terry Wilson <twilson@redhat.com> [blp@nicira.com updated ovsdb-server(1) and NEWS.] Signed-off-by: Ben Pfaff <blp@nicira.com>
* ovsdb-server: Document RFC 7047 extensions to ovsdb <error>s.Ben Pfaff2014-07-221-0/+16
| | | | | | Reported-by: Madhu Venugopal <vmadhu@redhat.com> Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Justin Pettit <jpettit@nicira.com>
* ovsdb: Remove SPECS in favor of referring to RFC 7047.Ben Pfaff2014-04-041-0/+48
| | | | | | | Also, add some clarifications relative to RFC 7047 to ovsdb-server(1). Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Justin Pettit <jpettit@nicira.com>
* process: Make changes for Windows.Gurucharan Shetty2014-02-191-0/+2
| | | | | | | | | | | As of now, we are using the process subsystem in ovsdb-server to handle the "--run" command line option. That particular option is not used often and till deemed necessary, make it unsupported on Windows platform. Signed-off-by: Gurucharan Shetty <gshetty@nicira.com> Acked-by: Ben Pfaff <blp@nicira.com>
* daemon-windows: Add users for windows services.Gurucharan Shetty2014-02-041-0/+3
| | | | | | Start with ovs-vswitchd and ovsdb-server. Signed-off-by: Gurucharan Shetty <gshetty@nicira.com>
* ovs-controller: Rename test-controller and do not install or package.Ben Pfaff2013-11-021-2/+0
| | | | | | | | | Too many users have incorrectly assumed that ovs-controller is a necessary or desirable part of an Open vSwitch deployment. This commit should fix the problem by renaming it test-controller and removing it from the default install and from packaging. Signed-off-by: Ben Pfaff <blp@nicira.com>
* ovsdb-server: Document that --remote may be used multiple times.Ben Pfaff2013-10-041-0/+4
| | | | | | Reported-by: Vasiliy Tolstov <v.tolstov@selfip.ru> Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Justin Pettit <jpettit@nicira.com>
* stress: Remove essentially unused library.Ben Pfaff2013-07-151-1/+0
| | | | | | | | | | | | | The "stress" library was introduced years ago. We intended at the time to start using it to provoke errors in testing, to make sure that Open vSwitch was resilient against those errors. The intention was good, but there were few actual implementations of stress options, and the testing never materialized. Rather than adapt the stress library for thread safety, this seems like a good opportunity to remove it, so this commit does so. Signed-off-by: Ben Pfaff <blp@nicira.com>
* ovsdb-server: Add and remove databases during run time.Ben Pfaff2013-06-281-0/+23
| | | | | | | | | | | The commit allows a user to add a database file to a ovsdb-server during run time. One can also remove a database file from ovsdb-server's control. Feature #14595. Signed-off-by: Gurucharan Shetty <gshetty@nicira.com> Co-authored-by: Ben Pfaff <blp@nicira.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
* ovsdb-server: Make database name mandatory when specifying db paths.Gurucharan Shetty2013-06-261-10/+8
| | | | | | | | | | | | | | | Currently, if we have just one database, we can optionally skip the database name when providing the DB path for certain options (ex: --remote=db:[db,]table,column). But in case we have multiple databases, it is mandatory. With this commit, we make the database name mandatory. This provides increased flexibility for an upcoming commit that provides the ability to add and remove databases during run time. Feature #14595. Acked-by: Ben Pfaff <blp@nicira.com> Signed-off-by: Gurucharan Shetty <gshetty@nicira.com>
* ovsdb-server: Add commands for adding and removing remotes at runtime.Ben Pfaff2013-04-101-0/+28
| | | | | | | | | This will make it possible, in later commits, to make ovsdb-server connect to OVS managers only after ovs-vswitchd has completed its initial configuration. Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Ansis Atteka <aatteka@nicira.com>
* manpages: Put version number instead of date at bottom of page.Ben Pfaff2013-01-041-1/+1
| | | | | | | | | | | | | | | | | We're really good about keeping manpages up to date, but terrible at updating the dates at the bottom of the manpages. So, instead of using manually updated dates, this commit switches to using automatically updated version numbers. We can only use automatically updated version numbers for manpages that we preprocess, that is, the manpages whose sources end with ".in". This excludes a couple of manpages that don't actually get installed with OVS, such as the manpages for ovs-ctl and ovsdb-idlc. This commit doesn't change those manpages. It does change the ovs-bugtool manpage to one that is preprocessed so that we can use the version there. Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Ethan Jackson <ethan@nicira.com>
* ovs-ctl: Fix implementation of --extra-dbs.Henry Mai2012-10-191-5/+5
| | | | | | | | | | | | Commit b4e8d1705 (ovsdb-server: Add support for multiple databases.) added the --extra-dbs option to ovs-ctl but failed to add a specific database name to the SSL options passed to ovsdb-server. This meant that ovsdb-server would fail to start if --extra-dbs were actually used, because it didn't know which database to look in for the SSL settings. Signed-off-by: Henry Mai <hmai@nicira.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
* ovsdb-server: Add support for multiple databases.Ben Pfaff2012-09-241-15/+17
| | | | | | | | | | The OVSDB protocol has supported multiple databases for a long time, but the ovsdb-server implementation only supported one database at a time. This commit adds support for multiple databases. Feature #12353. Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Ethan Jackson <ethan@nicira.com>