#!/usr/bin/env python3 import sys errors=[] HAS_LIB=True try: from pylxd import api except: HAS_LIB=False errors.append("no pylxd module") c=None HAS_ACCESS=True try: c=api.API() c.container_list() except: HAS_ACCESS=False errors.append("no socket access") if len(sys.argv) == 2 and sys.argv[1]=="autoconf": if HAS_LIB and HAS_ACCESS: print("yes") else: print("no ("+" and ".join(errors)+")") sys.exit(0) if not (HAS_LIB and HAS_ACCESS): # pylxd not installed or lxd socket not accessible sys.exit(1) if len(sys.argv) == 2 and sys.argv[1]=="config": print("graph_title LXD container memory") print("graph_args --base 1024 --lower-limit 0") print("graph_vlabel Bytes") print("graph_category virtualization") print("graph_info This shows the memory usage of each container. Make sure to install pylxd in python3.") for name in c.container_list(): print(name+".label "+name) print(name+".draw AREASTACK") sys.exit(0) for name in c.container_list(): print(name+".value "+str(c.container_info(name)['memory']['usage']))