Working with Stack Templates
After creating one or more Stack Providers, as an Administrator you define Stack Templates to map the Stack Providers to the Deployment Target custom types in ARA.
Important! The actions that you can perform depend on your folder permissions. See: Assigning Release Automation Permissions.
This page includes the following:
A Stack Template is a description of a physical image. Stack Templates map the images of the external provisioning tools to CDA deployment target custom types. For example, a Tomcat Docker image can be mapped to a deployment target custom type "Tomcat".
- Navigate to the Release Automation perspective.
- Click the Provisioning tab.
- Select Stack Templates.
The Stack Templates list shows the following properties:
- Name
Type: each Stack Template has a type which is selected during creation (Docker, VMware or AWS).
Important! you cannot change the type of a Stack Template after creation.
- Deployment Target Type: deployment target template types (endpoints) associated to the Stack Template.
- Stack Provider: Stack Provider associated to the Stack Template. Stack Providers are the engine which allows to create Stacks based on Stack Templates.
- Created On
- Last Modified On
Note: The Stack Templates related to a certain Stack Provider/Blueprint are shown in the Stack Templates list displayed upon selecting the Stack Templates tab of the entity.
Tip: For more information about how search for entities and narrow down the results, see Advanced Search.
- Make sure you have added at least one Stack Provider. See: Creating Stack Providers
- Go to the Release Automation perspective.
- Click the Provisioning accordion tab.
- Select Stack Templates.
-
Click the Create button. The Create Stack Template dialog is displayed.
- Enter a name for the Stack Template.
- Select a Stack Provider, which has been previously added to the system. For more information see Creating Stack Providers. The template will run on the provider.
Notes:
- Only providers with status "connected" can be selected.
- The Stack Provider type is determined via the selected Stack Provider (see Viewing Custom Types).
- Select a folder to store the Stack Template. If no folder is selected, the Stack Template is stored in the default location.
- Define one user or user group as template owner. The current user is selected by default.
- Click Create. The Properties view of the Stack Template is displayed.
- Select the Deployment Target Templates tab.
- Click Assign in the toolbar to assign one or more Deployment Target templates. Deployment Target Templates define patterns for children Deployment Targets of the provisioned Environments.
For example: if a Stack Template describes a virtual machine template containing a Tomcat server running on port 8080, the provisioned Environment is expected to contain a Deployment Target of type “Tomcat” configured with port property set to 8080.
To model such a case, a Tomcat Deployment Target (for example “Tomcat_1”) should be assigned to the Stack Template, which will serve as a “template” for the created Deployment Targets. On the Deployment Target Template (“Tomcat_1”) all default values for properties you want to be copied into the provisioned Deployment Targets should be set.
For example: set port to 8080 on the Deployment Target Template “Tomcat_1” if you want to set ports of the children Deployment Targets of the provisioned Environment to 8080.
If you provision a new Environment, the Deployment Target Templates (for example “Tomcat_1”) of the Stack Templates are cloned into children Deployment Targets (for example “Tomcat_<GUID>”) of the provisioned Environment.
When a Deployment Target Template is cloned into a child Deployment Target of the provisioned Environment, all (non-protected!) properties of the template (in our example port=8080) are copied into the newly created Deployment Targets.
- Select the deployment targets you want to assign and click [OK].
Note: Alternatively, you can create Stack Templates directly from the Stack Templates list displayed upon selecting the Stack Templates tab of a Stack Provider.
What to do next:
Changing Properties of a Stack Template
Properties can be changed:
- From the Stack Template sidebar displayed next to the table that lists the Stack Templates
- In the Properties section of a Stack Template.
Important!
- "VMWare tools" has to be installed on VMWare templates.
- Only Ubuntu images are supported on VMware
You can change the following properties:
-
General
Basic attributes of the Stack Template. You can edit the Name, Folder and Owner.
-
Description
The description is limited to 2000 characters.
-
Agent Deployment
-
Agent Install Directory
Directory where the agent is installed. The rollout process creates sub-directories.
Note: User needs write permissions on this directory.
-
Override INI properties
INI properties overridden by the Service Manager installation. For example: name, system, cp.
-
-
(Docker) Docker Image
-
Docker Image Name:
Name of the Docker image. The Docker image contains the specifications for the virtual/cloud machine and determines the machine's attributes, settings, architecture and the way this is provisioned.
-
-
(VMware) Configuration
-
Datacenter
Datacenter where the virtual machine is created.
-
Datastore
Name of the datastore where you want to store the new virtual machine.
-
Location Type
Target location type where the virtual machine is created (if any).
-
Location Name
Name of vSphere container objects like ResourcePool, VApp, VMHost, Folder, Cluster, Datacenter where VMs are located. E.g. Testdatacenter
-
VM Host
Hostname or IP under which the host is accessible. Used for establish a connection.
-
Destination Folder
Full path to the folder where you want to create the new virtual machine.
-
-
(AWS) Configuration
-
AMI ID
Amazon Machine Image ID to be used for the instance.
-
Allocate Public IP
Option to allocate and associate a public elastic IP address.
-
Security Group
Security group of the new instance.
-
Key Pair
To connect to the instance, a key pair is needed for SSH access or to decrypt the Administrator password of a new Windows instance.
-
User Data
User data to be made available to the instances in this reservation.
-
User Data File
File name of the user data.
-
Instance Type
EC2 instance type.
-
Availability Zone
The Availability Zone in which the instance runs.
-
Kernel
ID of the kernel the instance is launched with.
-
Ramdisk
ID of the RAM disk.
-
Block Device Mapping
The block device mapping for the instance. This argument is passed in the form "devicename=blockdevice".
-
Monitor
Parameter that determines if the monitor should be enabled (Y/N).
-
Disable API termination
Parameter that defines if the instance can be terminated using the EC2 API.
-
Shutdown behavior
This parameter determines whether the instance stops or terminates if an instance shutdown is initiated.
-
Placement Group
Name of the placement group (cluster).
-
Tenancy
Tenancy of the instance.
-
Subnet
(VPC) the ID of the subnet where the instance should be launched.
-
Private IP address
(VPC). You can optionally use this parameter to assign the instance a specific available primary private IP address from the subnet.
-
Secondary private IP address count
Comma-separated list of extra private IP addresses. For example. 10.0.1.20,10.0.2.30. Cannot be used together with secondary private IP address count.
-
Client Token
Unique, case-sensitive identifier to ensure idempotency of the request.
-
Network Interface
Network attachment for the launched instance.
-
IAM profile
IAM instance profile to be associated with the launched instances.
-
EBS optimized
This parameter determines whether the instance is optimized for EBS I/O.
-
-
Connection
-
OS
Operating system.
-
Username
Username used to connect to the host and execute the installation. For Windows machine, an administrator user must be entered. For Unix, the root user or a user with Sudo permissions must be entered.
-
Password
User password.
-
Sudo Password
Sudo password for UNIX installations. Needed in case the given user is not "root". If the user is not "root" and no sudo password is specified, the installation will only be prepared but not executed. For WIN targets, the parameter is ignored.
-
Remote Protocol
Protocol used to establish the connection to the remote Machine. For Windows target use "winrm_http" or "winrm_https", for Linux use "ssh".
-
Remote Port
Port used for connection establishment to the Remote Machine. Leave "0" to use the default port:
- WinRM (HTTP) = 5985
- WinRM (HTTPS) = 5986
- SSH = 22
-
Private Key
Private key used when connecting to a target Unix box via ssh without password. For example, to connect to an Amazon Linux box with username and provided .ppk file.
-
Init System
First process started during booting of the computer system. E.g.: Systemd, Upstart, SysVinit.
-
-
Service Manager Deployment
-
Service Manager Install Directory
Directory in which the service manager is installed.
-
Override INI properties
INI properties overridden by the Service Manager installation. For example: name, system, cp.
-
Service Manager Phrase
Identifier used when installing the Service Manager as a Windows Service. Typically, this is set to the Automic system name.
-
-
-
Template
Virtual machine template you want to use for the creation of the new virtual machine.
-
OS Customization Specification
OS Customization Specification name to customize the new virtual machine.
-
Actions
Actions are located in the toolbar. They can be also triggered from the context menu displayed after right-clicking the entity. You can trigger the following actions (depending on your permissions):
- Export: exports the Stack Template definition in CSV format.
- Delete: deletes the Stack Template.
- Archive: archives the selected entity. If an entity is archived, Restore is available (see also: Archiving Entities)
Errors and Warnings
This panel shows errors and warnings in the context of the current Stack Provider. If there are no errors or warnings, the panel is not displayed.
Custom Properties
The selected object may have more properties and property groups defined by the administrator. When defined, these properties are shown in the sidebar as separate panels and can be edited by you.
You can create a duplicate of an existing Stack Template, so that the copy only differs from the original in the referenced image.
To Duplicate Stack Templates
- Navigate to Provisioning > Stack Templates.
- Select a Stack Template from the list.
- Click the Duplicate icon in the toolbar. The Duplicate Stack Template dialog is displayed.
- Enter a name for the duplicated Stack Template.
- Select a folder to store it.
- Click create.
Note: Protected fields (for example, passwords) are not copied over.
-
Right-click the entity and select Delete.
Note: You may only delete the entity when you have the appropriate permission on the containing folder (see Security Concept in CDA) and all of the listed conditions are met.
Conditions to delete entities of type Stack Template
- Is not referenced by any Stack
See also: