Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

remove requirement for CPU and memory #218

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions 3.component_model.md
Original file line number Diff line number Diff line change
Expand Up @@ -258,14 +258,16 @@ Resources describe compute resources attached to a runtime.

| Attribute | Type | Required | Default Value | Description |
|-----------|------|----------|---------------|-------------|
| `cpu` | [`CPU`](#cpu) | Y | | Specifies the attributes of the cpu resource required for the container. |
| `memory` | [`Memory`](#memory) | Y | | Specifies the attributes of the memory resource required for the container. |
| `cpu` | [`CPU`](#cpu) | N | | Specifies the attributes of the cpu resource required for the container. |
| `memory` | [`Memory`](#memory) | N | | Specifies the attributes of the memory resource required for the container. |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that making platform assume defaults for CPU and Memory can lead to difficult to debug container activation issues for the application operator.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, if we allow relying on platforms defaults, then we should add a way by which the operator can specify resources in the application configuration so that the component can be deployed to a platform whose defaults are too low for that component.


In reply to: 335190832 [](ancestors = 335190832)

| `gpu` | [`GPU`](#gpu) | N | | Specifies the attributes of the gpu resources required for the container. |
| `volumes` | [`[]Volume`](#volume) | N | | Specifies the attributes of the volumes that the container uses. |
| `extended` | [`[]ExtendedResource`](#extendedresource) | N | | Implementation-specific extended resource requirements |

For any resource that cannot be satisfied by the underlying platform, the platform MUST return an error and cease deployment. A resource is considered a requirement, and failure to meet that requirement means the runtime MUST NOT deploy the application. For example, if an application requests `1P` of memory, and that amount of memory is not available, the application deployment must fail. Likewise, if an application requires `1` gpu, and the runtime does not provide gpus, the application deployment MUST fail.

If resources are not specified, the underlying platform is free to choose a suitable default.

#### CPU

| Attribute | Type | Required | Default Value | Description |
Expand Down