1. Pablo Suárez Hernández
Backend Software Engineer
SUSE Manager/Uyuni
psuarezhernandez@suse.com
PoC: Ansible Integration in Uyuni
Uyuni Community Hours 29.01.2021
2. • This is NOT about re-implementing each Uyuni feature for
the Ansible stack.
• This is just a PoC for a proposed integration approach
(might be other alternatives).
• There are NO pull requests yet.
• Ongoing efforts writing RFC to discuss and define MVP
and implementation steps.
DISCLAIMER
2
4. • Allow users and customers to integrate their existing
Ansible infrastructure in Uyuni.
• Allow Ansible and Salt systems to coexist in Uyuni.
• Allow a smooth (painless) migration to Salt.
• Allow users and customers to operate Ansible and manage
a future “Ansible Playbook catalog” with Uyuni.
The goals
4
6. Ansiblegate module of Salt
6
• Execute Ansible modules with Salt (minion or Salt SSH)
(where Ansible is installed)
• Operate Ansible using Salt: Execute playbooks
• Reuse the Ansible inventory to run Salt modules/states on
Ansible managed clients via Salt SSH.
(allow targeting Ansible systems & groups and reuse the
Ansible SSH credentials).
7. 1) New system entitlement: "Ansible"
2) Define an Ansible controller system
(copy Uyuni SSH keys to operate it via salt-ssh)
(it could be the Uyuni server itself)
3) Get the Ansible inventory, SSH keys and import systems
(systems listed as Foreign/Ansible in Uyuni)
(no changes at all in those Ansible systems)
(no minion features - only actions for Ansible)
(i.a. run playbooks)
A proposed Integration with Uyuni
7
8. 3) For Ansible systems, Salt onboarding is easy!
(bootstrap via salt-ssh using Ansible inventory)
(all minion features + Ansible features)
4) An Ansible system can live in Uyuni as:
• "Foreign/Ansible" (no changes on the system)
• "Salt/Ansible" (changes done in the system:
channels, states, etc)
A proposed Integration with Uyuni
8
10. • Dynamically collect Ansible Inventory from AWX (Ansible
Tower)
• Implement “Ansible Playbook Catalog” as we currently
have for “Configuration State Channels”
• ...
A proposed Integration with Uyuni:
The Future
10
14. Join Us at uyuni-project.org
/uyuni-project
/uyuni-project
/UyuniProject
15. License
This slide deck is licensed under the CreativeCommons Attribution-ShareAlike4.0 Internationallicense.
It canbe shared and adaptedfor anypurpose (evencommercially) aslong asAttributionis givenand any
derivativework is distributed under the same license.
Detailscanbe found athttps://creativecommons.org/licenses/by-sa/4.0/
General Disclaimer
This document is not to be construed as a promise by anyparticipating organisationtodevelop, deliver, or
market a product. It is not a commitment to deliver anymaterial, code, or functionality, andshouldnot be
relied upon in making purchasing decisions. openSUSEmakes no representations or warrantieswithrespect
to the contents of thisdocument, and specificallydisclaimsanyexpressor implied warrantiesof
merchantabilityorfitness for anyparticularpurpose. The development, release, and timing of features or
functionalitydescribed for openSUSEproducts remainsat the sole discretion of openSUSE. Further,
openSUSEreserves the rightto revise this document and to make changestoits content, atanytime,
withoutobligationtonotifyany person or entity of such revisions or changes. AllopenSUSEmarks
referenced inthis presentation are trademarks or registered trademarks of SUSELLC, inthe UnitedStates
andother countries. All third-partytrademarks arethe property of their respective owners.
Credits
Template & Design
Pau Garcia Quiles
pau.garcia@suse.com
Inspiration
openSUSEDesign Team
http://opensuse.github.io/branding-
guidelines/