InterSystems Cloud Manager Guide
ICM Reference
|
|
Command | Description | Important Options |
---|---|---|
Provisions compute nodes |
-definitions, -defaults, -instances | |
Lists provisioned compute nodes |
-json | |
Destroys compute nodes |
-stateDir, cleanup, force | |
Executes an operating system command on one or more compute nodes |
-command, -machine, -role | |
Copies a local file to one or more compute nodes |
-localPath, -remotePath, -machine, -role | |
Deploys a container on compute nodes |
-image, -container, -namespace, -options, -iscPassword, -command, -machine, -role | |
Displays run states of containers deployed on compute nodes |
-container, -json | |
Stops containers on one or more compute nodes |
-container, -machine, -role | |
Starts containers on one or more compute nodes |
-container, -machine, -role | |
Downloads an image to one or more compute nodes |
-image, -container, -machine, -role | |
Deletes containers from one or more compute nodes |
-container, -machine, -role | |
Replaces containers on one or more compute nodes |
-image, -container, -machine, -role | |
Executes an operating system command in one or more containers |
-container, -command, -interactive. -options, -machine, -role | |
Opens an interactive session for an InterSystems IRIS instance in a container or executes an InterSystems IRIS ObjectScriptScript snippet on one or more instances |
-namespace, -command, -interactive, machine, -role | |
Copies a local file to one or more containers |
-localPath, -remotePath, -machine, -role | |
Executes a SQL statement on the InterSystems IRIS instance |
-namespace, -command,. -machine, -role | |
Executes a Docker command on one or more compute nodes |
-container, -machine, -role |
Option | Meaning | Default | Described in |
---|---|---|---|
-help | Display command usage information | --- | |
- | Show execution detail | False | (can be used with any command) |
-definitions filepath | Compute node definitions file | ./definitions.json | Configuration, State and Log Files |
-defaults filepath | Compute node defaults file | ./defaults.json | |
-instances filepath | Compute node instances file | ./instances.json | |
-stateDir dir | Machine state directory | OS-specific | The State Directory and State Files |
-force | Don't confirm before reprovisioning or unprovisioning | False | |
-cleanUp | Delete state direcroty after unprovisioning | False | |
-machine regexp | Target machine name pattern match | (all) | icm sshicm exec |
-role role | Role of the InterSystems IRIS instance or instances for which a command is run, for example DM or QS | (all) | icm ssh |
-namespace namespace | Namespace to create on deployed InterSystems IRIS instances and set as default execution namespace for the session and sql commands | USER | The Definitions Fileicm session |
-image image | Docker image to deploy; must include repository name. | DockerImage value in definitions file | icm run |
-options options | Additional Docker options | none | Using ICM with Custom and Third-Party Containers |
-container name | Name of the container | icm ps command: (all) other commands: iris |
icm run |
-command cmd | Command or query to execute | none | icm sshicm exec |
-interactive | Redirect input/output to console for the exec and ssh commands | False | icm ssh |
-localPath path | Local file or directory | none | icm scp |
-remotePath path | Remote file or directory | /home/SSHUser (value of SSHUser field) | |
-iscPassword password | Password for deployed InterSystems IRIS instances | iscPassword value in configuration file | icm run |
-json | Enable JSON response mode | False | Using JSON Mode |
Node Type | Configuration Role(s) |
---|---|
Shard master data server Distributed cache cluster data server Stand-alone InterSystems IRIS instance |
|
Shard master application server Distributed cache cluster application server |
|
Shard data server |
|
Shard query server |
|
Mirror arbiter |
|
Load balancer |
|
Web server |
|
Virtual machine |
$ icm ssh -command "weave connect --replace 54.191.233.2" Executing command 'weave connect 54.191.233.2' on host ISC-DM-TEST-0001... Executing command 'weave connect 54.191.233.2' on host ISC-DS-TEST-0002... Executing command 'weave connect 54.191.233.2' on host ISC-DS-TEST-0003... ...executed on ISC-DM-TEST-0001 ...executed on ISC-DS-TEST-0002 ...executed on ISC-DS-TEST-0003
# icm cp -localPath foo.txt -remotePath /tmp/ 2017-03-28 18:40:19 ERROR Docker:324 - Error: java.io.IOException: com.jcraft.jsch.JSchException: channel is not opened. 2017-03-28 18:40:19 ERROR Docker:24 - java.lang.Exception: Errors occurred during execution; aborting operation at com.intersystems.tbd.provision.SSH.sshCommand(SSH.java:419) at com.intersystems.tbd.provision.Provision.execute(Provision.java:173) at com.intersystems.tbd.provision.Main.main(Main.java:22)
0 Automatically configuring buffers 1 Insufficient privileges to allocate Huge Pages; non-root instance requires CAP_IPC_LOCK capability for Huge Pages. 2 Failed to allocate 1316MB shared memory using Huge Pages. Startup will retry with standard pages. If huge pages are needed for performance, check the OS settings and consider marking them as required with the InterSystems IRIS 'memlock' configuration parameter.
Parameter | Meaning |
---|---|
ISCLicense | License for the InterSystems IRIS instance on one or more provisioned nodes; see InterSystems IRIS Licensing for ICM. |
ISCPassword | Password that will be set for the _SYSTEM, Admin, and SuperUser accounts on the InterSystems IRIS instances on one or more provisioned nodes. Corresponding command-line option: -iscPassword. |
DockerImage | Docker image to be used for icm run and icm pull commands. Must include the repository name. Corresponding command-line option: -image. |
DockerRegistry | DNS name of the server hosting the Docker repository storing the image specified by DockerImage. If not included, ICM uses Docker’s public registry located at registry-1.docker.io. |
DockerUsername | Username to use for Docker login to the respository specified in DockerImage on the registry specified by DockerRegistry. Not required for public repositories. If not included and the repository specified by DockerImage is private, login fails. |
DockerPassword | Password to use for Docker login, along with DockerUsername. Not required for public repositories. If this field and the repository specified by DockerImage is private. ICM prompts you (with masked input) for a password. (If the value of this field contains special characters such as $, |, (, and ), they must be escaped with two \ characters; for example, the password abc$def must be specified as abc\\$def.) |
Home | Root of the home directory on a provisioned node. Default: /home. |
Mirror | If True, InterSystems IRIS instances are deployed with mirroring enabled; see Mirrored Configuration Requirements. Default: False. |
Spark |
If True, and the spark image is specified by the DockerImage field, Spark is deployed with InterSystems IRIS in the iris container (see The icm run Command for more information). Default: false. |
LoadBalancer | Set to True in definitions of node type AM, WS, or VM for automatic provisioning of load balancer on providers AWS, GCP, and Azure. Default: false. |
Namespace | Namespace to be created during deployment. The namespace specified is also set as the default namespace for the icm session and icm sql commands. The predefined namespace USER may be used in non-mirrored deployments only. For more information, see The Definitions File. Default: USER. Command-line option: -namespace. |
ISCglobals * |
Database cache allocation from system memory. See globals in the Parameter File Reference and Memory and Startup Settings in the Configuring InterSystems IRIS chapter of the System Administration Guide, Default: 0,0,0,0,0,0 (automatic allocation) |
ISCroutines * |
Routine cache allocation from system memory. See routines in the Parameter File Reference and Memory and Startup Settings in the Configuring InterSystems IRIS chapter of the System Administration Guide. Default: 0 (automatic allocation). |
ISCgmheap * |
Size of the generic memory heap (in KB). See gmheap in the Parameter File Reference and gmheap in the “Advanced Memory Settings” section of the Additional Configuration Settings Reference. . Default: 37568. |
ISClocksiz * |
Maximum size of shared memory for locks (in bytes). See locksiz in the Parameter File Reference. Default: 16777216. |
ISCbbsiz * |
Maximum memory per process (KB). See bbsiz in the Parameter File Reference. Default: 262144. |
ISCmemlock * |
Enable/disable locking shared memory or the text segment into memory. See memlock in the Parameter File Reference. Default: 0. |
Overlay | Determines the Docker overlay network type; normally "weave", but may be set to "host" for development or debug purposes, or when deploying on a preexisting cluster. Default: weave (host when deploying on a preexisting cluster). |
ISCAgentPort | Port used by InterSystems IRIS ISC Agent. Default: 2188. |
JDBCGatewayPort * | Port used by InterSystems IRIS JDBC Gateway. Default: 62972. |
SuperServerPort * | Port used by InterSystems IRIS Superserver. Default: 51773. |
WebServerPort * | Port used by InterSystems IRIS Web Server (Management Portal). Default: 52773. |
SparkMasterPort | Port used by Spark Master. Default: 7077. |
SparkWorkerPort | Port used by Spark Worker. Default: 7000. |
SparkMasterWebUIPort | Port used by Spark Master Web UI. Default: 8080. |
SparkWorkerWebUIPort | Port used by Spark Worker Web UI. Default: 8081. |
SparkRESTPort | Port used for Spark REST API. Default: 6066. |
SparkDriverPort |
Port used for Spark Driver. Default: 7001. |
SparkBlocKManagerPort |
Port used for Spark Block Manager. Default: 7005. |
Count | Number of nodes to provision from a given entry in the definitions file. Default: 1. |
Label | Name shared by all nodes in this deployment, for example AcmeCorp; cannot contain dashes. |
Role | Role of the node or nodes to be provisioned by a given entry in the definitions file, for example DM or DS; see ICM Node Types. |
Tag | Additional name used to differentiate between deployments, for example TEST or TEST; cannot contain dashes. |
StartCount | Numbering start for a particular node definition in the definitions file. For example, if the DS node definition includes "StartCount": "3", the first DS node provisioned is named Label-DS-Tag-0002. |
DataMountPoint |
The location on the compute instance where the persistent volume described by DataDeviceName (see Device Name Parameters) will be mounted. Default: /irissys/data. |
WIJMountPoint * |
The location on the compute instance where the persistent volume described by WIJDeviceName (see Device Name Parameters) will be mounted. Default: /irissys/wij. |
Journal1MountPoint * |
The location on the compute instance where the persistent volume described by Journal1DeviceName (see Device Name Parameters) will be mounted. Default: /irissys/journal1j. |
Journal2MountPoint * |
The location on the compute instance where the persistent volume described by Journal2DeviceName (see Device Name Parameters)will be mounted. Default: /irissys/journal2j. |
OSVolumeSize | Size (in GB) of the OS volume to create for deployments other than type PreExisting. Default: 10. Because this setting must be greater than or equal to the volume size of the original remplate or snapshot, it should never be set to less than the default. |
DataVolumeSize | Size (in GB) of the persistent data volume to create for deployments other than type PreExisting. This volume corresponds to the DataDeviceName parameter (see Device Name Parameters) and will be mounted at DataMountPoint. Default: 10. |
WIJVolumeSize | Size (in GB) of the persistent WIJ volume to create for deployments other than PreExisting. This volume corresponds to the WIJDeviceName parameter (see Device Name Parameters) and will be mounted at WIJMountPoint. Default: 10. |
Journal1VolumeSize | Size (in GB) of the persistent Journal volume to create for deployments other than type PreExisting. This volume corresponds to the Journal1DeviceName parameter (see Device Name Parameters) and will be mounted at Journal1MountPoint. Default: 10. |
Journal2VolumeSize | Size (in GB) of the alternate persistent Journal volume to create for deployments other than type PreExisting. This volume corresponds to the Journal2DeviceName parameter (see Device Name Parameters) and will be mounted at Journal2MountPoint. Default: 10. |
SystemMode | String to be shown in the Management Portal masthead. Certain values (LIVE, TEST, FAILOVER, DEVELOPMENT) trigger additional changes in appearance. Default: blank. |
Provider | Platform to provision infrastructure on; see Provisioning Platforms. Default: none. |
Monitor | Deploy Weave Scope for basic monitoring by specifiying the value scope.. Default: none. |
ForwardPort | Port to be forwarded by a given load balancer (both 'from' and 'to'). Defaults:
|
ForwardProtocol | Protocol to be forwarded by a given load balancer. Defaults:
|
HealthCheckPort | Port used to verify health of instances in the target pool. Defaults:
|
HealthCheckProtocol | Protocol used to verify health of instances in the target pool. Defaults:
|
HealthCheckPath | Path used to verify health of instances in the target pool. Defaults:
|
ICM Name | iris.cpf Name |
---|---|
SuperServerPort | DefaultPort |
WebServerPort | WebServerPort |
JDBCGatewayPort | JDBCGatewayPort |
WIJMountPoint |
wijdir |
Journal1MountPoint |
CurrentDirectory |
Journal2MountPoint |
AlternateDirectory |
ISCglobals |
globals |
ISCroutines |
routines |
ISCgmheap |
gmheap |
ISCbbsiz | bbsiz |
ISClocksiz |
locksiz |
ISCmemlock | memlock |
Parameter | Meaning |
---|---|
SSHUser | Nonroot account with sudo access used by ICM for access to provisioned nodes. Root of SSHUser’s home directory can be specified using the Home field. Required value is provider-specific, as follows:
|
SSHPassword | Initial password for the user specified by SSHUser. Required for marketplace Docker images and deployments of type vSphere, Azure, and PreExisting. This is used only during provisiong, at the conclusion of which password logins are disabled. |
SSHOnly | If True, ICM does not attempt SSH password logins during provisioning (providers PreExisting and vSphere only). Default: False. |
SSHPublicKey | Public key of SSH public/private key pair; required for all deployments. For provider AWS, must be in SSH2 format, for example: ---- BEGIN SSH2 PUBLIC KEY ---
AAAAB3NzaC1yc2EAAAABJQAAAQEAoa0
---- BEGIN SSH2 PUBLIC KEY --- For other providers, must be in OpenSSH format, for example:ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAoa0 |
SSHPrivateKey | Private key of SSH public private key pair, required, in RSA format, for example: -----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEAoa0ex+JKzC2Nka1
-----END RSA PRIVATE KEY----- |
TLSKeyDir | Directory containing TLS keys used to establish secure connections to Docker, InterSystems Web Gateway, JDBC, and mirrored InterSystems IRIS databases, as follows: |
SSLConfig | Path to an SSL/TLS configuration file used to establish secure JDBC connections. Default: If this parameter is not provided, ICM looks for a configuration file in /TLSKeyDir/SSLConfig.Properties (see previous entry). |
Parameter | Meaning |
---|---|
Credentials | Path to a file containing Amazon AWS credentials in the following format: [default]aws_access_key_id = XXXXXXXXXXXXXXXXXX
aws_secret_access_key = YYYYYYYYYYYYYYYYYYYY Download from https://console.aws.amazon.com/iam/home?#/users. |
SSHUser | Nonroot account with sudo access used by ICM for access to provisioned nodes (see Security-Related Parameters). Root of SSHUser’s home directory can be specified using the Home field. Required value is determined by the selected AMI; for Red Hat Enterprise Linux images, the required value of SSHUser is usually ec2-user. |
AMI | AMI to use for a node or nodes to be provisioned; see http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html. Example: ami-a540a5e1. |
Region | Region to use for a node or nodes to be provisioned; see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html. Example: us-west-1. |
Zone | Availability zone to use for a node or nodes to be provisioned; see link in previous entry. Example: us-west-1c. |
InstanceType | Instance Type to use for a node or nodes to be provisioned; see https://aws.amazon.com/ec2/instance-types/. Example: m4.large. |
OSVolumeType | Determines maximum OSVolumeSize. See http://docs.aws.amazon.com/cli/latest/reference/ec2/create-volume.html. Default: standard. |
DataVolumeType | Determines maximum DataVolumeSize (see OSVolumeType). Default: standard. |
WIJVolumeType | Determines maximum WIJVolumeSize (see OSVolumeType). Default: standard. |
Journal1VolumeType | Determines maximum Journal1VolumeSize (see OSVolumeType). Default: standard. |
Journal2VolumeType | Determines maximum Journal2VolumeSize (see OSVolumeType). Default: standard. |
Parameter | Meaning |
---|---|
Credentials | JSON file containing account credentials. Download from https://console.developers.google.com/ |
Project | Google project ID. |
MachineType | Machine type resource to use for a node or nodes to be provisioned. See https://cloud.google.com/compute/docs/machine-types. Example: n1-standard-1. |
Region | Region to use for a node or nodes to be provisioned; see https://cloud.google.com/compute/docs/regions-zones/regions-zones. Example: us-east1. |
Zone | Zone in which to locate a node or nodes to be provisioned. Example: us-east1-b. |
Image | The source image from which to create this disk. See https://cloud.google.com/compute/docs/images. Example: centos-cloud/centos-7-v20160803. |
OSVolumeType | Determines disk type for the OS volume. See https://cloud.google.com/compute/docs/reference/beta/instances/attachDisk.Default: pd-standard. |
DataVolumeType | Determines disk type for the persistent Data volume (see OSVolumeType). Default: pd-standard. |
WIJVolumeType | Determines disk type for the persistent WIJ volume (see OSVolumeType). Default: pd-standard. |
Journal1VolumeType | Determines disk type for the persistent Journal1 volume (see OSVolumeType). Default: pd-standard. |
Journal2VolumeType | Determines disk type for the persistent Journal1 volume (see OSVolumeType). Default: pd-standard. |
Parameter | Meaning |
---|---|
Image | The name of an existing VM or OS image to use for a node or nodes to be provisioned; see https://azure.microsoft.com/en-us/marketplace/virtual-machines/all/. Example: OpenLogic 7.2. |
Size | The size of a node or nodes to be provisioned; see https://docs.microsoft.com/en-us/azure/virtual-machines/virtual-machines-windows-sizes. Example: Standard_DS1. |
Location | Location in which to provision a node or nodes; see https://azure.microsoft.com/en-us/regions/. Example: Central US. |
TimeZone | Time zone in which to provision a node or nodes. Example: America/New_York. |
SubscriptionId | Credentials which uniquely identify the Microsoft Azure subscription. |
ClientId | Azure application identifier. |
ClientSecret | Provides access to an Azure application. |
TenantId | Azure Active Directory tenant identifier. |
PublisherName | Entity providing a given Azure image. Example: OpenLogic. |
Offer | Operating system of a given Azure image. Example: Centos. |
Sku | Major version of the operating system of a given Azure image. Example: 7.2. |
Version | Build version of a given Azure image. Example: 7.2.20170105. |
AccountType | Account tier and storage type. Example: Standard_LRS. |
Parameter | Meaning |
---|---|
Server | Name of the vCenter server. Example: tbdvcenter.iscinternal.com. |
Datacenter | Name of the datacenter. |
VsphereUser | Username for vSphere operations. |
VspherePassword | Password for vSphere operations. |
VCPU | Number of CPUs in a node or nodes to be provisioned. Example: 2. |
Memory | Amount of memory (in MB) in a node or nodes to be provisioned. Example: 4096. |
Datastore | Storage location for virtual machine files. Example: LocalStore1 |
DNSServers | List of DNS servers for the virtual network. Example: 172.16.96.1,172.17.15.53 |
DNSSuffixes | List of name resolution suffixes for the virtual network adapter. Example: iscinternal.com |
Gateway | Ipv4 gateway IP address to use. Example: 172.16.111.254 |
Domain | FQDN for a node to be provisioned. Example: iscinternal.com |
NetworkInterface | Label to assign to a network interface. Example: VM Network |
IPV4PrefixLength | Prefix length to use when statically assigning an Ipv4 address. Example: 21 |
Template | Virtual machine master copy. Example: centos-7 |
Parameter | Meaning |
---|---|
IPAddress | This is a required field (in the definitions file) for provider PreExisting and is a generated field for all other providers. |
DNSName | FQDN of the compute instance, or its IP Address if unavailable. Deployments of type PreExisting may populate this field (in the definitions file) to provide names for display by the icm inventory command. This is a generated field for all other providers. |
Parameter | AWS | GCP | vSphere | Azure |
---|---|---|---|---|
DataDeviceName |
xvdb |
sdb |
sdb |
sdc |
WIJDeviceName |
xvdc |
sdc |
sdc |
sdd |
Journal1DeviceName |
xvdd |
sdd |
sdd |
sde |
Journal2DeviceName |
xvde |
sde |
sde |
sdf |
Parameter | Meaning |
---|---|
Member | In initial configuration of a mirrored pair, either primary or backup (actual role of each failover member is determined by mirror operations). |
MachineName | Generated from Label-Role-Tag-####. |
WeaveArgs |
Generated by executing weave dns-args on the compute instance. |
WeavePeers |
List of IP addresses of every compute instance except the current on. |
StateDir |
Location on the ICM client where temporary, state, and log files will be written. Default: ICM-nnnnnnnnn. Command-line option: -stateDir. |
DefinitionIndex |
Assigns an index to each object in the definitions.json file; this is used to uniquely number load balancer instances (which would otherwise have the same names). |
TargetRole |
The role associated with the resources being managed by a given load balancer. |
MirrorSetName |
Name assigned to a failover mirror. |
InstanceCount |
Total number of instances in this deployment. |