Closed Bug 1191352 Opened 9 years ago Closed 9 years ago

Run purge_builds from runner on windows

Categories

(Release Engineering :: General, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: bhearsum, Assigned: markco)

Details

Attachments

(1 file)

runner _should_ be regularly cleaning up old build directories...it's not clear here if we're deleting these dirs because they're old, or because we don't have enough space.

We should add more logging here to indicate why we're deleting these, and also how much space we had at the beginning.

Also, we need to dig into runner logs to see if purging isn't working as expected there.
Looks like we're not running purge_builds under runner on windows yet. We should!

Morgan, Mark: Any ideas about how hard this is to set up?
Flags: needinfo?(winter2718)
Flags: needinfo?(mcornmesser)
Summary: Windows machines often time out when purging builds → Run purge_builds from runner on windows
From looking at the purge build task in Puppet, it looks like we could implement it without much difficulty, but I defer to Morgan in case there is an issue there that I am unaware of.
Flags: needinfo?(mcornmesser)
(In reply to Chris AtLee [:catlee] from comment #2)
> Looks like we're not running purge_builds under runner on windows yet. We
> should!
> 
> Morgan, Mark: Any ideas about how hard this is to set up?

I would like to see puppet + runner up and going before we add it into the mix; but once that's deployed, it should straightforward to whip up a task and put it in puppet. :)
Flags: needinfo?(winter2718)
(In reply to Morgan Phillips [:mrrrgn] from comment #4)
> (In reply to Chris AtLee [:catlee] from comment #2)
> > Looks like we're not running purge_builds under runner on windows yet. We
> > should!
> > 
> > Morgan, Mark: Any ideas about how hard this is to set up?
> 
> I would like to see puppet + runner up and going before we add it into the
> mix; but once that's deployed, it should straightforward to whip up a task
> and put it in puppet. :)

Any idea the timeline on this? We can wait a bit, but if it's going to take ~1 month we should do something else in the meantime - this is actively bogging down releases, and I'd like to see it fixed one way or the other before 41.0 goes to build.
Mark, now that we have runner working on GPO and puppet, can you take a look at this? It's burning release builds as well as normal stuff (so GPO more important than puppet, but when done for one, it should be easy to add to the other).
Flags: needinfo?(mcornmesser)
I am looking into this today.

mrrrgn: from looking at the current POSIX task, what would be the Windows equivalent for $SLAVEDIR? 


# Call purge builds to make sure we have at least 10G free
TOOLS=$($RUNNER_CONFIG_CMD -g hg.tools_path)
SLAVEDIR=$($RUNNER_CONFIG_CMD -g buildbot.slave_dir)
cd $SLAVEDIR
python $TOOLS/buildfarm/maintenance/purge_builds.py --not info --not 'rel-*:10d' --not 'tb-rel-*:10d' -s <%= @required_space %> $SLAVEDIR
Flags: needinfo?(mcornmesser) → needinfo?(winter2718)
(In reply to Mark Cornmesser [:markco] from comment #7)
> I am looking into this today.
> 
> mrrrgn: from looking at the current POSIX task, what would be the Windows
> equivalent for $SLAVEDIR? 
> 
> 
> # Call purge builds to make sure we have at least 10G free
> TOOLS=$($RUNNER_CONFIG_CMD -g hg.tools_path)
> SLAVEDIR=$($RUNNER_CONFIG_CMD -g buildbot.slave_dir)
> cd $SLAVEDIR
> python $TOOLS/buildfarm/maintenance/purge_builds.py --not info --not
> 'rel-*:10d' --not 'tb-rel-*:10d' -s <%= @required_space %> $SLAVEDIR

Looks like the windows equivalent is /c/builds/moz2_slave
Flags: needinfo?(winter2718)
OK. That is what I figured. Just wanted to verify.
Attached file 1-purge_builds.bat
This may be relatively straight forward. It seems that the purge_builds.py will work on Windows without changes.

I think will just need to copy the purge_builds.py to the local machine and include the attached bat file.
Attachment #8662020 - Flags: feedback?(winter2718)
Comment on attachment 8662020 [details]
1-purge_builds.bat

+ Given that this works in tests. I would prefer to see /C/builds/moz2_slave living inside of moco-config.pp along with its Linux counterpart before it's pushed.

Thank you ! :)
Attachment #8662020 - Flags: feedback?(winter2718) → feedback+
Will do. Initially I need get the gpo pieces in place. 

I will probably push the gpo portion out to a small test pool tomorrow AM.
This was deployed first to small set of try machines, and is now deployed to all domain machines that are with in the try OU. 

The GPO changes consists of adding file copy for the attached 1-purge_builds.bat and a current copy of purge_builds.py.
Assignee: nobody → mcornmesser
Has been implemented in AWS.
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Component: General Automation → General
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: