diff options
author | Pawel Wieczorek <p.wieczorek2@samsung.com> | 2019-09-30 14:39:32 +0200 |
---|---|---|
committer | Pawel Wieczorek <p.wieczorek2@samsung.com> | 2019-09-30 15:31:13 +0200 |
commit | 752f7fe7d6674624417a4f97a10e6acc7a3abe90 (patch) | |
tree | ee66d28f2befc9d29c9d64acc69c45e8647a5ae8 /test/security | |
parent | 155417479ebc5c531349dd898b96ef4a819b0f0a (diff) |
k8s: Resolve Docker response formatting issue
Checker collects information on cluster by Docker queries:
$ docker ps ARGS... # Casablanca
$ docker inspect ARGS... # Dublin
Arrays of values are then filtered from those. They include:
* opening bracket ('['),
* closing bracket (']'),
* new line.
Additional characters affect check results if last flag (including
"]\n") requires specific value.
Issue-ID: SECCOM-235
Change-Id: I6838342b7e2ecdc44a47ffe02286266003e0b4d3
Signed-off-by: Pawel Wieczorek <p.wieczorek2@samsung.com>
Diffstat (limited to 'test/security')
-rw-r--r-- | test/security/k8s/src/check/rancher/rancher.go | 9 | ||||
-rw-r--r-- | test/security/k8s/src/check/raw/raw.go | 9 |
2 files changed, 18 insertions, 0 deletions
diff --git a/test/security/k8s/src/check/rancher/rancher.go b/test/security/k8s/src/check/rancher/rancher.go index 842fd3ff6..b5e382221 100644 --- a/test/security/k8s/src/check/rancher/rancher.go +++ b/test/security/k8s/src/check/rancher/rancher.go @@ -58,6 +58,7 @@ func getProcessParams(process check.Command, service check.Service) ([]string, e return []string{}, err } + cmd = trimOutput(cmd) // TODO: improve `docker ps` query format. if len(cmd) > 0 { i := bytes.Index(cmd, []byte(process.String())) if i == -1 { @@ -99,6 +100,14 @@ func getPsCmdOutput(host string, service check.Service) ([]byte, error) { return out, nil } +// trimOutput removes trailing new line and brackets from output. +func trimOutput(b []byte) []byte { + b = bytes.TrimSpace(b) + b = bytes.TrimPrefix(b, []byte("[")) + b = bytes.TrimSuffix(b, []byte("]")) + return b +} + // btos converts slice of bytes to slice of strings split by white space characters. func btos(in []byte) []string { var out []string diff --git a/test/security/k8s/src/check/raw/raw.go b/test/security/k8s/src/check/raw/raw.go index 04a6fa554..555115950 100644 --- a/test/security/k8s/src/check/raw/raw.go +++ b/test/security/k8s/src/check/raw/raw.go @@ -59,6 +59,7 @@ func getProcessParams(process check.Command) ([]string, error) { return []string{}, err } + cmd = trimOutput(cmd) // TODO: improve `docker inspect` query format. if len(cmd) > 0 { i := bytes.Index(cmd, []byte(process.String())) if i == -1 { @@ -158,6 +159,14 @@ func runCommand(cmd string, conn *ssh.Client) ([]byte, error) { return out, nil } +// trimOutput removes trailing new line and brackets from output. +func trimOutput(b []byte) []byte { + b = bytes.TrimSpace(b) + b = bytes.TrimPrefix(b, []byte("[")) + b = bytes.TrimSuffix(b, []byte("]")) + return b +} + // btos converts slice of bytes to slice of strings split by white space characters. func btos(in []byte) []string { var out []string |