Merge pull request #101962 from llhhbc/add-osinfo-logs

Add getOSInfo err info
This commit is contained in:
Kubernetes Prow Robot 2021-08-17 10:29:13 -07:00 committed by GitHub
commit db42b67f3c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -31,35 +31,38 @@ type OSInfo struct {
// GetOSInfo reads Windows version information from the registry // GetOSInfo reads Windows version information from the registry
func GetOSInfo() (*OSInfo, error) { func GetOSInfo() (*OSInfo, error) {
// for log detail
var keyPrefix string = `regedit:LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion`
k, err := registry.OpenKey(registry.LOCAL_MACHINE, `SOFTWARE\Microsoft\Windows NT\CurrentVersion`, registry.QUERY_VALUE) k, err := registry.OpenKey(registry.LOCAL_MACHINE, `SOFTWARE\Microsoft\Windows NT\CurrentVersion`, registry.QUERY_VALUE)
if err != nil { if err != nil {
return nil, err return nil, fmt.Errorf("getOSInfo, open Windows %s failed: %w", keyPrefix, err)
} }
defer k.Close() defer k.Close()
buildNumber, _, err := k.GetStringValue("CurrentBuildNumber") buildNumber, _, err := k.GetStringValue("CurrentBuildNumber")
if err != nil { if err != nil {
return nil, err return nil, fmt.Errorf("getOSInfo, get %s\\CurrentBuildNumber failed: %w", keyPrefix, err)
} }
majorVersionNumber, _, err := k.GetIntegerValue("CurrentMajorVersionNumber") majorVersionNumber, _, err := k.GetIntegerValue("CurrentMajorVersionNumber")
if err != nil { if err != nil {
return nil, err return nil, fmt.Errorf("getOSInfo, get %s\\CurrentMajorVersionNumber failed: %w", keyPrefix, err)
} }
minorVersionNumber, _, err := k.GetIntegerValue("CurrentMinorVersionNumber") minorVersionNumber, _, err := k.GetIntegerValue("CurrentMinorVersionNumber")
if err != nil { if err != nil {
return nil, err return nil, fmt.Errorf("getOSInfo, get %s\\CurrentMinorVersionNumber failed: %w", keyPrefix, err)
} }
revision, _, err := k.GetIntegerValue("UBR") revision, _, err := k.GetIntegerValue("UBR")
if err != nil { if err != nil {
return nil, err return nil, fmt.Errorf("getOSInfo, get %s\\UBR failed: %w", keyPrefix, err)
} }
productName, _, err := k.GetStringValue("ProductName") productName, _, err := k.GetStringValue("ProductName")
if err != nil { if err != nil {
return nil, nil return nil, fmt.Errorf("getOSInfo, get %s\\ProductName failed: %w", keyPrefix, err)
} }
return &OSInfo{ return &OSInfo{