Skip to main content
Or Administration → Teams → New team in the console, which is where most of this happens. See the Teams page. Teams are part of the commercial edition. A deployment where one department uses the cluster needs none of this: everybody sits in one team and no team gate ever fires.

Before you start

  • A commercial licence installed. Without one, the Teams entry appears for administrators and the page behind it explains what is missing.
  • Per-user quotas already set, because team quota applies alongside them rather than instead of them. See roles and quotas.

Create a team

The key is permanent. It appears in URLs and on bills, and it accepts lower-case letters, digits, - and _, up to 64 characters. Teams nest, so a team can name a parent.

Put projects in it

A run’s team comes from its project, never from whoever submitted it:
Both halves of that rule are load-bearing. A person can belong to several teams, so summing a team’s members would charge one run to all of them. And the team is stamped on the job row at submit, so moving a project between departments does not rewrite last quarter’s usage.

Set the quota

Two semantics invert against the per-user ones, and both are deliberate:

Add members

Add them by hand, or configure single sign-on group mapping and let them arrive on their next sign-in. Group mapping is the one that scales: a team whose membership is maintained in two places is a team whose membership is wrong in one of them.
Roles inside a team are owner, member and viewer.

Turn on borrowing

With preemption enabled, a team quota stops being a ceiling and becomes a guarantee: a team may run above it while the cluster is idle, and the overflow becomes reclaimable. Borrowing and reclaim are one switch. Lending capacity without being able to take it back is worse than the hard cap it replaced: a team that borrowed heavily would sit on cards its owner cannot get to. Five conditions must all hold before a running job is reclaimed:
  1. The taker’s team is under its own guarantee. Otherwise this is one team outbidding another.
  2. The victim’s team is over its guarantee. Otherwise reclaim breaks the only promise a quota makes.
  3. It is a different team.
  4. The victim’s job is past a minimum runtime. Otherwise a busy queue reclaims, admits and reclaims all day, and the cluster spends its time writing checkpoints.
  5. The victim holds the card series that is short.
Youngest first, deliberately not lowest priority: priority orders who runs next, which is a different question answered with the same number. A reclaimed job is paused with its checkpoint kept and returns to QUEUED.

Price the hours

Billing adds a price and re-measures nothing. The hours come from the same metering the Usage page shows, because a second definition of “how much did we use” is an argument nobody can settle.
Money is integer micros end to end. Set a rate per card type; card types with no rate are named under unpriced series rather than being folded silently into zero. A team over its monthly budget queues rather than fails, and a single run that genuinely cannot wait can ask for a one-off exception through Approvals.

Check it worked

Returns the team’s hours for the period. Then have somebody in the team submit a job and check its page names the team, not just the submitter. A team quota that is refusing work names itself in the gate reason: teamQuota wraps the underlying reason with the team’s key, so a queued job says which team’s limit it is waiting on.

Next

Teams page · Billing · Working in a team · Roles and quotas