Skip to content

Instantly share code, notes, and snippets.

@olleolleolle
Created July 23, 2015 21:48
Show Gist options
  • Select an option

  • Save olleolleolle/ced94ccd7ec65a9ad2af to your computer and use it in GitHub Desktop.

Select an option

Save olleolleolle/ced94ccd7ec65a9ad2af to your computer and use it in GitHub Desktop.
diff --git a/api/server/server.go b/api/server/server.go
index 1ad1249..82043ca 100644
--- a/api/server/server.go
+++ b/api/server/server.go
@@ -368,7 +368,8 @@ func (s *Server) getImagesJSON(version version.Version, w http.ResponseWriter, r
}
func (s *Server) getInfo(version version.Version, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
- info, err := s.daemon.SystemInfo()
+ osAsPrettyName := version.GreaterThanOrEqualTo("1.19")
+ info, err := s.daemon.SystemInfo(osAsPrettyName)
if err != nil {
return err
}
diff --git a/api/types/types.go b/api/types/types.go
index 013e3a1..a0c6449 100644
--- a/api/types/types.go
+++ b/api/types/types.go
@@ -182,7 +182,7 @@ type Info struct {
NEventsListener int
KernelVersion string
OperatingSystem string
- OS string
+ OSVariant string
Architecture string
IndexServerAddress string
RegistryConfig interface{}
diff --git a/daemon/info.go b/daemon/info.go
index 6109a5e..5f21f42 100644
--- a/daemon/info.go
+++ b/daemon/info.go
@@ -16,7 +16,7 @@ import (
"github.com/docker/docker/utils"
)
-func (daemon *Daemon) SystemInfo() (*types.Info, error) {
+func (daemon *Daemon) SystemInfo(osAsPrettyName bool) (*types.Info, error) {
images := daemon.Graph().Map()
var imgcount int
if images == nil {
@@ -29,21 +29,27 @@ func (daemon *Daemon) SystemInfo() (*types.Info, error) {
kernelVersion = kv.String()
}
- operatingSystem := "<unknown>"
+ prettyName := "<unknown>"
if s, err := operatingsystem.GetOperatingSystem(); err == nil {
- operatingSystem = s
+ prettyName = s
}
// Don't do containerized check on Windows
if runtime.GOOS != "windows" {
if inContainer, err := operatingsystem.IsContainerized(); err != nil {
logrus.Errorf("Could not determine if daemon is containerized: %v", err)
- operatingSystem += " (error determining if containerized)"
+ prettyName += " (error determining if containerized)"
} else if inContainer {
- operatingSystem += " (containerized)"
+ prettyName += " (containerized)"
}
}
+ if osAsPrettyName {
+ operatingsystem = prettyName
+ } else {
+ operatingsystem = runtime.GOOS
+ }
+
meminfo, err := system.ReadMemInfo()
if err != nil {
logrus.Errorf("Could not read system memory info: %v", err)
@@ -74,7 +80,7 @@ func (daemon *Daemon) SystemInfo() (*types.Info, error) {
NEventsListener: daemon.EventsService.SubscribersCount(),
KernelVersion: kernelVersion,
OperatingSystem: operatingSystem,
- OS: runtime.GOOS,
+ OSVariant: prettyName,
Architecture: runtime.GOARCH,
IndexServerAddress: registry.INDEXSERVER,
RegistryConfig: daemon.RegistryService.Config,
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment