#!/usr/libexec/platform-python # version 0.1, 2013/10/16 # writen by Eduard N. # Modify by Ihor Bilyi, Phantom team, 07/2022 import os import re from subprocess import Popen, PIPE # State Nagios STATE_OK = 0 STATE_WARNING = 1 STATE_CRITICAL = 2 STATE_UNKNOWN = 3 cldetect = '/usr/bin/cldetect' ok_pattern = re.compile(r"^OK$") invalid_pattern = re.compile(r"^No valid license found$") if os.path.isfile(cldetect): result, err = Popen([cldetect, '--check-license'], stdout=PIPE).communicate() result = result.decode('utf-8') if ok_pattern.search(result): print("CL license OK") exit(STATE_OK) elif invalid_pattern.search(result): print("Critical. No CL license found") exit(STATE_CRITICAL) else: print(result) print(err.decode('utf-8')) exit(STATE_UNKNOWN) else: print("OK. Binary file cldetect not found -> no CL on host, CL license not needed") exit(STATE_OK)