Refactor #17812
openImport puppet classes should show which classes and parameters are being deleted
Description
When importing from an environment that might delete puppet classes the UI shows the top level module name only and clicking it will show all subclasses that will be deleted.
This can lead to missing which classes and parameters will be deleted.
Updated by Greg Sutcliffe over 7 years ago
I'll expand. Today, when you import class you see something like:
production | delete | ntp, foreman, puppet |
This is alarming (many times I've said "What?!" to myself on seeing this). It's only when you click on the module name that you get a list of individual classes that will be removed. The ability to click to see the changes in individual classes isn't mentioned at all - and even if it was, I wonder if there's a better way to show/expand on the potential impact of the import.
#17810 will go further by dropping old class parameters - so while we're looking at the UI, we should also try to warn about potential deletes. That's fine for classes you intend to delete, but consider this scenario:
1. I have a module with several classes and several parameter overrides in Foreman
2. I make a typo when changing the code in this module - now module::class1 does not parse (and thus not import)
3. If I don't spot that module::class1 is deleted (easy done since you have to click the module name) then I lose all the parameter overrides in class1
4. I fix my typo - and then wonder where my overrides have gone
If we can rework the class import UI to improve the display & warn about the impact of class / parameter deletes, that would be better.