
4Modules14Plugins
Collection for management of Red Hat Edge Manager resources
This Ansible Collection includes Ansible content to help automate the management of Red Hat Edge Manager resources.
This collection enables organizations to automate time-consuming, error-prone tasks, enhancing efficiency and reducing manual effort. By leveraging it, teams can quickly adapt to shifting conditions across diverse IT environments, improving both operational agility and resilience. Its primary goal is to streamline mission-critical workflows for better overall performance.
Tested with the Ansible Core >= 2.15.0 versions, and the current development version of Ansible.
This collection requires Python 3.10 or greater.
If used with Ansible Automation Platform (AAP), the minimum supported version is 2.5.20250326 or greater.
Requires Red Hat Edge Manager version 0.7 or greater.
See the Ansible Core Support Matrix to see which ansible versions are compatible with python versions.
The redhat.edge_manager collection can be installed with the Ansible Galaxy command-line tool:
ansible-galaxy collection install redhat.edge_manager
You can also include it in a requirements.yml file and install it with ansible-galaxy collection install -r requirements.yml, using the format:
---
collections:
- name: redhat.edge_manager
Note that if you install any collections from Ansible Galaxy, they will not be upgraded automatically when you upgrade the Ansible package. To upgrade the collection to the latest available version, run the following command:
ansible-galaxy collection install redhat.edge_manager --upgrade
A specific version of the collection can be installed by using the version keyword in the requirements.yml file:
---
collections:
- name: redhat.edge_manager
version: 1.3.0
or using the ansible-galaxy command as follows
ansible-galaxy collection install redhat.edge_manager:1.3.0
The Python module dependencies are not installed by ansible-galaxy. They must be installed manually using pip:
pip install -r requirements.txt
Refer to the following for more details. * using Ansible collections for more details.
You can either call modules, rulebooks and playbooks by their Fully Qualified Collection Name (FQCN), such as redhat.edge_manager, or you can call modules by their short name if you list the redhat.edge_manager collection in the playbook's collections keyword:
---
- name: Create a new test device
redhat.edge_manager.flightctl_resource:
kind: Device
name: "test-ansible-device"
api_version: flightctl.io/v1alpha1
- name: Create a new device
redhat.edge_manager.flightctl_resource:
kind: Device
name: "test-ansible-device-2"
resource_definition: "{{ lookup('file', 'device.yml') | from_yaml }}"
- name: Update new test device
redhat.edge_manager.flightctl_resource:
kind: Device
name: "test-ansible-device"
api_version: flightctl.io/v1alpha1
resource_definition:
apiVersion: flightctl.io/v1alpha1
kind: Device
metadata:
labels:
fleet: default
novalue: ""
- name: Get information about a specific device
redhat.edge_manager.flightctl_resource_info:
kind: Device
name: "test-ansible-device"
- name: Delete a test device
redhat.edge_manager.flightctl_resource:
kind: Device
name: "test-ansible-device"
state: absent
- name: Get all devices
redhat.edge_manager.flightctl_resource_info:
kind: Device
- name: Get all fleets
redhat.edge_manager.flightctl_resource_info:
kind: Fleet
- name: Update the resource definition for a fleet
redhat.edge_manager.flightctl_resource:
kind: Fleet
name: "ansible-test-fleet"
resource_definition:
spec:
os:
image: quay.io/redhat/rhde:9.3
There are unit, sanity, and integration tests configured to run for this repository. Tests are configured to run via github actions on pull requests and can also be run locally.
ansible-test is used to run each of the test types. For ansible-test to properly work the collection must be present in the following directory structure on your local machine:
{...}/ansible_collections/redhat/edge_manager/{code_from_this_repo}
Run locally via make unit-test
Run locally via make sanity-test
Integration tests are dependent on: - A Red Hat Edge Manager instance the tests can hit - The flightctl_host var inside integration_config.yml set to the running Red Hat Edge Manager API service
The easiest way to run tests locally is to:
- Run make deploy from the main flightctl repository
- Run make write-integration-config from this repository to create the proper integration config from your running services
- Run locally via make integration-test
redhat.edge_manager collection v1.0.0 is for Technical Preview. If you encounter issues or have questions, you can submit a support request through the following channels: - GitHub Issues: Report bugs, request features, or ask questions by opening an issue in the GitHub repository.
See the changelog.
More information about Red Hat Edge Manager can be found in the main repo. The user docs in particular are helpful for understanding the concepts and capabilities of Red Hat Edge Manager.
See LICENSE to see the full text.
| Product |
|---|
| Red Hat Ansible Automation Platform 2.6 |
| Red Hat Ansible Automation Platform 2.5 |
| Red Hat Ansible Automation Platform 2.4 |
The Red Hat Ecosystem Catalog is the official source for discovering and learning more about the Red Hat Ecosystem of both Red Hat and certified third-party products and services.
We’re the world’s leading provider of enterprise open source solutions—including Linux, cloud, container, and Kubernetes. We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.