Disabling and re-enabling IBM Storage Scale native REST API

You can disable the IBM Storage Scale native REST API feature and revert to the classic IBM Storage Scale infrastructure only if you encounter issues related to this feature. Also, you can re-enable this feature after the issue is resolved.

Disabling the native REST API

To disable the native REST API feature on a cluster, do the following steps:
  1. Reconfigure the environment to use ssh and scp protocols.
    mmchcluster -r /usr/bin/ssh -R /usr/bin/scp
  2. Disable the native REST API configuration.
    mmchconfig scaleApiEnabled=DEFAULT --force
    Note: If mmfsd is already running, a restart is required for the changes to take effect.
  3. Remove the native REST API cluster variable from the cluster configuration repository (CCR) as follows:
    1. List the cluster variables.
      mmccr vlist
      A sample output is as follows:
        version       name         value
      -------------------------------------------------------------------------
              3      mmRunningCommand      ""
              1      scaleapiClusterMarkerState "CLUSTER_STATE_REC: created: gpfs-dev-1:2025.04.17.15.40.32:"
    2. Remove the native REST API cluster variable.
      mmccr vdel scaleapiClusterMarkerState
    3. Verify that the native REST API cluster variable is removed.
        version       name         value
      -------------------------------------------------------------------------
              3      mmRunningCommand      ""
      
  4. Stop the scaleadmd service on all nodes in the cluster.
    mmdsh -N all "systemctl stop scaleadmd'
  5. Disable the scaleadmd service on each node in the cluster.
    mmdsh -N all 'systemctl disable scaleadmd'
    Or
    systemctl disable scaleadmd
  6. Verify the state on each node of the clusters.
    mmdsh -N all 'systemctl status scaleadmd'
    A sample output is as follows:
    scaleadmd.service - Storage Scale Admin Daemon Service
       Loaded: loaded (/usr/lib/systemd/system/scaleadmd.service; disabled; vendor preset: disabled)
       Active: inactive (dead)
  7. Remove the marker files from the native REST API nodes as follows:
    1. List the marker files.
      mmdsh -N all 'ls /var/mmfs/scaleadm/config/scaleapiClusterMarkerStateFile'
      A sample output is as follows:
      gpfs-dev-1: /var/mmfs/scaleadm/config/scaleapiClusterMarkerStateFile 
      gpfs-remote-1: /var/mmfs/scaleadm/config/scaleapiClusterMarkerStateFile
      gps-remote-3: /var/mmfs/scaleadm/config/scaleapiClusterMarkerStateFile
    2. Remove the marker files.
      mmdsh -N all 'rm /var/mmfs/scaleadm/config/scaleapiClusterMarkerStateFile'
    3. Verify that all the marker files are removed.
      mmdsh -N all 'ls /var/mmfs/scaleadm/config/scaleapiClusterMarkerStateFile'
      A sample output is as follows:
      gpfs-dev-1: 1s: cannot access '/var/mmfs/scaleadm/config/scaleapiClusterMarkerStateFile': No such file or directory
      mmdsh: gpfs-dev-1 remote shell process had return code 2.
      gpfs-remote-3: ls: cannot access '/var/mmfs/scaleadm/config/scaleapiClusterMarkerStateFile': No such file or directory
      mmdsh: gps-remote-3 remote shell process had return code 2.
      gpfs-remote-1: 1s: cannot access '/var/mms/scaleadm/config/scaleapiClusterMarkerStateFile': No such file or directory
      mmdsh: gpfs-remote-1 remote shell process had return code 2.

Re-enabling the native REST API

To enable the native REST API again, complete the following steps:
  1. Enable the administration daemon to use the native REST API.
    mmdsh -N all 'systemctl enable scaleadmd"
    A sample output is as follows:
    gpfs-dev-1: Created symlink /etc/systemd/system/multi-user.target.wants/scaleadmd.service -/usr/lib/systemd/system/scaleadmd.service. 
    gpfs-remote-3: Created symlink /etc/systemd/system/multi-user.target.wants/scaleadmd.service -/usr/lib/systemd/system/scaleadmd.service.
    gpfs-remote-1: Created symlink /etc/systemd/system/multi-user.target.wants/scaleadmd.service - /usr/lib/systemd/system/scaleadmd.service.
  2. Restart the administration daemon.
    mmdsh -N all 'systemctl restart scaleadmd'
  3. Run the migrate precheck.
    scalectl cluster migrate --precheck
    A sample output is as follows:
    {
                   "succeeded": [
                           {
                                   "node_number": "1",
                                   "admin_node_name": "gpfs-dev-1"
                           },
    
                           {
                                   "node number": "2",
                                   "admin_node_name": "gpfs-remote-1"
                           },
    
                           {
                                   "node_number": "3",
                                   "admin_node_name": "gpfs-remote-3"
                           },
              ]
    }
    Cluster Migrate: Migration PreCheck command completed successfully.
  4. After the migration precheck completed successfully, perform the cluster migration to enable the native REST API.
    scalectl cluster migrate
    A sample output is as follows:
    Migration command completed successfully.  The cluster was migrated.