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.
$ om node daemon start
On systems using systemd, the start is delegated to the systemd
opensvc-agent unit, which triggers a om node daemon start.
$ om node 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.
$ om node 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 node daemon stop followed by a om node daemon start.
Run the daemon in foreground:
$ om daemon start --foreground
- Agent Daemon Listener
- Agent Daemon Monitor
- Agent Daemon Scheduler
- Agent Heartbeats
- Agent Daemon Quorum