Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/greenpau/ovsdb
OVSDB Management Protocol (RFC 7047) Client Library
https://github.com/greenpau/ovsdb
networking ovs ovs-system ovsdb
Last synced: 3 months ago
JSON representation
OVSDB Management Protocol (RFC 7047) Client Library
- Host: GitHub
- URL: https://github.com/greenpau/ovsdb
- Owner: greenpau
- License: apache-2.0
- Created: 2018-05-24T14:42:31.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2023-09-05T21:56:57.000Z (over 1 year ago)
- Last Synced: 2024-05-23T01:06:02.519Z (7 months ago)
- Topics: networking, ovs, ovs-system, ovsdb
- Language: Go
- Size: 92.8 KB
- Stars: 13
- Watchers: 5
- Forks: 16
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# OVSDB Management Protocol (RFC 7047) Client Library
This Go library implements a client for the [Open vSwitch Database Management
Protocol](https://tools.ietf.org/html/rfc7047).## Overview
The client can be used for communicating with:
* Open vSwitch database
* OVN Northbound and Southbound databases
* Application servicesThe following tables describe the implementation state for the protocol's RPC
methods and database operations.| **RFC Section** | **Method** | **Implemented?** |
| --- | --- | --- |
| 4.1.1. | List Databases (`list_dbs`) | :white_check_mark: |
| 4.1.2. | Get Schema (`get_schema`) | :white_check_mark: |
| 4.1.3. | Transact (`transact`) | :white_check_mark: :warning: `select` operation only |
| 4.1.4. | Cancel | :white_medium_square: |
| 4.1.5. | Monitor | :white_medium_square: |
| 4.1.6. | Update Notification | :white_medium_square: |
| 4.1.7. | Monitor Cancellation | :white_medium_square: |
| 4.1.8. | Lock Operations | :white_medium_square: |
| 4.1.9. | Locked Notification | :white_medium_square: |
| 4.1.10. | Stolen Notification | :white_medium_square: |
| 4.1.11. | Echo (`echo`)| :white_check_mark: || **RFC Section** | **Operation** | **Implemented?** |
| --- | --- | --- |
| 5.2.1. | Insert | :white_medium_square: |
| 5.2.2. | Select | :white_check_mark: |
| 5.2.3. | Update | :white_medium_square: |
| 5.2.4. | Mutate | :white_medium_square: |
| 5.2.5. | Delete | :white_medium_square: |
| 5.2.6. | Wait | :white_medium_square: |
| 5.2.7. | Commit | :white_medium_square: |
| 5.2.8. | Abort | :white_medium_square: |
| 5.2.9. | Comment | :white_medium_square: |
| 5.2.10. | Assert | :white_medium_square: |Additionally, the library implements the following application calls:
* `list-commands`
* `cluster/status`
* `coverage/show`The goals of the [`OWNERS`](OWNERS) is:
* implementing all methods and operations described in the RPC
* documenting all the implemented methods and operations
* achieving and maintaining test coverage of 80% or higher, and
* providing ongoing supportThere are alternatives to this client library. The following list contains
notable libraries written in Go:* [digitalocean/go-openvswitch](https://github.com/digitalocean/go-openvswitch)
* [socketplane/libovsdb](https://github.com/socketplane/libovsdb)
* [eBay/go-ovn](https://github.com/eBay/go-ovn)Currently, the best example how to use the library
is [OVN Exporter for Prometheus](https://github.com/greenpau/ovn_exporter/).