Menu

COMMAND_RCMDMGNT

Carlos Celso de Almeida

Return HOME or USAGE

Name

rcmdmgnt - Parallel Remote Command Configuration Manager

Description

This tools was created to configure, manage users tags and system
attributes for the 'rcmd tools'.

The RCMD now is based SQL database and this module was created to manage
the catalog in the database.

Usage

 # rcmdmgnt
        [ -add | -delete | -list ] ... [nodelist]
        [ -assign | -unassign ] [ -option ] ... [nodelist]
        [ -disable | -enable ] ... [nodelist]
        [ -probe ] ... [nodelist]
        [ -plugin ] ...
        [ -sqlcreds ] ...

Commands

 -add   add new node
 -assign     assign users or system tags
 -delete     delete node
 -disable    disable node
 -enable     enable node
 -list       list cataloged nodes
 -plugin     run plugins
 -probe      update node's system informantion
 -sqlcreds   configure sql credentials
 -unassign   unassign users or system tags

Options

The options depend on the command operation. They can be:

-attempts [value]
     number of retry until abort
     default: 3 (run, test and probe) or 1 (ping)

-config [fullpath-config-file]
     config file
     default: /etc/rcmd.d/rcmd.conf

db [value]
     database name.
     default: rcmd

dbfile [fullpath-file-name]
     database filename for SQLite engine only.
     default: /var/lib/rcmd/db/rcmd.db

-debug [module1]:[level1],[module2]:[level2],...
     enable debug mode
     default: no debug enabled

     module  description
     ------  ---------------------------------------------------
     all     debug all levels (note recommeded)
     cmd     action to do
     lib     external functions
     call    callback functions
     plugin  plugin calls
     sql     commands
     ------  ---------------------------------------------------

     level  tracking description
     -----  ----------------------------------------------------
     1      module start/completed
     2      module stage1
     3      module stage2
     4      module stage3
     5      module stage4 or sql callbacks
     6      module stage5 or sql where
     7      module stage6 or sql command
     8      inputs 
     9      returns
     -----  ----------------------------------------------------

    CAUTION: The tracking sql module or inputs or returns may expore
    Login/Passord SQL

-description
     show default help information

-detail
     show node fields split into rows

driver [driver-name]
     database connector drive. 
     must be: sqlite, mariadb, mysql, postgres

-examples
     show examples in help context

-fields [field1,field2,...]
     show specific node's fields.

         -------  --------------------------------------------------
         node     node name
         status   last probe status
         tags     users tags
         probe    last probe time
         created  created time
         _system  last probe system attributes
         updated  last update time
         -------  --------------------------------------------------

-help|?
     this help

-inactive
     action in inactive nodes.
     Default: active nodes (enabled or errors state).

    NOTE: inactive nodes are deprecated in the system. Use inactive
    status to keep the nodes as history information.

    NOTE: You can switch any status node to inactive. Enabling inactive
    node will put as disable status and new enable or probe is required.

-license
     show license aggrement.

-maxthreads [value]
     number of concurrent threads
     beware: a large number of threads may cause DoS on your client.
     default: 64

-noheaders
     suppress headers summaries and briefings

-nop|non-iteractive
     Non iteractive execution command and supress approve question.

     Disables approval requests befofe each updates.

    CAUTION: This option disable the confirmation requests and all
    updates will be done. Use wisely.

-notitle
     suppress title text, only results will be sent

-options [option1,option2,...]
     defines specifics or specials options to connect on the node.

-read [login:password:confirm]
     SQL read login credential, used for 'rcmd' command.
     The 'colon' is required between the values.

     If the 'read' and/or 'update' option are omitted, they will be prompted.

-refresh
     Force refresh in '/etc/rcmd.d/rcmd.conf' file, otherwise,
     changes will be sent in stdout (copy/paste is required)

-schema [schema-name]
     SQL schema name in database configuration, required in postgres engine.
     default: no defaults.

-server [ip-or-hostname]
     SQL server name, you can use IP or hostname.

-showconfig
     Config 'rcmd.conf' file in mapped in memory.

-show-disabled|sd
     Show disabled nodes.

-show-enable|se
     Show enabled nodes.

-show-erros|any-errors|show-any|sa
     Show errors messages.

-show-nonprobe
     show non-probe message sent by the node

-show-noresponse
     show no response nodes messages

    NOTE: The 'no_response' cannot be an error. If the commands sent
    complete without STDOUT messages, it will give the status
    'no_response'.

-show-options
     show extended node options.

-show-plugin|sp
     Show plugin configuration

show-system|ss
     Show node's probe system information.

show-tags|st
     Show node's user information.

-ssh-cipher|sc [specs]
     Selects the cipher specification for encrypting the session.
     cipher_spec is a comma-separated list of ciphers listed in order of preference.
     See the Ciphers keyword in "man ssh_config" for more information.

-ssh-command [fullpath-ssh-command]
     ssh fulpath command
     default: /usr/bin/ssh

-ssh-enable-tty
     Enable pseudo-terminal allocation.
     Defaults: is disabled, see '-T' option in "man ssh"

-ssh-login [default-user-login]
     default ssh user connection
     default: current user login session

-ssh-logwarn
     show ssh warn messages
     default: only error messages

-ssh-options|so [ssh-option] ...
     additional ssh option (ssh option '-o')
     default: no additional options will be used

-ssh-port [value]
     TCPIP port number
     default: 22

-ssh-private-key|ssh-key [ssh-key]
     private ssh keys
     default: current users '.ssh' folder

-system [item=value]
     define system tag information

-table [table-name]
     SQL table name in database.
     default: node

-tags [tag-value]
     define users tag information.

-test-only
     do not send any remote command, only test the context and syntax.

-time-grace [value]
     sets the maximum waiting time for the abortion process to complete.
     defaults: 5 seconds

     NOTE: The abort process has already been submitted and cannot be interrupted.

-time-probe [value]
     forced command abort due to probe execution timeout.
     sets the maximum time in seconds to execute the probe.
     defaults: 10 secondes

     BEWARE: Forced abort is local and may causes broken pipe connection
     where remote commands can continue to execute without returning any results.

-timeout [value]
     number of seconds on the timeout option
     default: 10

-update [login:password:confirm]
     SQL update login credential, used for 'rcmd' and 'rcmdmgnt' command.
     The 'colon' is required between the values.

     If the 'read' and/or 'update' option are omitted, they will be prompted.

-use-sudo
     enforce SUDO command, required for 'probe' process without 'root login'.

     NOTE: The SUDO command is auto detect for non-users, is not required.

     NOTE: See: 'rcmd -help -probe'

-version
     show current command verion

-with-enabled|we
     select node enabled in 'probe' process.
     Default: only non-enabled nodes will be selected.

-with-node-options
     enable node options feature
     default: disabled

     You can add on /etc/rcmd.d/rcmd.conf to enable by default

     set NODE_OPTIONS 1

     see: -without-node-options

-without-noanswer-notify
     suppresses the 'noanswer' notification sent at the end of the rcmd process.

         no_match
         no_response

-without-node-options
     disable node options feature
     default: enabled

     You can add on /etc/rcmd.d/rcmd.conf to disable by default

     set NODE_OPTIONS 0

     see: -with-node-options

Nodelist

The 'nodelist' consists of the list of nodes that will be affected, it
can be in the following format:

 1) Nodes separed by spaces.

 # rcmdmgnt ... node1 node2 node3

 2) Nodes separed by comma.

 # rcmdmgnt ... node1,node2,node3

 3) Nodes separed by spaces and/or comma.

 # rcmdmgnt ... node1,node2 node3,node

 4) Nodes by match mask (not valid for 'add' command).

 # rcmdmgnt ...  node*  *node  no*de

 node*          prefixed
 *node          sufixed
 no*de          middle

The match mask can be applied on 'users tags' and 'system tags' options.
, =head3 Users Tags

This options can be used to manipulate the nodes commands (add, delete,
assign, unassign, enable, disable, probe):

The users tags can be add and/or removed using the assign/unassign
function. They are of great help to associate identifications of groups,
application tools, specific characteristics of a node or application.

We highly recommended assigning user's tags to create affinity node
groups.

System Attributes

The system tags (or system attributes) cannot be changed, they are
automatically mapped from probe command.

The probe will run in the clients to take the system attributes. The
mapped data will be loaded into the database for queris or can be used
by 'system' operation. the process will map the following information:

 system-id      description
 -------------  --------------------------------------------
 hostname:      hostname information
 arch:          HW Archtecture
 class:         unix, windows, etc
 cpu:           Total core 
 core:          Number of core per socket
 dist:          Distribution name
 hardware:      bare, vmware, kvm, etc
 kernel:        Kernel version
 machineid:     Machineid
 manufactor:    HW Vendor
 memory:        RAM in KB
 product:       HW Product
 platform:      32 or 64 bit
 sn:            SerialNumber
 socket:        Number of sockets
 system:        AIX, Solaris, Linux, etc
 threads:       Number of threads per core
 update:        Kernel level
 vendor:        Distribution vendor
 version:       Distribution version
 -------------  --------------------------------------------

NOTE: The Linux Distribuitions will be classified as 'class=unix' and
'system=linux' and the distribuition name will be sets on the
'dist=distname'.

NOTE: The field 'sn' (serial number) is user-defined information. The
system operation receives this information based on the BIOS and/or
platform initialization. In most scenarios, this information must be
normalized by customers to establish the real value.

ENDED


Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.