Automation on IBM Power servers
Automation is an essential component of modernization and digital transformation on
IBM Power servers. Automation is an important requirement of today's IT solutions that provides an approach to standardize the deployment, configuration, and management across the IT infrastructure. Modern infrastructure is becoming heterogeneous. IT administrators, developers, and QA engineers want to streamline anything they can do to save time and increase reliability, especially when it comes to the virtualized environment.
This chapter provides information about automation solutions that are available on Power servers and how they can be used to automate PowerVM-based deployments and configurations.
This chapter covers the following topics:
6.1 Automation tools for Power servers
This section provides an overview of the options that are available for automation on Power. The focus is on automation options for AIX, IBM i, and Linux in PowerVM environments.
Here are some common automation tools:
Puppet
Chef
Ansible
Terraform
These tools can be used to automate jobs on AIX, IBM i, and Linux. Table 6-1 lists the tools that are available for each operating system.
Table 6-1 Available automation tools for each operating system
Automation tools
Virtual I/O Server (VIOS)
AIX
IBM i
Linux
Puppet
No
Yes
No
Yes
Chef
No
Yes
No
Yes
Ansible
Yes
Yes
Yes
Yes
 
Note: Terraform typically is not used to manage operating systems. Thus, Terraform is not listed in this table.
These tools work differently on each host operating system. The following sections provide a brief overview of each tool and references for more information.
6.1.1 Puppet
Puppet is an open-source software for IT automation. Puppet is a tool that helps you manage and automate the configuration of servers.
When you use Puppet, you define the state of the systems in the infrastructure that you want to manage. The state is defined by writing infrastructure code in the Puppet Domain-Specific Language (DSL) and Puppet code, which you can use with a wide array of devices and operating systems. Puppet code is declarative. You describe the state of your systems, not the steps that are needed to get there. Puppet automates the process of getting these systems into that state and keeping them there.
For more information, see the following resources:
Introduction to Puppet, found at:
What is Puppet, found at:
6.1.2 Chef
The Chef software is an open-source configuration management tool that you can use to create parts of an infrastructure as a service (IaaS). It works as client/server model architecture. The Chef procedural script language creates recipes, which are made of reusable definitions that are written in the Ruby programming language. Chef recipes that perform related functions are grouped in a single container that is called a cookbook. Cookbooks and recipes automate common infrastructure tasks. The recipe definitions describe what your infrastructure consists of, and how each part of your infrastructure is deployed, configured, and managed. Chef applies these definitions to servers to produce an automated infrastructure.
Using Chef, you can create a scalable infrastructure with a minimal configuration to maintain. Chef scripts form part of a recipe for your infrastructure configuration that is understood by multiple systems, services, and languages. By using Chef to configure your infrastructure deployment, you do not have to rewrite code if you change part of the underlying infrastructure. For more information, see the following resources:
Chef Platform Overview, found at:
Chef, found at:
About Cookbooks, found at:
Porting Chef Cookbooks to AIX, found at:
6.1.3 Ansible
Ansible is an open-source IT configuration management, deployment, and orchestration tool.
Ansible is the automation platform of choice for Power server. For this reason, 6.2, “Ansible automation for Power servers” on page 210 describes the Ansible Automation Platform in more detail and provides references to more resources for further reading.
For more information, see ANSIBLE IN DEPTH, found at:
6.1.4 Terraform
Terraform is an open-source “Infrastructure as Code” tool that was created by HashiCorp. Terraform is a declarative coding tool that enables developers to use a high-level configuration language called HashiCorp Configuration Language (HCL). With this tool, developers describe the wanted “end-state” cloud or on-premises infrastructure for running an application. Then, HCL generates a plan for reaching that end state and runs the plan to provision the infrastructure.
For more information, see Terraform, found at:
6.2 Ansible automation for Power servers
Ansible is an IT automation tool. Ansible is used to install, configure, and deploy systems and software, and orchestrate common IT tasks, such as continuous deployments or zero downtime rolling updates.
Simplicity, security, and reliability are Ansible's main objectives.
Ansible uses OpenSSH for transport, the open-source connectivity tool for remote login with the Secure Shell (SSH) protocol. Other transports and pull modes can be used as alternatives. The use of OpenSSH reduces security exposures.
Ansible uses a programming language that can be read and interpreted by humans, even by users that are not familiar with the programming language.
Ansible facilitates an agentless management of machines, which eliminates issues that are related to endpoint daemon management. Instead, Ansible runs with a push model.
Ansible manages remote machines over SSH. Because Ansible is an agentless tool, it does not consume any resources on the endpoints when not in use. Also, it does not need a dedicated Ansible administrator on the endpoints. When required, Ansible can use sudo, su, and other privilege escalation methods.
Automating IT operations with Ansible delivers many benefits to IT managers and CIOs. Organizations benefit from improvements in efficiency, visibility, and simplicity. The resulting high level of repeatable automated IT processes increases productivity (admins can get more done) and reduces risk (less operator error). Ansible automated management also spans multiple configurable endpoints, such as servers, VMs, network switches, storage devices, and platforms, including Power servers, mainframe, and x86.
Ansible brings together administrators and developers to collaborate on building IT automation solutions that work for them. Ansible has a vibrant community that is constantly innovating and delivering new capabilities to extend its reach within the data center.
For more information, see the following resources:
Ansible Documentation, found at:
IBM Power Systems and the Red Hat Ansible Automation Platform, found at:
Ansible for IBM Power Systems (video), found at:
Community Information & Contributing, found at:
6.2.1 Ansible Content Collections
Ansible provides content in a distribution format that is called Ansible Content Collections, or collections, which represent a new standard of distributing, maintaining, and consuming automation. By combining multiple types of Ansible content (playbooks, roles, modules, and plug-ins), flexibility and scalability are improved.
These collections are available at using Ansible Galaxy (community version) and Ansible Automation Hub.
For more information, see Getting Started With Ansible Content Collections, found at:
IBM Collections for Ansible
IBM Collections for Power servers provide collection for AIX, VIOS, Hardware Management Console (HMC), and IBM i. They are available at Ansible Galaxy.
Figure 6-1 shows the available Power servers collections at Ansible Galaxy.
Figure 6-1 Ansible Galaxy Power servers collections
The following Ansible collections are available for Power servers:
IBM Power Systems AIX Collection (power_aix)
The IBM Power Systems AIX collection provides modules that can be used to manage configurations and deployments of AIX on Power servers and AIX logical partitions (LPARs). The collection content helps to include workloads on Power platforms as part of an enterprise automation strategy through the Ansible ecosystem.
For more information, see IBM Power Systems AIX Collection, found at:
IBM Power Systems HMC Collection (power_hmc)
The IBM Power Systems HMC collection provides modules that can be used to manage configurations and deployments of HMC on Power servers and Power servers that are managed by the HMC. The collection content helps to include workloads on Power platforms as part of an enterprise automation strategy through the Ansible ecosystem.
For more information, see IBM Power Systems HMC Collection, found at:
IBM Power Systems VIOS Collection (power_vios)
The IBM Power Systems VIOS collection provides modules that can be used to manage configurations and deployments of VIOS on Power servers. The collection content helps to include workloads on Power platforms as part of an enterprise automation strategy through the Ansible ecosystem.
For more information, see IBM Power Systems VIOS Collection, found at:
Ansible Content for IBM Power Systems - IBM i (power_ibmi)
The Ansible Content for IBM Power Systems - IBM i provides modules, action plug-ins, roles, and sample playbooks to automate tasks on IBM i, such as command runs, system and application configuration, work management, fix management, and application deployment.
For more information, see Ansible Content for IBM Power Systems - IBM i, found at:
For more information, see the following resources:
Ansible Galaxy – Open-source repository of Power modules, found at:
Automate AIX and IBM i Admin Tasks with Ansible Content, found at:
Ansible for AIX demo, found at:
Ansible for IBM i demo, found at:
6.2.2 Ansible Automation Platform 2 for IBM Power Systems
The Ansible Automation Platform is a foundation for building and operating automation across an organization. The platform includes all the tools that are required to implement enterprise-wide automation. Ansible-managed endpoints can include virtual machines (VMs) on Power servers that run IBM AIX, IBM i, or Linux.
The Ansible Automation Platform provides enterprise subscriptions and support for Ansible deployments, including certified endpoint module collections for AIX, IBM i, Linux, VIOS, and HMC.
The Ansible Automation Platform for IBM Power Systems makes it possible for users across an organization to create, test, and manage automation content through a powerful and agentless framework. It is a more secure, stable, and flexible foundation for deploying end-to-end automation solutions, from IT processes to hybrid cloud to the edge.
Here are some of the key features:
IT managers and architects can more easily expand automation across the enterprise. Automation policy and governance are managed with the automation services catalog. They can get real-time reporting across the entire stack.
Execution environments deliver a consistent container-like experience for building and scaling automation. New tools are included to help build and manage them. Ansible Content Collections offer prebuilt automation content from more than 100 certified partners, with solutions that are available for many use cases.
Administrators and operators have powerful tools in the automation controller and automation hub to manage and share automation projects more efficiently, with a common language and broadly accessible mix of command-line interfaces (CLIs), GUIs, and text-based user interfaces (TUIs) across endpoints.
Red Hat Ansible Certified Content for IBM Power Systems is available as part of the enterprise automation strategy.
Figure 6-2 provides an overview of Ansible Automation Platform2 for IBM Power Systems.
Figure 6-2 Ansible Automation Platform for IBM Power Systems
For more information, see the following resources:
IBM enables Red Hat Ansible Automation Platform for IBM Power, found at:
CERTIFIED INTEGRATION: Ansible and IBM Power Systems, found at:
Red Hat Ansible Automation Platform trial, found at:
6.3 Automating IBM Power Virtualization Center with Ansible
Automation is a foundation for digital transformation. Red Hat Ansible is a powerful tool that plays an important role in a digital transformation journey.
IBM Power Virtualization Center (PowerVC) is the strategic enterprise virtualization and cloud management solution for Power servers. It provides several benefits, such as simplified virtualization management and operations, rapid provisioning, and upward integration with other technologies, which include Ansible. PowerVC is built on OpenStack technology. Because of its OpenStack foundation, the OpenStack modules that are included with Ansible are all that you need to get started.
 
Note: These Ansible modules are available through the community only, that is, no enterprise support is provided.
You can use the Ansible uri module to directly call PowerVC APIs that might not be exposed through the OpenStack modules.
The tutorial Automating PowerVC using Ansible illustrates a practical application of automating IBM PowerVC with Ansible to provision a VM. For implementation details, see the tutorial, found at:
For more information, see the following resources:
Automating PowerVC snapshots using Ansible and REST API, found at:
Ansible Role for PowerVC AIX VM Deployment - GitHub, found at:
 
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset