#!/usr/bin/env python3 from collections import Counter import json import shlex import subprocess import sys buckets = [] bucket_count = {} containers = {} exit = 0 base_message = "OK: no duplicate mounts" perf_data = "" get_containers = subprocess.Popen('/usr/local/bin/get_containers', stdout=subprocess.PIPE).stdout.read() containers = get_containers.decode().splitlines() for container in containers: list_command = f"/usr/local/bin/nocc {container} files_external:list --all --show-password --output json" command = shlex.split(list_command) mount_data_byte = subprocess.Popen(command, stdout=subprocess.PIPE).stdout.read() mount_data = json.loads(mount_data_byte.decode()) for items in mount_data: buckets.append(items["configuration"]["bucket"]) bucket_count = dict(Counter(buckets)) for k, v in bucket_count.items(): if v > 1: base_message = "WARNING: buckets with multiple mounts |" perf_data += f" {k}={v}" # lets do exit 0 for now # exit = 1 print(base_message + perf_data) sys.exit(exit)