moby / moby/swarmkit

Monitoring for resource allocation

Open
#1,344 1 comment 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

kind/feature
Dominant language
Go
Stars
3.7k
Forks
676
Avg merge
4d 9h
Merged PRs (30d)
6

Description

Services and thus tasks can have memory and cpu reservations attached. A task can then only be assigned to a node if it the right amount of memory and cpu shares is available. If there is no node matching these conditions, the task stays in allocated state.

It would be great to have more monitoring functionality regarding the available and allocated resources of the cluster. In an automated cloud envirionment, new nodes should be provisioned if the available resources do not suffice.

The following features would provide more insights:

  • An event is triggered when a task fails to be assigned, with additional information such as "service reserved 2 GB of RAM, but no node matches this condition
  • Additional information in docker serivice ps about the unmet conditions (such as missing RAM)
  • Information about resource reservation in docker info

This should allow to answer the question "when to add more machines" in an automated setup in a simple yet acceptable way. What do you think?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names three entry points—task assignment failures, docker service ps, and docker info—but no files or tests. Start by mapping how resource reservations are evaluated and exposed in those paths; done would define and implement agreed monitoring for unmet reservations and cluster allocation.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, go
Domain
cli, distributed-systems, observability
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.