Storage Devices (Ansible102)
This course offers a flexible (customizable) overview of using Ansible to automate the suite of Dell storage products including PowerMax, Isilon/PowerScale, and PowerStore. Examples highlight Ansible’s latest current release capabilities, building complex playbooks, and developing workflow strategies all while observing best-practice techniques.
Students will be encouraged to share with the class the manual ways they are currently doing work in an effort to create highly applicable Ansible solutions. Through these demonstrations, students will learn how to use code to extend structure and consistency to their specific job operations. Although this course focuses on Dell Storage solutions, Ansible is a Swiss Army knife of abstracted automation. Every lesson is highly applicable beyond ’just’ the Dell storage suite.
Course Information
Price: $2,795.00
Duration: 5 days
Certification:
Exam:
Continuing Education Credits:
Learning Credits:
Check out our full list of training locations and learning formats. Please note that the location you choose may be an Established HD-ILT location with a virtual live instructor.
Train face-to-face with the live instructor.
Access to on-demand training content anytime, anywhere.
Attend the live class from the comfort of your home or office.
Interact with a live, remote instructor from a specialized, HD-equipped classroom near you. An SLI sales rep will confirm location availability prior to registration confirmation.
All Sunset Learning dates are guaranteed to run!
Register
- Please Contact Us to request a class date or speak with someone about scheduling options.
Prerequisites:
- Strong typing skills
- Coding experience in another language is helpful, but not required
Target Audience:
Storage Engineers (specifically those using Dell Storage products), System Administrators, Network Engineers, and Developers will find this course a compelling overview of using Ansible to automate their workflows.
Course Objectives:
- Version controlling code with Git
- Overview of Ansible modules
- Ansible collections for content delivery
- Building roles for code reuse
- YAML formatting
- Playbook construction and order of execution
- Jinja2 templating
- Static and Dynamic inventory management
- Credential Management and Encryption with Vault
- Finding solutions on Ansible Galaxy
Course Outline:
This outline can be optimized for a custom presentation. Topics we can emphasize are listed (but not limited to) below:
- Ansible for Storage Strategies
- Ansible and Dell PowerMax
- Ansible and Dell Isilon / PowerScale
- Ansible and Dell PowerStore
- Ansible and Pure Storage
- Ansible for NetApp Storage
- Ansible and Jenkins for Orchestration
Ansible Introduction
- Ansible definition
- Exploring modules
- Building a task
- Collections (content delivery)
- Places to define Ansible vars
- hosts aka "Inventory"
- Creating a ’play’
- Looking at the ’handler’
- Running a playbook
- Requirements for connecting to remote hosts
Installation and Configuration
- Configuration requirements on the control machine
- Understanding pre-requisites for connecting to remote infrastructure
- Ansibleconfigurationwithansiblecfg
- YAML Spec
- YAML Dictionary
- YAML list
- YAML list of dictionaries
- YAML Alternate format
- Relationship to JSON
Writing a Simple Playbook for Dell Storage (PowerMax, Isilon/PowerScale and PowerStore)
- Elements of a playbook
- Dell Storage Collections
- Using include files for tasks
- Available Dell Storage modules
- Creating dynamic playbooks with external variable files
- How a Dell inventory may differ from static inventories
Ansible base modules to know
- Understanding modules documentation
- setup / gather_facts
- gathering facts on Dell storage arrays
- apt / yum / pip
- command / shell
- uri module for API lookups
- git
- debug for variable display
- lineinfile for building configuration files
- Writing Ansible Playbooks with Dell Storage Modules and Ansible Base modules
Variables, Conditionals, and Looping Tasks
- Variables and Loops
- Building conditionals from Dell Storage module results
- Blocks
- Getting variables from the system
- Setting variables in playbooks
- Getting variables from the command line
- Where is the best source to derive variables values?
Ansible and Jinja
- What is Jinja2?
- jinja variables
- jinja filters
- How to use ansible template
- Building Jinja2 templates for Dell Storage
Ansible and RESTful API Requests
- Passing parameters within RESTful API requests
- General tips for connecting Ansible to any API
- AWS S3 Bucket Storage Example
Dynamic Inventory Management
- What is Dynamic Inventory?
- A review of static Inventory Practices
- Using JSON as an Inventory Source
- Using YAML as an Inventory Source
- Why we need Ansible Roles
- The problems solved by Ansible Collections
- Creating Roles
- Creating Collections
- Role Directory Structure
- Role default variables
- Converting a Playbook to a Role
- Exploring Ansible Galaxy
- Finding code on GitHub
- Augmenting Ansible with Ansible Galaxy content (Roles and Collections)
Ansible Tower / Jenkins
- Running Dell Storage playbooks in Ansible Tower
- Running Dell Storage playbooks in Jenkins
- Why you should consider using Jenkins as a replacement for Ansible Tower
- Pushing and pulling playbooks from GitHub
Labs:
- Installing Dell Storage Collections
- Setting up the Ansible Controller
- Defining a static Ansible Inventory
- Running your first Playbook for Dell Storage
- Debug, Loops, and YAML Lists
- When Conditionals, YAML Dictionaries, and Jinja
- Error Handling in Dell Storage Playbooks – Rolling Back Errors
- Using Ansible to connect to RESTful APIs
- Building Jinja Templates for Configuration Files
- Interacting with Ansible Galaxy
- Creating a Dynamic Inventory with Python for Dell Storage
- Securing Dell Storage credentials with Ansible Vault
- Logging work performed on Dell Storage
- Integrating Python Tricks with Ansible Playbooks
- Running Dell Storage Playbooks with Jenkins
- Case Study – Using Dell PowerMax
- Case Study – Using Dell Isilion / PowerScale
- Case Study – Using PowerStore
- Case Study – Building Custom Solutions for Student Workflows