def main(): etcd_client = etcd3.client() versions = {} for node in db.get_nodes(): versions.setdefault(node.get('version', 'unknown'), 0) versions[node.get('version', 'unknown')] += 1 print('Deployed versions:') for version in sorted(versions): print(' - %s: %s' % (version, versions[version])) print() min_version = None if 'unknown' in versions: min_version = '0.2' else: min_version = sorted(versions)[0] print('Minimum version is %s' % min_version) elems = min_version.split('.') major = int(elems[0]) minor = int(elems[1]) if major == 0: if minor == 2: clean_events_mesh_operations(etcd_client)
def refresh_metrics(self): metrics = {} for node in db.get_nodes(): node_name = node['fqdn'] try: metrics[node_name] = db.get_metrics(node_name) except etcd.ReadException: pass self.metrics = metrics self.metrics_updated = time.time()
def get(self): return list(db.get_nodes())