def __init__(self, tenant_manager, time=None, period_length='day'): if time is None: time = datetime.datetime.utcnow() self.start, self.end = usage_audit.get_previous_period( time, period_length) self.tenant_manager = tenant_manager self.flavor_cache = dict() self.clear()
args = parser.parse_args() if args.ums and args.period_length != 'day': print "UMS query can only be used with period_length of 'day'." sys.exit(0) stacklog.set_default_logger_name('nova_usage_audit') parent_logger = stacklog.get_logger('nova_usage_audit', is_parent=True) log_listener = stacklog.LogListener(parent_logger) log_listener.start() if args.reconcile: with open(args.reconciler_config) as f: reconciler_config = json.load(f) reconciler = Reconciler(reconciler_config) if args.utcdatetime is not None: time = args.utcdatetime else: time = datetime.datetime.utcnow() start, end = usage_audit.get_previous_period(time, args.period_length) summary, details = audit_for_period(start, end, ums=args.ums, ums_offset=args.ums_offset) if not args.store: print make_json_report(summary, details) else: store_results(start, end, summary, details)