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

Enhancement: Ability to disable unused providers #19198

Open
bekasovoleg opened this issue Aug 23, 2019 · 13 comments
Open

Enhancement: Ability to disable unused providers #19198

bekasovoleg opened this issue Aug 23, 2019 · 13 comments

Comments

@bekasovoleg
Copy link

Gemfile has a group for each provider, but if provider gem isn't installed, miq doesn't work
It would be great to have the ability to disable certain providers

@agrare
Copy link
Member

agrare commented Aug 26, 2019

@bekasovoleg This is absolutely the goal, however MIQ core isn't in a place yet where we can not bundle provider plugins. There are still places where class names are hard-coded for example.

This is ongoing and we are constantly trying to improve but we're not there yet.

cc @juliancheal

@Fryguy
Copy link
Member

Fryguy commented Nov 5, 2019

@jrafanie This falls into your bundler groups work. If you want to close in favor of some other issues you have open, please feel free.

@jrafanie
Copy link
Member

@bekasovoleg have you tried putting the provider gem(s) into an optional group, like this and then use bundle install --with GROUPNAME to opt-in to installing those gems?

@bekasovoleg
Copy link
Author

@jrafanie Miq does'n start if some group isn't installed

@juliancheal
Copy link
Member

@jrafanie for reference #16162 (comment)

@jrafanie
Copy link
Member

@jrafanie for reference #16162 (comment)

I'm sure it's been fixed in over 2 years... 🤣

@jrafanie
Copy link
Member

@jrafanie Miq does'n start if some group isn't installed

@bekasovoleg is it the issue Julian referenced or something else?

@bekasovoleg
Copy link
Author

@jrafanie looks like I have the same problem

@miq-bot miq-bot added the stale label Jun 11, 2020
@miq-bot
Copy link
Member

miq-bot commented Jun 11, 2020

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.

Thank you for all your contributions! More information about the ManageIQ triage process can be found in the traige process documentation.

@Fryguy Fryguy added pinned and removed stale labels Jul 6, 2020
@jrafanie
Copy link
Member

jrafanie commented Jul 6, 2020

For reference, the reported issue was that the UI needed the openstack provider installed so it can call things "nodes" (openstack) or "hosts" (non-openstack) via #16162 (comment)

That prevented running the application without the openstack gems installed because the UI couldn't load the provider classes.

That code has since been removed in UI classic so I think you should be able to bundle install without specific bundler groups. @agrare what do you think? The issue reported was in regards to starting the app without some dependencies not installed, which is only possible by disabling bundler group via --without. It sounds like this is a bit different than being able to install packages for specific providers. We might want to discuss what that means.

@agrare
Copy link
Member

agrare commented Jul 13, 2020

We're still a ways away from being able to disable provider plugins. Some could probably be disabled, but most/all definitely not yet.

For instance we still have code like this, this and this in the UI so without those providers bundled the UI will fail.

The move to provider defined DDF forms (#18818) should help with a lot of this (especially the ones in ems_common/angular) the rest we'll just have to deal with one-by-one

@agrare
Copy link
Member

agrare commented Jul 13, 2020

It sounds like this is a bit different than being able to install packages for specific providers. We might want to discuss what that means.

That is true, on a built appliance I think disabling still has the same issue as enabling new plugins which is dealing with the Gemfile.lock though but I agree that should be discussed in a separate issue

@skateman
Copy link
Member

I think DDF will do this out-of-the box for free, because it relies on the loaded subclasses in the object space.

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

7 participants