Currently the "shopfloor", which is actually the "chrome os factory server", has so many legacies we should clean up:
- cros.factory.test.shopfloor is actually a proxy to factory server, not real shopfloor (backend). We should rename it to factory_server.
- For "how to make developer and factory both able to find right URL to shopfloor", we had implemented some fallback feature like "install shim will write mini-omaha location, and shopfloor.py should read and use it if no other definitions were found". This is actually not helping today because (1) many factories do copy machine so they don't use mini-omaha (2) some factories need station/stage-specific server URL, so in the end most projects try to define shopfloor_server_url in test list options.
By recent works in making test list more generic(CL:627947,CL:616587), we have a new sync_factory_server that allows developers to manually reconfigure server URL if server can't be reached; so I think we can simplify everything now:
1. No need to write default server URL in factory_install.
2. Individual projects should write default URL in test list options.
3. If URL is empty or if host can't be reached, developers can manually reconfigure the server URL for debugging.
4. The sync_factory_server in ${STATION}_Start group is responsible for setting right URL, by calling factory_server.SetServerURL. And client code calling functions in factory_server should use the pre-configured SetServerURL unless explicitly specified from pytest args.
Comment 1 by hungte@chromium.org
, Sep 26 2017Status: Fixed (was: Untriaged)