image-index: define platform.os.version on Windows#651
image-index: define platform.os.version on Windows#651stevvooe merged 1 commit intoopencontainers:masterfrom
Conversation
wking
left a comment
There was a problem hiding this comment.
I think the alternative to “implementation-defined on all OSes” would be “implementation-defined on windows, and reserved on other OSes”. In the absence of anyone asking for os.version outside of Windows, I'd prefer reserving the field there. But the consistency of “implementation-defined everywhere” is nice too.
image-index.md
Outdated
| - **`os.version`** *string* | ||
|
|
||
| This OPTIONAL property specifies the operating system version, for example `10.0.10586`. | ||
| This OPTIONAL property specifies the version of the operating system included in the layers specified by the manifest. |
There was a problem hiding this comment.
The operating system isn't included in the layers. Maybe:
This OPTIONAL property specifies the version of the operating system targeted by the referenced blob.
That also gets us away from using “manifest”, because while image-index.md still talks about manifests as a list of manifests, the non-manifest example in image-layout.md shows that manifests is no longer restricted to just manifests. I'd thought the wording around manifests was going to be generalized, but that doesn't seem to have happened yet. I think changing the manifests wording is out of scope for this PR, but I'd rather not dig the current hole any deeper ;).
image-index.md
Outdated
|
|
||
| This OPTIONAL property specifies the operating system version, for example `10.0.10586`. | ||
| This OPTIONAL property specifies the version of the operating system included in the layers specified by the manifest. | ||
| Implementations MAY refuse to use manifests of which `os.version` is not known to work with the host OS version. |
There was a problem hiding this comment.
“of which” → “if”? Or maybe “where”?
image-index.md
Outdated
| This OPTIONAL property specifies the operating system version, for example `10.0.10586`. | ||
| This OPTIONAL property specifies the version of the operating system included in the layers specified by the manifest. | ||
| Implementations MAY refuse to use manifests of which `os.version` is not known to work with the host OS version. | ||
| When OS is Windows, image indexes SHOULD use, and implementations SHOULD understand quad-notation values of [`System.Version` properties](system-version), `Major.Minor.Build.Revision`. e.g. `10.0.14393.1066`. |
There was a problem hiding this comment.
“OS is Windows” → “os is windows”, and similarly in the following line. And I think we want to be implementation-defined for all OSes, with the Windows matching so fuzzy. @jstarks seemed to be ok with that approach.
9ac7ffc to
20dcb7a
Compare
image-index.md
Outdated
| This OPTIONAL property specifies the operating system version, for example `10.0.10586`. | ||
| This OPTIONAL property specifies the version of the operating system targeted by the referenced blob. | ||
| Implementations MAY refuse to use manifests where `os.version` is not known to work with the host OS version. | ||
| When `os` is `windows`, image indexes SHOULD use, and implementations SHOULD understand quad-notation values of `Major.Minor.Build.Revision`. e.g. `10.0.14393.1066`. |
There was a problem hiding this comment.
I still think we want this to be implementation-defined on Windows to avoid having to specify the fuzzy matching needed for it to be useful. And @jstarks seemed to be ok with that approach.
cc6c36f to
de499b4
Compare
image-index.md
Outdated
| This OPTIONAL property specifies the version of the operating system targeted by the referenced blob. | ||
| Implementations MAY refuse to use manifests where `os.version` is not known to work with the host OS version. | ||
| The values are implementation-defined when `os` is `windows`. e.g. `10.0.14393.1066`. | ||
| The values for other `os`-es SHOULD be submitted to this specification for standardization. |
There was a problem hiding this comment.
20dcb7a → de499b4 dropped implementation-defined for non-Windows os. I think the full section should read:
This OPTIONAL property specifies the version of the operating system targeted by the referenced blob.
Implementations MAY refuse to use manifests where `os.version` is not known to work with the host OS version.
Valid values are implementation-defined.
Once we make the values implementation-defined, there's no clawing it back into the spec without risking breaking changes, so I don't think we should bother asking for submission for standardization.
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
de499b4 to
bc58ab2
Compare
|
@RobDolinMS can you get some Windows eyes to do a review of this |
|
Not a maintainer, but LGTM |
|
review please |
Please refer to #632 for previous discussion.
Signed-off-by: Akihiro Suda suda.akihiro@lab.ntt.co.jp