Skip to content

canonical/microovn-operator

Repository files navigation

MicroOVN Operator

Charmhub Page

This is a thin layer over MicroOVN, to allow MicroOVN to be used within the charm ecosystem.

This is to be deployed alongside microcluster-token-distributor for cluster management.

Deployment

An example deployment looks something like this:

juju deploy microovn -n 3
juju deploy microcluster-token-distributor
juju relate microovn microcluster-token-distributor

This will give you 3 MicroOVN nodes, that should set up a stable cluster using the microcluster-token-distributor.

Integrations

MicroOVN supports a couple of useful relations:

  • ovsdb: which exposes the connection strings for the ovs northbound and southbound databases.
  • tls-certificates: which integrates with a certificate provider and then adds the application certificate provided into the chain for the certificates it issues to the MicroOVN units allowing for other applications to properly interface with it.
  • cos-agent: which exchanges information on several observability-related data streams at once.

Integrate with COS

This charm integrates with the Canonical Observability Stack (COS) using the Opentelemtry Collector.

Prerequisites:

  • A machine model for MicroOVN and Grafana Agent.
  • A Kubernetes model with COS Lite deployed. See COS Lite documentation for details.

Steps:

  1. Deploy OpenTelemetry Collector in the machine model:
juju deploy opentelemetry-collector --channel=2/stable
  1. Relate MicroOVN to OpenTelemetry Collector:
juju relate microovn opentelemetry-collector
  1. Connect OpenTelemetry Collector to COS Lite:
# In the COS model
juju offer prometheus-k8s:receive-remote-write prom-remote-write
juju offer loki-k8s:logging loki-logging

# In the machine model
juju consume <controller>/cos.prom-remote-write
juju consume <controller>/cos.loki-logging
juju relate opentelemetry-collector prom-remote-write
juju relate opentelemetry-collector loki-logging

Alerts and dashboards

Alert rules are packaged in src/prometheus_alert_rules/alerts.yaml:

AlertSummary
MicroOVNExporterDownOVN metrics endpoint missing for 5 minutes.
OvnControllerSouthboundDisconnectedovn-controller disconnected from SB DB.
OvnNorthdNoActiveInstanceNo or multiple active ovn-northd instances detected.
OvnNorthdNBConnectionDownovn-northd disconnected from NB DB.
OvnNorthdSBConnectionDownovn-northd disconnected from SB DB.
OvnNBDBNoLeaderNorthbound DB has no leader.
OvnNBDBMultipleLeadersNorthbound DB reports multiple leaders.
OvnSBDBNoLeaderSouthbound DB has no leader.
OvnSBDBMultipleLeadersSouthbound DB reports multiple leaders.
OvnDBClusterLogBacklogDB cluster has unapplied/uncommitted log entries.
OvnNorthdTransactionErrorsovn-northd reported transaction errors in last 10m.
OvnControllerTransactionErrorsovn-controller reported transaction errors in last 10m.
OvnControllerTransactionIncompleteovn-controller reported incomplete transactions in last 10m.
OvsVswitchdFileDescriptorsHighovs-vswitchd using >90% of file descriptors.

Dashboards are packaged in src/dashboards/:

DashboardGrafana nameSummary
central-north-daemon.jsonOVN Central / North DaemonOVN Northd health: DB connections, active/standby status, build info, and transaction error/incomplete rates.
central-northbound-db.jsonOVN Central / Northbound DBOVN Northbound DB cluster health: build/cluster info, leader/role, log status, connections, DB size, sessions, and monitors.
central-southbound-db.jsonOVN Central / Southbound DBOVN Southbound DB cluster health: build/cluster info, leader/role, log status, connections, DB size, sessions, and monitors.
host-controller.jsonOVN Host / ControllerOVN controller health: SB connectivity, build info, integration bridge flows/ports, and transaction/error counters.
host-ovs.jsonOVS / Host NetworkOVS datapath and bridge health: bridges, ports, flows, datapath stats, and vswitchd process metrics.

Other resources

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors