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

image-index: define platform.os.version on Windows #651

Merged
merged 1 commit into from
May 23, 2017

Conversation

AkihiroSuda
Copy link
Member

Please refer to #632 for previous discussion.

Signed-off-by: Akihiro Suda suda.akihiro@lab.ntt.co.jp

Copy link
Contributor

@wking wking left a comment

Choose a reason for hiding this comment

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

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
@@ -55,7 +55,10 @@ For the media type(s) that this document is compatible with, see the [matrix][ma

- **`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.
Copy link
Contributor

Choose a reason for hiding this comment

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

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 ;).

Copy link
Member Author

Choose a reason for hiding this comment

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

done

image-index.md Outdated
@@ -55,7 +55,10 @@ For the media type(s) that this document is compatible with, see the [matrix][ma

- **`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.
Implementations MAY refuse to use manifests of which `os.version` is not known to work with the host OS version.
Copy link
Contributor

Choose a reason for hiding this comment

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

“of which” → “if”? Or maybe “where”?

Copy link
Member Author

Choose a reason for hiding this comment

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

done

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`.
Copy link
Contributor

Choose a reason for hiding this comment

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

“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.

Copy link
Member Author

Choose a reason for hiding this comment

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

done

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`.
Copy link
Contributor

Choose a reason for hiding this comment

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

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.

Copy link
Member Author

Choose a reason for hiding this comment

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

done

@AkihiroSuda AkihiroSuda force-pushed the platform-os-version branch 2 times, most recently from cc6c36f to de499b4 Compare April 26, 2017 02:19
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.
Copy link
Contributor

Choose a reason for hiding this comment

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

20dcb7ade499b4 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.

Copy link
Member Author

Choose a reason for hiding this comment

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

done

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
@vbatts
Copy link
Member

vbatts commented May 3, 2017

@RobDolinMS can you get some Windows eyes to do a review of this

@stevvooe stevvooe added this to the v1.0.0 milestone May 12, 2017
@darstahl
Copy link

Not a maintainer, but LGTM

@vbatts
Copy link
Member

vbatts commented May 15, 2017

Thanks @darrenstahlmsft
LGTM
(to echo his approval)

Approved with PullApprove

@vbatts
Copy link
Member

vbatts commented May 19, 2017

review please

@stevvooe
Copy link
Contributor

stevvooe commented May 23, 2017

LGTM

Approved with PullApprove

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants