New issue
Advanced search Search tips

Issue 610371 link

Starred by 1 user

Issue metadata

Status: Untriaged
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 3
Type: Bug



Sign in to add a comment

Explore why a build dir in a stopped bot can’t be updated to ToT with ‘git fetch / pull’ and document how to accomplish manually.

Project Member Reported by wkorman@chromium.org, May 9 2016

Issue description

In exploring  http://crbug.com/601166  I found that if one stops a Chromium/Blink build bot, it seems impossible to 'git fetch / git pull' manually within the source dir checkout and sync to ToT. Something the bot is doing when it actually runs is able to effect this, but we've not figured out manual commands to run to do same.

This makes debugging/investigating certain issues on bots a challenge. A workaround is to run 'make start', wait for source dir to update, then stop it again.

Having notes on how to reverse engineer the commands the bot runs, or the commands themselves if they change infrequently, would be helpful.

Unsure who is best owner. Assigning to friedman@ to route, if no good candidate I am happy to pick this one up and do it at some point.
 
Cc: friedman@chromium.org
Components: -Blink>Infra Infra>Git
Owner: ----
Status: Untriaged (was: Assigned)

Comment 2 by benhenry@google.com, May 11 2016

Components: Infra>Git>Admin

Comment 3 by benhenry@google.com, May 11 2016

Components: -Infra>Git

Comment 4 by smut@chromium.org, May 11 2016

Can you explain what you mean by "impossible"? What happens when you run git pull in the bot's checkout? Do you have any logs?

Comment 5 by fried...@google.com, May 12 2016

The bot's checkout wouldn't ever update, even though the cache dir was updating to ToT... the bot is now blown away, so I don't know how much testing etc can be performed now :(
This is reproducible on any bot, I believe. Log in, run 'make stop' in slave dir, cd to a chrome dir, try running 'git fetch', and then 'git pull' or 'git checkout origin/master'. It will never check out anything beyond the last commit it had when stopped, despite the .git config having seemingly the right thing set up re: cache.

I have not yet reverse engineered via looking at build stdio logs the precise git fetch/pull/checkout/etc. commands the builder runs when it is not stopped. That is likely the next thing to do.

Comment 7 by benhenry@google.com, May 19 2016

Components: Infra>Git

Comment 8 by benhenry@google.com, May 19 2016

Components: -Infra>Git>Admin
This is not a Git Admin task. Triaging accordingly.
Cc: hinoka@chromium.org
tl;dr because of local git cache

If you look at git remote origin, you'll see that it's not pointing to https://.../chromium/src, but to some local folder. So, one way around is going to cache folder, running git fetch on it, then running git fetch on specific builder checkout.

Also, gclient sync (and bot_update) understands git cache and does this under the hood.
In the case that resulted in this bug, the git cache folder would not update either.
Run: git_cache.py populate --ignore_locks -v --cache-dir /b/c/git_cache https://chromium.googlesource.com/chromium/src.git

Or just go to /b/c/git_cache, find the chromium/src.git folder, and run a git pull in there, then pull the checkout.

Alternatively, add a new remote to the checkout in question and pull from that new remote.  ie git remote add other https://..../chromium/src, git fetch other

There's no documentation because we actively discourage people from ssh-ing into bots to do things, tho we understand it has to be done from time to time.
Can all this logic be included in gclient somehow if certain error conditions are present (git cache not matching the current date, etc).
Gclient respects git_cache, so actually gclient would work on the solution (except for the root solution, aka chormium/src.git) because it's in unmanaged mode.
Status: Available (was: Untriaged)
Project Member

Comment 15 by sheriffbot@chromium.org, Sep 4 2017

Labels: Hotlist-Recharge-Cold
Status: Untriaged (was: Available)
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue.

Sorry for the inconvenience if the bug really should have been left as Available. If you change it back, also remove the "Hotlist-Recharge-Cold" label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Sign in to add a comment