Bugzilla.wikimedia.org

From Wikitech
(Difference between revisions)
Jump to: navigation, search
m
 
(23 intermediate revisions by 9 users not shown)
Line 1: Line 1:
The bug tracker o' fun.
+
Our Bugzilla installation is at https://bugzilla.wikimedia.org/, with attachments hosted at http://bug-attachment.wikimedia.org/ . The attachment domain only allows downloading of attachments.
 +
Puppet manifest: https://gerrit.wikimedia.org/r/gitweb?p=operations/puppet.git;a=blob;f=manifests/misc/bugzilla.pp;hb=HEAD
  
 
== Hardware ==
 
== Hardware ==
  
* [[isidore]] - web frontend
+
* [[kaulen]] - web frontend
* [[srv8]] - db backend
+
* [[db9]] - DB master
** [[srv7]] - former db master (currently not responding)
+
* [[db10]] - DB slave
 +
 
 +
== Related services ==
 +
 
 +
* [[lists.wikimedia.org]] - wikibugs-l notification list
 +
** [[wikibugs]] IRC bot
  
 
== Software ==
 
== Software ==
  
 
* Apache+Perl
 
* Apache+Perl
 +
* MySQL
 
* Bugzilla
 
* Bugzilla
 
** With custom templates and tweaks
 
** With custom templates and tweaks
  
== Usage ==
+
== Upgrade from 3.6.0 to 4.0 ==
 +
''Note: This was tested on http://project2.wikimedia.org/bugzilla4 with the following software''
 +
* ''Ubuntu 8.04.4''
 +
* ''Mysql 5.0.51a''
 +
* ''Apache2''
 +
* ''Perl v5.8.8''
 +
''Back up the database and the data directory in case anything goes wrong''
  
* Production usage since... long time ago.
+
* Download and extract [http://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-4.0.tar.gz Bugzilla 4.0] .
 +
* Make the following Apache config changes
 +
: [http://www.bugzilla.org/releases/4.0/release-notes.html#v40_upgrading Apache Config Changes]
 +
*Copy the following from the old Bugzilla installation
 +
: localconfig
 +
: data/
 +
* Checkout svn.wikimedia.org/svnroot/mediawiki/trunk/tools/bugzilla/bugzilla-4.0/skins/contrib/Wikimedia into skins/contrib/Wikimedia
 +
* Checkout svn.wikimedia.org/svnroot/mediawiki/trunk/tools/bugzilla/bugzilla-4.0/template/en/custom into template/en/custom
 +
* Checkout svn.wikimedia.org/svnroot/mediawiki/trunk/tools/bugzilla/bugzilla-4.0/extensions/Wikimedia into extensions/Wikimedia
 +
* Checkout svn.wikimedia.org/svnroot/mediawiki/trunk/tools/bugzilla/bugzilla-4.0/extensions/WeeklyReport into extensions/WeeklyReport
 +
** ln -s extensions/WeeklyReport/component-report.cgi component-report.cgi
 +
** ln -s extensions/WeeklyReport/weekly-bug-summary.cgi weekly-bug-summary.cgi
 +
* Run ('''this is where the database migration will happen so be sure you are ready'''):
 +
: perl checksetup.pl
 +
After this Bugzilla should be up and running with the classic skin
 +
<br/><br/>
 +
* Now change the following settings:
 +
** Administration->Default Preferences->Bugzilla's general appearance (skin) = Wikimedia
 +
** Administration->Default Preferences->Position of the Additional Comments box = After other comments
  
== Upgrade instructions ==
+
== REST API ==
 +
[[Bugzilla_REST_API | Installation instructions]]
  
* You can do a cvs up with appropriate tags... in theory. :D
+
== Setting up Whining ==
** Major upgrades may require manual hacks to the custom templates
+
According to the [https://bugzilla.wikimedia.org/docs/en/html/whining.html user guide] :<br/>
* Run ./checksetup.pl afterwards to update DB and compile templates
+
: ''For whining to work, a special Perl script must be executed at regular intervals. More information on this is available in Section 2.3.3.''
 +
<p>
 +
This cron job is currently set up to run once an hour at 15 past the hour. Here's the cron
 +
entry:
 +
<pre>
 +
15 */1 * * * cd <bugzilla-directory> ; ./whine.pl
 +
</pre>
 +
 
 +
== How to recover in a hurry ==
 +
''Its a good thing we backed up our database and Bugzilla 3.0.8 home directory as part of the upgrade''
 +
 
 +
* Move the backed up Bugzilla back to its original location
 +
* Restore the MySQL  database from the backup dump
 +
* Run the checksetup.pl script
  
 
== Notes ==
 
== Notes ==
  
 
* Switched to SSL 2008-02
 
* Switched to SSL 2008-02
 
== How to recover in a hurry ==
 
 
# Pray
 
  
 
== Patches ==
 
== Patches ==
  
 
* the custom template...
 
* the custom template...
* some linking patches...
+
* [[Bugzilla linking patch|some linking patches...]]
 
* [[bugzilla:15585|globalwatchers preference patch]]
 
* [[bugzilla:15585|globalwatchers preference patch]]
 +
* [http://svn.wikimedia.org/svnroot/mediawiki/trunk/tools/bugzilla-3.4.4/ SVN]
 +
 +
=== (custom) Patching Bugzilla ===
 +
 +
Currently patches are still applied manually, but this should be changed soon.
 +
 +
#get a .diff file including the patch, for example from hexmode, the bugmeister
 +
#scp the file over to "kaulen" and login via ssh
 +
#cd to /srv/org/wikimedia/bugzilla and copy the .diff file over here
 +
# do a dry run and make sure "-p0" is the right thing (look at file pathes in patch file relative to current dir)
 +
#patch --dry-run -p0 < patch.diff
 +
#if the dry run looks fine:
 +
#patch -p0 < patch.diff
 +
 +
(!)(you may want to create a backup right before applying the patch, or check into -R option to reverse patches if something goes wrong)
 +
 +
example ticket: [[RT:2061]]
 +
 +
=== Upgrading Bugzilla (minor version) ===
 +
 +
#get a patch from http://www.bugzilla.org/download/ ,f.e. "4.0.2 to 4.0.3"
 +
#cd to /srv/org/wikimedia/ and copy the .diff file over here
 +
#continue patching as described above
 +
#re-run ./checksetup.pl
 +
 +
=== Installing a Bugzilla extension ===
 +
#download the extension and unpack it into a directory below ./bugzilla/extensions ,f.e. for the SiteMap extension: ./bugzilla/extensions/Sitemap
 +
#go up to the bugzilla directory and run  ./install-module.pl <extension>, f.e. for the SiteMap extension:  ./install-module.pl Search::Sitemap
 +
#re-run ./checksetup.pl
 +
 +
== Merging two user accounts ==
 +
#cd /srv/org/wikimedia/bugzilla
 +
#sudo contrib/merge-users.pl old@example.com new@example.com
 +
  
 +
{{lowercase}}
 
[[Category:Services]]
 
[[Category:Services]]

Latest revision as of 08:46, 9 January 2013

Our Bugzilla installation is at https://bugzilla.wikimedia.org/, with attachments hosted at http://bug-attachment.wikimedia.org/ . The attachment domain only allows downloading of attachments. Puppet manifest: https://gerrit.wikimedia.org/r/gitweb?p=operations/puppet.git;a=blob;f=manifests/misc/bugzilla.pp;hb=HEAD

Contents

[edit] Hardware

[edit] Related services

[edit] Software

  • Apache+Perl
  • MySQL
  • Bugzilla
    • With custom templates and tweaks

[edit] Upgrade from 3.6.0 to 4.0

Note: This was tested on http://project2.wikimedia.org/bugzilla4 with the following software

  • Ubuntu 8.04.4
  • Mysql 5.0.51a
  • Apache2
  • Perl v5.8.8

Back up the database and the data directory in case anything goes wrong

  • Download and extract Bugzilla 4.0 .
  • Make the following Apache config changes
Apache Config Changes
  • Copy the following from the old Bugzilla installation
localconfig
data/
  • Checkout svn.wikimedia.org/svnroot/mediawiki/trunk/tools/bugzilla/bugzilla-4.0/skins/contrib/Wikimedia into skins/contrib/Wikimedia
  • Checkout svn.wikimedia.org/svnroot/mediawiki/trunk/tools/bugzilla/bugzilla-4.0/template/en/custom into template/en/custom
  • Checkout svn.wikimedia.org/svnroot/mediawiki/trunk/tools/bugzilla/bugzilla-4.0/extensions/Wikimedia into extensions/Wikimedia
  • Checkout svn.wikimedia.org/svnroot/mediawiki/trunk/tools/bugzilla/bugzilla-4.0/extensions/WeeklyReport into extensions/WeeklyReport
    • ln -s extensions/WeeklyReport/component-report.cgi component-report.cgi
    • ln -s extensions/WeeklyReport/weekly-bug-summary.cgi weekly-bug-summary.cgi
  • Run (this is where the database migration will happen so be sure you are ready):
perl checksetup.pl

After this Bugzilla should be up and running with the classic skin

  • Now change the following settings:
    • Administration->Default Preferences->Bugzilla's general appearance (skin) = Wikimedia
    • Administration->Default Preferences->Position of the Additional Comments box = After other comments

[edit] REST API

Installation instructions

[edit] Setting up Whining

According to the user guide :

For whining to work, a special Perl script must be executed at regular intervals. More information on this is available in Section 2.3.3.

This cron job is currently set up to run once an hour at 15 past the hour. Here's the cron entry:

15 */1 * * * cd <bugzilla-directory> ; ./whine.pl

[edit] How to recover in a hurry

Its a good thing we backed up our database and Bugzilla 3.0.8 home directory as part of the upgrade

  • Move the backed up Bugzilla back to its original location
  • Restore the MySQL database from the backup dump
  • Run the checksetup.pl script

[edit] Notes

  • Switched to SSL 2008-02

[edit] Patches

[edit] (custom) Patching Bugzilla

Currently patches are still applied manually, but this should be changed soon.

  1. get a .diff file including the patch, for example from hexmode, the bugmeister
  2. scp the file over to "kaulen" and login via ssh
  3. cd to /srv/org/wikimedia/bugzilla and copy the .diff file over here
  4. do a dry run and make sure "-p0" is the right thing (look at file pathes in patch file relative to current dir)
  5. patch --dry-run -p0 < patch.diff
  6. if the dry run looks fine:
  7. patch -p0 < patch.diff

(!)(you may want to create a backup right before applying the patch, or check into -R option to reverse patches if something goes wrong)

example ticket: RT:2061

[edit] Upgrading Bugzilla (minor version)

  1. get a patch from http://www.bugzilla.org/download/ ,f.e. "4.0.2 to 4.0.3"
  2. cd to /srv/org/wikimedia/ and copy the .diff file over here
  3. continue patching as described above
  4. re-run ./checksetup.pl

[edit] Installing a Bugzilla extension

  1. download the extension and unpack it into a directory below ./bugzilla/extensions ,f.e. for the SiteMap extension: ./bugzilla/extensions/Sitemap
  2. go up to the bugzilla directory and run ./install-module.pl <extension>, f.e. for the SiteMap extension: ./install-module.pl Search::Sitemap
  3. re-run ./checksetup.pl

[edit] Merging two user accounts

  1. cd /srv/org/wikimedia/bugzilla
  2. sudo contrib/merge-users.pl old@example.com new@example.com

Personal tools
Namespaces

Variants
Actions
Navigation
Ops documentation
Wiki
Toolbox