New issue
Advanced search Search tips

Issue 679246 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Sep 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug



Sign in to add a comment

factory: A better place for setting factory server (shopfloor) location.

Project Member Reported by hungte@chromium.org, Jan 9 2017

Issue description

We are now having more and more non-Goofy daemons that need to talk to some server.
Usually that is OK, but OEM projects usually try to set different shopfloor URLs for different phases (SMT, FAT, RUNIN, ... etc). Also the initial start test usually tries to reach shopfloor, which makes debugging by Googlers not easy.

I think we want to have a good flow & hierarchy so both factory and Google developers can reach "something" easily, that includes:

 - Overlord (ghost client)
 - Goofy
 - Instalog
 - Cutoff

BTW, currently if the package was downloaded by mini-omaha or umpire, there will be a /usr/local/etc/lsb-factory which fills the ip of omaha-server, that we "expect" it to also be the url for shopfloor. But that testlist settings will override it, which means if mini-omaha was configured to X while testlists expects Y, we may see
  overlord = X
  Goofy = Y
  Instalog = Y
  cutoff =X

(Not really tested - simply guessed from what I now)
 

Comment 1 by hungte@chromium.org, Jan 25 2017

Owner: youcheng@chromium.org
Status: Assigned (was: Untriaged)
Temporarily assign to youcheng and see if you have some ideas.
Cc: chuntsen@chromium.org
Sounds like this bug is related: https://b.corp.google.com/issues/32292142

We are thinking of calculating Instalog's port based on an offset from the Shopfloor port.  If some OEMs set different Shopfloor URLs for different phases, would they also have multiple Instalog daemons running (through Umpire)?  If not, how can we reliably know the *base port* and hostname of Umpire?

Comment 3 by hungte@chromium.org, Jan 26 2017

ideally we want to change "shopfloor" to "factory server", so all DUTs should only connect to a "chromeos factory server".

The server maybe running Umpire or Mini-Omaha or whatever that should help dispatching connections to right place.

Now, if partner setup different factory servers, then yes they may have multiple instalog nodes running.

Eventually I think we do want single port to ease configuration, but for now I think you can assume it's safe to always calculate instalog as base port + N.
So when we access shopfloor.get_server_url(), is that giving us the "shopfloor service" port, or the umpire base port?

Comment 5 by hungte@chromium.org, Jan 26 2017

umpire base port = shopfloor_v1 (without umpire) port.

You can check how rsync is done. Just get the port from  get_server_url and +N.

Comment 6 by hungte@chromium.org, Jul 26 2017

Cc: -chuntsen@chromium.org -kitching@chromium.org -pihsun@chromium.org -stimim@chromium.org chromeos-factory-eng@google.com

Comment 7 by hungte@chromium.org, Sep 26 2017

Owner: hungte@chromium.org
Status: Fixed (was: Assigned)
The factory server is totally re-implemented and I think it's good enough for now.

Comment 8 by dchan@chromium.org, Jan 22 2018

Status: Archived (was: Fixed)

Comment 9 by dchan@chromium.org, Jan 23 2018

Status: Fixed (was: Archived)

Sign in to add a comment