The Red Hat Ansible Automation Platform makes IT automation simple and powerful. In line with the fast growing adoption and community, we want Red Hat’s business partners and customers to be familiar with the Red Hat Ansible Automation Platform. Of course, there are lots of resources for learning about Ansible out there: books, blogs, tutorials and training. But the people at Red Hat working behind the scenes on Ansible created something especially useful: the Red Hat Ansible Automation Platform workshops!
As a Red Hat partner, no matter if you are planning to run an Ansible demo, train your internal staff or deliver a workshop to get your customers started with Ansible, the Ansible workshops are the way to go! Instead of creating your own workshop framework and content, you can focus on delivering Ansible enablement with consistent messaging through tested and curated exercises created by Red Hat. Using consistent, scalable content following best practices allows you to concentrate on your main business, building solutions for your customers and enabling the customer teams on the corresponding technology.
The Ansible Workshops
The Ansible workshops provide you with everything you need to successfully run workshops, including presentations, guided exercises and dedicated lab environments for every attendee. The workshops take around 3-6 hours to complete depending on attendees exposure to automation and the managed technologies. There are Ansible Engine and Ansible Tower, of course, but depending on the workshop type, other technologies like virtual network devices, security related products and even Microsoft Windows can be part of the workshops as well.
The workshops are designed to be run by an instructor, who will lecture and assist students. They are used extensively for internal training at Red Hat, for enabling our business partners and introducing our customers to Red Hat Ansible Automation Platform. We use them regularly to deliver hands-on labs at events like the Red Hat Summits in San Francisco, Boston and even virtually with great success. With the workshops being available to Red Hat partners, you can start using them in the same way today.
The workshop content is hosted on github.com/ansible/workshops and of course Open Source. There, you’ll find everything needed for learning and teaching Ansible: the provisioner, a fully Ansible-based tool to deploy lab environments to the Amazon cloud and guided exercises that will lead your workshop attendees through the corresponding workshop. Currently, the following workshops are available:
Ansible Red Hat Enterprise Linux Workshop
Getting started with Ansible Engine and Ansible Tower for Linux automation
Ansible Network Automation Workshop
Learn how to use Ansible for automating network technologies using platforms like Arista, Cisco and Juniper, as examples
Ansible F5 Workshop
A specialized workshops teaching automation of F5 BIG-IP devices
Ansible Security Automation
A recent addition focused on automation of security tools like Check Point Firewall, IBM QRadar and the IDS Snort
Ansible Windows Automation Workshop
Ansible’s strength is the broad range of supported IT technologies; this one gives an intro on automation of Microsoft Windows
How to deploy the workshops from Red Hat Product Demo system
With the introduction out of the way, a brief walk-through to show you how to deploy and use the workshops should be in order. As a Red Hat Advanced or Premium Business Partner, you can use the Red Hat Product Demo system (RHPDS), a resource for deploying demos and workshops covering our products. RHPDS provides a service catalog that allows you to order the Ansible workshops via self-service. To do so, after accessing RHPDS, navigate to the “Workshops” folder in the catalog, where you’ll find the Ansible Workshops.
Choose the one you are interested in and click it. The following page provides information and links pointing to the workshop content (like slide decks and exercises). To actually deploy a workshop, click “Order”. This will take you to the next page where you have to agree to some disclaimers and put in your company name. After choosing the AWS region (usually the one you are located in) there is one last question: “Number of Attendees”. Enter the number of attendees (1-50) and RHPDS will deploy a dedicated lab for each one!
To finish the order process, click “Submit”. As deployment takes some time, refill on coffee or whatever beverage you prefer. You will get email notifications to the address connected to your RHPDS account informing you about the state of the deployment. The final “deployment completed” email contains information about the environment lifetime and a link to access the lab environments.
The workshop environment is now successfully deployed.
Note: The runtime of the workshop environments is limited to 2 days and can’t be extended. So after 48 hours, the entire environment is decommissioned automatically.
Giving attendees access to lab environments
Following the link takes you to the landing page for your very own workshop. This page has three sections:
- Ansible Automation Workshops - Links to the lab guide with the exercises and a introduction presentation
- Workshop Resources - some helpful pointers
- Workbench Information - the most important part, the actual information to access the dedicated environments
How you run a workshop is entirely up to you. But at some point, you have to give attendees access to their lab environments. This is where the “Workbench Information” comes into play. It’s basically a list of student names that can fold out to show specific access information like URLs, hostnames and user credentials to access the web UI of an Ansible Tower instance, for SSH access and something else: “VS Code access”which is a VS Code-like application running in your browser. Your users can use it to open a terminal (no SSH client needed) for command line work and to create and edit files.
To get your attendees started with the hands-on labs, hand out student names (student1 - student<N>) and the URL to the landing page. Tell them to look up the access information in the workbench information and off they go. The attendees can then follow the lab guide, which leads them through the environment and the corresponding exercises.
Deploy the Workshops without RHPDS Access
As mentioned, the Ansible Workshops live on Github. If you don’t have access to RHPDS and want to deploy a devel version or want to contribute, you can deploy the workshops into your own AWS account. You basically need a Linux system running at least Ansible Engine v2.9.0 and your Amazon AWS account access keys.
Prepare the control node
The first step is to install Ansible and Boto (needed by Ansible’s AWS modules) and then clone the Ansible Workshop Github repository:
$ sudo -i # yum install ansible python3-boto python3-boto3 $ git clone https://github.com/ansible/workshops.git $ cd workshops/provisioner/
You also have to set up authentication with AWS. For all AWS-related modules, you can either specify your access and secret key as environment variables, as module arguments or in a credentials file. Let’s use the latter so your keys don’t end up in your bash history. Create this file with your access key and secret key:
# cat ~/.aws/credentials [default] aws_access_key_id = ABCDEFGHIJKLMNOP aws_secret_access_key = ABCDEFGHIJKLMNOP/ABCDEFGHIJKLMNOP
Configure the Deployment
The Ansible Workshops are deployed by a tool appropriately called “provisioner” living in the Github repository, which is doing entirely Ansible-based cloud automation. The provisioner is configured via a vars file: it defines all details of the deployment like a name, student count, flavor and so on.
The directory “./sample_workshops/” holds sample vars files. The easiest way to get started is to make a copy of a vars file for the required workshop type and then customize it. For example, to deploy the Red Hat Enterprise Linux Workshop, at a bare minimum you have to change ec2_name_prefix, admin_password and workshop_dns_zone:
--- # region where the nodes will live ec2_region: us-east-1 # name prefix for all the VMs ec2_name_prefix: myworkshoptest # amount of work benches to provision student_total: 2 # workshop is put into rhel mode workshop_type: rhel ## Optional Variables # password used for student account on control node admin_password: AhNuuf6u # turn DNS on for control nodes, and set to type in valid_dns_type dns_type: aws # Sets the Route53 DNS zone to use for the S3 website workshop_dns_zone: myroute53.org # this will install Ansible Tower on all control nodes towerinstall: true
Note: workshop_dns_zone must point to a domain hosted in the AWS Route53 DNS management service. You have to create one if you don’t have one yet.
As the last preparation step, you’ll need to provide the provisioner with an Ansible Tower license file. Request an evaluation subscription if you don’t have an active subscription. Afterwards, download the license file and rename it to tower_license.json.
Deploying a Workshop
Now the only thing left is to run the top-level playbook and hand it the file with the variable definitions:
$ ansible-playbook provision_lab.yml -firstname.lastname@example.org
After the provisioner has finished its job without error, you’ll get information about how to access the workshop:
PROVISIONER SUMMARY ******************* - Workshop name is myworkshoptest - Instructor inventory is located at /home/grieger/workshops/provisioner/myworkshoptest/instructor_inventory.txt - Private key is located at /home/grieger/workshops/provisioner/myworkshoptest/myworkshoptest-private.pem - Website created at http://myworkshoptest.rhdemo.io - Auto-Assignment website located at http://myworkshoptest.gritest.rhdemo.io
The most important line is “- Website created at…”. Following this link will take you to the landing page as described above giving access to the lab environments. From here, just follow the same process as laid out already.
Running a Successful Workshop
Now you should have a good idea of the Ansible workshops, but running a successful workshop, automation event or technical enablement requires more than this. Think up front about the timeframe and what you want to achieve. Do you want to get your customer excited about automation and Ansible? Do you want to get your consultants started in Ansible? Or is it going to be a larger event where the hands-on part is the icing on the cake?
Answering these questions will give you some directions on how to design and deliver for your occasion. Consider the Ansible Workshops hands-on labs environments and the lab guides and collaterals as ingredients that you can add to your automation menu. At Red Hat, we have a lot of experience using this content for delivering successful events; here are some of the main points:
- Prepare an agenda, interweave presentations and hands-on labs, and make use of the modular character of the Workshops. This makes for a great experience: attendees will remember the meaningful interactions and overall value of the event, and even better, avoid long days filled with 8 hours of presentations.
- Plan the execution meticulously, especially when delivering to more than 10-15 attendees. Prepare in advance how to assign the student names; this is crucial to prevent attendees ending up on each other’s lab environments. For example, you can put numbers on desks or hand out paper-slips with student numbers. For virtual or large events, make sure to read below about the new attendance feature.
- Make room for discussion, but keep the time and agenda in mind! This is important for any meeting or event, but especially important for hands-on sessions you mix with presentations or panels. There will likely be a few attendees who are unable to complete the assignment, but make it clear in the beginning this may happen due to the advanced nature of the exercises.
- Have enough people to help out if problems arise. We have good experience with roughly one facilitator for 15-20 attendees.
In these tough times, consider running workshops virtually as we did for Red Hat Summit 2020. The main takeaway is that you have to plan in even more detail, since you can’t just walk over to help someone out. And if attendees don’t know how to access their lab environments or the guides, they will drop out as quickly as they signed up. So think about:
- How to convey access data and how to keep important information accessible to the attendees (maybe in the chat of your conferencing tool or on an external website).
- How to engage with your attendees: you will have to present something, sure. But the strongest value will be for people to learn something new and to get hands-on experience. Use the options offered by your conference tooling like Q&A, be prepared to pick up questions though audio and have links to advanced information ready.
- Try to lighten the mood… it gets pretty quiet in the virtual world when people start to go through labs. Prepare to tell a few brief stories about automation, kick off a morning session with virtual coffee and ask about their favorite beverages in the poll section, and implement any further engagement opportunities to make the experience fun.
- Have enough helpers available. In virtual environments the ratio might be different, roughly one facilitator per 10-15 attendees.
- Make sure to follow general best practices, like clear audio and a nice background, and make sure one or two members of your team always keep the camera on! This makes for a lot more personal experience.
Tips for larger Audiences
When hosting larger audiences, especially in a virtual environment, getting attendees onto their assigned lab environments can become a big issue. This is where the attendance feature comes into play: It provides a URL where attendees enter their email address as an identifier and get an environment assigned. No need to hand out paper slips or telling attendees to look up their student number on some HTML table anymore.
To use the feature, you take the URL of the landing page as described above and prepend it with “login”, e.g. when the URL you have been given via email is “http://2f54.rhdemo.io” you give your attendees “http://login.2f54.rhdemo.io”. This will lead them to the same landing page, but this time under “Workbench Information”, they will not see the access information for all students but this form:
After filling in their name and email address (used solely as an identifier), they will get one of the lab environments assigned and receive access information for it. The environment is now locked and the next attendee will get the next one available. The attendance feature even includes an admin part: as the facilitator you can append “list.php” so the URL looks like “http://login.2f54.rhdemo.io/list.php”. The page will ask for the workshop password and then provide an overview of the lab environments complete with whom they are assigned to:
By clicking “Delete” you can free up an environment for re-assignment.
Be Part of the Workshops Community!
A lot of Red Hatters contribute to the workshops, and we have a growing number of Red Hat business partners and individuals contributing as well. Forming a larger community around the workshop development is what Open Source is all about, after all!
When you get started with the workshops, don’t hesitate to raise Github issues if you identify areas that can be improved or you run into issues. And of course, feel free to fork the repository, improve the workshops and hand in Pull Requests.
Final Words and key takeaways
Ansible workshops can be a crucial tool in running an Ansible demo, training your internal staff or delivering a workshop to get your customers started with Ansible. Especially for Red Hat partners, there is a big potential here to get customers interested in Red Hat Ansible Automation Platform, paving the way for new business.
Not sure where to go next?
- Have a look at the available workshop exercises.
- Or dive right into the workshop code repository.
- Check out our Red Hat Ansible Automation Platform E-Books.
- Register for AnsibleFest 2020.
*Red Hat provides no expressed support claims to the correctness of this blog. All content is deemed unsupported unless otherwise specified.