Portal:Toolforge/Nodes

From Wikitech


Overview

The list of Toolforge nodes. This page provides information about what kind of nodes exists in the cluster, what every node does and a prospective list of canary server for common operations like testing new stuff.

Complete list of nodes

The source of trust for this information is at https://openstack-browser.toolforge.org/project/tools

Take this list as an example, and refer to the source of trust for actual/current data.

Purpose of nodes

Explanation of what each type of node is.

bastion nodes

Servers meant to allow access to the clusters for users using SSH. You can submit your grid jobs from here.

They are not meant to run any actual workload. There are usually like 3 of them.

Nodes are like: tools-sgebastion-07.tools.eqiad1.wikimedia.cloud

GridEngine nodes

Nodes that run GridEngine and are the pool to run standard Toolforge jobs workloads.

There should be 20 or 30 of them.

  • Nodes are like: tools-sgeexec-0901.tools.eqiad1.wikimedia.cloud
  • Master nodes are like tools-sgegrid-master.tools.eqiad1.wikimedia.cloud

Kubernetes nodes

Nodes that run Kubernetes and hold the k8s workloads (pods).

There should be like 10 or 20 of them.

  • Nodes are like: tools-k8s-worker-27.tools.eqiad1.wikimedia.cloud
  • Control plane nodes are like: tools-k8s-control-1.tools.eqiad1.wikimedia.cloud
  • etcd nodes are like: tools-k8s-etcd-8.tools.eqiad1.wikimedia.cloud

Web nodes

Nodes that act as frontend web hosts for tools in Toolforge. They are also part of the Grid Engine grid.

There should be like 10 or 20 of them.

  • Generic nodes are like: tools-sgewebgrid-generic-0901.tools.eqiad1.wikimedia.cloud
  • Those using lighttpd are like: tools-sgewebgrid-lighttpd-0901.tools.eqiad1.wikimedia.cloud
  • General web proxy nodes: tools-proxy-01.tools.eqiad1.wikimedia.cloud
  • Static content nodes: tools-static-10.tools.eqiad1.wikimedia.cloud

Docker nodes

These nodes are meant to build and distribute docker containers.

There should be like 3 or them.

  • Builder nodes are like: tools-docker-imagebuilder-01.tools.eqiad1.wikimedia.cloud
  • Docker registry nodes are like: tools-docker-registry-01.tools.eqiad1.wikimedia.cloud

Elasticsearch nodes

Elasticsearch cluster for use by tools. All indices are available for read-only access inside Toolforge. Writing requires a username and password.

There should be 3 nodes.

  • Nodes are like: tools-elastic-1.tools.eqiad1.wikimedia.cloud

checker nodes

  • Checker nodes are like: tools-checker-03.tools.eqiad1.wikimedia.cloud

misc nodes

Some misc nodes.

  • Tools puppetmaster: tools-puppetmaster-02.tools.eqiad1.wikimedia.cloud
  • Clush master, control of the whole cluster using Clustershell: tools-clushmaster-02.tools.eqiad1.wikimedia.cloud
  • Cron master, run cron jobs submitted by tools users: tools-sgecron-01.tools.eqiad1.wikimedia.cloud
  • SMTP email for the cluster: tools-mail.tools.eqiad1.wikimedia.cloud
  • DEB package builder: tools-package-builder-01.tools.eqiad1.wikimedia.cloud
  • Prometheus deployment nodes: tools-prometheus-03.tools.eqiad1.wikimedia.cloud
  • Redis nodes: tools-redis-1001.tools.eqiad1.wikimedia.cloud
  • Misc services nodes (aptly and others): tools-services-01.tools.eqiad1.wikimedia.cloud

Canary nodes

A pre-elected list of one node of each type you can use to test stuff before deploying changes to the whole cluster.

Depending on the test or task you are doing, you may need to craft a different list:

  • Different OS (Ubuntu trusty, Debian Jessie, Debian stretch)
  • By Linux kernel version
  • By different workload, usage or general load
  • Attending to other criteria

In Toolforge clushmaster, there should be a list ready to use with clush: toolforge_canary_list.txt

It can be used like this:

user@tools-clushmaster-01:~$ clush --hostfile /etc/clustershell/toolforge_canary_list.txt "command"
[...]

See also