Skip to content

Commit 1a962c0

Browse files
committed
runtime: Only require 'pid' in the state for created/running statuses
Because during the 'creating' phase we may not have a container process yet (e.g. if we're still reading the configuration or setting up cgroups), and in the 'stopped' phase the PID is no longer meaningful. Signed-off-by: W. Trevor King <[email protected]>
1 parent f0bbefb commit 1a962c0

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

runtime.md

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,26 +7,28 @@ Whether other entities using the same, or other, instance of the runtime can see
77

88
## State
99

10-
The state of a container MUST include, at least, the following properties:
10+
The state of a container includes the following properties:
1111

12-
* **`ociVersion`**: (string) is the OCI specification version used when creating the container.
13-
* **`id`**: (string) is the container's ID.
12+
* **`ociVersion`** (string, required) is the OCI specification version used when creating the container.
13+
* **`id`** (string, required) is the container's ID.
1414
This MUST be unique across all containers on this host.
1515
There is no requirement that it be unique across hosts.
16-
* **`status`**: (string) is the runtime state of the container.
16+
* **`status`** (string, required) is the runtime state of the container.
1717
The value MAY be one of:
1818
* `creating` : the container is being created (step 2 in the [lifecycle](#lifecycle))
1919
* `created` : the runtime has finished the [create operation](#create) (after step 2 in the [lifecycle](#lifecycle)), and the container process has neither exited nor executed the user-specified code
2020
* `running` : the container process has executed the user-specified code but has not exited (after step 4 in the [lifecycle](#lifecycle))
2121
* `stopped` : the container process has exited (step 5 in the [lifecycle](#lifecycle))
2222

2323
Additional values MAY be defined by the runtime, however, they MUST be used to represent new runtime states not defined above.
24-
* **`pid`**: (int) is the ID of the main process within the container, as seen by the host.
25-
* **`bundlePath`**: (string) is the absolute path to the container's bundle directory.
24+
* **`pid`** (int, required when `status` is `created` or `running`) is the ID of the main process within the container, as seen by the host.
25+
* **`bundlePath`**: (string, required) is the absolute path to the container's bundle directory.
2626
This is provided so that consumers can find the container's configuration and root filesystem on the host.
27-
* **`annotations`**: (map) contains the list of annotations associated with the container.
27+
* **`annotations`**: (map, required) contains the list of annotations associated with the container.
2828
If no annotations were provided then this property MAY either be absent or an empty map.
2929

30+
The state MAY include additional properties.
31+
3032
When serialized in JSON, the format MUST adhere to the following pattern:
3133

3234
```json

0 commit comments

Comments
 (0)