Changing the cluster configuration data with IBM Storage Scale native REST API

Use the scalectl config command or cluster config REST API endpoints to change the cluster configuration attributes.

After you have configured the native REST API clusters, you can change configuration attributes with the scalectl config command or cluster config REST API endpoints. For more information, see the following topics:
Table 1 lists the supported configuration attributes for the administration daemon of the native REST API cluster.
Table 1. Cluster configuration attributes
Attribute name and description -i option allowed1 -N option allowed2
log.file

The name of the log file for the administration daemon logs that is written in log.path. The default value is scaleadmd.log.

no yes
log.level

Log level for the administration daemon. The possible values are error, info, and debug. The default value is info.

yes yes
log.path

The directory path where the administration daemon log file is written. The log.path must have scaleapiadmd:scaleapiadm directory permissions to allow the administration daemon to create subdirectories and write log files. The default value is /var/mmfs/scaleadm/log.

no yes
log.utc

Specify whether the administration daemon logs are in UTC timestamps or local timestamps. The default value is true.

yes yes
lro.cleanup_job_age

The duration to retain LRO metadata files. LROs older than this duration are permanently removed. The default value is 240h.

yes yes
lro.cleanup_number_jobs

The total number of LRO jobs that are saved in the local filesystem. When this value is reached, the oldest jobs are removed from the cache until the number of jobs is reduced. The default value is 5000.

yes yes
lro.replicate_num_jobs

The number of LRO jobs sent to other LRO managers in a single gRPC message. This setting is used for internal communication to improve network call efficiency. A value that is too large might cause out-of-memory (OOM) issues. The default value is 1000.

yes yes
lro.dir

The directory path that the LRO manager uses for persistent storage of LRO data. The default value is 2s.

yes yes
lro.output_limit

The maximum number of bytes to display in the JSON output field when listing LROs. The default value is 32.

yes yes
lro.replicate_wait_time

The duration to wait before replicating new and updated LRO jobs to other LRO managers. Longer durations allow for more efficient communication but increase the risk of data loss if a quorum node goes down. The default value is 30s.

yes yes
lro.rest_wait_time

The amount of time the long-running operation (LRO) manager waits for an LRO to complete before returning the current LRO status to the caller. After the specified time, if the LRO is not complete, the user needs to poll the LRO manager for the job status to determine its current running state. The default value is 2s.

yes yes
lro.stale_wait_time

The duration to wait for an LRO job to report its running status before the LRO manager moves the job as stale. The default value is 300s.

yes yes
nodeid.cachain

The TLS certificate chain that is used for internal communication between administration daemons. The value is /var/mmfs/ssl/cachain.pem.

no yes
nodeid.certificate

The TLS certificate that is used for internal communication between administration daemons. The value is /var/mmfs/ssl/cert.pem.

no yes
nodeid.key

The TLS certificate key that is used for internal communication between administration daemons. The value is /var/mmfs/ssl/key.pem.

no yes
nsd.list_cache_age

The amount of time that the results from an NSD list are stored in an internal cache before being discarded. In large NSD environments, pagination calculations are expensive. Caching helps reduce CPU and memory usage. The cache time applies to each individual list request and is not system-wide. Setting a value that is too large might not improve performance and could result in OOM situations. The default value is 30s.

yes yes
remote_grpc_server.host

The interface that the administration daemon uses to listen for communication from other administration daemons. Use 0.0.0.0 to listen on all available interfaces. The default value is 0.0.0.0.

no yes
remote_grpc_server.port

The port that is used by administration daemon to listen for communication from other administration daemons. The default value is 50052.

no no
remote_grpc_server.scheme

The scheme that is used for communicating between administration daemons. Only https is allowed. The default value is https.

no no
rest_server.authentication_type

The global authentication type. This value determines the other authentication configuration attributes, which must set for authentication to function correctly. Only one authentication method can be active at a time. The possible values are pam, ldap, oidc-userinfo, and cert. The default value is pam.

no no
rest_server.cert.cachain

Specifies the certificate authority (CA) certificate that signs the client certificates. If this field is not specified, the cluster node identity cachain is used. The default value is empty.

no no
rest_server.cert.allowed_cns

