private void parseMetaInfoFile() throws AmbariException {
    File extensionMetaInfoFile = new File(getAbsolutePath()
        + File.separator + EXTENSION_METAINFO_FILE_NAME);

    //todo: is it ok for this file not to exist?
    if (extensionMetaInfoFile.exists()) {
      if (LOG.isDebugEnabled()) {
        LOG.debug("Reading extension version metainfo from file {}", extensionMetaInfoFile.getAbsolutePath());
      }

      try {
        metaInfoXml = unmarshaller.unmarshal(ExtensionMetainfoXml.class, extensionMetaInfoFile);
      } catch (Exception e) {
        metaInfoXml = new ExtensionMetainfoXml();
        metaInfoXml.setValid(false);
        metaInfoXml.addError("Unable to parse extension metainfo.xml file at location: " +
            extensionMetaInfoFile.getAbsolutePath());
      }
    }
  }
Parse the extension metainfo file.

@throws AmbariException if unable to parse the extension metainfo file
ambari-server/src/main/java/org/apache/ambari/server/stack/ExtensionDirectory.java