Bugzilla.wikimedia.org
(+related services) |
m |
||
| (19 intermediate revisions by 7 users not shown) | |||
| Line 1: | Line 1: | ||
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. | 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 == | ||
| − | * [[ | + | * [[kaulen]] - web frontend |
* [[db9]] - DB master | * [[db9]] - DB master | ||
* [[db10]] - DB slave | * [[db10]] - DB slave | ||
| Line 15: | Line 16: | ||
* Apache+Perl | * Apache+Perl | ||
| + | * MySQL | ||
* Bugzilla | * Bugzilla | ||
** With custom templates and tweaks | ** With custom templates and tweaks | ||
| − | == Upgrade | + | == 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 [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 | ||
| − | == | + | == REST API == |
| + | [[Bugzilla_REST_API | Installation instructions]] | ||
| − | + | == Setting up Whining == | |
| + | According to the [https://bugzilla.wikimedia.org/docs/en/html/whining.html user guide] :<br/> | ||
| + | : ''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 == | == 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 == | ||
| + | |||
| + | * Switched to SSL 2008-02 | ||
== Patches == | == Patches == | ||
| Line 37: | Line 77: | ||
* [[Bugzilla linking patch|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
- lists.wikimedia.org - wikibugs-l notification list
- wikibugs IRC bot
[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
- 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
[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
- the custom template...
- some linking patches...
- globalwatchers preference patch
- SVN
[edit] (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
[edit] 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
[edit] 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
[edit] Merging two user accounts
- cd /srv/org/wikimedia/bugzilla
- sudo contrib/merge-users.pl old@example.com new@example.com