Here, the answers for autoconfiguraton-related questions are given.
This topic contains the following sections:
- What is auto-configuration and how to get fully configured VM instance and software?
- Can a custom user data be used to allow auto-configuration?
- How do I use default auto-configuration provided by Orchestrator for AWS instances, launched from Amazon EC2 console?
- Is there a way to run a set of Maestro commands automatically?
- Which stack template formats are supported by Maestro Stacks?
- How do I launch a Maestro Stack?
- How do I monitor a Maestro Stack execution?
- What is the Maestro Stacks work flow?
- How do I pass parameters to a stack?
- What is the difference between Maestro and AWS CloudFormation Stacks?
- What happens if a Maestro Stack execution fails?
- What happens if you re-run a Maestro Stack?
- Is it possible to write project specific Chef recipes which can install and configure a VMs from scratch?
- When I run instances based on custom templates, all of them are assigned the same DNS name, containing 'xxxx'. What should I do?
- How does the integration with third-party tools work. For example, how does integration with Saltstack work?
- I didn't find the answer to my question here. Where should I address?
What is auto-configuration and how to get fully configured VM instance and software?
Auto-configuration is the automatic configuration of VM instances or applications without manual intervention.
You can get fully configured instance in two ways:
- Create an instance and use auto-configuration with Chef cookbooks that will automatically configure your VM as needed. For the details on auto-configuration usage please see the Auto Configuration Service section.
- Run instance from clear image and install all applications manually. Then create a snapshot and run new instances using it. We recommend using this approach when auto-configuration process takes longer than 15 minutes.
Can a custom user data be used to allow auto-configuration?
Yes, this functionality is implemented using instance properties.
How do I use default auto-configuration provided by Orchestrator for AWS instances, launched from Amazon EC2 console?
Please assign the following property to each of them:
Is there a way to run a set of Maestro commands automatically?
Yes, you can aggregate a set of API commands into one template which is called a Maestro Stack and run them all using a single command. For more details on Maestro Stacks please see the Cloud Formation Service Guide.
Which stack template formats are supported by Maestro Stacks?
Maestro Stacks templates can be stored in either .json or .xml files.
How do I launch a Maestro Stack?
The Maestro Stack file can be stored locally on your computer or uploaded to the Orchestrator server with the or2-upload-file (or2uf) command. In both cases, you can launch the stack with the or2-run-maestro-stack (or2rmstack) command followed by respective flags:
- For locally stored Maestro Stacks:
or2rmstack -p project -r region -s stack_name -m template_path_and_name
- For Maestro Stacks stored on Server:
or2rmstack -p project -r region -s stack_name -t template_name
For more details on Maestro Stacks, please, see the Cloud Formation Service page.
How do I monitor a Maestro Stack execution?
When you run a Maestro Stack, you can get the information about the stack performance by using the following command:
or2audit -p project -r region -s stack_id
Here, stack_id stands for a StackID value assigned to the stack at the stack run. You can see the StackID in the or2rmstack or or2dmstack command output.
What is the Maestro Stacks work flow?
The Maestro Stack flow is branched and consecutive. Branched means that there may exist several command chains, or branches. Each branch describes its own scenario that is executed independently of the other branches and does not interfere with them.
Consecutive means that within a branch, each command is executed only after the preceding one is finished.
How do I pass parameters to a stack?
The parameters are passed to stacks at the stack run command, with the -R/ --parameter option.
For the details on Maestro Stacks parameters specifics, please see the Cloud Formation Service Guide.
For details on AWS Stacks, please see the AWS CloudFormation page.
What is the difference between Maestro and AWS CloudFormation Stacks?
- Maestro Stacks: Maestro Stacks can be used in both EPAM Cloud and AWS Clouds, and can be also used in Open Stack without any adjustments. However, when it comes to AWS, Maestro Stacks support only those Amazon actions that are supported by Orchestration, the rest of Amazon facilities are not accessible.
To find the detailed guidelines on working with Maestro Stacks, please, see our Cloud Formation Service Guide.
- CloudFormation: CloudFormation stacks can be used only for AWS-based infrastructures. However, they support all the existing related AWS functionality, irrespectively of whether it is covered by EPAM Orchestration or not. This provides a big range of additional AWS opportunities for EPAM Cloud users.
The AWS CloudFormation page gives full information on the subject.
See the Maestro User Guide for details of the AWS integration and AWS Stacks usage in EPAM Cloud.
What happens if a Maestro Stack execution fails?
By default, if a Maestro Stack execution fails at some point, all the changes that have been made before the fail, remain. With the stack rollback function enabled, all resources created during the stack execution are deleted if the stack fails. To enable StackRollback, specify the --rollback option in the stack call:
or2rmstack -p project -r region -s stack_name -m stack_path --rollback
Please note that the rollback function does not influence the used quotas. It means, that if the resource was deleted during the rollback, the quota for its creation is still considered to be used.
What happens if you re-run a Maestro Stack?
Each launch is independent of others. If a Maestro Stack is re-launched, EPAM Orchestrator performs all the Maestro API operations described in the stack template (new resources creation, new or existing resource state management, depending on the context).
Is it possible to write project specific Chef recipes which can install and configure a VMs from scratch?
Yes, you can write your own Chef recipes for project instances. For more details, please, see the Services Guide, Section 3.2, Auto Configuration Service. Note that the recommended image for Chef server role usage is Ubuntu 16.04-template (medium).
Here, stackID stands for a StackID value assigned to the stack at the stack run. You can see the StackID at the or2rstack or or2dstack command output.
When I run instances based on custom templates, all of them are assigned the same DNS name, containing 'xxxx'. What should I do?
Instances based on custom templates are not included in EPAM domain due to security requirements. The instances are accessible by their IP addresses. You can also edit DNS names of your instances as per their host names (e.g. EVBYMINSD0001).
- Linux: manually edit your dhclient.conf
- Windows (Vista/7/8): configure DNS name in the 'Computer name, domain and workgroup settings' menu
If you would like a custom instance to be included in EPAM domain, please send a Support Request to support.epam.com.
How does the integration with third-party tools work. For example, how does integration with Saltstack work?
There are different approaches to integration with third-party tools.
The main feature for environment deployment in EPAM Orchestrator is Maestro Stack, which allows to create infrastructure; Chef tool is used for software setup and configuration.
All platform services delivered by EPAM Orchestrator use Maestro Stacks (for flow definition) and Chef (components configuration).
Besides this, Ansible and Dynamic Inventory are also supported.
SaltStack is not supported by Orchestrator yet. However, EPAM Orchestrator can be used as a configuration management tool, providing a single point of trust for salt-master and minions setup.
EPAM Orchestrator integration with GrayLog, Jenkins and other tools is performed via Maestro Stacks that allow to create necessary resources in Cloud automatically and deploy respective applications on them, as well as configure these applications to bring them to ready-to-use state.
At the moment, EPAM Orchestrator is integrated with about 20 third-party tools, and this scope can be expanded by any tool that has an API for integration, within 3-10 weeks.
The current library includes Azure ASM and ARM API, Ambari REST API, AMQP, Chef API, Docker API, GrayLog API, HP SM and HP CSA APIs, Jenkins API, Zabbix API, Nessus API, OpenStack(Nova) API, Git API, SVN API.
I didn't find the answer to my question here. Where should I address?
If this section does not contain the answer to your question, please, address our Consulting Team.