mirror of https://github.com/containers/podman.git
varlink info
The varlinfo info returns the same information as podman info but always includes the so-called debug information. Signed-off-by: baude <bbaude@redhat.com> Closes: #745 Approved by: baude
This commit is contained in:
parent
f97de48be4
commit
834f1f641e
91
API.md
91
API.md
|
|
@ -33,6 +33,8 @@ in the [API.md](https://github.com/projectatomic/libpod/blob/master/API.md) file
|
||||||
|
|
||||||
[func ImportImage(source: string, reference: string, message: string, changes: []string) string](#ImportImage)
|
[func ImportImage(source: string, reference: string, message: string, changes: []string) string](#ImportImage)
|
||||||
|
|
||||||
|
[func Info() PodmanInfo](#Info)
|
||||||
|
|
||||||
[func InspectContainer(name: string) string](#InspectContainer)
|
[func InspectContainer(name: string) string](#InspectContainer)
|
||||||
|
|
||||||
[func InspectImage(name: string) string](#InspectImage)
|
[func InspectImage(name: string) string](#InspectImage)
|
||||||
|
|
@ -94,10 +96,20 @@ in the [API.md](https://github.com/projectatomic/libpod/blob/master/API.md) file
|
||||||
|
|
||||||
[type ImageSearch](#ImageSearch)
|
[type ImageSearch](#ImageSearch)
|
||||||
|
|
||||||
|
[type InfoGraphStatus](#InfoGraphStatus)
|
||||||
|
|
||||||
|
[type InfoHost](#InfoHost)
|
||||||
|
|
||||||
|
[type InfoPodmanBinary](#InfoPodmanBinary)
|
||||||
|
|
||||||
|
[type InfoStore](#InfoStore)
|
||||||
|
|
||||||
[type ListContainerData](#ListContainerData)
|
[type ListContainerData](#ListContainerData)
|
||||||
|
|
||||||
[type NotImplemented](#NotImplemented)
|
[type NotImplemented](#NotImplemented)
|
||||||
|
|
||||||
|
[type PodmanInfo](#PodmanInfo)
|
||||||
|
|
||||||
[type StringResponse](#StringResponse)
|
[type StringResponse](#StringResponse)
|
||||||
|
|
||||||
[type Version](#Version)
|
[type Version](#Version)
|
||||||
|
|
@ -225,6 +237,12 @@ history is in the form of an array of ImageHistory structures. If the image can
|
||||||
method ImportImage(source: [string](https://godoc.org/builtin#string), reference: [string](https://godoc.org/builtin#string), message: [string](https://godoc.org/builtin#string), changes: [[]string](#[]string)) [string](https://godoc.org/builtin#string)</div>
|
method ImportImage(source: [string](https://godoc.org/builtin#string), reference: [string](https://godoc.org/builtin#string), message: [string](https://godoc.org/builtin#string), changes: [[]string](#[]string)) [string](https://godoc.org/builtin#string)</div>
|
||||||
ImportImage imports an image from a source (like tarball) into local storage. The image can have additional
|
ImportImage imports an image from a source (like tarball) into local storage. The image can have additional
|
||||||
descriptions added to it using the message and changes options. See also [ExportImage](ExportImage).
|
descriptions added to it using the message and changes options. See also [ExportImage](ExportImage).
|
||||||
|
### <a name="Info"></a>func Info
|
||||||
|
<div style="background-color: #E8E8E8; padding: 15px; margin: 10px; border-radius: 10px;">
|
||||||
|
|
||||||
|
method Info() [PodmanInfo](#PodmanInfo)</div>
|
||||||
|
Info returns a [PodmanInfo](#PodmanInfo) struct that describes podman and its host such as storage stats,
|
||||||
|
build information of Podman, and system-wide registries.
|
||||||
### <a name="InspectContainer"></a>func InspectContainer
|
### <a name="InspectContainer"></a>func InspectContainer
|
||||||
<div style="background-color: #E8E8E8; padding: 15px; margin: 10px; border-radius: 10px;">
|
<div style="background-color: #E8E8E8; padding: 15px; margin: 10px; border-radius: 10px;">
|
||||||
|
|
||||||
|
|
@ -555,6 +573,66 @@ is_automated [bool](https://godoc.org/builtin#bool)
|
||||||
name [string](https://godoc.org/builtin#string)
|
name [string](https://godoc.org/builtin#string)
|
||||||
|
|
||||||
star_count [int](https://godoc.org/builtin#int)
|
star_count [int](https://godoc.org/builtin#int)
|
||||||
|
### <a name="InfoGraphStatus"></a>type InfoGraphStatus
|
||||||
|
|
||||||
|
InfoGraphStatus describes the detailed status of the graphc
|
||||||
|
|
||||||
|
backing_filesystem [string](https://godoc.org/builtin#string)
|
||||||
|
|
||||||
|
native_overlay_diff [string](https://godoc.org/builtin#string)
|
||||||
|
|
||||||
|
supports_d_type [string](https://godoc.org/builtin#string)
|
||||||
|
### <a name="InfoHost"></a>type InfoHost
|
||||||
|
|
||||||
|
InfoHost describes the host stats portion of PodmanInfo
|
||||||
|
|
||||||
|
mem_free [int](https://godoc.org/builtin#int)
|
||||||
|
|
||||||
|
mem_total [int](https://godoc.org/builtin#int)
|
||||||
|
|
||||||
|
swap_free [int](https://godoc.org/builtin#int)
|
||||||
|
|
||||||
|
swap_total [int](https://godoc.org/builtin#int)
|
||||||
|
|
||||||
|
arch [string](https://godoc.org/builtin#string)
|
||||||
|
|
||||||
|
cpus [int](https://godoc.org/builtin#int)
|
||||||
|
|
||||||
|
hostname [string](https://godoc.org/builtin#string)
|
||||||
|
|
||||||
|
kernel [string](https://godoc.org/builtin#string)
|
||||||
|
|
||||||
|
os [string](https://godoc.org/builtin#string)
|
||||||
|
|
||||||
|
uptime [string](https://godoc.org/builtin#string)
|
||||||
|
### <a name="InfoPodmanBinary"></a>type InfoPodmanBinary
|
||||||
|
|
||||||
|
InfoPodman provides details on the podman binary
|
||||||
|
|
||||||
|
compiler [string](https://godoc.org/builtin#string)
|
||||||
|
|
||||||
|
go_version [string](https://godoc.org/builtin#string)
|
||||||
|
|
||||||
|
podman_version [string](https://godoc.org/builtin#string)
|
||||||
|
|
||||||
|
git_commit [string](https://godoc.org/builtin#string)
|
||||||
|
### <a name="InfoStore"></a>type InfoStore
|
||||||
|
|
||||||
|
InfoStore describes the host's storage informatoin
|
||||||
|
|
||||||
|
containers [int](https://godoc.org/builtin#int)
|
||||||
|
|
||||||
|
images [int](https://godoc.org/builtin#int)
|
||||||
|
|
||||||
|
graph_driver_name [string](https://godoc.org/builtin#string)
|
||||||
|
|
||||||
|
graph_driver_options [string](https://godoc.org/builtin#string)
|
||||||
|
|
||||||
|
graph_root [string](https://godoc.org/builtin#string)
|
||||||
|
|
||||||
|
graph_status [InfoGraphStatus](#InfoGraphStatus)
|
||||||
|
|
||||||
|
run_root [string](https://godoc.org/builtin#string)
|
||||||
### <a name="ListContainerData"></a>type ListContainerData
|
### <a name="ListContainerData"></a>type ListContainerData
|
||||||
|
|
||||||
ListContainer is the returned struct for an individual container
|
ListContainer is the returned struct for an individual container
|
||||||
|
|
@ -593,6 +671,19 @@ namespaces [ContainerNameSpace](#ContainerNameSpace)
|
||||||
|
|
||||||
|
|
||||||
comment [string](https://godoc.org/builtin#string)
|
comment [string](https://godoc.org/builtin#string)
|
||||||
|
### <a name="PodmanInfo"></a>type PodmanInfo
|
||||||
|
|
||||||
|
PodmanInfo describes the Podman host and build
|
||||||
|
|
||||||
|
host [InfoHost](#InfoHost)
|
||||||
|
|
||||||
|
registries [[]string](#[]string)
|
||||||
|
|
||||||
|
insecure_registries [[]string](#[]string)
|
||||||
|
|
||||||
|
store [InfoStore](#InfoStore)
|
||||||
|
|
||||||
|
podman [InfoPodmanBinary](#InfoPodmanBinary)
|
||||||
### <a name="StringResponse"></a>type StringResponse
|
### <a name="StringResponse"></a>type StringResponse
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -124,6 +124,55 @@ type ContainerNameSpace (
|
||||||
ipc: string
|
ipc: string
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# InfoHost describes the host stats portion of PodmanInfo
|
||||||
|
type InfoHost (
|
||||||
|
mem_free: int,
|
||||||
|
mem_total: int,
|
||||||
|
swap_free: int,
|
||||||
|
swap_total: int,
|
||||||
|
arch: string,
|
||||||
|
cpus: int,
|
||||||
|
hostname: string,
|
||||||
|
kernel: string,
|
||||||
|
os: string,
|
||||||
|
uptime: string
|
||||||
|
)
|
||||||
|
|
||||||
|
# InfoGraphStatus describes the detailed status of the graph
|
||||||
|
type InfoGraphStatus (
|
||||||
|
backing_filesystem: string,
|
||||||
|
native_overlay_diff: string,
|
||||||
|
supports_d_type: string
|
||||||
|
)
|
||||||
|
|
||||||
|
# InfoStore describes the host's storage informatoin
|
||||||
|
type InfoStore (
|
||||||
|
containers: int,
|
||||||
|
images: int,
|
||||||
|
graph_driver_name: string,
|
||||||
|
graph_driver_options: string,
|
||||||
|
graph_root: string,
|
||||||
|
graph_status: InfoGraphStatus,
|
||||||
|
run_root: string
|
||||||
|
)
|
||||||
|
|
||||||
|
# InfoPodman provides details on the podman binary
|
||||||
|
type InfoPodmanBinary (
|
||||||
|
compiler: string,
|
||||||
|
go_version: string,
|
||||||
|
podman_version: string,
|
||||||
|
git_commit: string
|
||||||
|
)
|
||||||
|
|
||||||
|
# PodmanInfo describes the Podman host and build
|
||||||
|
type PodmanInfo (
|
||||||
|
host: InfoHost,
|
||||||
|
registries: []string,
|
||||||
|
insecure_registries: []string,
|
||||||
|
store: InfoStore,
|
||||||
|
podman: InfoPodmanBinary
|
||||||
|
)
|
||||||
|
|
||||||
# Ping provides a response for developers to ensure their varlink setup is working.
|
# Ping provides a response for developers to ensure their varlink setup is working.
|
||||||
# #### Example
|
# #### Example
|
||||||
# ~~~
|
# ~~~
|
||||||
|
|
@ -140,6 +189,9 @@ method Ping() -> (ping: StringResponse)
|
||||||
# system.
|
# system.
|
||||||
method GetVersion() -> (version: Version)
|
method GetVersion() -> (version: Version)
|
||||||
|
|
||||||
|
# GetInfo returns a [PodmanInfo](#PodmanInfo) struct that describes podman and its host such as storage stats,
|
||||||
|
# build information of Podman, and system-wide registries.
|
||||||
|
method GetInfo() -> (info: PodmanInfo)
|
||||||
|
|
||||||
# ListContainers returns a list of containers in no particular order. There are
|
# ListContainers returns a list of containers in no particular order. There are
|
||||||
# returned as an array of ListContainerData structs. See also [GetContainer](#GetContainer).
|
# returned as an array of ListContainerData structs. See also [GetContainer](#GetContainer).
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,6 +1,10 @@
|
||||||
package varlinkapi
|
package varlinkapi
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
goruntime "runtime"
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
"github.com/projectatomic/libpod/cmd/podman/libpodruntime"
|
||||||
"github.com/projectatomic/libpod/cmd/podman/varlink"
|
"github.com/projectatomic/libpod/cmd/podman/varlink"
|
||||||
"github.com/projectatomic/libpod/libpod"
|
"github.com/projectatomic/libpod/libpod"
|
||||||
)
|
)
|
||||||
|
|
@ -28,3 +32,56 @@ func (i *LibpodAPI) Ping(call ioprojectatomicpodman.VarlinkCall) error {
|
||||||
Message: "OK",
|
Message: "OK",
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetInfo returns details about the podman host and its stores
|
||||||
|
func (i *LibpodAPI) GetInfo(call ioprojectatomicpodman.VarlinkCall) error {
|
||||||
|
podmanInfo := ioprojectatomicpodman.PodmanInfo{}
|
||||||
|
runtime, err := libpodruntime.GetRuntime(i.Cli)
|
||||||
|
if err != nil {
|
||||||
|
return call.ReplyRuntimeError(err.Error())
|
||||||
|
}
|
||||||
|
info, err := runtime.Info()
|
||||||
|
if err != nil {
|
||||||
|
return call.ReplyErrorOccurred(err.Error())
|
||||||
|
}
|
||||||
|
host := info[0].Data
|
||||||
|
infoHost := ioprojectatomicpodman.InfoHost{
|
||||||
|
Mem_free: host["MemFree"].(int64),
|
||||||
|
Mem_total: host["MemTotal"].(int64),
|
||||||
|
Swap_free: host["SwapFree"].(int64),
|
||||||
|
Arch: host["arch"].(string),
|
||||||
|
Cpus: int64(host["cpus"].(int)),
|
||||||
|
Hostname: host["hostname"].(string),
|
||||||
|
Kernel: host["kernel"].(string),
|
||||||
|
Os: host["os"].(string),
|
||||||
|
Uptime: host["uptime"].(string),
|
||||||
|
}
|
||||||
|
podmanInfo.Host = infoHost
|
||||||
|
store := info[1].Data
|
||||||
|
pmaninfo := ioprojectatomicpodman.InfoPodmanBinary{
|
||||||
|
Compiler: goruntime.Compiler,
|
||||||
|
Go_version: goruntime.Version(),
|
||||||
|
// TODO : How are we going to get this here?
|
||||||
|
//Podman_version:
|
||||||
|
Git_commit: libpod.GitCommit,
|
||||||
|
}
|
||||||
|
|
||||||
|
graphStatus := ioprojectatomicpodman.InfoGraphStatus{
|
||||||
|
Backing_filesystem: store["GraphStatus"].(map[string]string)["Backing Filesystem"],
|
||||||
|
Native_overlay_diff: store["GraphStatus"].(map[string]string)["Native Overlay Diff"],
|
||||||
|
Supports_d_type: store["GraphStatus"].(map[string]string)["Supports d_type"],
|
||||||
|
}
|
||||||
|
infoStore := ioprojectatomicpodman.InfoStore{
|
||||||
|
Graph_driver_name: store["GraphDriverName"].(string),
|
||||||
|
Containers: int64(store["ContainerStore"].(map[string]interface{})["number"].(int)),
|
||||||
|
Images: int64(store["ImageStore"].(map[string]interface{})["number"].(int)),
|
||||||
|
Run_root: store["RunRoot"].(string),
|
||||||
|
Graph_root: store["GraphRoot"].(string),
|
||||||
|
Graph_driver_options: strings.Join(store["GraphOptions"].([]string), ", "),
|
||||||
|
Graph_status: graphStatus,
|
||||||
|
}
|
||||||
|
|
||||||
|
podmanInfo.Store = infoStore
|
||||||
|
podmanInfo.Podman = pmaninfo
|
||||||
|
return call.ReplyGetInfo(podmanInfo)
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue