Good question.  I guess something like:

    proposal = available_clusters[cluster]
    cluster_nodes =
    begin
      proposal.override_attributes["pacemaker"]["elements"][role_name]
    rescue NoMethodError
      []
    end

still sucks, because

* it's verbose
* `role` being `nil` would still get hidden even though (IIUC) we don't want it to be
* ditto for `role.override_attributes["pacemaker"]` and `role.override_attributes["pacemaker"]["elements"]`

In fact, am I right in thinking that the *only* case where `cluster_nodes` would be `nil` is if it's a one node cluster and `role_name == "pacemaker-cluster-member"`?  (Since every cluster *has* to have a founder.)  In which case we can just drop the `rescue` and instead write:

    nodes.concat(cluster_nodes) if cluster_nodes

Or am I missing something?