I worked on a dependency map of the fields in our Host form. I took a Luna instance (vanilla Foreman + several plugins including Katello) and tried to capture relations between the fields. This should server as a base for the new provisioning wizard mockups that we’d like to start exploring, but I thought this may be useful for others, so I’m sharing it here. I keep the original file so if something is incorrect, please let me know and I’m happy to fix it and upload a new map here.
I am missing the selection of “Provisioning Method”, you get this field after selecting to deploy on a compute resource and it contains values based on the used compute resource (Network and/or Image) and installed plugins (Bootdisk).
And I’d also argue that a Puppet CA doesn’t make sense unless you select a Puppet Proxy. So I’d also opt for:
Puppet Proxy → Puppet CA
That effectively makes the Puppet Proxy a selection to turn Puppet on/off.
Now I’m going to argue with myself. There is a use case where you can use DNS to detect the Puppet servers, but AFAIK we require the Puppet feature to be correct to allow reports and facts to be uploaded. Though that may only be “it needs to have the Puppet feature”.
It should be noted that database wise today we have the Puppet Proxy field in the foreman_puppet plugin while Puppet CA is in Foreman itself. IMHO it’s a mistake we didn’t deal with that properly in the plugin migration and we should still resolve that. It’s a great source of confusion. IIRC the reason was that Puppet CA is part of the host creation/deletion orchestration and we didn’t touch that area, but plugins can hook into orchestration.
Nope, there’s no connection between smart proxy and environment besides the dead code that was used for puppet doc generating. I was also surprised I can choose environment without picking any proxy and I could assign classes.
In general, this picture ambition isn’t capturing what makes sense or what we’d like to have but rather the today state. I’m sure there’s going to be a great debate about what all we should fix with the new wizard, so it may be good to start thinking about that before we have the first version of mockups. At the same time, I think we’re weeks or months before that point.