diff --git a/agent_based/checkpoint_vsx_system.py b/agent_based/checkpoint_vsx_system.py index 92386e54dedfe7f3e5aa9672e461128711221dfd..0ae62e0f660907906aea93f8d0f9dfdf8a47aec5 100644 --- a/agent_based/checkpoint_vsx_system.py +++ b/agent_based/checkpoint_vsx_system.py @@ -87,7 +87,7 @@ # } # -import re +import ipaddress import time from dataclasses import dataclass from typing import List, Dict, Optional, Tuple @@ -189,12 +189,13 @@ def check_checkpoint_vsx_system(item, params, section: Dict[str, CheckpointVsx]) yield Result(state=State(params['state_sic_not_established']), notice='SIC not established') if vsx.vsxStatusVsType.lower() in ['virtual system', 'vsx gateway']: - ipv4 = re.compile('^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}') yield Result(state=State.OK, notice=f'System name: {item}') - if ipv4.match(vsx.vsxStatusMainIP): + try: + ipaddress.ip_address(vsx.vsxStatusMainIP) yield Result(state=State.OK, summary=f'Main IP: {vsx.vsxStatusMainIP}') - else: + except ValueError: yield Result(state=State.OK, notice=f'Main IP: {vsx.vsxStatusMainIP}') + yield Result(state=State.OK, summary=f'VS ID: {vsx.vsxStatusVSId}', details=f'Virtual system ID: {vsx.vsxStatusVSId}') yield Result(state=State.OK, notice=f'System type: {vsx.vsxStatusVsType}') diff --git a/checkpoint_vsx_system.mkp b/checkpoint_vsx_system.mkp index 881a9b058643bae572bc85d3bf418bb0e53d52cf..0ff7802844a357434be58fbf2dd9f32fe56a1629 100644 Binary files a/checkpoint_vsx_system.mkp and b/checkpoint_vsx_system.mkp differ