ReferencePlatforms/Test/WinXP: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
Line 164: Line 164:
* This got deployed with [http://hg.mozilla.org/build/opsi-package-sources/rev/9126788ed78a 9126788ed78a]
* This got deployed with [http://hg.mozilla.org/build/opsi-package-sources/rev/9126788ed78a 9126788ed78a]
* For instruction on how to generate your own debug CRT read [https://bugzilla.mozilla.org/show_bug.cgi?id=562459#c25 this].
* For instruction on how to generate your own debug CRT read [https://bugzilla.mozilla.org/show_bug.cgi?id=562459#c25 this].
== Twisted patch to allow buildbot to kill jobs ==
* This got deployed with [http://hg.mozilla.org/build/opsi-package-sources/rev/520de951bbb0 520de951bbb0]
* You can deploy this manually by:
cd C:\mozilla-build\python25\Lib\site-packages\twisted\internet
del /f /q _dumbwin32proc.py _dumbwin32proc.py.bak
wget -O_dumbwin32proc.py http://hg.mozilla.org/build/opsi-package-sources/raw-file/520de951bbb0/twisted_dumbwin32proc/CLIENT_DATA/_dumbwin32proc.py

Revision as of 19:46, 29 March 2011

Configuration Details

From XP SP2 OEM, X11-45391

Downloaded Software Updates

TODO

Configuration Changes

  • Turned OFF all automatic updates
  • Turned ON firewall; allowed RDP and SSH
  • Turned off all MS networking, leaving only TCP/IP
  • Created tester account
  • Turned on RDP; allowed tester and Administrator to connect
  • Turned off screensavers
  • Select 'Windows XP' theme in Display options
  • Select screen size 1280x1024 in Display options
  • Turn off all sleep features.
  • My Computer -> Properties -> Advanced -> Performance -> Custom -> Select all checkboxes

Install supplemental language support

(from http://www.microsoft.com/globaldev/handson/user/xpintlsupp.mspx)

  • used XP SP2 OEM, X11-45391

Install Third-party applications

  • Python 2.4.4
    • 'Install for all users'
    • Append 'C:\python24;c:\python24\scripts' to the PATH.
  • Python Win32 Extensions
  • PyYaml
  • Info-Zip
    1. Download and extract Info-Zip
    2. Place 'unzip.exe' and 'unzip32.dll' in c:\windows
  • CVS
    1. Download CVS
    2. Extract to c:\windows
  • Wget
    1. Download Wget to c:\windows
  • Chmod, rm, etc.
    1. Download and install Coreutils
    2. Append 'c:\program files\gnuwin32\bin' to PATH.
  • Twisted 2.4.0 (Includes zope-interface)

Speedswitch XP

RealVNC

VNC *must* be used to get real performance numbers. Download and install RealVNC.
On the 'Select Additional Tasks' page use the following options:
[x] Register and configure VNC Server for Service-Mode
[x] Start the VNC Server in Service-Mode
When the 'VNC Server Properties (Service-Mode)' window pops up:

  1. Use 'VNC Password Authentication'
  2. Click 'Configure' and set a password
  3. Click 'Connections'
  4. Make sure 'Accept connections on port:' is checked and set to port 5900
  5. Uncheck 'Serve Java viewer via HTTP'.
  6. Restart the computer

Do not logon with RDP from this point on. It will break the VNC server.

Buildbot

cvs -d:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -d buildbot mozilla/tools/buildbot
cd buildbot
c:\python24\python setup.py build
c:\python24\python setup.py install

Change the contents of c:\python24\scripts\buildbot.bat to '@python c:\python24\scripts\buildbot %*

Setting up a Buildbot Slave

How to setup a Buildbot Talos slave (replace the master.host, username, and password with the correct values)

cd c:\
mkdir talos-slave
buildbot create-slave talos-slave master.host:9989 username password

Edit the buildbot.tac file to have keepalive = None

You should then start the slave once to create the proper directory structure.

buildbot start talos-slave
buildbot stop talos-slave

Apache

The DocumentRoot will be dependent on the builddir of your Buildbot slave. In this section that directory will be referred to as $BUILDDIR.

For machines in the pool of slaves, $BUILDDIR should be 'talos-data'.

Pageset

You will need to install a page set in c:\pages.

The rest

  • Download and install Apache 2.2.4
  • Set 'Network Domain' and 'Server Name' to 'localhost'.
  • Create an empty directory so Apache doesn't complain:
mkdir c:/talos-slave/$BUILDDIR/talos
  • Change DocumentRoot and 'C:/Program Files..." <Directory> tag to 'c:/talos-slave/$BUILDDIR/talos'.
  • Add an alias so Apache knows where the pageset is. Add this to your httpd.conf:
Alias /page_load_test/pages c:/pages
<Directory c:/pages>
    Options Indexes
    Order allow,deny
    Allow from all
</Directory>

MozillaBuild 1.4

  • In bug 549458 we installed MozillaBuild 1.4 by doing this:
wget http://staging-stage.build.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/mozilla-build-1.4.zip -O mozilla-build.zip
wget http://staging-stage.build.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/python25win32dlls.zip -O python25win32dlls.zip
unzip mozilla-build.zip -d C:\
unzip python25win32dlls.zip -d C:\mozilla-build\python25\Scripts
rm mozilla-build.zip
rm python25win32dlls.zip

NOTE: These two files are stored permanently in the ref-platforms repo

buildbot 0.8.0

  • Download site-packages.tar.gz and scripts.tar.gz from mofo repo.
  • Unpack site-packages.tar.gz into C:\mozilla-build\python25\Lib
  • Unpack scripts.tar.gz into C:\mozilla-build\python25
  • Copy C:\mozilla-build\python25\Lib\site-packages\pywin32_system32\*.dll to C:\windows\system32
  • Modify startTalos.bat to run C:\mozilla-build\python25\scripts\buildbot

Updating Talos

Assuming your Buildbot master configuration is proper, Buildbot will automatically update Talos on every performance run. If the pageset is updated, you will need to refresh c:/pages.

Installing OPSI

  • Make sure the machine name is acurate and not that of the ref image
  • FOR STAGING SLAVES ONLY:
    • Open c:\Documents and Setting\mozqa\install-opsi.bat in Wordpad and change the IP address to 10.2.71.216
  • For all slaves:
    • Logon to the OPSI server (production-opsi or staging-opsi) and run the following:
opsi-admin -d method deleteClient $hostname.uib.local
    • Start Menu -> Run -> 'cmd'
    • Run the following in the command line:
cd c:\documents and settings\mozqa
install-opsi.bat

You will be prompted twice for a username and password. The first time, use 'pcpatch' and the second to newest root password. The second time, use 'root' and the standard root password. The slave will reboot shortly after the second prompt.

Then,

  • Open up the OPSI Client and look for the slave
    • Highlight the slave, go to Log Files, and then opsiconfd - look for errors in that log. (Normal output on a first run is to have a little bit of errors at first "PAM Authentication failure" in purple but then it reboots a few times and runs successfully)

If the slave shows up in the OPSI client, and there's no errors in the opsiconfd log, you're done! If it doesn't, or there is errors, do the following and try again (or talk to bhearsum): On the slave:

Run c:\program files\opsi.org\preloginloader\uninst\deinstall.cmd

On production-opsi:

opsi-admin -d method deleteClient $hostname.uib.local

Post-cloning Setup for Pool

There are no longer any post cloning steps for XP machines, you can also ssh into the box to make sure the buildbot.tac is pointing to the right test master if needed.

If you need to change the test master

  • Edit c:\talos-slave\buildbot.tac.sample and update buildmaster_host and slavename appropriately
  • Rename buildbot.tac.sample to buildbot.tac
  • Reboot (with 'shutdown -t 0 -r' if you're in ssh session)

Post-OPSI packages

Microsoft Visual C++ 2005 SP1 Redistributable Package (x86)

Microsoft Visual C++ 2005 Non-Redistributable Debug CRT (x86)

  • To be able to run debug unit tests
  • This got deployed with 9126788ed78a
  • For instruction on how to generate your own debug CRT read this.

Twisted patch to allow buildbot to kill jobs

  • This got deployed with 520de951bbb0
  • You can deploy this manually by:
cd C:\mozilla-build\python25\Lib\site-packages\twisted\internet
del /f /q _dumbwin32proc.py _dumbwin32proc.py.bak
wget -O_dumbwin32proc.py http://hg.mozilla.org/build/opsi-package-sources/raw-file/520de951bbb0/twisted_dumbwin32proc/CLIENT_DATA/_dumbwin32proc.py