Specifies a list of common names (CNs) that are allowed. The CN from the authenticating certificate must exactly match one of the CNs in this list. The default value is empty.

no no
rest_server.cert.allowed_cns_regex

Specifies a regular expression to match the CN of the authenticating certificate. For example, local….$ matches the localhost but not localhost1.

no no
rest_server.host

The interface that is used to listen for REST API requests. Use 0.0.0.0 to listen on all available interfaces. The default value is 0.0.0.0.

no no
rest_server.ldap.attributes

Sort the entries returned based on the attribute. The default value is empty.

no no
rest_server.ldap.basedn

The LDAP base name to use when authenticating users. The default value is empty.

no no
rest_server.ldap.binddn

The fully qualified domain name to bind to LDAP as. This field can be left blank for anonymous binds. The default value is empty.

no no
rest_server.ldap.bind_password

The password for the binddn user. The default value is empty.

no no
rest_server.ldap.filter

The default search filter for users. The default value is empty.

no no
rest_server.ldap.url

The LDAP server name or IP. The value must start with the prefix of ldap:// or ldaps://. The default value is empty.

no no
rest_server.oidc.authorization_url

The URL of the OIDC provider where the user is redirected to initiate the authentication process. The default value is empty.

no no
rest_server.oidc.callback_url

The URL to which the native REST API redirects after authentication. You must also configure this value in the identity provider. The default value is empty.

no no
rest_server.oidc.discovery_url

The URL that allows the native REST API to retrieve the necessary information from the identity provider. The default value is empty.

no no
rest_server.oidc.client_id

The public identifier for the application. The default value is empty.

no no
rest_server.oidc.client_secret

A secret key provided by the identity provider to ensure that only trusted applications, such as the native REST API, can authenticate. The default value is empty.

no no
rest_server.oidc.scopes

The scope that is used by the native REST API during authentication to authorize access to user details. This is an optional field, and by default,native REST API appends openid to every request. The default value is empty.

no no
rest_server.oidc.token_url

The URL where IBM Storage Scale native REST API requests access and identity tokens from the identity provider. The default value is empty.

no no
rest_server.oidc.userinfo_url

The URL of the OIDC provider where native REST API retrieves user information after the user is authenticated. The default value is empty.

no no
rest_server.port

The port that is used to listen for the incoming REST API requests.

no no
rest_server.scheme

The scheme that is used to connect to the administration daemon for REST API requests. Only https is allowed. The default value is https.

no no
timeout.api_health_grace

The grace period for the admin daemon when computing API health status.

yes yes
timeout.api_health_recompute

The amount of time between each full API health refresh. The default value is 5s.

yes yes
timeout.api_health_response_timeout

The timeout value when retrieving the API health from remote admin daemons. The default value is 5s.

yes yes
timeout.mmccr

The timeout value for the administration daemon when running the mmccr command in the backend. The default value is 10s.

yes yes
timeout.mmchconfig

The timeout value for the administration daemon when running the mmchconfig command in the backend. The default value is 60s.

yes yes
timeout.mmcmi

The timeout value for the administration daemon when running the mmcmi command in the backend. The default value is 10s.

yes yes
timeout.mmlsconfig

The timeout value for the administration daemon when running the mmlsconfig command in the backend. The default value is 10s.

yes yes
timeout.mmlsfs

The timeout value for the administration daemon when running the mmlsfs command in the backend. The default value is 15s.

yes yes
timeout.mount

The timeout value for the administration daemon when running the mount command on the local node. The default value is 120s.

yes yes
timeout.pam

The timeout value for the administration daemon when PAM authentication is enabled to interact with the pam_unix_library. The default value is 10s.

yes yes
timeout.remote_rpc

The timeout value for the administration daemon to daemon remote procedure calls (RPC). The default value is 120s.

yes yes
timeout.remote_unmount

The timeout value for the administration daemon when running the unmount command on the remote node. The default value is 15m.

yes yes
timeout.systemd

The timeout value for the administration daemon when running systemd commands in the backend. The default value is 15m.

yes yes
timeout.unmount

The timeout value for the administration daemon when running the unmount command on the local node. The default value is 120s.

yes yes
1 If the -i option is specified, the changes take effect immediately without requiring a restart.
2 If the -N option is specified, the changes apply only to the specified nodes or node classes.