mmcallhome command
Manages the call home operations.
Synopsis
mmcallhome group add groupName server [--node {all | childNode[,childNode...]}]
or
mmcallhome group list [--long] [-Y]
or
mmcallhome group delete GroupName
or
mmcallhome group auto [--server ServerName1[,ServerName2...]]
[--nodes {all | ChildNode1[,ChildNode2...]}]
[--force]
[--group-names {group1[,group2...]}]
[--enable [ {LICENSE | ACCEPT}] |--disable]
or
mmcallhome group change GroupName {
--add-nodes childNode1[,childNode2...]|
--delete-nodes childNode1 [,childNode2...]|
--server <ServerName>}...
or
mmcallhome capability list [-Y]
or
mmcallhome capability enable [{LICENSE | ACCEPT}]
or
mmcallhome capability disable
or
mmcallhome info list [-Y]
or
mmcallhome info change { --customer-name CustomerName | --customer-id CustomerId
| --email Email | --country-code CountryCode
| --type { production | test } }...
or
mmcallhome proxy enable [--with-proxy-auth]
or
mmcallhome proxy disable
or
mmcallhome proxy list [-Y]
or
mmcallhome proxy change { --proxy-location ProxyLocation | --proxy-port ProxyPort
| --proxy-username ProxyUsername | --proxy-password ProxyPassword } ...
or
mmcallhome schedule list [-Y]
or
mmcallhome schedule add --task { DAILY | WEEKLY | EVENT }
or
mmcallhome schedule delete --task { DAILY | WEEKLY | EVENT }
or
mmcallhome run GatherSend --task { DAILY | WEEKLY }
or
mmcallhome run SendFile --file file [--desc DESC | --pmr {xxxxx.yyy.zzz | TSxxxxxxxxx}]
or
mmcallhome status list [--task { DAILY | WEEKLY | SENDFILE | SENDPMRDATA }]
[--numbers num] [--verbose ] [-Y]
or
mmcallhome status diff [--last-days num]|[--old dcFileName [--new dcFileName]]
[--verbose] [-Y]
or
mmcallhome status delete {--task { DAILY | WEEKLY | SENDFILE | SENDPMRDATA } |
--startTime time | --startTimeBefore time | --all }
or
mmcallhome test connection
Availability
Available on all IBM Storage Scale editions.
Description
Use the mmcallhome command to configure, enable, run, schedule, and monitor call home related tasks in the IBM Storage Scale cluster.
By using this command, predefined data from each node can be collected regularly or on demand and uploaded to IBM®. IBM support and development teams can use this data to understand how the customers are using IBM Storage Scale. The data can be referenced for problem analysis if an issue is reported. The data can also possibly be used to provide advice to customers about failure prevention.
Since an IBM Storage Scale cluster consists of multiple nodes, the call home feature introduces the concept of the call home group to manage them. A call home group consists of one gateway node (which is defined as a call home node) and one or more client nodes (which are defined as call home child nodes). The call home node initiates the data collection from the call home child nodes and uploads data to IBM by using the HTTPS protocol.
Since the call home group can be configured independently, the group concept can be used for special conditions. For example, for split clusters that require all the group members to be on the same side to avoid unnecessary data transfer over large distance. Also, a call home group can be mapped to a node group or other cluster-specific attributes. The call home node needs to have access to the external network through port 443. Each cluster node can be only a member of at most one group. Multiple call home groups can be defined within an IBM Storage Scale cluster.
For more information about the call home feature, see Monitoring the IBM Storage Scale system by using call home.
Parameters
- group
- Manages topology with one of the following actions:
- add
- Creates a call home group, which is a group of nodes that consist of one call home node and
multiple call home child nodes. Multiple call home groups can be configured within an IBM Storage Scale cluster.
The call home node initiates data collection within the call home group and uploads the data package to the IBM server.
- group
- Specifies the name of the call home group.Note: The group name can consist of any alphanumeric characters and these nonalphanumeric characters: '-', '_', and '.'.Important: The group name cannot be
global
. Call home usesglobal
as the default name for the group that contains the global values that are applied to all groups.
- server
- Specifies the name of the call home server that belongs to the call home group.Note: The server name can consist of any alphanumeric characters and these nonalphanumeric characters: '-', '_', and '.
- --node childNode
- Specifies the call home child nodes. Note: The child node name can consist of any alphanumeric characters and these nonalphanumeric characters: '-', '_', and '.
- --node all
- Selects all Linux® nodes in the IBM Storage Scale cluster. When this parameter is omitted, only the call home node is added to the child node. Additionally, call home node is always added to the child node group.
- list
- Displays the configured call home groups.Note:
If nodes that are members of a call home group are deleted, or their long admin node names (including domain) are changed, the mmcallhome group list command displays
------
instead of the names of such nodes. In such cases, you must delete the corresponding groups, and then create new groups if needed. The deletion of the call home groups is not done automatically since in some cases, which might cause the deletion of the call home groups without re-creating them.- --long
- Displays the node names as long admin node names. Without --long, the node names are listed as short admin node names.
- -Y
- Displays the command output in a parseable format with a colon (:) as a field delimiter. Each
column is described by a header.Note: Fields that have a colon (:) are encoded to prevent confusion. For the set of characters that might be encoded, see the command documentation of mmclidecode. Use the mmclidecode command to decode the field.
- delete
- Deletes the specified call home group.
- GroupName
- Specifies the name of the call home group that needs to be deleted.
- auto
- Enables automatic creation of call home groups.
- --server ServerName
- Specifies one or more call home servers. Each server must be able to access the IBM call home servers over the internet. If no server is
specified, the system detects call home node automatically. In this scenario, the system checks if
the detected node can access the internet. If a server is specified, the defined nodes are used as
call home nodes without any further check.
If a proxy is needed, specify the proxy by using the mmcallhome proxy command before running the mmcallhome group auto command.
Note: If this option is specified, then the corresponding nodes are assumed to be able to access the IBM call home servers over the internet and no further checks in this regard are performed. If this option is not used, the mmcallhome command tests all potential call home nodes for the connectivity to the IBM call home servers. In this case, if a proxy is configured by using the mmcallhome proxy command, this proxy is used to check the connectivity, otherwise a direct connection is attempted.
- --nodes
- Specifies the names of the call home child nodes to distribute into groups.
- all
- Specifies that all cluster nodes must be distributed into call home groups.
- --force
- Creates new groups after deleting the existing groups. Note: If this option is selected but no server nodes are specified using the --server option or detected automatically, the operation is aborted and the existing groups are not deleted.
- --group-names
- Specifies the names of the call home groups to create. The number of call home group names must be bigger or equal to the number of created call home groups or the execution of the mmcallhome group auto command is aborted with an error. If this option is not specified, the automatically created groups are named in the following way: autoGroup_1, autoGroup_2, ...
- --enable
- Enables the cluster for call home functionality. If no other option is defined, the
enable parameter shows the license and asks for acceptance by default.
- LICENSE
- Shows license and terminate.
- ACCEPT
- Does not show license and assumes that the license is accepted.
- --disable
- Disable call home. Note: All groups are disabled.
- change
- Changes an existing call home group by adding new child nodes to it or removing existing child
nodes from the group.
- GroupName
- Specifies the name of an existing call home group.
- --add-nodes ChildNode1[,ChildNode2...]
- Specifies the cluster nodes to add to the call home group as call home child nodes.
- --delete-nodes ChildNode1[,ChildNode2...]
- Specifies the call home child nodes that belong to the specified group, and must be removed.
- --server <ServerName>
- Allows changing the current call home server node of the selected group to a new server node. The existing call home history, which is associated with the original call home server node, is not migrated to the new server node. In this scenario, the output of the mmcallhome status list command is initially empty after the switch. This option might be used to change the call home server node of a group before deleting the old server node from the IBM Storage Scale cluster.
- capability
- Manages the overall call home activities with one of the following actions:
- list
- Displays the configured customer information such as the current enable or disable status, call
home node, and call home child nodes.
- -Y
- Displays the command output in a parseable format with a colon (:) as a field delimiter. Each
column is described by a header.Note: Fields that have a colon (:) are encoded to prevent confusion. For the set of characters that might be encoded, see the command documentation of mmclidecode. Use the mmclidecode command to decode the field.
- enable
- Enables the call home service.
- disable
- Disables the currently running call home service.
- info
- Manages customer data with one of the following actions:
- list
- Displays configured parameter values.
- -Y
- Displays the command output in a parseable format with a colon (:) as a field delimiter. Each
column is described by a header.Note: Fields that have a colon (:) are encoded to prevent confusion. For the set of characters that might be encoded, see the command documentation of mmclidecode. Use the mmclidecode command to decode the field.
- change
- Sets parameter values.
- [--key value]
- Indicates a placeholder that points to the following table:
Table 1. Key-value Key Value customer-name Business/company name This name can consist of any alphanumeric characters and these nonalphanumeric characters: '-', '_', '.', ' ', ','
customer-id Customer ID This can consist of any alphanumeric characters and the following nonalphanumeric characters:-
_
.
In special cases, the following customer IDs are used:- For developer edition: DEVLIC
- For test edition for customers who are trying IBM Storage Scale before buying: TRYBUY
email Group or task email address only.
Ensure that the call home contact information is not a personal e-mail address, and is directed towards a group or task e-mail address. For example, itsupport@mycompanyname.com.
country-code The country code in the ISO 3166-1 alpha-2 format. For example, US for USA, DE for Germany. For more details, see ISO 3166-1 alpha-2.
The country code must correspond to the contact country. The contact country information can be found in the same source where the customer ID is found. The value is not unique throughout all countries, a country code is also required to unambiguously identify a customer.
type Marks the respective call home cluster as a test or a production system. In case this parameter is not explicitly set, the value is set to production by default.
- proxy
- Configures proxy-related parameters with one of the following actions:
- enable
- Enables call home to use a proxy for its uploads. Requires the call home settings
proxy-location and proxy-port to be defined.
- [--with-proxy-auth]
- Enables user ID and password authentication to the proxy server. Requires the call home settings proxy-username and proxy-password to be set.
- disable
- Disables proxy access.
- list
- Displays the currently configured proxy-related parameter values.
- -Y
- Displays the command output in a parseable format with a colon (:) as a field delimiter. Each
column is described by a header.Note: Fields that have a colon (:) are encoded to prevent confusion. For the set of characters that might be encoded, see the command documentation of mmclidecode. Use the mmclidecode command to decode the field.
- change
- Modifies the proxy configuration.
- [--key value]
- Indicates a placeholder that points to the following table.
Table 2. key-value Key Value proxy-location Proxy server address (IP address/fully qualified domain name) proxy-port Proxy server port number proxy-username Proxy server user name This name can consist of any alphanumeric and nonalphanumeric characters.
proxy-password Proxy server password This can consist of any alphanumeric and nonalphanumeric characters.
- schedule
- Configures scheduling of call home tasks with one of the following actions:
- list
- Shows if the
scheduled data collection tasks or the event-based uploads feature are enabled. For more information
about the collected information, see Types of call home data upload
- -Y
- Displays the command output in a parseable format with a colon (:) as a field delimiter. Each
column is described by a header.Note: Fields that have a colon (:) are encoded to prevent confusion. For the set of characters that might be encoded, see the command documentation of mmclidecode. Use the mmclidecode command to decode the field.
- add --task {DAILY | WEEKLY | EVENT}
-
Enables the specified-scheduled task. The specified task can be a daily or weekly data collection and upload operation, or an event-based mini-snap creation.
- delete --task {DAILY | WEEKLY | EVENT}
-
Disables the specified-scheduled task. The specified task can be a daily or weekly data collection and upload operation, or an event-based mini-snap creation.
Note: If you disable the event-based uploads, then the unified call home feature for Elastic Storage Server (ESS) systems is also disabled to ensure that service tickets are not automatically created for any hardware failures.
- run
- Executes one-time gather or send tasks with one of the following options:
- GatherSend
- Executes a one-time gather-send task, which collects the predefined data and uploads it.
- --task daily
- Chooses the data to be uploaded, as specified under the
daily
andall
data collection schedules. For more information about thedaily
andall
data collection schedules, see Scheduled data upload.
- --task weekly
- Chooses the data to be uploaded, as specified under the
weekly
andall
data collection schedules. For more information about thedaily
andall
data collection schedules, see Scheduled data upload.
- SendFile
- Uploads a specified
file to IBM.
- --file file
- Specifies the name of the file that needs to be uploaded.Note: The name can consist of any alphanumeric characters and these nonalphanumeric characters: '-', '_', '.'
- [--desc DESC]
- Specifies the description of the file that needs to be uploaded. This is added to the data
package file name.Note: This text can consist of any alphanumeric characters and these nonalphanumeric characters: '-', '_', '.', ' ', ','
- [--pmr {xxxxx.yyy.zzz | TSxxxxxxxxx}]
- Specifies either the dot-delimited PMR descriptor, where x, y and z could be digits, and y might additionally be a letter, or a Salesforce case descriptor, where each x is a digit.
- status
- Displays status of the call home tasks with one of the following options:
- list
- Displays the status of the currently running and the already completed call home tasks.
- --task {DAILY | WEEKLY | SENDFILE | SENDPMRDATA}
- Specifies the requested call home task type. The following types are available:
- DAILY
- Daily executed scheduled uploads.
- WEEKLY
- Weekly executed scheduled uploads.
- SENDFILE
- Files that are sent on demand, that are not PMR-related or Salesforce case related.
- SENDPMRDATA
- Files that are sent on demand that are either PMR-related or Salesforce case related.
- [--numbers num]
- Specifies the maximum number of latest tasks that can be listed for each requested task type.
- -Y
- Displays the command output in a parseable format with a colon (:) as a field delimiter. Each
column is described by a header.Note: Fields that have a colon (:) are encoded to prevent confusion. For the set of characters that might be encoded, see the command documentation of mmclidecode. Use the mmclidecode command to decode the field.
- --verbose
- Lists additional information.
- Group: The name of the call home group where the task was executed.
- Task: Type of the executed call home task: DAILY, WEEKLY, SENDFILE or SENDPMRDATA.
- Start Time: A time stamp, specifying the start time of the call home task. This timestamp is also used to uniquely identify a call home task within a call home group.
- Updated Time: A time stamp of the last status update for the corresponding task.
- Status: You can get one of the following values as status information:
- success
- running
- failed
- minor error
- aborted
- RC or Step:
- For a task that is currently running, the current execution step is displayed.
- For a successful task, RC=0 is displayed.
- For a failed task, the failure details are displayed.
- Package File Name: Name of the created data package to be uploaded.
- Original Filename: Name of the transferred file for the SendFile tasks.
- diff
-
Displays the configuration difference between any of the following data collection files:
- DAILY
- WEEKLY
- HEARTBEAT
- --last-days num
-
Specifies the call home data collection file that was created num days back to compare with the most recent one.
- --old dcFileName
-
Specifies the file name of the call home data collection file to compare with the most recent file. The first file that matches is selected. Either the full filename or just a substring such as the creation date in the format 20200229 can be specified.
Note: If the next option --new <dcFileName> is also specified, this data collection file is selected instead of the most recent data file to compare with the old call home data collection file. - --new dcFileName
- This parameter can only be used in combination with --old dcFileName option. If denoted, the specified data collection file is compared with the file specified using the --old option, instead of the most recent one. The selected file must be newer than the one specified with --old option.
- --verbose
- Print out a more verbose output. Instead of just the name of the configuration object that was deleted or created all its detailed fields are printed out.
- -Y
- Displays the command output in a parseable format with a colon (:) as a field delimiter. Each column is described by a header.
- delete
- Deletes the status log entries for the specified tasks:
- --task {DAILY | WEEKLY | SENDFILE | SENDPMRDATA}
- Specifies the task type, for which the status log entries should be deleted.
- --startTime starttime
- Specifies the start time of the log to delete.
- --startTimeBefore starttime
- All logs older than the time specified by this option are deleted.
- --all
- All logs are deleted.
- test
- Executes detailed system checks:
- connection
-
Checks the connectivity to the IBM e-support infrastructure. A proxy is used if the call home proxy settings are enabled. If the proxy setting is disabled, direct connections are attempted.
If this command is executed from a node that is a member of a currently existing call home group, the system performs the connectivity check for the call home master node of this group. If this command is executed from a node that is not a member of any existing call home group, the system performs a connectivity check for this node, and checks if it can become a call home master node.
Exit status
- 0
- Successful completion.
- nonzero
- A failure has occurred.
Security
You must have root authority to run the mmcallhome command.
The node on which the command is issued must be able to execute remote shell commands on any other node in the cluster without the use of a password and without producing any extraneous messages. For more information, see Requirements for administering a GPFS file system.
Examples
- To configure a call home group, issue the following
command:
A sample output is as follows:# mmcallhome group add group1 test-11 --node test-11,test-12,test-13
Call home group group1 has been created
- To view the configured call home groups, issue the following
command:
A sample output is as follows:# mmcallhome group list
Call Home Group Call Home Node Call Home Child Nodes ----------------- ---------------- ------------------------- group1 test-11 test-11,test-12,test-13
You can also give the same command with the --long option to view the configured call home groups with their long names:
A sample output is as follows:# mmcallhome group list --long
Call Home Group Call Home Node Call Home Child Nodes ----------------- ---------------------- --------------------------------------------- group1 test-11.localnet.com test-11.localnet.com,test-12.localnet.com, test-13.localnet.com
- To change customer information such as customer name, customer ID, country code, and the system type, issue the following
command:
A sample output is as follows:# mmcallhome info change --customer-name "SpectrumScaleTest" --customer-id "1234" --country-code "JP" --type production
Success Call home country-code has been set to JP Call home customer-id has been set to 1234 Call home customer-name has been set to SpectrumScaleTest Call home type has been set to production
- To view the customer information, issue the following
command:
A sample output is as follows:# mmcallhome info list
group customerName customerID email countryCode type -------- ------------------- ------------ ---------- ------------- ------ global SpectrumScaleTest 1234 unknown JP production
- To create a call home group automatically, issue the following
command:
A sample output is as follows:# mmcallhome group auto
[I] Analysing the cluster... [I] Creating <1> new call home groups: [I] Call home child nodes = g5020-31.localnet.com, g5020-32.localnet.com,g5020-34.localnet.com [I] Call home group autoGroup_1 has been created [I] Nodes without call home: <1> (g5020-33.localnet.com) [I] Updating call home node classes... g5020-32.localnet.com: QOS configuration has been installed and broadcast to all nodes. g5020-32.localnet.com: QOS configuration has been installed and broadcast to all nodes. [I] The automatic group creation completed successfully.
- To create a call home group automatically and enable the cluster for call home functionality by
displaying options for acceptance, issue the following
command:
A sample output is as follows:# mmcallhome group auto --enable
By accepting this request, you agree to activate the Call Home Feature of the Program and allow IBM and its subsidiaries to store and use your contact information and your support information as described in the Program license agreement and the documentation page "Data privacy with Call Home". If you agree, please respond with "accept" for acceptance, else with "not accepted" to decline. (accept / not accepted) accept [I] Analysing the cluster... [I] Creating <1> new call home groups: [I] Call home child nodes = g5020-31.localnet.com, g5020-32.localnet.com,g5020-34.localnet.com [I] Call home group autoGroup_1 has been created [I] Nodes without call home: <1> (g5020-33.localnet.com) [I] Updating call home node classes... g5020-32.localnet.com: QOS configuration has been installed and broadcast to all nodes. g5020-32.localnet.com: QOS configuration has been installed and broadcast to all nodes. [I] The automatic group creation completed successfully. Call home enabled has been set to true Additional messages: License was accepted. Call home enabled.
Note: To accept the call home functionality, type accept manually. Typemmcallhome group auto --enable accept
to avoid the explicit acceptance from the user. - To use create new group after deleting the existing group, issue the following
command:
A sample output is as follows:# mmcallhome group auto --force
[I] Analysing the cluster... [I] Deleting old call home groups (--force mode) [I] Creating <1> new call home groups: [I] Call home child nodes = g5020-31.localnet.com, g5020-32.localnet.com,g5020-34.localnet.com [I] Call home group autoGroup_1 has been created [I] Nodes without call home: <1> (g5020-33.localnet.com) [I] Updating call home node classes... [I] The automatic group creation completed successfully.
- To enable the call home service, issue the following
command:
A sample output is as follows:# mmcallhome capability enable
By accepting this request, you agree to activate the Call Home Feature of the Program and allow IBM and its subsidiaries to store and use your contact information and your support information as described in the Program license agreement and the documentation page "Data privacy with Call Home". If you agree, please respond with "accept" for acceptance, else with "not accepted" to decline. (accept / not accepted) accept Call home enabled has been set to true Additional messages: License was accepted. Callhome enabled.
- To register a daily task with cron, issue the following
command:
A sample output is as follows:# mmcallhome schedule add --task daily
Call home daily has been set to enabled
- To register a weekly task with cron, issue the following
command:
A sample output is as follows:# mmcallhome schedule add --task weekly
Call home weekly has been set to enabled
- To list the registered tasks for gather-send, issue the following
command:
A sample output is as follows:# mmcallhome schedule list
group scheduleType isEnabled -------- -------------- ----------- global daily enabled global weekly enabled global event enabled
- To set the parameters for the proxy server, issue the following
command:
A sample output is as follows:# mmcallhome proxy change --proxy-location okapi --proxy-port 80 --proxy-username root --proxy-password <password>
Call home proxy-port has been set to 80 Call home proxy-username has been set to root Call home proxy-password has been set to <password> Call home proxy-location has been set to okapi
- To view the proxy server parameters, issue the following
command:
A sample output is as follows:# mmcallhome proxy list
group proxyAuthEnabled proxyEnabled proxyLocation proxyPort proxyUsername -------- ------------------ ------------- -------------- ----------- -------------- global false false okapi 80 root
- To invoke a one-time gather-send task, issue the following
command:
A sample output is as follows:# mmcallhome run GatherSend --task daily
One time run completed with success
- To run one-time send command to upload a file, issue the following
command:
A sample output is as follows:# mmcallhome run SendFile --file /ibm/gpfs0/testDir/testFile --desc MyTestData
Running sendFile... (In case of network errors, it may take over 20 minutes for retries.) Successfully uploaded the given file Run mmcallhome status list --verbose to see the package name
- To view the status of the currently running and the already completed call home tasks, issue the
following command:
A sample output is as follows:# mmcallhome status list
=== Executed call home tasks === Group Task Start Time Status --------------------------------------------------------- autoGroup_1 daily 20181212021402.015 success autoGroup_1 weekly 20181203110048.724 success autoGroup_1 sendfile 20181203105920.936 success autoGroup_1 SendPMRData 20181212141347.236 success
- To test the connection, issue the following
command:
A sample output is as follows:# mmcallhome test connection
Starting connectivity test between the call home node and IBM Call home node: g5020-31.localnet.com Starting time: Fri Aug 31 17:09:58 2018 Testing direct connection ------------------------------------------------------------ Testing <prefix Edge_SP_Config>: Edge_SP_Config_1: 129.42.56.189 OK Testing <prefix Edge_Profile>: Edge_Profile_1: 129.42.56.189 OK Testing <prefix Edge_Status_Report>: Edge_Status_Report_1: 129.42.56.189 OK ------------------------------------------------------------ End time: Fri Aug 31 17:10:06 2018
- To list the differences between two call home data collection files
of different date, issue the following
command:
A sample output is as follows:# mmcallhome status diff --new 20200131 --old 20200129 -v
Cluster Data (modified) Sdrfs Gennumber : 43 --> 55 Fs Data Device Name = gpfs0 (modified) Quota Option : no --> userquota;groupquota;filesetquota;perfileset Perfileset Quota : no --> yes Mount Options : rw,relatime,mtime --> rw,relatime,mtime,userquota;groupquota;filesetquota;perfileset Device Name = mari (created) Rw Options : rw Mount Options : rw,atime,mtime,userquota;groupquota;filesetquota,nfssync,nodev Drive Letter : N/A Datatype : sdrq_fs_info Perfileset Quota : no Mount Point : /mnt/mari Device Name : mari Quota Option : userquota;groupquota;filesetquota Automount Option : yes Mtime Option : mtime Fs Type : local Dmapi Enabled : no Atime Option : atime Maintenance Mode : no Device Minor Number : 152 Other Mount Options : nfssync,nodev Owning Cluster Name : gpfs-cluster-2.localnet.com Remote Device Name : mari Nodeclass Data Nodeclass = GUI_MGMT_SERVERS (modified) Allmembers : mari-23.localnet.com --> mari-23.localnet.com,mari-22.localnet.com Membernodes : mari-23.localnet.com --> mari-23.localnet.com,mari-22.localnet.com
See also
Location
/usr/lpp/mmfs/bin