Daemon

Roles

The agent daemon spawns threads to handle its different roles:

  • Listener Listens for peer daemon, collector, om node and svcmgr requests.

  • Monitor Handle cluster-wide service start and failover decisions and actions.

  • Scheduler Periodically run node and services schedulers.

  • Heartbeat threads Check if peers are alive and exchange node and service information. Run the quorum race on split-brain.

  • DNS powerdns remote backend, serving names for services backend ip addresses.

  • Collector Send cluster information to the collector. Only one node in the cluster sends. This role fails over transparently.

Daemon management

Start

$ om daemon start

On systems using systemd, the start is delegated to the systemd opensvc-agent unit, which triggers a om daemon start.

Stop

$ om daemon stop

The node advertizes its entering maintenance mode, so peer nodes will preserve the node’s last known data until the node.maintenance_grace_period expires.

Restart

$ om daemon restart

The node advertizes its entering maintenance mode, so peer nodes will preserve the node’s last known data until the maintenance_grace_period expires.

On systems using systemd, the restart is delegated to the systemd opensvc-agent unit, which triggers a om daemon stop followed by a om daemon start.

Debugging

Run the daemon in foreground:

$ om daemon start --foreground