- 06 Nov 2024
- 2 Minutes to read
- Print
Overview of How Lab Automation Works
- Updated on 06 Nov 2024
- 2 Minutes to read
- Print
When creating labs Skillable allows the lab to include automations these can either perform actions as part of a Lab Life Cycle or as part of the actual user experience within the lab which can either be initiated by the user or by the Skillable system at the end of the lab. This document provides a high-level overview of how this works. The core Studio features that use this functionality are:
Life Cycle Actions are actions that are executed when specific events occur within a lab's life cycle. See the document for Life Cycle configuration specifics. | |
Allows the creation of scripted activities to interact with the lab environment. These can be used to either modify the environment or validate the tasks completed by the lab user. See the document for Automated Activity configuration specifics. |
Overview
When configuring a Life Cycle Action (LCA) or an Activity, you have to define a target for the activity to run against and a scripting/programming language. The target can be a VM, a Container, a Cloud subscription or a Skillable generated single-use scripting environment. Depending on the target the scripting or programming language can be selected, for example a VM might use PowerShell or bash, when as a Cloud subscription might use a CLI or Python.
How it works
When a lab automation has been enabled Skillable Orchestrator will ensure appropriate Linux based container(s) are created to enable the scripts to be run against the specific target. When a combination of the Target and Language are selected this allows Orchestrator to know which container to select and what resource to connect it to within the Lab.
Cloud Subscriptions
When scripting against native cloud subscriptions Skillable Orchestrator manages authentication and connectivity to the Cloud subscription therefore the Lab Developer does not need to provide authentication script they just needs to create the script in the chosen language for the tasks required and the deployed container will then execute the script against the Cloud subscription just as if the commands where executed on a Windows or Linux computer.
Virtual Machines and Containers - In Skillable Datacenter
Depending on the underlying virtualization technology and the Virtual Operating System the connection mechanism will vary. At a high level Containers and Windows VMs do not need any specific configuration, however, Linux VMs do require specific configuration on Hyper-V and ESX. When selecting a VM or Container as a target and selecting the appropriate language (normally bash or PowerShell), the container being used by Orchestrator will be configured to connect to the VM or Container by using the features of the underlying Hypervisor or by connecting the container to a hidden network within the Lab Environment. When connecting to a VM it is important to remember the credentials used are the credentials supplied on the VM Profile page, so these must be correct and have the appropriate permissions for the commands being executed.
Virtual Machines - In Cloud Datacenter
When working with Cloud Virtualization using AWs or Azure the Skillable Cloud Integration Services need to be installed. within the VM. when an automation targets a cloud VM the Skillable Orchestrator will automatically create an additional firewall rule in the cloud platform to allow port 2724 from Skillable into the VM. Details for the Skillable Cloud services can be found here.