ibm-spectrum-scale-install-infra
ibm-spectrum-scale-install-infra copied to clipboard
Single role to call that will call other roles in the playbook, to ensure consistency
Looks like right now, the playbook.yml file has a list of roles that need to be added or removed by the user, meaning we are giving execution control to the end user, and I think that may result in lots of user error..
- What happens if the end user does not execute the roles in the right order? Is that OK? For example, running gui roles before core roles. (GPFS will not be installed.. so i think that's NOT OK)
There also seems to be logic in the hosts file, that rely on the playbook calling the roles... From https://github.com/IBM/ibm-spectrum-scale-install-infra/blob/master/hosts
# hosts:
[cluster01]
host-vm1 scale_cluster_quorum=true scale_cluster_manager=true scale_cluster_gui=false
host-vm3 scale_cluster_quorum=true scale_cluster_manager=true scale_cluster_gui=false
If we wanted the playbook to run GUI configuration, we have to set scale_cluster_gui=true
, make sense.. and easy... but the user also has to add:
- gui/node
- gui/cluster
- gui/postcheck
Or nothing will happen. Seems to be like potential for user error
This is an older issue, but you bring up a very interesting point. Let me add some thoughts...
To summarize, users assembling their own playbooks currently need to do two things to enable certain functionality:
- Add the respective roles
- Define a certain variable to actually enable the functionality
If they only add the roles, nothing will happen. If they only define the variable, nothing will happen. Only if they do both then the code will run as expected. Also, this construct introduces other problems: #251.
I'm not sure that I understand the benefits of this two-step process. Can't we assume that users who import the roles will want the code to run? Why would anyone import the roles but not enable the functionality? Are there any valid use cases for this, I might be missing something obvious...
Maybe we're overcomplicating things here? The design remembers me of these annoying dialog boxes: "Are you sure" --> click "Yes" --> "Are you REALLY sure" --> click "Yes" again.
I'd appreciate your thoughts!