def get_user_info(self, infra_id): infobroker = ib.main_info_broker state = infobroker.get('infrastructure.state', infra_id) get_address = lambda inst: infobroker.get('node.resource.address', inst) instance_infos = lambda instances: dict_map(instances, get_address) userinfo = dict_map(state, instance_infos) return userinfo
def get_user_info(self, infra_id): infobroker = ib.main_info_broker state = infobroker.get('infrastructure.state', infra_id) def singlenra(inst): nra = infobroker.get('node.resource.address', inst) return nra[0] if isinstance(nra,list) else nra get_address = lambda inst: singlenra(inst) instance_infos = lambda instances: dict_map(instances, get_address) userinfo = dict_map(state, instance_infos) return userinfo
def infra_state_report(self, infra_id): log.debug('Acquiring detailed infrastructure status report') dynamic_state = \ ib.main_info_broker.get('infrastructure.state', infra_id) details = util.dict_map(dynamic_state, self._get_instance_reports) ready = all(i['ready'] for j in details.values() for i in j.values()) return dict(details=details, ready=ready)
def infra_state_report(self, infra_id): log.debug('Acquiring detailed infrastructure status report') dynamic_state = \ ib.main_info_broker.get('infrastructure.state', infra_id) details = util.dict_map(dynamic_state, self._get_instance_reports) ready = all(i['ready'] for j in details.itervalues() for i in j.itervalues()) return dict(details=details, ready=ready)
def _get_instance_reports(self, instances): return util.dict_map(instances, self.node_state_report)