Exemplo n.º 1
0
 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()
Exemplo n.º 2
0
    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)