Skip to content

OCaml Build Infrastructure

mtelvers edited this page Mar 7, 2022 · 43 revisions

This page is work in progress, by @avsm

There is a hosted machine cluster operated by OCaml Labs that runs regular health checks against the opam package repository, and also runs 'cron' jobs to keep the operational side of things running.

Users can access this information through a variety of mechanisms:

Cluster Worker Machines

  • linux-x86_64

    • apache (Dell PowerEdge R7425): 128 threads
    • asteria (Dell PowerEdge R6525): 256 threads
    • clete (Dell PowerEdge R630): 72 threads
    • cree (Dell PowerEdge R7425): 128 threads
    • doris (Dell PowerEdge R6525): 256 threads
    • hipp (Dell PowerEdge R630): 72 threads
    • iphito (Dell PowerEdge R6525): 256 threads
    • laodoke (Dell PowerEdge R630): 72 threads
    • m1-a (Supermicro SYS-2028BT-HNC0R+/X10DRT-B+): 48 threads
    • m1-b (Supermicro SYS-2028BT-HNC0R+/X10DRT-B+): 48 threads
    • m1-c (Supermicro SYS-2028BT-HNC0R+/X10DRT-B+): 48 threads
    • marpe (Dell PowerEdge R6525): 256 threads
    • phoebe (Dell PowerEdge R630): 72 threads
    • pima (Dell PowerEdge R7425): 128 threads
    • x86-bm-1 (Quanta Cloud QuantaPlex T22HF-1U/S5HF MB): 32 threads
    • x86-bm-2 (Quanta Cloud QuantaPlex T22HF-1U/S5HF MB): 32 threads
    • x86-bm-3 (Quanta Cloud QuantaPlex T22HF-1U/S5HF MB): 32 threads
    • x86-bm-4 (Quanta Cloud QuantaPlex T22HF-1U/S5HF MB): 32 threads
    • x86-bm-5 (Quanta Cloud QuantaPlex T22HF-1U/S5HF MB): 32 threads
    • x86-bm-6 (Quanta Cloud QuantaPlex T22HF-1U/S5HF MB): 32 threads
    • x86-bm-7 (Quanta Cloud QuantaPlex T22HF-1U/S5HF MB): 32 threads
    • x86-bm-8 (Quanta Cloud QuantaPlex T22HF-1U/S5HF MB): 32 threads
    • x86-bm-9 (Quanta Cloud QuantaPlex T22HF-1U/S5HF MB): 32 threads
    • x86-bm-10 (Quanta Cloud QuantaPlex T22HF-1U/S5HF MB): 32 threads
    • x86-bm-11 (Quanta Cloud QuantaPlex T22HF-1U/S5HF MB): 32 threads
    • x86-bm-12 (Quanta Cloud QuantaPlex T22HF-1U/S5HF MB): 32 threads
    • x86-bm-13 (Quanta Cloud QuantaPlex T22HF-1U/S5HF MB): 32 threads
    • x86-bm-14 (Quanta Cloud QuantaPlex T22HF-1U/S5HF MB): 32 threads
  • linux-ppc64

    • orithia (Raptor Talos II): 176 threads
    • oya (IBM PowerNV 9006-22P): 128 threads
    • pisto (IBM Power System S812LC): 80 threads
    • prothoe (IBM Power System S812LC): 80 threads
    • scyleia (Raptor Talos II): 176 threads
  • linux-arm64

    • ainia (Avantek Ampere(TM) Mt Snow): 80 threads
    • arm64-jade-1 (Avantek Ampere(TM) Mt Jade): 160 threads
    • arm64-jade-2 (Avantek Ampere(TM) Mt Jade): 160 threads
    • kydoime (Avantek Ampere(TM) Mt Snow): 80 threads
    • molpadia (Avantek Ampere(TM) Mt Snow): 80 threads
    • okypous (Avantek Ampere(TM) Mt Snow): 80 threads
  • windows-x86_64

    • odawa (Dell PowerEdge R6525): 256 threads
  • linux-s390x

    • s390x (IBM/S390): 4 threads

Other Machines

  • Cambridge Computer Laboratory:
    • aello:
    • bremusa: multicore dev, debugging & benchmarking (tom kelly/sadiq/engil)
    • eumache: hub.ocamllabs.io (jonludlam)
    • hipp: xcp-ng test (avsm)
    • toxis: ci.ocamllabs.io
    • grumpy:
    • dopey:
    • roo: (slow i/o. 48 core)
    • tigger: (slow i/o. 48 core)
    • uriel:
    • gabriel:
    • michael:
    • raphael:
    • simba:
    • pima: ci.ocaml.org (talex5/kate)
    • hopi: dra27 and windows
    • comanche: @samoht for irmin
    • navajo: multicore CB machine (kc/shakthi/gargi)
    • summer: developer dev machine (linux) with lots of accounts
    • autumn: magnus for irmin benchmarking
    • winter: multicore dev, debugging & benchmarking (tom kelly/sadiq/engil)
    • spring: shakthi/damien for OCaml flambda sandmark
    • caelum-512: avsm for xen
    • caelum-514: openbsd for opam infra
    • caelum-613: v3.ocaml.org
    • caelum-614: F* benchmarking (bench2.ocamllabs.io) (tom kelly)

Cambridge Computer Laboratory

Packet filter

There is an edgerouter at gw.ocamllabs.io that acts as a router and packet filter for the internal machines. A quick guide to using it is via an ssh terminal is:

$ configure
[edit]
# edit firewall name CL_IN4
[edit firewall name CL_IN4]
# show
[edit firewall name CL_IN4]
# set rule 20 destination address 128.232.124.213
[edit firewall name CL_IN4]
# set rule 20 protocol tcp
[edit firewall name CL_IN4]
# set rule 20 destination port 80,443,8100
[edit firewall name CL_IN4]
# set rule 20 action accept
[edit firewall name CL_IN4]
# set rule 20 description ci.ocamllabs.io
[edit firewall name CL_IN4]
# show
<examine diff>
[edit firewall name CL_IN4]
# commit
[edit firewall name CL_IN4]
# save
Saving configuration to '/config/config.boot'...
Done
[edit]
# exit