Dell EMC OpenManage Ansible Modules
Dell EMC OpenManage Ansible Modules allows data center and IT administrators to use RedHat Ansible to automate and orchestrate the configuration, deployment, and update of Dell EMC PowerEdge Servers and modular infrastructure by leveraging the management automation capabilities in-built into the Integrated Dell Remote Access Controller (iDRAC), OpenManage Enterprise (OME) and OpenManage Enterprise Modular (OMEM).
OpenManage Ansible Modules simplifies and automates provisioning, deployment, and updates of PowerEdge servers and modular infrastructure. It allows system administrators and software developers to introduce the physical infrastructure provisioning into their software provisioning stack, integrate with existing DevOps pipelines and manage their infrastructure using version-controlled playbooks, server configuration profiles, and templates in line with the Infrastructure-as-Code (IaC) principles.
Supported Platforms
- iDRAC 7 based Dell EMC PowerEdge Servers with firmware versions 2.63.60.62 and above.
- iDRAC 8 based Dell EMC PowerEdge Servers with firmware versions 2.81.81.81 and above.
- iDRAC 9 based Dell EMC PowerEdge Servers with firmware versions 5.00.10.20 and above.
- Dell EMC OpenManage Enterprise versions 3.8.2 and above.
- Dell EMC OpenManage Enterprise Modular versions 1.40.00 and above.
Prerequisites
- Ansible >= 2.10.0
- Python >= 3.8.6
- To run the iDRAC modules, install OpenManage Python Software Development Kit (OMSDK)
using either
pip install omsdk --upgrade
orpip install -r requirements.txt
. OMSDK can also be installed from Dell EMC OpenManage Python SDK - Operating System
- Red Hat Enterprise Linux (RHEL) 8.5 and 8.4
- SUSE Linux Enterprise Server (SLES) 15 SP2 and 15 SP1
- Ubuntu 20.04.2 and 20.04.1
Installation
-
From galaxy:
ansible-galaxy collection install dellemc.openmanage
- For offline installation on the Ansible control machine, download the required tar archive version of the collection from Dell EMC OpenManage collection and run the command given below:
ansible-galaxy collection install dellemc-openmanage-<version>.tar.gz
- For offline installation on the Ansible control machine, download the required tar archive version of the collection from Dell EMC OpenManage collection and run the command given below:
-
From github:
Install the collection from the github repository using the latest commit on the branch 'collections'
ansible-galaxy collection install git+https://github.com/dell/dellemc-openmanage-ansible-modules.git,collections
SSL Certificate Validation
By default, SSL certificate validation is enabled in all modules to enforce secure communication.
Enable SSL certificate validation
To enable SSL certificate validation, perform the following steps:
- Generate and upload the custom or organizational CA signed certificates on the iDRACs, OpenManage Enterprise, and OpenManage Enterprise-Modular, as required.
- For iDRAC, see the section
SSL server certificates
in theIntegrated Dell Remote Access Controller Users Guide
. - For OpenManage Enterprise, see the section
Security Certificates
in theOpenManage Enterprise Users Guide
. - For OpenManage Enterprise Modular, see the section
Managing certificates
in theOpenManage Enterprise Modular for PowerEdge MX7000 Chassis Users Guide
.
- For iDRAC, see the section
- After you have uploaded the custom or organizational CA signed certificate to iDRAC or OME or OME-M, you must have the CA file or bundle available on your Ansible controller. For example, copy the CA file or bundle in the following path: /usr/share/ssl-certs/
NOTE: Ensure that the user running the Ansible modules has permission to access the certificate file or bundle.
- You can then use either of the following methods to specify the custom or organization CA certificate file or bundle path to the module:
- In your playbook tasks, set the
ca_path
argument to the file path of your custom or organization CA certificate file or bundle.ca_path: /usr/share/ssl-certs/ca-cert.pem
- Use any of the following environment variables to specify the custom or organization CA certificate file or bundle path. The modules reads the environment variable in the following order of preference:
REQUESTS_CA_BUNDLE
,CURL_CA_BUNDLE
,OMAM_CA_BUNDLE
.
NOTE: Use the following command to set the environment variable with the custom or organization CA certificate file or bundle:
export REQUESTS_CA_BUNDLE=/usr/share/ssl-certs/ca-cert.pem
- In your playbook tasks, set the
Ignore SSL certificate validation
It is common to run a test environment without a proper SSL certificate configuration. To disable the certificate validation for a module, set the validate_certs module argument to False
in the playbook.
Playbooks and Tutorials
- For the latest sample playbooks and examples, see playbooks.
- For the tutorials and sample use cases, see the tutorials available at developer.dell.com.
Documentation
- For the OpenManage Ansible collection documentation, see Documentation. This documentation page is updated for every major and minor (patch release) and has the latest collection documentation.
- OpenManage Ansible collection is an Ansible certified collection and also available as part of the Ansible Community Releases version v3.0.0 and later. Consequently, the documentation can also be accessed at Ansible Collection Documentation.
NOTE: There might be a scenario where the documentation available at Ansible Collection Documentation is not the latest version. And, this is due to differences in the release timelines for Ansible community release and OpenManage Ansible collection.
- To view the documentation for a module, use the command
ansible-doc
. For example,$ ansible-doc dellemc.openmanage.<module-name>
LICENSE
This project is licensed under GPL-3.0 License. See the COPYING for more information.
Contributing
We welcome your contributions to OpenManage Ansible Modules. See Coding Guidelines for more details. You can refer our Code of Conduct here.
Testing
See here for further information on testing.
Debugging
To debug OpenManage Ansible Modules using IDE, see here
Maintenance
- OpenManage Ansible Modules releases follows a monthly release cycle. On the last week of every month, the updated modules are posted to this repository.
- OpenManage Ansible Modules releases follow semantic versioning.
- OpenManage Ansible Modules deprecation cycle is aligned with Ansible.
Support
- This branch corresponds to the release actively under development.
- To report any issue, create an issue here.
- If any requirements have not been addressed, then create an issue here.
- To provide feedback to the development team, send an email to OpenManageAnsible@Dell.com.
Authors
- OpenManageAnsible (OpenManageAnsible@dell.com)