Merge pull request #915 from umohnani8/kpod_ps
Modified namespace field in json struct
This commit is contained in:
commit
8320d65581
2 changed files with 29 additions and 8 deletions
|
@ -75,16 +75,16 @@ type psJSONParams struct {
|
||||||
Labels fields.Set `json:"labels"`
|
Labels fields.Set `json:"labels"`
|
||||||
Mounts []specs.Mount `json:"mounts"`
|
Mounts []specs.Mount `json:"mounts"`
|
||||||
ContainerRunning bool `json:"ctrRunning"`
|
ContainerRunning bool `json:"ctrRunning"`
|
||||||
Namespaces namespace `json:"namespace,omitempty"`
|
Namespaces *namespace `json:"namespace,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type namespace struct {
|
type namespace struct {
|
||||||
PID string `json:"ctrPID,omitempty"`
|
PID string `json:"pid,omitempty"`
|
||||||
Cgroup string `json:"cgroup,omitempty"`
|
Cgroup string `json:"cgroup,omitempty"`
|
||||||
IPC string `json:"ipc,omitempty"`
|
IPC string `json:"ipc,omitempty"`
|
||||||
MNT string `json:"mnt,omitempty"`
|
MNT string `json:"mnt,omitempty"`
|
||||||
NET string `json:"net,omitempty"`
|
NET string `json:"net,omitempty"`
|
||||||
PIDNS string `json:"pid,omitempty"`
|
PIDNS string `json:"pidns,omitempty"`
|
||||||
User string `json:"user,omitempty"`
|
User string `json:"user,omitempty"`
|
||||||
UTS string `json:"uts,omitempty"`
|
UTS string `json:"uts,omitempty"`
|
||||||
}
|
}
|
||||||
|
@ -334,7 +334,7 @@ func getTemplateOutput(containers []*libkpod.ContainerData, opts psOptions) (psO
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func getNamespaces(pid int) namespace {
|
func getNamespaces(pid int) *namespace {
|
||||||
ctrPID := strconv.Itoa(pid)
|
ctrPID := strconv.Itoa(pid)
|
||||||
cgroup, _ := getNamespaceInfo(filepath.Join("/proc", ctrPID, "ns", "cgroup"))
|
cgroup, _ := getNamespaceInfo(filepath.Join("/proc", ctrPID, "ns", "cgroup"))
|
||||||
ipc, _ := getNamespaceInfo(filepath.Join("/proc", ctrPID, "ns", "ipc"))
|
ipc, _ := getNamespaceInfo(filepath.Join("/proc", ctrPID, "ns", "ipc"))
|
||||||
|
@ -344,7 +344,7 @@ func getNamespaces(pid int) namespace {
|
||||||
user, _ := getNamespaceInfo(filepath.Join("/proc", ctrPID, "ns", "user"))
|
user, _ := getNamespaceInfo(filepath.Join("/proc", ctrPID, "ns", "user"))
|
||||||
uts, _ := getNamespaceInfo(filepath.Join("/proc", ctrPID, "ns", "uts"))
|
uts, _ := getNamespaceInfo(filepath.Join("/proc", ctrPID, "ns", "uts"))
|
||||||
|
|
||||||
return namespace{
|
return &namespace{
|
||||||
PID: ctrPID,
|
PID: ctrPID,
|
||||||
Cgroup: cgroup,
|
Cgroup: cgroup,
|
||||||
IPC: ipc,
|
IPC: ipc,
|
||||||
|
@ -366,7 +366,7 @@ func getNamespaceInfo(path string) (string, error) {
|
||||||
|
|
||||||
// getJSONOutput returns the container info in its raw form
|
// getJSONOutput returns the container info in its raw form
|
||||||
func getJSONOutput(containers []*libkpod.ContainerData, nSpace bool) (psOutput []psJSONParams) {
|
func getJSONOutput(containers []*libkpod.ContainerData, nSpace bool) (psOutput []psJSONParams) {
|
||||||
var ns namespace
|
var ns *namespace
|
||||||
for _, ctr := range containers {
|
for _, ctr := range containers {
|
||||||
if nSpace {
|
if nSpace {
|
||||||
ns = getNamespaces(ctr.State.Pid)
|
ns = getNamespaces(ctr.State.Pid)
|
||||||
|
|
|
@ -203,7 +203,7 @@ KPOD_OPTIONS="--root $ROOT --runroot $RUNROOT ${STORAGE_OPTS}"
|
||||||
[ "$status" -eq 0 ]
|
[ "$status" -eq 0 ]
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "kpod ps format flag = json" {
|
@test "kpod ps namespace flag and format flag = json" {
|
||||||
start_crio
|
start_crio
|
||||||
[ "$status" -eq 0 ]
|
[ "$status" -eq 0 ]
|
||||||
run crioctl pod run --config "$TESTDATA"/sandbox_config.json
|
run crioctl pod run --config "$TESTDATA"/sandbox_config.json
|
||||||
|
@ -215,7 +215,7 @@ KPOD_OPTIONS="--root $ROOT --runroot $RUNROOT ${STORAGE_OPTS}"
|
||||||
run crioctl ctr create --config "$TESTDATA"/container_config.json --pod "$pod_id"
|
run crioctl ctr create --config "$TESTDATA"/container_config.json --pod "$pod_id"
|
||||||
echo "$output"
|
echo "$output"
|
||||||
[ "$status" -eq 0 ]
|
[ "$status" -eq 0 ]
|
||||||
run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} ps -a --ns --format json | python -m json.tool"
|
run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} ps -a --ns --format json | python -m json.tool | grep namespace"
|
||||||
echo "$output"
|
echo "$output"
|
||||||
[ "$status" -eq 0 ]
|
[ "$status" -eq 0 ]
|
||||||
cleanup_ctrs
|
cleanup_ctrs
|
||||||
|
@ -224,6 +224,27 @@ KPOD_OPTIONS="--root $ROOT --runroot $RUNROOT ${STORAGE_OPTS}"
|
||||||
[ "$status" -eq 0 ]
|
[ "$status" -eq 0 ]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@test "kpod ps without namespace flag and format flag = json" {
|
||||||
|
start_crio
|
||||||
|
[ "$status" -eq 0 ]
|
||||||
|
run crioctl pod run --config "$TESTDATA"/sandbox_config.json
|
||||||
|
echo "$output"
|
||||||
|
[ "$status" -eq 0 ]
|
||||||
|
pod_id="$output"
|
||||||
|
run crioctl image pull "$IMAGE"
|
||||||
|
[ "$status" -eq 0 ]
|
||||||
|
run crioctl ctr create --config "$TESTDATA"/container_config.json --pod "$pod_id"
|
||||||
|
echo "$output"
|
||||||
|
[ "$status" -eq 0 ]
|
||||||
|
run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} ps -a --format json | python -m json.tool | grep namespace"
|
||||||
|
echo "$output"
|
||||||
|
[ "$status" -eq 1 ]
|
||||||
|
cleanup_ctrs
|
||||||
|
cleanup_pods
|
||||||
|
stop_crio
|
||||||
|
[ "$status" -eq 0 ]
|
||||||
|
}
|
||||||
|
|
||||||
@test "kpod ps format flag = go template" {
|
@test "kpod ps format flag = go template" {
|
||||||
start_crio
|
start_crio
|
||||||
[ "$status" -eq 0 ]
|
[ "$status" -eq 0 ]
|
||||||
|
|
Loading…
Reference in a new issue