Skip to main content
BeeGFS on NetApp with E-Series Storage

Ansible Playbook Overview

Contributors iamjoemccormick

Deploying and managing BeeGFS HA clusters using Ansible.

Overview

The previous sections walked through the steps needed to build an Ansible inventory representing a BeeGFS HA cluster. This section introduces the Ansible automation developed by NetApp to deploy and manage the cluster.

Ansible: Key Concepts

Before proceeding, it is helpful to be familiar with a few key Ansible concepts:

  • Tasks to execute against an Ansible inventory are defined in what is known as a playbook.

    • Most tasks in Ansible are designed to be idempotent, meaning they can be run multiple times to verify the desired configuration/state is still applied without breaking things or making unnecessary updates.

  • The smallest unit of execution in Ansible is a module.

    • Typical playbooks use multiple modules.

      • Examples: Download a package, update a config file, start/enable a service.

    • NetApp distributes modules to automate NetApp E-Series systems.

  • Complex automation is better packaged as a role.

    • Essentially a standard format to distribute a reusable playbook.

    • NetApp distributes roles for Linux hosts and BeeGFS file systems.

BeeGFS HA role for Ansible: Key Concepts

All the automation needed to deploy and manage each version of BeeGFS on NetApp is packaged as an Ansible role and distributed as part of the NetApp E-Series Ansible Collection for BeeGFS:

  • This role can be thought of as somewhere between an installer and modern deployment/management engine for BeeGFS.

    • Applies modern infrastructure as code practices and philosophies to simplify managing storage infrastructure at any scale.

    • Similar to how the Kubespray project allows users to deploy/maintain an entire Kubernetes distribution for scale out compute infrastructure.

  • This role is the software-defined format NetApp uses to package, distribute, and maintain BeeGFS on NetApp solutions.

    • Strive to create an “appliance-like” experience without needing to distribute an entire Linux distribution or large image.

    • Includes NetApp authored Open Cluster Framework (OCF) compliant cluster resource agents for custom BeeGFS targets, IP addresses, and monitoring that provide intelligent Pacemaker/BeeGFS integration.

  • This role is not simply deployment "automation" and is intended to manage the entire file system lifecycle including:

    • Applying per-service or cluster-wide configuration changes and updates.

    • Automating cluster healing and recovery after hardware issues are resolved.

    • Simplifying performance tuning with default values set based on extensive testing with BeeGFS and NetApp volumes.

    • Verifying and correcting configuration drift.

NetApp also provides an Ansible role for BeeGFS clients, that can optionally be used to install BeeGFS and mount file systems to compute/GPU/login nodes.