topology activation failed. no system manager locations set, search application might not be ready yet
Dig into it, I found the error was thrown out by "$clone.Activate()" of "AutoSPInstallerFunctions.ps1".
However, I don't see anything wrong there.
In ULS, there are a lot of error message like below:
Content Plugin can not be initialized - list of CSS addresses is not set
Failed to extract required parameter FastConnector:ContentDistributor, hr=0x80070002 [pluginconfig.cpp:81] search\native\gather\plugins\contentpi\pluginconfig.cpp
Unable to get systemmanagerlocation from db
Exception stack trace:
at Microsoft.SharePoint.Administration.SPTimerJobInvokeInternal.Invoke(SPJobDefinition jd, Guid targetInstanceId, Boolean isTimerService, Int32& result)
To confirm the problem is caused by AutoSPInstaller, I reinstalled the farm, but initialized the farm through "SharePoint Products Configuration Wizard". Same error happened again. So, AutoSPInstaller may not be the one we should blame.
After quite a while research, I realized this is not something easy to fix. It may caused by some file or folder created by previous installation, which don't allow current installed components to access it; or some settings pointed to an invalid server.
I don't want to dig out the root cause, but to fix it. So I uninstalled SharePoint, then deleted the folder "C:\Program Files\Microsoft Office Servers\15.0\Data\Office Server", then reinstalled SharePoint.
Finally, everything works now.