Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Enjoy members-only rewards and discounts
  • Create and access a list of your products
  • Manage your Dell EMC sites, products, and product-level contacts using Company Administration.

Deploy Dell PowerFlex v3.6.x

PDF

Working with the PowerFlex Installer (IM) REST API

PowerFlex Installer is an orchestration engine that runs commands from different queues (nodes and MDM) at different phases, and labels them as a process such as an upgrade.

The PowerFlex Gateway REST API begins with the /im/prefix.

Login to the IM REST API must be done by running the following:

POST https://localhost/j_spring_security_check
Content: "j_username=admin&j_password=Password1&submit=Login"

An operation such as the above provides a JSESSIONID cookie in the response that should be used for identification of the session in all future requests. You must include the JSESSIONID for identification or you will be unable to run IM commands using the REST API. For example:

POST "Content-Type: application/json" "Cookie: JSESSIONID=969F624A761937AE80E6CC9E91756B10" https://localhost/im/types/Command/instances/actions/retry

Topology/configuration object

Most PowerFlex Gateway operations require a topology/configuration object as a parameter (payload) for the REST (HTTP) request in JSON format.

Such an object has the following format:

NOTE: Each field’s functionality is marked with the /* */ notation—it should not be used when generating such instance with JSON format {"parameter":"value"}.

/* target IP address to send SNMP traps while configuring the PowerFlex Gateway to become an SNMP sampler */

   "snmpIp": null,

/* system installation ID of the system to be used or configured */

  	"installationId": null,

/* list of all MDM manager IP addresses */

	  "mdmIPs": ["10.76.1.2", "10.76.1.1", "10.76.1.3"],

/* list of IP addresses from which LIA will only accept connections—if null, accept any connection */

   "safeIPsForLia": null,

/* password/username for MDM and LIA (and LDAP, depending on mode) */

	  "mdmUser": null,
  	"mdmPassword": null,
  	"liaPassword": null,
  	"liaLdapUsername": null,
  	"liaLdapPassword": null,

/* LIA LDAP initial configuration */

   "liaLdapInitialMode": null,
   "liaLdapInitialUri": null,
  	"liaLdapInitialBaseDn": null,
  	"liaLdapInitialGroup": null,
  	"liaLdapInitialObjectClassAttr": null,
  	"liaLdapInitialUserIdAttrName": null,
  	"liaLdapInitialMemberOfAttrName": null,
  	"liaLdapInitialDisableRecursiveSearch": null,
  	"liaLdapInitialUsernameDnFormat": null, 

/* deprecated—not in use */

   "licenseKey": null,

/* deprecated—not in use */

   "licenseType": null,

/* boolean, indicating whether cluster should be set with high performance profile */

   "isClusterOptimized": false,
   "upgradeableByCurrentUser": false,
   "ignoredSdcs": null,

/* boolean indicating whether system is running */

   "upgradeRunning": false,

/* boolean indicating whether current MDM is a cluster (if running) */

   "clustered": false,

/* deprecated – not in use */

  	"secondaryMdm": null,

/* deprecated – not in use */

  	"tb": null,

/* Map of Protection Domain to Storage Pools */

	  "pd2Sps": {
		    "domain1": ["pool1",
    		"pool2"]
  	},

/* deprecated - not in use */

	  "primaryMdm": null

/* deprecated - not in use */

  	"callHomeConfiguration": null,

/* string describing parameters for remote syslog configuration */

  	"remoteSyslogConfiguration": null,

/* string describing cluster (primary (Master)) version */

	"systemVersionName": "",

