Closed Bug 396986 Opened 17 years ago Closed 17 years ago

change apache document root in talos test boxes.

Categories

(Release Engineering :: General, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: anodelman, Assigned: bhearsum)

References

Details

The current talos boxes (the mini farm - not the blades) are configured to have a copy of talos found in an appropriate buildbot directory, along with a separate copy of talos/page_load_test found in the buildbot user root directory.  

If the document root of apache is changed to point to the copy of page_load_test within the checked out copy of talos we can eliminate the secondary page_load_test directory, and save ourselves a lot of headaches for auto-updating talos.
Assignee: nobody → bhearsum
Status: NEW → ASSIGNED
So, after more thought I realized that we can do something like this:
Have a talos slave in, say "~/talos-slave". There will also be a subdirectory called "talos-checkout". "talos-checkout" will be where talos is checked out to (obviously). Apache can point to /home/mozqa/talos-slave/talos-checkout which will _always_ be a Talos checkout, so that symlink never needs to be updated. Inside of /home/mozqa/talos-slave there is a "workdir", this is where the slave's BuildStep's run by default. Inside of this directory we will symlink out to ../talos-checkout. That way, when the cvs checkout happens it will update where Apache is looking.

This is probably confusing, let me illustrate:
bitters:~/talos-slave bhearsum$ ls -l
total 0
drwxr-xr-x   3 bhearsum  bhearsum  102 Sep 20 19:35 linux-trunk
drwxr-xr-x   2 bhearsum  bhearsum   68 Sep 20 19:35 talos-checkout
bitters:~/talos-slave bhearsum$ cd talos-checkout/
bitters:~/talos-slave/talos-checkout bhearsum$ ls
CVS                 cmanager_win32.py   ffprofile_win32.py  sample.config
PerfConfigurator.py ffprocess.py        ffsetup.py          startup_test
README.txt          ffprocess_linux.py  getInfo.html        ttest.py
base_profile        ffprocess_mac.py    page_load_test      utils.py
cmanager_linux.py   ffprocess_win32.py  post_file.py
cmanager_mac.py     ffprofile_unix.py   run_tests.py
bitters:~/talos-slave/talos-checkout bhearsum$ cd ../linux-trunk/
bitters:~/talos-slave/linux-trunk bhearsum$ ls -l
total 8
lrwxr-xr-x   1 bhearsum  bhearsum  18 Sep 20 19:35 talos-checkout -> ../talos-checkout/

So in this example, "linux-trunk" is the workdir.
This is even a better solution, since it saves us having multiple talos copies over multiple buildbot directories.  Symlinks to the rescue!
We will need to make changes to the config files as part of this too. I think we should do that as part of the config reorganization patch. I don't want to have to do another scary reconfig of them in the near future.
Blocks: 395819
After actually trying this with Buildbot I need to make a slight amendment to this proposal. /home/mozqa/talos-slave/talos-checkout will be a symlink to /home/mozqa/talos-slave/$workdir/talos. So, it looks like this now:
bitters:~/talos-slave bhearsum$ ls -l
total 8
lrwxr-xr-x   1 bhearsum  bhearsum   13 Sep 21 09:00 talos-checkout -> workdir/talos
drwxr-xr-x   3 bhearsum  bhearsum  102 Sep 21 09:00 workdir
bitters:~/talos-slave bhearsum$ ls workdir/talos/
CVS                 cmanager_win32.py   ffprofile_win32.py  sample.config
PerfConfigurator.py ffprocess.py        ffsetup.py          startup_test
README.txt          ffprocess_linux.py  getInfo.html        ttest.py
base_profile        ffprocess_mac.py    page_load_test      utils.py
cmanager_linux.py   ffprocess_win32.py  post_file.py
cmanager_mac.py     ffprofile_unix.py   run_tests.py

This will work the same way as described in comment#1. 
Ignore comment#4 for now...it will introduce a maintenance requirement. I need to play around with this a bit more. I'll post another comment when I actually have something working ;).
After much messing around I'm pretty convinced that being maintenance free is near impossible and I wouldn't be confident in any solution working on all 3 platforms. As discussed on IRC we are going back to the original plan in comment#0.
The currently setup Talos machines have been changed (qm-mini-xp01 to qm-mini-xp07, qm-pmac01 to qm-pmac04, qm-mini-ubuntu01 to qm-mini-ubuntu04).

The ref platform docs have been updated to reflect the new configurations.
Status: ASSIGNED → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
just as an afterthought, and not sure how useful this'll be going forward as we get away from cygwin, but bc uses the cygwin version of apache. The convenient thing there is that the configs live in /etc/httpd/... like every other system in the world and could be made configurable via buildbot.
Mass move of Core:Testing bugs to mozilla.org:ReleaseEngineering. Filter on RelEngMassMove to ignore.
Component: Testing → Release Engineering
Product: Core → mozilla.org
QA Contact: testing → release
Version: Trunk → other
Product: mozilla.org → Release Engineering
You need to log in before you can comment on or make changes to this bug.