Bugzilla:Infrastructure: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
m (→‎Servers: Moved build service to infra and updated cg-bugs01 info)
(No more Tinderbox tests and also otherwise sync with reality)
Line 14: Line 14:


*Slave DNS for internal zones.
*Slave DNS for internal zones.
**All zones are transferred from master DNS [[#infra.bugzilla.org|infra.bugzilla.org]].
**All zones are transferred from master DNS [[#infra.bugzilla.lan|infra.bugzilla.lan]].
**Please read master DNS description for other configuration details.
**Please read master DNS description for other configuration details.


Line 21: Line 21:
A virtual server for testing Windows support. Currently unused.
A virtual server for testing Windows support. Currently unused.


==== oracle.bugzilla.org ====
==== oracle.bugzilla.lan ====


A virtual server for testing Oracle database support. Currently unused and unprovisioned. For more information see {{bug|831158}}.
A virtual server for testing Oracle database support. Currently unused.


=== bugzilla1.community.scl3.mozilla.com AKA cg-bugs01.bugzilla.lan ===
=== bugzilla1.community.scl3.mozilla.com AKA cg-bugs01.bugzilla.lan ===


A RHEL 6 server that runs automated tests for the Bugzilla software.
A RHEL 6 server that hosts MySQL and PostgreSQL database servers for internal use by other servers.
 
*Uses Tinderbox Client v2.05 to run Perl, Docs, QA, Xt and checksetup Bugzilla test suites.
*Reports test results to the Tinderbox Server maintained by Mozilla. See [http://tinderbox.mozilla.org/Bugzilla/ tinderbox.mozilla.org/Bugzilla/] for latest results.
*Current activity of the tests can be viewed by attaching to a screen session running under the ''tinderbox'' user. There's two sessions, one for QA tests (named ''qa'') and one for all the other tests (named ''tbox''). Use commands '''screen -r qa''' or '''screen -r tbox''' to attach.
*Selenium Server v2.37.0, Test::WWW::Selenium Perl module v1.24 and Firefox v24 are used by the QA tests. Be careful when updating these so that the trees won't burn unnecessarily.
*Selenium Server is manually installed to the '''/usr/local/share/selenium-server/''' directory. Scripts to start it and to list related processes are in the '''/usr/local/bin/''' directory.
*Firefox at '''/usr/lib64/firefox/firefox''' is referenced from Selenium start scripts and is installed from standard RHEL repositories.
*The perl-Test-WWW-Selenium package is installed/updated from Repoforge (previously known as RPMforge) but is excluded from normal yum updates so it needs to be manually updated (use '''yum update --disableexcludes=rpmforge perl-Test-WWW-Selenium''' command) when needed.
*Replicates bugs_tip, bugs_bugzilla4_4_branch, bugs_bugzilla4_2_branch and bugs_bugzilla4_0_branch databases from landfill to be used in the checksetup update testing.
*Uses various locally built RPM packages from [[#infra.bugzilla.org|a local repository]]) defined in the '''/etc/yum.repos.d/bz.repo''' repository configuration file.


=== bugzilla2.community.scl3.mozilla.com AKA cg-bugs02.bugzilla.lan ===
=== bugzilla2.community.scl3.mozilla.com AKA cg-bugs02.bugzilla.lan ===
Line 45: Line 35:
*Uses qemu+kvm virtualization to run up to four (4) RHEL 6 virtual servers.
*Uses qemu+kvm virtualization to run up to four (4) RHEL 6 virtual servers.


==== updates.bugzilla.org ====
==== updates.bugzilla.org AKA update.bugzilla.lan ====


A virtual RHEL 6 server for Bugzilla update services.
A virtual RHEL 6 server for Bugzilla update services.


*Delivers Bugzilla version information XML to Bugzilla instances all around the world.<br>
*Delivers Bugzilla version information XML to Bugzilla instances all around the world.
*Uses nginx as a high performance web server.
*Uses nginx as a high performance web server.


==== bots.bugzilla.org ====
==== bots.bugzilla.lan ====


A virtual RHEL&nbsp;6 server for IRC bots.
A virtual RHEL&nbsp;6 server for IRC bots.
Line 61: Line 51:
**Maintains a presence on Freenode, Mozilla and GNOME IRC networks on various channels for announcing bug changes and fetching bug information.
**Maintains a presence on Freenode, Mozilla and GNOME IRC networks on various channels for announcing bug changes and fetching bug information.


==== infra.bugzilla.org ====
==== infra.bugzilla.lan ====


A virtual RHEL&nbsp;6 server for basic infrastructure services.
A virtual RHEL&nbsp;6 server for basic infrastructure services.
Line 67: Line 57:
*Master DNS for internal zones.
*Master DNS for internal zones.
**Zones include '''bugzilla.lan''', '''99.168.192.in-addr.arpa''', '''122.168.192.in-addr.arpa''' and '''bugzilla.jp''' that are accessible only internally by Bugzilla servers. Additionally, includes standard zones required to be in every DNS.
**Zones include '''bugzilla.lan''', '''99.168.192.in-addr.arpa''', '''122.168.192.in-addr.arpa''' and '''bugzilla.jp''' that are accessible only internally by Bugzilla servers. Additionally, includes standard zones required to be in every DNS.
**Forwards all external name requests to '''mradm01.mozilla.org''', '''ns2.globalnetoptex.com''' or '''ns2.lax01.mzima.net''' but will fall back to resolving requests directly by itself if none of the forwarders are available.
**Forwards all external name requests to '''google-public-dns-a.google.com''' and '''google-public-dns-b.google.com''' but will fall back to resolving requests directly by itself if none of the forwarders are available.
*Local RPM building and hosting.
*Local RPM building and hosting.
**Log in as ''build'' user to build/update RPMs because that user has a correctly configured RPM build environment.
**Log in as ''build'' user to build/update RPMs because that user has a correctly configured RPM build environment.
**Hosts repo.bugzilla.lan yum repository that provides all the locally built packages. Copy repository configuration file found at http://repo/bz.repo to /etc/yum.repos.d/ to use the local repository in a local server.
**Hosts '''repo.bugzilla.lan''' yum repository that provides all the locally built packages. Copy repository configuration file found at http://repo/bz.repo to /etc/yum.repos.d/ to use the local repository in a local server.
**Save new RPMs to server in '''/usr/share/nginx/published-rpms''' directory and run '''./update-repo.sh''' script as build user to update repository metadata.
*Puppet Master to automate configuration of other Bugzilla Project servers.


=== bugzilla3.scl3.mozilla.com AKA cg-bugs03.bugzilla.lan ===
=== bugzilla3.community.scl3.mozilla.com AKA cg-bugs03.bugzilla.lan ===


A RHEL&nbsp;6 server for hosting automated Bugzilla demo installations.
A RHEL&nbsp;6 server for hosting automated Bugzilla demo installations.

Revision as of 19:39, 10 October 2014

Servers

Bugzilla Project maintains several servers to run services needed by the project. Some of these are also used by other projects. Bugzilla Project also utilizes various services that are hosted and maintained by Mozilla.

Bugzilla uses CentOS 5 and Red Hat Enterprise Linux (RHEL) 6 servers that are updated to latest minor releases. Current versions are CentOS 5.10 and RHEL 6.5 (Dec 2013).

Mozilla-hosted ESX

  • VMware ESX platform is maintained by Mozilla in the SCL3 colo.

landfill.bugzilla.org

A virtual CentOS 5 server for shared development environment including development Bugzilla installations.

  • Slave DNS for internal zones.
    • All zones are transferred from master DNS infra.bugzilla.lan.
    • Please read master DNS description for other configuration details.

windows.bugzilla.org

A virtual server for testing Windows support. Currently unused.

oracle.bugzilla.lan

A virtual server for testing Oracle database support. Currently unused.

bugzilla1.community.scl3.mozilla.com AKA cg-bugs01.bugzilla.lan

A RHEL 6 server that hosts MySQL and PostgreSQL database servers for internal use by other servers.

bugzilla2.community.scl3.mozilla.com AKA cg-bugs02.bugzilla.lan

A RHEL 6 server that hosts virtual servers.

  • Uses qemu+kvm virtualization to run up to four (4) RHEL 6 virtual servers.

updates.bugzilla.org AKA update.bugzilla.lan

A virtual RHEL 6 server for Bugzilla update services.

  • Delivers Bugzilla version information XML to Bugzilla instances all around the world.
  • Uses nginx as a high performance web server.

bots.bugzilla.lan

A virtual RHEL 6 server for IRC bots.

  • Infobot word that connects to various channels in irc.mozilla.org IRC server to deliver factoids.
  • Supybot bugbot that keeps an eye on bugs in various major Bugzilla installations.
    • Receives bugmail from various major Bugzilla installations.
    • Maintains a presence on Freenode, Mozilla and GNOME IRC networks on various channels for announcing bug changes and fetching bug information.

infra.bugzilla.lan

A virtual RHEL 6 server for basic infrastructure services.

  • Master DNS for internal zones.
    • Zones include bugzilla.lan, 99.168.192.in-addr.arpa, 122.168.192.in-addr.arpa and bugzilla.jp that are accessible only internally by Bugzilla servers. Additionally, includes standard zones required to be in every DNS.
    • Forwards all external name requests to google-public-dns-a.google.com and google-public-dns-b.google.com but will fall back to resolving requests directly by itself if none of the forwarders are available.
  • Local RPM building and hosting.
    • Log in as build user to build/update RPMs because that user has a correctly configured RPM build environment.
    • Hosts repo.bugzilla.lan yum repository that provides all the locally built packages. Copy repository configuration file found at http://repo/bz.repo to /etc/yum.repos.d/ to use the local repository in a local server.
    • Save new RPMs to server in /usr/share/nginx/published-rpms directory and run ./update-repo.sh script as build user to update repository metadata.
  • Puppet Master to automate configuration of other Bugzilla Project servers.

bugzilla3.community.scl3.mozilla.com AKA cg-bugs03.bugzilla.lan

A RHEL 6 server for hosting automated Bugzilla demo installations.

  • Hosts demo.bugzilla.org service.
  • Uses local MySQL database for the installations.
  • Replicates bugs_tip, bugs_bugzilla4_4_branch, bugs_bugzilla4_2_branch and bugs_bugzilla4_0_branch databases from landfill that are used as a basis for the new installations.