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

Combine Embedded Automation Managers #22838

Open
6 tasks
agrare opened this issue Jan 11, 2024 · 3 comments
Open
6 tasks

Combine Embedded Automation Managers #22838

agrare opened this issue Jan 11, 2024 · 3 comments

Comments

@agrare
Copy link
Member

agrare commented Jan 11, 2024

Currently ManageIQ has two embedded automation managers: Embedded Ansible and Embedded Workflows. These are both EmbeddedAutomationManager types but the UI was originally designed with embedded_ansible as a separate / standalone menu-item.

We are looking at adding an additional embedded provider, Embedded Terraform.

As we add more of these it becomes more and more unwieldy to manage each of them separately. It is highly likely that an organization will have repositories / credentials that are common across the three and currently these have to be added to each embedded provider separately.

There are two high-level efforts, core and UI

UI

  • Refactor the current controllers and menu-items to not be "Embedded Ansible" or "Embedded Workflows" specific, but rather generic Automation Managers
  • Allow management of Git Repositories separate from ConfigurationScriptSource (allow one git repo to have playbooks, ASLs, terraform scripts, etc...)

Core

  • Group current embedded automation managers under a "parent" ManageIQ::Providers::EmbeddedAutomationManager
  • Allow credentials to be shared across child managers
  • Allow for multiple configuration-script-sources per git repo (might already be possible)
  • Allow for directory backed configuration-script-sources for built-in automation scripts
@agrare
Copy link
Member Author

agrare commented Jan 11, 2024

cc @Fryguy

@Fryguy
Copy link
Member

Fryguy commented Jan 12, 2024

I think we need to also figure out how to deal with things that are unique to one child type vs another. For example

  • Workflows has credential mapping to env vars, but the others do not (or maybe they could!)
  • Workflows presents the output of the ASL with a graph, but we'd want to not do that for the other types. When we discussed this I think we said this is better handled automatically by whatever presents code to only do this for ASL files. As such, this is a UI task when consolidating if it isn't done already.

@miq-bot miq-bot added the stale label Apr 15, 2024
@miq-bot
Copy link
Member

miq-bot commented Apr 15, 2024

This issue has been automatically marked as stale because it has not been updated for at least 3 months.

If you can still reproduce this issue on the current release or on master, please reply with all of the information you have about it in order to keep the issue open.

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

No branches or pull requests

3 participants