/* security settings: set whether the process can connect to non-secured LIA/MDM and whether PowerFlex components should be configured to be non-secured. (They are secured by default) */

   "securityConfiguration": {
      "allowNonSecureCommunicationWithMdm": false,
      "allowNonSecureCommunicationWithLia": false,
      "dontAutoApproveCertificates": false
      "disableNonMgmtComponentsAuth": false

/* cluster virtual IP address list */

  	"virtualIps": ["10.76.60.203"],

/* enable management-client secure communication */

  	"securityCommunicationEnabled": false,
  	"masterMdm": {
		    "node": {
			      "ostype": "linux",
      			"nodeName": null,
      			"nodeIPs": ["10.76.1.1"],
      			"domain": null,
      			"userName": "root",
      			"password": "Password1",
      			"liaLdapUsername": null,
      			"liaLdapPassword": null,
      			"liaPassword": null
    		},
    		"nodeInfo": null,
    		"tunables": null,
    		"rollbackVersion": null,
    		"mdmIPs": ["10.76.60.195"],
    		"name": "MDM1",
    		"id": null,
    		"ipForActor": null,
    		"managementIPs": ["10.76.1.1"],
    		/* virtual interfaces to be used by virtual ip */
    		"virtIpIntfsList": ["eth1"]
  	},
  	"slaveMdmSet": [{
    		"node": {
      			"ostype": "linux",
      			"nodeName": null,
      			"nodeIPs": ["10.76.1.3"],
      			"domain": null,
      			"userName": "root",
      			"password": "Password1",
      			"liaLdapUsername": null,
      			"liaLdapPassword": null,
      			"liaPassword": null
    		},

/* internal data fields - should not be used */

		    "nodeInfo": null,
    		"tunables": null,

/* if rollback occurs during upgrade, set which version to rollback to*/

		    "rollbackVersion": null,
    		"mdmIPs": ["10.76.60.18"],
    		"name": "MDM3",

/* unique MDM ID */

    		"id": null,
    		"ipForActor": null,

/* IP addresses to be used and configured for management */

    		"managementIPs": ["10.76.1.3"],
    		"virtIpIntfsList": ["eth1"]
  	},
  	{
    		"node": {
      			"ostype": "linux",
      			"nodeName": null,
      			"nodeIPs": ["10.76.1.2"],
      			"domain": null,
      			"userName": "non_root(sudo)",
      			"password": "Password1",
      			"liaLdapUsername": null,
      			"liaLdapPassword": null,
      			"liaPassword": null
    		},
    		"nodeInfo": null,
    		"tunables": null,
    		"rollbackVersion": null,
    		"mdmIPs": ["10.76.60.17"],
    		"name": "MDM2",
    		"id": null,
    		"ipForActor": null,
    		"managementIPs": ["10.76.1.2"],
    		"virtIpIntfsList": ["eth1"]
   	}],

/* similar to primary (Master) MDM */

  	"tbSet": [{
    		"node": {
      			"ostype": "linux",
      			"nodeName": null,
      			"nodeIPs": ["10.76.60.33"],
      			"domain": null,
      			"userName": "root",
      			"password": "Password1",
      			"liaLdapUsername": null,
      			"liaLdapPassword": null,
      			"liaPassword": null
    		},
    		"nodeInfo": null,
    		"tunables": null,
    		"rollbackVersion": null,
    		"mdmIPs": ["10.76.60.33"],
    		"name": "TB1",
    		"id": null,
    		"tbIPs": ["10.76.60.33"]
  	},
  	{
    		"node": {
      			"ostype": "linux",
      			"nodeName": null,
      			"nodeIPs": ["10.76.60.19"],
      			"domain": null,
      			"userName": "root",
      			"password": "Password1",
      			"liaLdapUsername": null,
      			"liaLdapPassword": null,
      			"liaPassword": null
    		},
      "nodeInfo": null,
      "tunables": null,
      "rollbackVersion": null,
      "mdmIPs": ["10.76.60.19"],
      "name": "TB2",
      "id": null,
      "tbIPs": ["10.76.60.19"]
  	}],

/* similar to primary (Master) MDM */

  	"standbyMdmSet": [{
		    "node": {
         "ostype": "linux",
         "nodeName": null,
         "nodeIPs": ["10.76.1.5"],
         "domain": null,
         "userName": "root",
         "password": "Password1",
         "liaLdapUsername": null,
         "liaLdapPassword": null,
         "liaPassword": null
      },
      "nodeInfo": null,
      "tunables": null,
      "rollbackVersion": null,
      "mdmIPs": ["10.76.60.196"],
      "name": "MDMa",
      "id": null,
      "ipForActor": null,
      "managementIPs": ["10.76.1.5"],
      "virtIpIntfsList": ["eth1"]
  	}],

/* similar to primary (Master) MDM */

	  "standbyTbSet": [{
		    "node": {
         "ostype": "linux",
         "nodeName": null,
         "nodeIPs": ["10.76.60.37"],
         "domain": null,
         "userName": "root",
         "password": "Password1",
         "liaLdapUsername": null,
         "liaLdapPassword": null,
         "liaPassword": null
      },
      "nodeInfo": null,
      "tunables": null,
      "rollbackVersion": null,
      "mdmIPs": ["10.76.60.37"],
      "name": "Tba",
      "id": null,
      "tbIPs": ["10.76.60.37"]
  	"sdsList": [{
    		"node": {
         "ostype": "linux",
         "nodeName": null,
         "nodeIPs": ["10.76.1.3"],
         "domain": null,
         "userName": "root",
         "password": "Password1",
         "liaLdapUsername": null,
         "liaLdapPassword": null,
         "liaPassword": null
    		},
      "nodeInfo": null,
      "tunables": null,
      "rollbackVersion": null,
      "sdsName": "SDS_10.76.1.3",

/* Protection Domain name (required) and ID (if it already exists, this is optional) */

    		"protectionDomain": "domain1",
    		"protectionDomainId": null,

/* Fault Set ID - if defined */

      "faultSet": "fs2",
      "faultSetId": "0",
      "allIPs": ["10.76.60.18"],
      "sdsOnlyIPs": null,
      "sdcOnlyIPs": null,
      "devices": [{
         "devicePath": "\\\\.\\PhysicalDrive1",
         "storagePool": "pool1",
         "deviceName": null,
         "maxCapacityInKb": -1
    		},
    		{
         "devicePath": "\\\\.\\PhysicalDrive2",
         "storagePool": "pool2",
         "deviceName": null,
         "maxCapacityInKb": -1
      }],
      "rfCached": true,
      "rfCachedPools": ["pool1"],
      "rfCachedDevices": ["/dev/sdd"],
      "rfCacheType": "MEDIA_TYPE_SSD",
      "flashAccDevices": [],
      "nvdimmAccDevices": [{
         "devicePath": "/dev/dax0.1",
         "storagePool": "accp2",
         "deviceName": "/dev/dax0.1",
         "maxCapacityInKb": -1
      }],
      "useRmCache": false,

/* Boolean indicating whether SDS is set to high performance profile */

      "optimized": true,
      "packageNumber": 0,
      "optimizedNumOfIOBufs": 3,
      "port": 7072,
      "id": "0"
  	},
  	{
    		"node": {
         "ostype": "linux",
         "nodeName": null,
         "nodeIPs": ["10.76.1.2"],
         "domain": null,
         "userName": "non_root(sudo)",
         "password": "Password1",
         "liaLdapUsername": null,
         "liaLdapPassword": null,
         "liaPassword": null
      },
      "nodeInfo": null,
      "tunables": null,
      "rollbackVersion": null,
      "sdsName": "SDS_10.76.1.2",
      "protectionDomain": "domain1",
      "protectionDomainId": null,
      "faultSet": "fs1",
      "faultSetId": "0",
      "allIPs": ["10.76.60.17"],
      "sdsOnlyIPs": null,
      "sdcOnlyIPs": null,
      "devices": [{
         "devicePath": "E:",
         "storagePool": "pool2",
         "deviceName": null,
         "maxCapacityInKb": -1
      }],
      "rfCached": true,
      "rfCachedPools": [],
      "rfCachedDevices": ["/dev/sdd"],
      "rfCacheType": "MEDIA_TYPE_SSD",
      "flashAccDevices": [],
      "nvdimmAccDevices": [{
         "devicePath": "/dev/dax0.0",
         "storagePool": "accp2",
         "deviceName": "/dev/dax0.0",
         "maxCapacityInKb": -1
      }],
      "useRmCache": false,
      "optimized": true,
      "packageNumber": 0,
      "optimizedNumOfIOBufs": 3,
      "port": 7072,
      "id": "0"
  	},
  	{
    		"node": {
         "ostype": "linux",
         "nodeName": null,
         "nodeIPs": ["10.76.1.1"],
         "domain": null,
         "userName": "root",
         "password": "Password1",
         "liaLdapUsername": null,
         "liaLdapPassword": null,
         "liaPassword": null
      },
      "nodeInfo": null,
      "tunables": null,
      "rollbackVersion": null,
      "sdsName": "SDS_10.76.1.1",
      "protectionDomain": "domain1",
      "protectionDomainId": null,
      "faultSet": "fs1",
      "faultSetId": "0",
      "allIPs": ["10.76.60.195"],
      "sdsOnlyIPs": null,
      "sdcOnlyIPs": null,
      "devices": [{
         "devicePath": "/dev/sdb",
         "storagePool": "pool1",
         "deviceName": "sdb_Device",
         "maxCapacityInKb": -1
      },
      {
         "devicePath": "/dev/sdc",
         "storagePool": "pool1",
         "deviceName": "sdc_Device",
         "maxCapacityInKb": -1
      }],
      "rfCached": true,
      "rfCachedPools": ["pool1"],
      "rfCachedDevices": ["/dev/sdd"],
      "rfCacheType": "MEDIA_TYPE_SSD",
      "flashAccDevices": [],
      "nvdimmAccDevices": [{
         "devicePath": "/dev/dax0.0",
         "storagePool": "accp2",
         "deviceName": "/dev/dax0.0",
         "maxCapacityInKb": -1
      }],
      "useRmCache": false,
      "optimized": true,
      "packageNumber": 0,
      "optimizedNumOfIOBufs": 3,
      "port": 7072,
      "id": "0"
   },
   {
      "node": {
         "ostype": "linux",
         "nodeName": null,
         "nodeIPs": ["10.76.60.33"],
         "domain": null,
         "userName": "root",
         "password": "Password1",
         "liaLdapUsername": null,
         "liaLdapPassword": null,
         "liaPassword": null
      },
      "nodeInfo": null,
      "tunables": null,
      "rollbackVersion": null,
      "sdsName": "SDS1",
      "protectionDomain": "domain1",
      "protectionDomainId": null,
      "faultSet": "fs3",
      "faultSetId": "0",
      "allIPs": ["10.76.60.33"],
      "sdsOnlyIPs": ["10.76.4.4",
      "10.76.2.2"],
      "sdcOnlyIPs": ["10.76.3.3"],
      "devices": [{
         "devicePath": "/dev/sdb",
         "storagePool": "pool1",
         "deviceName": null,
         "maxCapacityInKb": -1
      },
      {
         "devicePath": "/dev/sdc",
         "storagePool": "pool2",
         "deviceName": null,
         "maxCapacityInKb": -1
      }],
      "rfCached": true,
      "rfCachedPools": ["pool1"],
      "rfCachedDevices": ["/dev/sdd"],
      "rfCacheType": "MEDIA_TYPE_SSD",
      "flashAccDevices": [],
      "nvdimmAccDevices": [{
         "devicePath": "/dev/dax0.1",
         "storagePool": "accp2",
         "deviceName": "/dev/dax0.1",
         "maxCapacityInKb": -1
      }],
      "useRmCache": false,
      "optimized": true,
      "packageNumber": 0,
      "optimizedNumOfIOBufs": 3,
      "port": 7072,
      "id": "0"
   }],
   "sdcList": [{
      "node": {
         "ostype": "linux",
         "nodeName": null,
         "nodeIPs": ["10.76.1.6"],
         "domain": null,
         "userName": "root",
         "password": "Password1",
         "liaLdapUsername": null,
         "liaLdapPassword": null,
         "liaPassword": null
      },
      "nodeInfo": null,
      "tunables": null,
      "rollbackVersion": null,
      "guid": null,

/* splitter (RecoverPoint) IP address to replicate the I/O */

      "splitterRpaIp": null,
      "sdcName": "SDCb",
      "isOnESX": null,
      "id": "0",

/* Boolean indicating whether SDC should be set to high performance profile */

      "optimized": true
   },
   {
      "node": {
         "ostype": "linux",
         "nodeName": null,
         "nodeIPs": ["10.76.1.4"],
         "domain": null,
         "userName": "root",
         "password": "Password1",
         "liaLdapUsername": null,
         "liaLdapPassword": null,
         "liaPassword": null
      },
      "nodeInfo": null,
      "tunables": null,
      "rollbackVersion": null,
      "guid": null,
      "splitterRpaIp": null,
      "sdcName": "SDC3",
      "isOnESX": null,
      "id": "0",
      "optimized": false
   },
   {
      "node": {
         "ostype": "linux",
         "nodeName": null,
         "nodeIPs": ["10.76.1.2"],
         "domain": null,
         "userName": "non_root(sudo)",
         "password": "Password1",
         "liaLdapUsername": null,
         "liaLdapPassword": null,
         "liaPassword": null
      },
      "nodeInfo": null,
      "tunables": null,
      "rollbackVersion": null,
      "guid": null,
      "splitterRpaIp": null,
      "sdcName": null,
      "isOnESX": null,
      "id": "0",
      "optimized": true
   }],
   "volumes": [{
      "id": "0",
      "name": "vol1",
      "volumeSizeInKb": "8000000",
   }],
   "protectionDomains": [{
      "name": "domain1",
      "storagePools": [{
         "name": "pool1",
         "mediaType": "MEDIA_TYPE_HDD",
         "externalAccelerationType": "EXTERNAL_ACCELERATION_TYPE_READ",
         "dataLayout": "PERFORMANCE_OPTIMIZED",
         "compressionMethod": null,
         "spefAccPoolName": null,
         "shouldApplyZeroPadding": true,
         "writeAtomicitySize": null,
         "overProvisioningFactor": null,
         "maxCompressionRatio": null,
         "perfProfile": null
      },
      {
         "name": "pool2",
         "mediaType": "MEDIA_TYPE_SSD",
         "externalAccelerationType": "EXTERNAL_ACCELERATION_TYPE_WRITE",
         "dataLayout": "SPACE_EFFICIENT",
         "compressionMethod": "COMPRESSION_METHOD_NONE",
         "spefAccPoolName": "accp2",
         "shouldApplyZeroPadding": true,
         "writeAtomicitySize": null,
         "overProvisioningFactor": null,
         "maxCompressionRatio": null,
         "perfProfile": null
      }],
      "accelerationPools": [{
         "name": "accp2",
         "mediaType": "MEDIA_TYPE_NVDIMM",
         "rfcache": null
      }]
   	}],
}

Node object

The Node object is used as an attribute of each PowerFlex component (for example, on which node the MDM is installed), and describes how the node will be accessed:

  • via SSH (Linux node with root credentials)
  • via WMI (Windows node with admin domain and credentials)
  • via LIA (unknown node with null domain, null credentials and LIA password)

    For example:

    //Linux node accessed via SSH
    "node": {
       "ostype": "unknown",
       "nodeName": null,
       "nodeIPs": ["10.76.60.48"],
       "domain": null,
       "userName": null,
       "password": null,
     		"liaLdapUsername": null,
     		"liaLdapPassword": null,
       "liaPassword": null
            },
    //unknown node (Linux or Windows) - accessed via LIA
    "node": {
       "ostype": "linux",
       "nodeName": null,
       "nodeIPs": ["10.76.60.41"],
       "domain": null,
       "userName": "root",
       "password": "Password1",
    		 "liaLdapUsername": null,
    		 "liaLdapPassword": null,
       "liaPassword": null
           },

LIA usage

Any post-installation operations MUST be performed via LIA. Such operations (for example, upgrades) may fail unless all nodes are targeted to be performed via LIA.


Rate this content

Accurate
Useful
Easy to understand
Was this article helpful?
0/3000 characters
  Please provide ratings (1-5 stars).
  Please provide ratings (1-5 stars).
  Please provide ratings (1-5 stars).
  Please select whether the article was helpful or not.
  Comments cannot contain these special characters: <>()\