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>
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 {
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
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 {
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