ibm-spectrum-scale-install-infra icon indicating copy to clipboard operation
ibm-spectrum-scale-install-infra copied to clipboard

Single role to call that will call other roles in the playbook, to ensure consistency

Open whowutwut opened this issue 4 years ago • 1 comments

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

whowutwut avatar Mar 16 '20 17:03 whowutwut

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!

acch avatar Oct 13 '20 07:10 acch