Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFC: Enhanced Ansible support #98

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Conversation

parlt91
Copy link
Contributor

@parlt91 parlt91 commented Dec 5, 2024

This RFC describes planned enhancements to the existing Ansible implementation in Uyuni

See the rendered version.

Signed-off-by: Pascal Arlt <[email protected]>
@parlt91 parlt91 changed the title Enhanced Ansible support RFC: Enhanced Ansible support Dec 5, 2024
Copy link
Member

@rjmateus rjmateus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall looks good, but I have a few questions. Thank you for the great work

accepted/00104-enhanced-ansible-support.md Outdated Show resolved Hide resolved
accepted/00104-enhanced-ansible-support.md Outdated Show resolved Hide resolved
accepted/00104-enhanced-ansible-support.md Outdated Show resolved Hide resolved
accepted/00104-enhanced-ansible-support.md Show resolved Hide resolved
accepted/00104-enhanced-ansible-support.md Outdated Show resolved Hide resolved
accepted/00104-enhanced-ansible-support.md Outdated Show resolved Hide resolved
accepted/00104-enhanced-ansible-support.md Outdated Show resolved Hide resolved
Copy link
Member

@meaksh meaksh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Pascal for this RFC! I've just added some comments and clarifications

accepted/00104-enhanced-ansible-support.md Show resolved Hide resolved
accepted/00104-enhanced-ansible-support.md Outdated Show resolved Hide resolved
accepted/00104-enhanced-ansible-support.md Outdated Show resolved Hide resolved
accepted/00104-enhanced-ansible-support.md Outdated Show resolved Hide resolved
accepted/00104-enhanced-ansible-support.md Show resolved Hide resolved
accepted/00104-enhanced-ansible-support.md Outdated Show resolved Hide resolved
accepted/00104-enhanced-ansible-support.md Outdated Show resolved Hide resolved
accepted/00104-enhanced-ansible-support.md Outdated Show resolved Hide resolved
accepted/00104-enhanced-ansible-support.md Outdated Show resolved Hide resolved
accepted/00104-enhanced-ansible-support.md Outdated Show resolved Hide resolved
Copy link
Contributor

@cbbayburt cbbayburt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, @parlt91. Looks good to me. All my concerns are already discussed under other reviews.

Here's a couple of remarks:

  1. I think it's important that users have the exact list of the clients on which the playbook is executed. IIUC we'll store this in action details. This should be a hard requirement.

  2. We should explore the formulas with forms UI to reuse as much as we can. Formulas UI also uses yaml to define the forms, so there's some opportunity there.

@parlt91 parlt91 force-pushed the enhanced-ansible-support branch from 7826c48 to a09b412 Compare December 17, 2024 10:03
accepted/00104-enhanced-ansible-support.md Outdated Show resolved Hide resolved
accepted/00104-enhanced-ansible-support.md Outdated Show resolved Hide resolved
Signed-off-by: Pascal Arlt <[email protected]>
@parlt91 parlt91 force-pushed the enhanced-ansible-support branch from a09b412 to ac56a48 Compare December 18, 2024 10:08
@parlt91
Copy link
Contributor Author

parlt91 commented Jan 23, 2025

@meaksh @rjmateus @admd I think I've addressed all your prior questions. Could you go through the RFC one more time and approve if you have no more questions? I'd like to start with development once I return from the bug squad ASAP.

Copy link
Member

@rjmateus rjmateus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Contributor

@admd admd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you Pascal

@HVSharma12
Copy link

HVSharma12 commented Feb 6, 2025

Hi Team, I noticed that Uyuni currently uses the Salt ansiblegate module to communicate with the Ansible. Given that Ansible Runner is already available in Factory, has there been any consideration for using Ansible Runner?

Potential benefits of using Ansible Runner:

  • Structured Logging: Playbook execution logs and results are stored in runner's artifact directory.
  • Project-Based Configuration: Supports dedicated project directories for inventories, environments, and dependencies.
  • Runner supports job timeout and failure handling via the settings file (idle_timeout, job_timeout).

I built an ephemeral Ansible Runner container for testing that:

  • Runs playbooks and roles inside a containerized environment.
  • Stores artifacts, logs, playbooks, and environments on the host VM.
  • Requires only SSH access from the host VM to target nodes (no need to install Ansible on the host).
  • Packages ansible, ansible-vault, ansible-runner, and dependencies inside the container.
  • Allows commands to be executed directly from the host VM without requiring Ansible on the control node.

You can check out the setup here: https://github.com/HVSharma12/ansible-runner-container/tree/main.

Would it make sense to evaluate Ansible Runner as an alternative execution method as compared to using ansible command for Uyuni's Ansible integration, especially given the structured logging and project-based configuration benefits?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants