private void parsePath() throws AmbariException {
    Collection<String> subDirs = Arrays.asList(directory.list());
    if (subDirs.contains(RCO_FILE_NAME)) {
      // rcoFile is expected to be absolute
      rcoFilePath = getAbsolutePath() + File.separator + RCO_FILE_NAME;
    }

    if (subDirs.contains(LIB_FOLDER_NAME)) {
      libraryDir = getAbsolutePath() + File.separator + LIB_FOLDER_NAME;
    }

    if (subDirs.contains(KERBEROS_DESCRIPTOR_PRECONFIGURE_FILE_NAME)) {
      // kerberosDescriptorPreconfigureFilePath is expected to be absolute
      kerberosDescriptorPreconfigureFilePath = getAbsolutePath() + File.separator + KERBEROS_DESCRIPTOR_PRECONFIGURE_FILE_NAME;
    }

    parseUpgradePacks(subDirs);
    parseServiceDirectories(subDirs);
    parseRepoFile(subDirs);
    parseMetaInfoFile();
    parseRoleCommandOrder();
    parseLibraryClassLoader();

  }
Parse the stack directory.

@throws AmbariException if unable to parse the directory
ambari-server/src/main/java/org/apache/ambari/server/stack/StackDirectory.java