Driver node
Supported keywords:
- allowed_networks
- asset_env
- branch
- collector
- collector_feeder
- collector_server
- collector_timeout
- dbcompliance
- dbinsecure
- dblog
- dbopensvc
- env
- loc_addr
- loc_building
- loc_city
- loc_country
- loc_floor
- loc_rack
- loc_room
- loc_zip
- maintenance_grace_period
- max_key_size
- max_parallel
- max_peers
- min_avail_mem_pct
- min_avail_swap_pct
- ready_period
- rejoin_grace_period
- repo
- repocomp
- repopkg
- ruser
- sec_zone
- secure_fetch
- split_action
- sshkey
- team_integ
- team_support
Keyword allowed_networks
required: false
scopable: false
default: 10.0.0.0/8 172.16.0.0/24 192.168.0.0/16
convert: list
Description:
The list of cidr blocks the agents allows creation of backend network into.
Should be restricted to match your site constraints.
Keyword asset_env
required: false
scopable: false
Example:
asset_env=Production
Description:
An asset information to push to the collector on pushasset, overriding the currently stored value.
Keyword branch
required: false
scopable: false
Example:
branch=1.9
Description:
Set the targeted opensvc agent branch.
The downloaded upgrades will honor that branch.
If not set, the repopkg imposes the target branch via the current link.
It is recommended to set branch when repopkg points to a repository
you are not responsible for.
Keyword collector
required: false
scopable: false
Example:
collector=https://collector.opensvc.com
Description:
The system enables OpenSVC Collector 3 calls conditional upon the detection of the Collector 3 environment. If collector_feeder or collector_server are not explicitly defined, they are derived from this value.
Keyword collector_feeder
required: false
scopable: false
Default:
node.collector/feeder if node.collector is defined.
Example:
collector_feeder=https://collector.opensvc.com/feeder
Description:
OpenSVC enables Collector v3 feeder calls upon detection of a collector v3 instance.
Keyword collector_server
required: false
scopable: false
Default:
node.collector/server if node.collector is defined.
Example:
collector_server=https://collector.opensvc.com/server
Description:
OpenSVC enables Collector v3 server calls upon detection of a collector v3 instance.
Keyword collector_timeout
required: false
scopable: false
default: 5s
convert: duration
Description:
The maximum time to wait for a collector v3 call. Maximum allowed value 20.
Keyword dbcompliance
required: false
scopable: false
Default:
Same protocol, server and port as dbopensvc, but with a different path.
Example:
dbcompliance=https://collector.opensvc.com
Description:
Set the uri of the collector’s main rpc server.
The path part of the uri can be left unspecified.
Keyword dbinsecure
required: false
scopable: false
convert: bool
Description:
Set to true to disable the collector x509 certificate verification.
This should only be used for testing.
Keyword dblog
required: false
scopable: false
default: true
convert: bool
Description:
If true and dbopensvc is set, the objects action logs are reported to the
collector.
Set to false to disable log reporting to the collector, even if dbopensvc
is set.
Keyword dbopensvc
required: false
scopable: false
Example:
dbopensvc=https://collector.opensvc.com
Description:
Set the uri of the collector’s feed rpc server.
The path part of the uri can be left unspecified.
If dbopensvc is not set, the agent does not try to communicate with a
collector.
Keyword env
required: false
scopable: false
default: TST
Description:
A code like PRD, DEV, etc… the agent can use to enforce data protection policies:
- A non-PRD object instance can not be started on a PRD node
- A PRD object instance can be started on a non-PRD node (typically in a DRP situation)
Keyword loc_addr
required: false
scopable: false
Example:
loc_addr=7 rue blanche
Description:
An asset information to push to the collector on pushasset, overriding the currently stored value.
Keyword loc_building
required: false
scopable: false
Example:
loc_building=Crystal
Description:
An asset information to push to the collector on pushasset, overriding the currently stored value.
Keyword loc_city
required: false
scopable: false
Example:
loc_city=Paris
Description:
An asset information to push to the collector on pushasset, overriding the currently stored value.
Keyword loc_country
required: false
scopable: false
Example:
loc_country=fr
Description:
An asset information to push to the collector on pushasset, overriding the currently stored value.
Keyword loc_floor
required: false
scopable: false
Example:
loc_floor=21
Description:
An asset information to push to the collector on pushasset, overriding the currently stored value.
Keyword loc_rack
required: false
scopable: false
Example:
loc_rack=R42
Description:
An asset information to push to the collector on pushasset, overriding the currently stored value.
Keyword loc_room
required: false
scopable: false
Example:
loc_room=102
Description:
An asset information to push to the collector on pushasset, overriding the currently stored value.
Keyword loc_zip
required: false
scopable: false
Example:
loc_zip=75017
Description:
An asset information to push to the collector on pushasset, overriding the currently stored value.
Keyword maintenance_grace_period
required: false
scopable: false
default: 60
convert: duration
Description:
A duration expression, like 1m30s, defining how long the daemon keeps
remote node data while it is known to be in maintenance.
The maintenance state is announced to peers at the beginning of a daemon stop and daemon restart, but not on daemon shutdown.
As long as the remote node data is kept, the local daemon won’t takeover the instances running on the node in maintenance.
This parameter should be adjusted to span the daemon restart time.
Keyword max_key_size
required: false
scopable: false
default: 1mb
convert: size
Description:
Keyword max_parallel
required: false
scopable: false
default: 10
convert: int
Description:
Allow a maximum of max_parallel CRM commands to run simultaneously.
Applies to both:
om <selector> <action>commands.- commands executed by the daemon for orchestrations
Keyword max_peers
required: false
scopable: false
convert: int
Example:
max_peers=8
Description:
Keyword min_avail_mem_pct
required: false
scopable: false
default: 2
convert: int
Description:
The minimum required available memory to allow orchestration.
Keyword min_avail_swap_pct
required: false
scopable: false
default: 10
convert: int
Description:
The minimum required available swap to allow orchestration.
Keyword ready_period
required: false
scopable: false
default: 5s
convert: duration
Description:
A duration expression, like 10s, defining how long the daemon waits before
starting a service instance in ready state.
A peer node can preempt the start during this period.
Usually set to allow at least a couple of heartbeats to be received.
Keyword rejoin_grace_period
required: false
scopable: false
default: 90s
convert: duration
Description:
A duration expression, like 1m30s, defining how long a starting daemon waits
in rejoin state.
The daemon normally exits the rejoin state when it has received a heartbeat
from all its peer nodes.
During this phase, the orchestration is not allowed, to give a chance to place the services optimally when multiple daemon were restarted at the same time.
But if a peer stays down, the other daemons have to stop waiting at some point to let the service start, even if not on their natural placement leader.
This should be adjusted to:
2s + <longest reboot duration>
The worse case of multiple nodes reboot is when the longest reboot node is rebooted near the end of the reboot of the second longest rebooting node.
|==========>
n1 reboot
|--------------------|
n1 rejoin_grace_period
|================>
n1 in rejoin state
|=====================
n1 in idle state
|==================>
n2 reboot
|--------------------|
n2 rejoin_grace_period
|=====================
n2 in idle state
As a consequence, to minimize the rejoin_grace_period, prefer fast boot
nodes.
Keyword repo
required: false
scopable: false
Example:
repo=http://opensvc.repo.corp
Description:
Set the uri of the opensvc agent package repository and compliance modules gzipped tarball repository.
This parameter is used by the om node updatepkg and om node updatecomp
commands.
Expected repository structure:
ROOT
+- compliance
|+- compliance-100.tar.gz
|+- compliance-101.tar.gz
|- current -> compliance-101.tar.gz +- packages +- deb +- depot +- pkg +- sunos-pkg +- rpms |+- current -> 2.0/current |+- 1.9 | +- current -> opensvc-1.9-50.rpm | +- opensvc-1.9-49.rpm | - opensvc-1.9-50.rpm
|+- 2.0
| +- current -> opensvc-2.0-90.rpm
| - opensvc-2.0-90.rpm - tbz
Keyword repocomp
required: false
scopable: false
Example:
repocomp=http://compliance.repo.corp
Description:
Set the uri of the opensvc compliance modules repository.
A gzipped tarball is expected to be found there by the om node updatecomp
command.
Expected repository structure:
ROOT
+- compliance-100.tar.gz
+- compliance-101.tar.gz
`- current -> compliance-101.tar.gz
Keyword repopkg
required: false
scopable: false
Example:
repopkg=http://repo.opensvc.com
Description:
Set the uri of the opensvc agent package repository.
This parameter is used by the om node updatepkg command.
Expected repository structure:
ROOT
+- deb
+- depot
+- pkg
+- sunos-pkg
+- rpms
|+- current -> 2.0/current
|+- 1.9
| +- current -> opensvc-1.9-50.rpm
| +- opensvc-1.9-49.rpm
| - opensvc-1.9-50.rpm |+- 2.0 | +- current -> opensvc-2.0-90.rpm | - opensvc-2.0-90.rpm
`- tbz
Keyword ruser
required: false
scopable: false
default: root
Example:
ruser=root opensvc@node1
Description:
Set the remote user to use to login to a remote node with ssh and rsync.
The remote user must have the privileges to run as root the following commands on the remote node:
- om
- rsync
The default ruser is root for all nodes.
ruser accepts a list of user[@node].
If @node is omitted, user is considered the new default user.
Keyword sec_zone
required: false
scopable: false
Example:
sec_zone=dmz1
Description:
An asset information to push to the collector on pushasset, overriding the currently stored value.
Keyword secure_fetch
required: false
scopable: false
default: true
convert: bool
Description:
If set to false, disable ssl authentication checks on all uri fetches.
Keyword split_action
required: false
scopable: true
candidates: crash, reboot, disabled
default: crash
Description:
The node suicide method to use when a cluster split occurs and the node does not have the quorum.
This opting-out is meant to avoid double-start situations when the cluster is split.
Possible values are:
-
crashDefault.
-
rebootMay be preferred when the node power-on is not easy. No remote access via IPMI or equivalent for example.
-
disabledMay be used for test or training only (it does nothing).
Keyword sshkey
required: false
scopable: false
default: opensvc
Description:
The basename of the ssh public key served by the GET /node/name/:nodename/ssh/key.
For example, the opensvc default value serves ~/.ssh/opensvc.pub.
Keyword team_integ
required: false
scopable: false
Example:
team_integ=TINT
Description:
An asset information to push to the collector on pushasset, overriding the currently stored value.
Keyword team_support
required: false
scopable: false
Example:
team_support=TSUP
Description:
An asset information to push to the collector on pushasset, overriding the currently stored value.