-
Notifications
You must be signed in to change notification settings - Fork 10
Requirements
Tom Kelly edited this page Jun 4, 2021
·
22 revisions
This page documents the infrastructure requirements of the OCaml open-source tooling, in an effort to ease allocation of the available resources.
-
- OCurrent orchestrator (
toxis
) - AMD64 builder (
amd64
) - ARM32 builder (
arm32-1
,arm32-2
) - PPC64 builder (
ppc64
)
- OCurrent orchestrator (
-
- Production.
- Web front-end and OCurrent scheduler.
- Currently
toxis
, but could/should be a separate, smaller machine. - New ci3.ocamllabs.io VM now allocated for the frontend.
- Builders: arm64-build-1.ocamllabs.io, x86-build-[1,2,3].ocamllabs.io on Scaleway.
- Currently
- Build fleet (
toxis
,laodoke
,phoebe
,m1-a
- see https://github.com/ocurrent/ocaml-ci/blob/master/service/conf.ml#L26)
- Web front-end and OCurrent scheduler.
- Staging. A similar environment to production, but with a smaller build fleet (e.g. web front-end, scheduler, debian build machine). (UNALLOCATED)
- Production.
-
ocaml-cb
- Existing:
autumn
. Benchmark machine. Runs with isolated CPU cores for the benchmarks so needs to be baremetal and dedicated. - UNALLOCATED: An extra machine (can be a VM, shared) that runs the ocurrent orchestrator to trigger the benchmarks and host the web frontend. Suggested minimal setup: 2 cores, 8gb ram, 500mb disk, ubuntu 18.04
- Existing:
-
www-deployment pipeline
- Existing: none?
- UNALLOCATED: A server that can host KVM unikernels, ideally with multiple IPv4/IPv6 addresses for automatic deployment from an ocurrent pipeline. If we can't get extra IPs an alternative could be do deploy the http instances behind an nginx frontend (or unikernel). Suggested minimal setup: bare metal, 4 cores, 16gb ram, 1tb disk, ubuntu 18.04
-
- Production. A beefy server hosting frontend/build server for check.ocamllabs.io (
hipp
) - Testing. A server half (or even a quarter) the size of the production server would be enough to test several improvements such as new versions of opam-health-check, new opam solver, opam optimizations, new releases of the compiler, custom tests for opam-repository PRs (sometimes the CI environment is not enough and requires custom tests such as for revdeps, or custom dependencies/distributions) (UNALLOCATED)
- Production. A beefy server hosting frontend/build server for check.ocamllabs.io (
-
- Web front-end and OCurrent scheduler. This would be at first a testing server. A normal size server would be enough, no need for crazy specs if the build fleet of ocaml-ci (see above) is accessible. If not, its size would be to be discussed, possibly a normal size for testing and taking what currently drives ci.ocaml.org instead. (UNALLOCATED)
-
mirage-ci (opam-repository CI)
.- Production. A big server hosting frontend/build server for ci.ocaml.org (
pima
)
- Production. A big server hosting frontend/build server for ci.ocaml.org (
-
- F* benchmarks http://bench2.ocamllabs.io:8070/
-
[
navajo
]- A 20+ core machine for continuous running of the parallel benchmark suite in sandmark
- A machine to run sequential and parallel Jupyter notebook benchmark comparisons as nightly builds (cannot overload winter!)
- [
bremusa
/128.232.80.167
] & [winter
]- General purpose development benchmarking when needing 20+ cores
- General purpose multicore testing (and particularly repeated testcase running to find bugs and refine to a small testcase)
- General purpose multicore development (particularly build and run testsuite prior to pushing PR branches)
- [
spring
/128.232.124.188
]- Sandmark instance for OCaml flambda development.