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.

Dell PowerFlex 4.5.x Install and Upgrade Guide

Deploy a PowerFlex cluster using REST API commands

After you have prepared the CSV topology file, use the REST API to parse it and upload the configuration to PowerFlex Manager, and then deploy block storage resources using REST API commands. This procedure is only recommended for advanced users familiar with working with the REST API.

Prerequisites

  • Ensure that you have prepared the CSV topology file.
  • Ensure that you know the load balancer IP address and user credentials of PowerFlex Manager. All the steps performed in this procedure must be performed using the load balancer IP address. The load balancer IP address is the same IP address you are using to access PowerFlex Manager.
  • Ensure that you have the software packages of the PowerFlex core components that you want to deploy, and the ActiveMQ package.
  • Refer to the Dell Technologies Developer portal for information about working with the REST API.
  • Log in using the REST API, and make a note of the Keycloak token that was returned from /auth/login or from /api/gatewayLogin.

About this task

The following procedure provides examples using cURL.

Steps

  1. Get the configuration from the CSV file, by parsing it using the PowerFlex REST API. Use the command POST /im/types/Configuration/instances/actions/parseFromCSV, where the body is the CSV file reference. For example:
    curl -v -k -X POST -H "Content-Type:application/json" -H "Authorization: Bearer ${token}" -F "file=<PATH_TO_CSV_FILE>" https://<IP_ADDRESS>/im/types/Configuration/instances/actions/parseFromCSV
    where: {token} is the Keycloak token, <PATH_TO_CSV_FILE> is the path to the CSV topology file, and <IP_ADDRESS> is the PowerFlex Manager IP address.
    The command returns a JSON file containing the required cluster configuration. The installation command requires this file in order to install resources. Save this file.
  2. Add packages:
    1. Copy the installation packages of the required core components (including ActiveMQ RPM) to: "/usr/local/tomcat/temp/scaleio".
    2. Open the shell, and run the following command:
      kubectl get pods -n powerflex | grep block-legacy
    3. Make a note of the block-legacy-gateway ID that is returned in the first line of the command output. For example, in this sample output, the ID is 76594f9459-mqgxj:
      block-legacy-gateway-76594f9459-mqgxj	1/1	Running	0	24h
      block-legacy-gateway-mds-6696f6dd4c-s9qp8	1/1	Running	0	24h
    4. In the shell, run the following command:
      kubectl exec --stdin --tty <ID> -n powerflex -- /bin/sh
      where <ID> is the block-legacy-gateway ID obtained in the previous step.
    5. In the shell, run the following commands:
      apt-get update
      apt-get install openssh-client
      scp root@<RPM_MACHINE_IPS>:<RPMS_LOCATION>* temp/scaleio
      where <RPM_MACHINE_IPS> is the IP address where the packages are saved, and <RPMS_LOCATION> is the path to the packages' location.
  3. Install block storage resources using the PowerFlex REST API. Use the command POST /im/types/Configuration/actions/install, where the body is the configuration that was returned from parsing the CSV file.
    If the parameter systemId (type string) is added to the configuration, the cluster is created with the given ID. Otherwise, the gateway generates an ID.

    Optional parameters:

    • noUpload—Skip upload package phase (true/false, default if false)
    • noInstall—Skip install package phase (true/false, default if false)
    • noConfigure—Skip configure phaseand repository files (true/false, default if false)
    • noSecurityBootstrap—Skip security bootstrap (part of install phase) (true/false, default if true)
    • noLinuxDevValidation (true/false, default if true)
    • sdsInstances (number, optional)
    • extend—extend an existing system (true/false, default if false)
    • globalZeroPadPolicy (true/false, default if true)
    • forceDeviceTakeover—Clean devices before installing SDS (without it, installation will fail when it run after uninstall; must not be used in production) (true/false, optional)
    For example:
    curl -v -s -k -i -X POST -H "Content-Type:application/json" -H "Authorization: Bearer ${token}" "https://<IP_ADDRESS>/im/types/Configuration/actions/install?noSecurityBootstrap=false&forceDeviceTakeover=true" -d @<PATH>/config.json
    where: {token} is the Keycloak token, <IP_ADDRESS> is the PowerFlex Manager IP address, and <PATH> is the path to the JSON configuration file that was output in step 1.
  4. Installation is asynchronous and consists of four stages: query, upload, install, and configure. Manually monitor and move from one phase to the next one, using the commands queryPhaseState and moveToNextPhase. You can also monitor the progress of each stage by viewing events in PowerFlex Manager.
    The following is an example of an installation event:
    COMMAND_STARTED_ON_OPERATION_INSTALL_AND_PHASE_QUERY
  5. After installation is complete, clear the gateway state. Use the command POST im/types/Command/instances/actions/clear.
    For example:
    curl -v -s -k -i -X POST -H "Content-Type:application/json" -H "Authorization: Bearer ${token}" "https://<IP_ADDRESS>/im/types/Command/instances/actions/clear"
    where: {token} is the Keycloak token, and <IP_ADDRESS> is the PowerFlex Manager IP address.

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: <>()\