From f8eac5cda9feff4cd96f56dbb5fb10bd7deb3d03 Mon Sep 17 00:00:00 2001 From: Sohan Kunkerkar Date: Wed, 8 Apr 2020 08:26:37 -0400 Subject: [PATCH] Add test for checking journald logs --- .../qemu-2020-04-08-1514-872827/.harness_temp | 0 _kola_temp/qemu-latest | 1 + mantle/kola/tests/ignition/journaldEntry.go | 61 +++++++++++++++++++ 3 files changed, 62 insertions(+) create mode 100644 _kola_temp/qemu-2020-04-08-1514-872827/.harness_temp create mode 120000 _kola_temp/qemu-latest create mode 100644 mantle/kola/tests/ignition/journaldEntry.go diff --git a/_kola_temp/qemu-2020-04-08-1514-872827/.harness_temp b/_kola_temp/qemu-2020-04-08-1514-872827/.harness_temp new file mode 100644 index 0000000000..e69de29bb2 diff --git a/_kola_temp/qemu-latest b/_kola_temp/qemu-latest new file mode 120000 index 0000000000..729b7433ca --- /dev/null +++ b/_kola_temp/qemu-latest @@ -0,0 +1 @@ +qemu-2020-04-08-1514-872827 \ No newline at end of file diff --git a/mantle/kola/tests/ignition/journaldEntry.go b/mantle/kola/tests/ignition/journaldEntry.go new file mode 100644 index 0000000000..06b45a9024 --- /dev/null +++ b/mantle/kola/tests/ignition/journaldEntry.go @@ -0,0 +1,61 @@ +// Copyright 2020 Red Hat +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package ignition + +import ( + "strconv" + + "github.com/coreos/mantle/kola/cluster" + "github.com/coreos/mantle/kola/register" + "github.com/coreos/mantle/platform/conf" +) + +func init() { + register.RegisterTest(®ister.Test{ + Name: "coreos.ignition.journald-log", + Run: sendJournaldLog, + ClusterSize: 1, + UserDataV3: conf.Ignition(`{ + "ignition": {"version": "3.0.0"}, + "systemd": { + "units": [{ + "enabled": false, + "name": "zincati.service" + }] + } +}`), + }) +} + +func sendJournaldLog(c cluster.TestCluster) { + m := c.Machines()[0] + // See https://github.com/coreos/ignition/pull/958 + // for the MESSAGE_ID source. It will track the + // journal messages related to an ignition config + // provided by the user. + out := c.MustSSH(m, "journalctl -o cat MESSAGE_ID=57124006b5c94805b77ce473e92a8aeb | wc -l") + + num, _ := strconv.Atoi(string(out)) + if num == 0 { + c.Fatalf("couldn't find journald log with MESSAGE_ID=57124006b5c94805b77ce473e92a8aeb") + } + + outCount := c.MustSSH(m, "journalctl -o cat MESSAGE_ID=57124006b5c94805b77ce473e92a8aeb | grep -c 'user config'") + count, _ := strconv.Atoi(string(outCount)) + if count == 0 { + c.Fatalf("No user-config is provided") + } + +}