private boolean updateYarnKerberosDescriptor(KerberosDescriptor kerberosDescriptor) {
    boolean updated = false;
    KerberosServiceDescriptor yarnServiceDescriptor = kerberosDescriptor.getServices().get(YARN_SERVICE);
    if (yarnServiceDescriptor != null) {
      KerberosConfigurationDescriptor coreSiteConfiguration = yarnServiceDescriptor.getConfiguration(CONFIGURATION_CORE_SITE);
      if (coreSiteConfiguration != null) {
        Map<String, String> coreSiteProperties = coreSiteConfiguration.getProperties();
        if (coreSiteProperties != null) {
          for (Map.Entry<String, String> entry : coreSiteProperties.entrySet()) {
            String value = entry.getValue();
            if (value.contains("rm_host")) {
              // changing rm_host to resourcemanager_hosts
              String newValue = value.replaceAll("rm_host", "resourcemanager_hosts");
              if (!newValue.equals(value)) {
                updated = true;
                entry.setValue(newValue);
              }
            }
          }

          if (updated) {
            // Ensure that the properties are being updated
            coreSiteConfiguration.setProperties(coreSiteProperties);
          }
        }
      }
    }

    return updated;
  }
Updates the Yarn Kerberos descriptor stored in the user-supplied Kerberos Descriptor.
<p>
Any updates will be performed on the supplied Kerberos Descriptor.
<p>
The following changes may be made:
<ul>
<li>Change the reference to rm_host to resourcemanager_hosts</li>
</ul>

@param kerberosDescriptor the user-supplied Kerberos descriptor used to perform the in-place update
@return <code>true</code> if changes were made; otherwise <code>false</code>
ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog270.java