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

Get windows kernel version directly from registry #58498

Merged
merged 1 commit into from
Jan 29, 2018

Conversation

feiskyer
Copy link
Member

@feiskyer feiskyer commented Jan 19, 2018

What this PR does / why we need it:

#55143 gets windows kernel version by calling windows.GetVersion(), but it doesn't work on windows 10. From https://msdn.microsoft.com/en-us/library/windows/desktop/ms724439(v=vs.85).aspx, GetVersion requires app to be manifested.

Applications not manifested for Windows 8.1 or Windows 10 will return the Windows 8 OS version value (6.2). I tried a toy go program using GetVersion on Windows 10 and it returns 0x23f00206.

Given the limited win32 functions in golang, we should read from registry directly.

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #58497

Special notes for your reviewer:

Should also cherry-pick to v1.9.

Release note:

Get windows kernel version directly from registry

/cc @JiangtianLi @taylorb-microsoft

@k8s-ci-robot k8s-ci-robot added the release-note Denotes a PR that will be considered when it comes time to generate release notes. label Jan 19, 2018
@k8s-ci-robot
Copy link
Contributor

@feiskyer: GitHub didn't allow me to request PR reviews from the following users: taylorb-microsoft, JiangtianLi.

Note that only kubernetes members and repo collaborators can review this PR, and authors cannot review their own PRs.

In response to this:

What this PR does / why we need it:

#55143 gets windows kernel version by calling windows.GetVersion(), but it doesn't work on windows 10. From https://msdn.microsoft.com/en-us/library/windows/desktop/ms724439(v=vs.85).aspx, GetVersion requires app to be manifested.

Applications not manifested for Windows 8.1 or Windows 10 will return the Windows 8 OS version value (6.2). I tried a toy go program using GetVersion on Windows 10 and it returns 0x23f00206.
Given the limited win32 functions in golang, we should read from registry directly.

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #58497

Special notes for your reviewer:

Should also cherry-pick to v1.9.

Release note:

Get windows kernel version directly from registry

/cc @JiangtianLi @taylorb-microsoft

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@k8s-ci-robot k8s-ci-robot added size/S Denotes a PR that changes 10-29 lines, ignoring generated files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Jan 19, 2018
@feiskyer
Copy link
Member Author

/sig windows
/kind bug

@k8s-ci-robot k8s-ci-robot added sig/windows Categorizes an issue or PR as relevant to SIG Windows. kind/bug Categorizes issue or PR as related to a bug. labels Jan 19, 2018
@feiskyer
Copy link
Member Author

Before this PR, windows kernel version is 6.2.09200.192. And it is 10.0.16299.192 with this PR (this is same with ver command on windows).

Copy link
Contributor

@JiangtianLi JiangtianLi left a comment

Choose a reason for hiding this comment

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

lgtm

@thecloudtaylor
Copy link

There is a trade off between using the "documented API" of GetVersion() and also needing the manifest vs using the registry, which could change.

That said - I think this is right balance for users thus.

LGTM

@feiskyer feiskyer assigned yujuhong and unassigned yifan-gu Jan 23, 2018
@feiskyer
Copy link
Member Author

ping @yujuhong @derekwaynecarr

@yujuhong
Copy link
Contributor

/approve

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jan 24, 2018
@feiskyer
Copy link
Member Author

@taylorb-microsoft @yujuhong Thanks of reviewing. Could you also lgtm to the PR?

@yujuhong
Copy link
Contributor

/lgtm based on the windows folks' reviews above.

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: feiskyer, yujuhong

Associated issue: #55143

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these OWNERS Files:

You can indicate your approval by writing /approve in a comment
You can cancel your approval by writing /approve cancel in a comment

@feiskyer
Copy link
Member Author

/lgtm based on the windows folks' reviews above.

@yujuhong Seems bot not responded. Could you help adding the label again?

@yujuhong yujuhong added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jan 29, 2018
@k8s-github-robot
Copy link

/test all

Tests are more than 96 hours old. Re-running tests.

@k8s-github-robot
Copy link

Automatic merge from submit-queue (batch tested with PRs 56995, 58498, 57426, 58902, 58863). If you want to cherry-pick this change to another branch, please follow the instructions here.

@k8s-github-robot k8s-github-robot merged commit 30c14dd into kubernetes:master Jan 29, 2018
@feiskyer feiskyer deleted the win-ver branch January 30, 2018 01:13
k8s-github-robot pushed a commit that referenced this pull request Feb 2, 2018
…98-upstream-release-1.9

Automatic merge from submit-queue.

Automated cherry pick of #58498: Get windows kernel version directly from registry

Cherry pick of #58498 on release-1.9.

#58498: Get windows kernel version directly from registry
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/bug Categorizes issue or PR as related to a bug. lgtm "Looks good to me", indicates that a PR is ready to be merged. release-note Denotes a PR that will be considered when it comes time to generate release notes. sig/windows Categorizes an issue or PR as relevant to SIG Windows. size/S Denotes a PR that changes 10-29 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Windows kernel version is wrong
8 participants