installer clustercreate

Creates a cluster.

Syntax

CLI
/opt/mapr/bin/maprcli installer clustercreate
usage: create_cluster.py [-h] 
                        [ -pypath pythonpath (optional, default is python3, use -h for help) ]
                         -d {AWS,Azure,GCP,OnPrem} 
                         [-j CLUSTER_JSON]
                         [-f CLUSTER_JSON_FILE] [-y CLUSTER_YAML_FILE]
                         [--run_create_cluster] [--no_run_create_cluster]
                         [--run_stanza] [--no_run_stanza]
                         [--add_to_cluster_group ADD_TO_CLUSTER_GROUP]
                         [--add_to_sso ADD_TO_SSO]

Parameters

Parameter

Description

-pypath Optional path to the python executable. Default executable is python3.
-d | --deploy_target

Deployment target. One of AWS, Azure, GCP, or OnPrem. Mandatory if you do not specify one of -j, -f or -y.

-j | --cluster_json Optional URL encoded JSON string defining the cluster to create.

-f | --cluster_json_file

Optional path to a JSON file defining the cluster to create. Specify either a JSON file or a YAML file.

-y | --cluster_yaml_file

Optional path to a YAML file defining the cluster to create. Specify either a JSON file or a YAML file.
--run_create_cluster Optional. Turn on create cluster execution. Specify either --run_create_cluster (default) or --no_run_create_cluster.
--no_run_create_cluster Optional. Turn off create cluster execution. Specify either --run_create_cluster (default) or --no_run_create_cluster.

--run_stanza

Optional. Turn on stanza execution. Specify either --run_stanza or --no_run_stanza.

--no_run_stanza

Optional. Turn off stanza execution. Specify either --run_stanza or --no_run_stanza.
--add_to_cluster_group Optional. Add the cluster to the cluster group of the initiating node.
--add_to_sso Optional. Add the cluster to the SSO realm.

JSON file example

{
  "deploy_target": "AWS",
  "cluster_name": "APR22kalyandfcluster100gb",
  "storage_size": "100GB",
  "awsconfig": {
    "access_key_id": "AP7652MPD7Z67IT05123F7",
    "secret_access_key": "/cAhMycXBp2o1NfhSYiTstjc65242y622p3EbJ7y242u3f",
    "region": "us-west-1",
    "providedVPCId": "vpc-0218dd52415aa6862312b",
    "providedSubnetId": "subnet-07f5a5131eb2c5bywqw7"
  }
}

YAML file example

# This is an example YML/JSON payload that will be sent from the Controller/MCS WebUI to the MCS Api Server
# Convert this to and from YML/JSON here: https://codebeautify.org/yaml-to-json-xml-csv

# Create a DF Cluster
# POST /api/v1/df

# AWS | Azure | GCP | OnPrem
deploy_target: "Azure"   
# deployment name
cluster_name: "Azurekalyandfcluster"
# 1TB | 10TB | 100TB | 1PB
storage_size: "100GB"
# Anything related to Azure goes in here
azureconfig:
  # https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/guides/service_principal_client_secret
  # take as `id` from `az login`
  subscription_id: "8j6q1g4e5-g1821-405c-94a6-7d6813268c6d6"
  # take as `tenant_id` from `az login`
  tenant_id: "8a803161-7f99-81h5-b703-b82gqa9b3e9"
  # take as `app_id` from `az ad sp create-for-rbac --name ezdfaas-your-app-name`
  client_id: "939f513411-k3151-45c6-9frweq-a22j21410531"
  # take as `password` from `az ad sp create-for-rbac --name ezdfaas-your-app-name`
  # note, client_secret_id deprected as initial typo
  client_secret: "HQYHWW~G7265q221Ta4l4VMi6w21gqrqjTLMxJL82hq2qb711"

  # supported Azure Locations:
  # australiacentral,australiacentral2,australiaeast,australiasoutheast,brazilsouth,brazilsoutheast,brazilus,
  # canadacentral,canadaeast,centralindia,centralus,centraluseuap,eastasia,eastus,eastus2,eastus2euap,
  # francecentral,francesouth,germanynorth,germanywestcentral,japaneast,japanwest,jioindiacentral,jioindiawest,
  # koreacentral,koreasouth,northcentralus,northeurope,norwayeast,norwaywest,polandcentral,
  # qatarcentral,southafricanorth,southafricawest,southcentralus,southeastasia,southindia,
  # swedencentral,swedensouth,switzerlandnorth,switzerlandwest,uaecentral,uaenorth,uksouth,ukwest,
  # westcentralus,westeurope,westindia,westus,westus2,westus3,austriaeast,chilecentral,eastusslv,
  # israelcentral,israelnorthwest,italynorth,malaysiasouth,mexicocentral,spaincentral,taiwannorth,taiwannorthwest"
  region: "westus2"

  # optional
  #availabilityZone: "1"

  #
  amiID: "/subscriptions/8f2c24e5-d03d-405c-94a6-7d64bdc8c6d6/resourceGroups/EDF730-imagebld-04142023/providers/Microsoft.Compute/images/EDF-730-with-inst-04142023"

  # flag means to use resourceGroup, providedVirtualNetworkName, providedSubnetId of existing resources
  # must be string in quiotes: "true" or "false"
  # isVPCProvided: "false"

  # existing Resource Group Name if isVPCProvided=true
  #  only include alphanumeric, underscore, parentheses, hyphen, period (except at end), and Unicode characters that match the allowed characters.
  resourceGroup: "Resource-Group"

  # existing Virtual Network Name if isVPCProvided=true
  providedVirtualNetworkName: "Virtual-Network"

  # existing Subnet Name if isVPCProvided=true
  providedSubnetId: "Subnet Name"

Cluster creation example

Create a cluster:

CLI
/opt/mapr/bin/maprcli installer clustercreate -j aws_create_cluster_payload.json