private boolean propertyExists(ClusterTopology topology, Map<String, Map<String, String>> props, String type, String property) {
    Map<String, String> typeProps = props.get(type);
    return (typeProps != null && typeProps.containsKey(property)) || setDefaultPassword(topology, type, property);
  }
Validate all configurations.  Validation is done on the operational configuration of each
host group.  An operational configuration is achieved by overlaying host group configuration
on top of cluster configuration which overlays the default stack configurations.

@return map of required properties which are missing.  Empty map if none are missing.

@throws IllegalArgumentException if blueprint contains invalid information
ambari-server/src/main/java/org/apache/ambari/server/topology/validators/RequiredPasswordValidator.java