Portal:Toolforge/Admin/Services

From Wikitech
Jump to navigation Jump to search

This page contains information regarding the services that are provided internally to Toolforge nodes.

Architecture

The services run from a single VM (with a spare one already provisioned for maintenance and disaster recovery purposes):

  • tools-services-01
  • tools-services-02

The active one is determine by the value of role::toollabs::services::active_host in Hiera.

NOTE: in new toolforge-stretch, the puppet role is role::wmcs::toolforge::services and the relevant hiera key is profile::toolforge::services::active_node.

updatetools

updatetools is a Python script that updates tools and maintainers information to be used by tools.wmflabs.org (source code available at tool-admin-web).

It gets a list of tools (accounts starting with "tools."), reads their .description and toolinfo.json files and adds it to the tools table in the toollabs_p database. Maintainer information is retrieved by getting all users that belong to the tool's group and using getpwnam() to retrieve user information, which then gets added to the users table.

This script runs, as a service, from the active tools-services-* server, and wakes up every 120 seconds to populate the tables with new data.

The database in use is tools.labsdb which is tools.db.svc.eqiad.wmflabs.

apt repository

TODO: fill me. Are we going to use the aptly repo in the new toolforge version?

bigbrother

This daemon has been deprecated. Developers are encouraged to use cron in case their continuous jobs are being killed by lack of memory.

grid relationship

Services nodes are grid submit nodes apparently. We don't know why yet or if this can be replaced/deleted/deprecated.

Admin operations

TODO: fill me.

See also