Provided by: corosync_3.1.6-2ubuntu1_amd64 bug


       cmap_keys - Overview of keys stored in the Configuration Map


       There are 3 main types of keys stored in CMAP:

       * Mapping of values stored in the config file.

       * Runtime statistics.

       * Other user created values.

       In this man page, wild-cards have the usual meaning.


       These keys are in the icmap (default) map

              Internal  configuration  data.  All  keys  in this prefix are read only.  It's only
              useful for getting a list of loaded services.

              Values read from the configuration file. It's possible to change them  at  runtime.
              If  subsystem  specific  configuration  is  needed,  the  key  must  be in the form
              logging.logger_subsys.SERVICE.key, where SERVICE is upper case name of the  service
              and key is same as in the configuration file. All values are of string type.

              Values are read from the configuration file only (dynamic updates are not allowed).
              Each node element in the configuration file gets  assigned  its  position  starting
              from  zero.  So the first node from the config file has nodelist.node.0. prefix. To
              be a valid entry, each node must have ring0_addr key.  To change  the  nodeid  key,
              use a u32 data type.

              Local  node position is stored in local_node_pos key (RO), so it's easy to find out
              nodeid/ring addresses of the local node directly from cmap.

              Trigger keys for storing fplay data. It's recommended that you  use  the  corosync-
              blackbox command to change keys in this prefix.

              Set  to 'yes' to force the processor to move into the GATHER state.  This operation
              is dangerous and is not recommended.

              Contains the values actually in use by the totem membership protocol.  Values  here
              are  either  taken  from the Corosync configuration file, defaults or computed from
              entries in the config file. For information on individual keys please refer to  the
              man page corosync.conf(5).*
              Prefix with statistics for service engines. Each service has its own service_id key
              in the prefix with the name, where SERVICE is  the  lower
              case  name  of  the  service.  Inside  the service prefix is the number of messages
              received    and    sent    by    the    corosync    engine    in     the     format
              where EXEC_CALL is the internal id of the service call (so for  example  3  in  cpg
              service is receive of multicast message from other nodes).

              Prefix  containing  members of the totem single ring protocol. Each member keys has
              format runtime.totem.members.NODEID.KEY, where key is one of:

              config_version Config version of the member node.

              Prefix created by applications using SAM with CMAP integration.   It  contains  the
              following keys:

              recovery Recovery policy of the process. Can be one of quit or restart.

              poll_period Value passed in sam_initialize as a time_interval.

              last_updated Last time SAM received a heartbeat from the client.

              state  State  of the client. Can be one of failed, stopped, running and waiting for

              Information about users/groups  which  are  allowed  to  make  IPC  connections  to
              corosync.  Entries  loaded  from configuration file are stored with uidgid.config.*
              prefix and are pruned on configuration file reload. Dynamic  entries  has  uidgid.*
              prefix and a configuration file reload doesn't affect them.

              Tells votequorum to cancel waiting for all nodes at cluster startup. Can be used to
              unblock quorum if notes are known to be down. For pcs use only.

              Sets the timeout within which daemons that are registered for  cfg  callbacks  must
              respond to a corosync_cfg_try_shutdown() request. the default is 5000 mS

              This  value  will  be set to 1 (or created) when a corosync.conf reload is started,
              and set to 0 when the reload is completed. This allows interested subsystems to  do
              atomic  reconfiguration  rather  than  changing  each  key.  Note  that  individual
              add/change/delete notifications will still be sent during a reload.

              This key is similar to config.totemconfig_reload_in_progress but changed after  the
              totem  config  trigger  is  processed.  It  is  useful (mainly) for situations when
              nodelist.local_node_pos must be correctly reinstated before anything else.


       These keys are in the stats map.  All  keys  in  this  map  are  read-only.   Modification
       tracking  of  individual  keys is supported in the stats map, but not prefixes. Add/Delete
       operations are supported on prefixes though so you can track for new  ipc  connections  or
       knet interfaces.

              Prefix containing statistics about totem.  Typical key prefixes:

              commit_entered Number of times the processor entered COMMIT state.

              commit_token_lost Number of times the processor lost token in COMMIT state.

              consensus_timeouts How many times the processor timed out forming a consensus about

              continuous_gather How many times the processor was not able to reach consensus.

              firewall_enabled_or_nic_failure Set to 1 when  processor  was  not  able  to  reach
              consensus  for  long  time.  The  usual  reason  is  a badly configured firewall or
              connection failure.

              gather_entered Number of times the processor entered GATHER state.

              gather_token_lost Number of times the processor lost token in GATHER state.

              mcast_retx Number of retransmitted messages.

              mcast_rx Number of received multicast messages.

              mcast_tx Number of transmitted multicast messages.

              memb_commit_token_rx Number of received commit tokens.

              memb_commit_token_tx Number of transmitted commit tokens.

              memb_join_rx Number of received join messages.

              memb_join_tx Number of transmitted join messages.

              memb_merge_detect_rx Number of received member merge messages.

              memb_merge_detect_tx Number of transmitted member merge messages.

              orf_token_rx Number of received orf tokens.

              orf_token_tx Number of transmitted orf tokens.

              recovery_entered Number of times the processor entered recovery.

              recovery_token_lost Number of times the token was lost in recovery state.

              rx_msg_dropped Number of received messages which were dropped because they were not
              expected (as example multicast message in commit state).

              token_hold_cancel_rx Number of received token hold cancel messages.

              token_hold_cancel_tx Number of transmitted token hold cancel messages.

              mtt_rx_token  Mean  transit  time  of  token  in milliseconds. In other words, time
              between two consecutive token receives.

              avg_token_workload Average time in milliseconds of holding time  of  token  on  the
              current processor.

              avg_backlog_calc Average number of not yet sent messages on the current processor.

              Statistics  about the network traffic to and from each node and link when using tke
              kronosnet transport

              connected Whether the link is connected or not

              up_count Number of times this link has changed state to UP

              down_count Number of times this link has changed state to DOWN

              latency_ave / latency_max / latency_max Calculated latencies  of  this  link.  Note
              that  if  there  has  been no traffic on the link then latency_min will show a very
              large number.

              latency_samples The number of samples used to calculate the latency figures, so you
              have some idea of their precision.

              rx_data_packets / tx_data_packets The number of packets sent/received on this link

              rx_data_bytes / tx_data_bytes The number of bytes sent/received on this link

              rx_pmtu_packets  / tx_pmtu_packets The number of packets sent/received by the PMTUd

              rx_pmtu_bytes / tx_pmtu_bytes The  number  of  bytes  sent/received  by  the  PMTUd

              rx_ping_packets / tx_ping_packets The number of packets sent/received as pings

              rx_ping_bytes / tx_ping_bytes The number of bytes sent/received as pings

              rx_pong_packets / tx_pong_packets The number of packets sent/received as pongs

              rx_pong_bytes / tx_pong_bytes The number of bytes sent/received as pongs

              rx_total_packets  / tx_total_packets The total number of packets sent/received. The
              aggregate of all of the above packet stats

              rx_total_bytes / tx_total_bytes  The  total  number  of  bytes  sent/received.  The
              aggregate of all of the above bytes stats

              tx_data_retries   /   tx_pmtu_retries   /   tx_ping_retries   /  tx_pong_retries  /
              tx_total_retries Number of times a transmit operation had to be retried due to  the
              socket returning EAGAIN

              There  is information about total number of active connections from client programs
              at the time the request was made.  active number of closed connections during whole
              runtime  of  corosync  closed Total number of connections that have been made since
              corosync was started

              Each   IPC   connection   has   a   unique   ID.    This    is    in    the    form

              Typical keys in this prefix are:

              proc_name process name of connected process (unavailable on some platforms)

              dispatched number of dispatched messages.

              invalid_request  number  of  requests  made  by IPC which are invalid (calling non-
              existing call, ...).

              name contains short name of the IPC connection (unavailable on some platforms).

              overload is number of requests which were not processed because of overload.

              queue_size contains the number of messages in the queue waiting for send.

              recv_retries is the total number of interrupted receives.

              requests contains the number of requests made by IPC.

              responses is the number of responses sent to the IPC client.

              send_retries contains the total number of interrupted sends.

              service_id contains the ID of service which the IPC is connected to.

              If corosync is not scheduled after the required period of time  it  will  log  this
              event and also write an entry to the stats cmap under this key.  There can be up to
              10 entries (0..9) in here, when an 11th event happens the earliest will be removed.

              These events will always be in reverse order, so stats.schedmiss.0.* will always be
              the  latest  event  kept  and 9 the oldest. If you want to listen for notifications
              then you are recommended to listen for changes  to  stats.schedmiss.0.timestamp  or

              timestamp  The  time  of the event in ms since the Epoch (ie time_t * 1000 but with
              valid milliseconds).

              delay The time that corosync was paused (in ms, float value).

              These are write-only keys used to clear the stats for various subsystems

              totem Clears the pg & srp totem stats.

              knet Clears the knet stats

              ipc Clears the ipc stats

              schedmiss Clears the schedmiss stats

              all Clears all of the above stats


       Is the same as in the configuration file. eg: to add UID 500 use

       # corosync-cmapctl -s uidgid.uid.500 u8 1

       GID is similar, so to add a GID use

       # corosync-cmapctl -s uidgid.gid.500 u8 1

       For removal of permissions, simply delete the key

       # corosync-cmapctl -d uidgid.gid.500


       corosync_overview(7), corosync.conf(5), corosync-cmapctl(8)