Adding upstream version 0.13.0.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
c0ae77e0f6
commit
ecf5ca3300
272 changed files with 33172 additions and 0 deletions
283
tests/units/anta_tests/test_system.py
Normal file
283
tests/units/anta_tests/test_system.py
Normal file
|
@ -0,0 +1,283 @@
|
|||
# Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
# Use of this source code is governed by the Apache License 2.0
|
||||
# that can be found in the LICENSE file.
|
||||
"""Test inputs for anta.tests.system"""
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import Any
|
||||
|
||||
from anta.tests.system import (
|
||||
VerifyAgentLogs,
|
||||
VerifyCoredump,
|
||||
VerifyCPUUtilization,
|
||||
VerifyFileSystemUtilization,
|
||||
VerifyMemoryUtilization,
|
||||
VerifyNTP,
|
||||
VerifyReloadCause,
|
||||
VerifyUptime,
|
||||
)
|
||||
from tests.lib.anta import test # noqa: F401; pylint: disable=W0611
|
||||
|
||||
DATA: list[dict[str, Any]] = [
|
||||
{
|
||||
"name": "success",
|
||||
"test": VerifyUptime,
|
||||
"eos_data": [{"upTime": 1186689.15, "loadAvg": [0.13, 0.12, 0.09], "users": 1, "currentTime": 1683186659.139859}],
|
||||
"inputs": {"minimum": 666},
|
||||
"expected": {"result": "success"},
|
||||
},
|
||||
{
|
||||
"name": "failure",
|
||||
"test": VerifyUptime,
|
||||
"eos_data": [{"upTime": 665.15, "loadAvg": [0.13, 0.12, 0.09], "users": 1, "currentTime": 1683186659.139859}],
|
||||
"inputs": {"minimum": 666},
|
||||
"expected": {"result": "failure", "messages": ["Device uptime is 665.15 seconds"]},
|
||||
},
|
||||
{
|
||||
"name": "success-no-reload",
|
||||
"test": VerifyReloadCause,
|
||||
"eos_data": [{"kernelCrashData": [], "resetCauses": [], "full": False}],
|
||||
"inputs": None,
|
||||
"expected": {"result": "success"},
|
||||
},
|
||||
{
|
||||
"name": "success-valid-cause",
|
||||
"test": VerifyReloadCause,
|
||||
"eos_data": [
|
||||
{
|
||||
"resetCauses": [
|
||||
{"recommendedAction": "No action necessary.", "description": "Reload requested by the user.", "timestamp": 1683186892.0, "debugInfoIsDir": False}
|
||||
],
|
||||
"full": False,
|
||||
}
|
||||
],
|
||||
"inputs": None,
|
||||
"expected": {"result": "success"},
|
||||
},
|
||||
{
|
||||
"name": "failure",
|
||||
"test": VerifyReloadCause,
|
||||
# The failure cause is made up
|
||||
"eos_data": [
|
||||
{
|
||||
"resetCauses": [
|
||||
{"recommendedAction": "No action necessary.", "description": "Reload after crash.", "timestamp": 1683186892.0, "debugInfoIsDir": False}
|
||||
],
|
||||
"full": False,
|
||||
}
|
||||
],
|
||||
"inputs": None,
|
||||
"expected": {"result": "failure", "messages": ["Reload cause is: 'Reload after crash.'"]},
|
||||
},
|
||||
{
|
||||
"name": "error",
|
||||
"test": VerifyReloadCause,
|
||||
"eos_data": [{}],
|
||||
"inputs": None,
|
||||
"expected": {"result": "error", "messages": ["No reload causes available"]},
|
||||
},
|
||||
{
|
||||
"name": "success-without-minidump",
|
||||
"test": VerifyCoredump,
|
||||
"eos_data": [{"mode": "compressedDeferred", "coreFiles": []}],
|
||||
"inputs": None,
|
||||
"expected": {"result": "success"},
|
||||
},
|
||||
{
|
||||
"name": "success-with-minidump",
|
||||
"test": VerifyCoredump,
|
||||
"eos_data": [{"mode": "compressedDeferred", "coreFiles": ["minidump"]}],
|
||||
"inputs": None,
|
||||
"expected": {"result": "success"},
|
||||
},
|
||||
{
|
||||
"name": "failure-without-minidump",
|
||||
"test": VerifyCoredump,
|
||||
"eos_data": [{"mode": "compressedDeferred", "coreFiles": ["core.2344.1584483862.Mlag.gz", "core.23101.1584483867.Mlag.gz"]}],
|
||||
"inputs": None,
|
||||
"expected": {"result": "failure", "messages": ["Core dump(s) have been found: ['core.2344.1584483862.Mlag.gz', 'core.23101.1584483867.Mlag.gz']"]},
|
||||
},
|
||||
{
|
||||
"name": "failure-with-minidump",
|
||||
"test": VerifyCoredump,
|
||||
"eos_data": [{"mode": "compressedDeferred", "coreFiles": ["minidump", "core.2344.1584483862.Mlag.gz", "core.23101.1584483867.Mlag.gz"]}],
|
||||
"inputs": None,
|
||||
"expected": {"result": "failure", "messages": ["Core dump(s) have been found: ['core.2344.1584483862.Mlag.gz', 'core.23101.1584483867.Mlag.gz']"]},
|
||||
},
|
||||
{
|
||||
"name": "success",
|
||||
"test": VerifyAgentLogs,
|
||||
"eos_data": [""],
|
||||
"inputs": None,
|
||||
"expected": {"result": "success"},
|
||||
},
|
||||
{
|
||||
"name": "failure",
|
||||
"test": VerifyAgentLogs,
|
||||
"eos_data": [
|
||||
"""===> /var/log/agents/Test-666 Thu May 4 09:57:02 2023 <===
|
||||
CLI Exception: Exception
|
||||
CLI Exception: Backtrace
|
||||
===> /var/log/agents/Aaa-855 Fri Jul 7 15:07:00 2023 <===
|
||||
===== Output from /usr/bin/Aaa [] (PID=855) started Jul 7 15:06:11.606414 ===
|
||||
EntityManager::doBackoff waiting for remote sysdb version ....ok
|
||||
|
||||
===> /var/log/agents/Acl-830 Fri Jul 7 15:07:00 2023 <===
|
||||
===== Output from /usr/bin/Acl [] (PID=830) started Jul 7 15:06:10.871700 ===
|
||||
EntityManager::doBackoff waiting for remote sysdb version ...................ok
|
||||
"""
|
||||
],
|
||||
"inputs": None,
|
||||
"expected": {
|
||||
"result": "failure",
|
||||
"messages": [
|
||||
"Device has reported agent crashes:\n"
|
||||
" * /var/log/agents/Test-666 Thu May 4 09:57:02 2023\n"
|
||||
" * /var/log/agents/Aaa-855 Fri Jul 7 15:07:00 2023\n"
|
||||
" * /var/log/agents/Acl-830 Fri Jul 7 15:07:00 2023",
|
||||
],
|
||||
},
|
||||
},
|
||||
{
|
||||
"name": "success",
|
||||
"test": VerifyCPUUtilization,
|
||||
"eos_data": [
|
||||
{
|
||||
"cpuInfo": {"%Cpu(s)": {"idle": 88.2, "stolen": 0.0, "user": 5.9, "swIrq": 0.0, "ioWait": 0.0, "system": 0.0, "hwIrq": 5.9, "nice": 0.0}},
|
||||
"processes": {
|
||||
"1": {
|
||||
"userName": "root",
|
||||
"status": "S",
|
||||
"memPct": 0.3,
|
||||
"niceValue": 0,
|
||||
"cpuPct": 0.0,
|
||||
"cpuPctType": "{:.1f}",
|
||||
"cmd": "systemd",
|
||||
"residentMem": "5096",
|
||||
"priority": "20",
|
||||
"activeTime": 360,
|
||||
"virtMem": "6644",
|
||||
"sharedMem": "3996",
|
||||
}
|
||||
},
|
||||
}
|
||||
],
|
||||
"inputs": None,
|
||||
"expected": {"result": "success"},
|
||||
},
|
||||
{
|
||||
"name": "failure",
|
||||
"test": VerifyCPUUtilization,
|
||||
"eos_data": [
|
||||
{
|
||||
"cpuInfo": {"%Cpu(s)": {"idle": 24.8, "stolen": 0.0, "user": 5.9, "swIrq": 0.0, "ioWait": 0.0, "system": 0.0, "hwIrq": 5.9, "nice": 0.0}},
|
||||
"processes": {
|
||||
"1": {
|
||||
"userName": "root",
|
||||
"status": "S",
|
||||
"memPct": 0.3,
|
||||
"niceValue": 0,
|
||||
"cpuPct": 0.0,
|
||||
"cpuPctType": "{:.1f}",
|
||||
"cmd": "systemd",
|
||||
"residentMem": "5096",
|
||||
"priority": "20",
|
||||
"activeTime": 360,
|
||||
"virtMem": "6644",
|
||||
"sharedMem": "3996",
|
||||
}
|
||||
},
|
||||
}
|
||||
],
|
||||
"inputs": None,
|
||||
"expected": {"result": "failure", "messages": ["Device has reported a high CPU utilization: 75.2%"]},
|
||||
},
|
||||
{
|
||||
"name": "success",
|
||||
"test": VerifyMemoryUtilization,
|
||||
"eos_data": [
|
||||
{
|
||||
"uptime": 1994.67,
|
||||
"modelName": "vEOS-lab",
|
||||
"internalVersion": "4.27.3F-26379303.4273F",
|
||||
"memTotal": 2004568,
|
||||
"memFree": 879004,
|
||||
"version": "4.27.3F",
|
||||
}
|
||||
],
|
||||
"inputs": None,
|
||||
"expected": {"result": "success"},
|
||||
},
|
||||
{
|
||||
"name": "failure",
|
||||
"test": VerifyMemoryUtilization,
|
||||
"eos_data": [
|
||||
{
|
||||
"uptime": 1994.67,
|
||||
"modelName": "vEOS-lab",
|
||||
"internalVersion": "4.27.3F-26379303.4273F",
|
||||
"memTotal": 2004568,
|
||||
"memFree": 89004,
|
||||
"version": "4.27.3F",
|
||||
}
|
||||
],
|
||||
"inputs": None,
|
||||
"expected": {"result": "failure", "messages": ["Device has reported a high memory usage: 95.56%"]},
|
||||
},
|
||||
{
|
||||
"name": "success",
|
||||
"test": VerifyFileSystemUtilization,
|
||||
"eos_data": [
|
||||
"""Filesystem Size Used Avail Use% Mounted on
|
||||
/dev/sda2 3.9G 988M 2.9G 26% /mnt/flash
|
||||
none 294M 78M 217M 27% /
|
||||
none 294M 78M 217M 27% /.overlay
|
||||
/dev/loop0 461M 461M 0 100% /rootfs-i386
|
||||
"""
|
||||
],
|
||||
"inputs": None,
|
||||
"expected": {"result": "success"},
|
||||
},
|
||||
{
|
||||
"name": "failure",
|
||||
"test": VerifyFileSystemUtilization,
|
||||
"eos_data": [
|
||||
"""Filesystem Size Used Avail Use% Mounted on
|
||||
/dev/sda2 3.9G 988M 2.9G 84% /mnt/flash
|
||||
none 294M 78M 217M 27% /
|
||||
none 294M 78M 217M 84% /.overlay
|
||||
/dev/loop0 461M 461M 0 100% /rootfs-i386
|
||||
"""
|
||||
],
|
||||
"inputs": None,
|
||||
"expected": {
|
||||
"result": "failure",
|
||||
"messages": [
|
||||
"Mount point /dev/sda2 3.9G 988M 2.9G 84% /mnt/flash is higher than 75%: reported 84%",
|
||||
"Mount point none 294M 78M 217M 84% /.overlay is higher than 75%: reported 84%",
|
||||
],
|
||||
},
|
||||
},
|
||||
{
|
||||
"name": "success",
|
||||
"test": VerifyNTP,
|
||||
"eos_data": [
|
||||
"""synchronised
|
||||
poll interval unknown
|
||||
"""
|
||||
],
|
||||
"inputs": None,
|
||||
"expected": {"result": "success"},
|
||||
},
|
||||
{
|
||||
"name": "failure",
|
||||
"test": VerifyNTP,
|
||||
"eos_data": [
|
||||
"""unsynchronised
|
||||
poll interval unknown
|
||||
"""
|
||||
],
|
||||
"inputs": None,
|
||||
"expected": {"result": "failure", "messages": ["The device is not synchronized with the configured NTP server(s): 'unsynchronised'"]},
|
||||
},
|
||||
]
|
Loading…
Add table
Add a link
Reference in a new issue