tools: stop using global conf

Change-Id: I321a957fc28129c2147d5893bbeaa5afe63daa39
This commit is contained in:
Mehdi Abaakouk 2016-10-17 12:50:16 +02:00
parent e21f4e735b
commit 627ae0514c
2 changed files with 17 additions and 17 deletions

View File

@ -29,15 +29,15 @@ import datetime
import random import random
import uuid import uuid
from oslo_config import cfg
from oslo_utils import timeutils from oslo_utils import timeutils
from ceilometer.publisher import utils from ceilometer.publisher import utils
from ceilometer import sample from ceilometer import sample
from ceilometer import service
from ceilometer import storage from ceilometer import storage
def make_test_data(name, meter_type, unit, volume, random_min, def make_test_data(conf, name, meter_type, unit, volume, random_min,
random_max, user_id, project_id, resource_id, start, random_max, user_id, project_id, resource_id, start,
end, interval, resource_metadata=None, source='artificial'): end, interval, resource_metadata=None, source='artificial'):
resource_metadata = resource_metadata or {'display_name': 'toto', resource_metadata = resource_metadata or {'display_name': 'toto',
@ -82,7 +82,7 @@ def make_test_data(name, meter_type, unit, volume, random_min,
source=source, source=source,
) )
data = utils.meter_message_from_counter( data = utils.meter_message_from_counter(
c, cfg.CONF.publisher.telemetry_secret) c, conf.publisher.telemetry_secret)
# timestamp should be string when calculating signature, but should be # timestamp should be string when calculating signature, but should be
# datetime object when calling record_metering_data. # datetime object when calling record_metering_data.
data['timestamp'] = timestamp data['timestamp'] = timestamp
@ -99,8 +99,8 @@ def make_test_data(name, meter_type, unit, volume, random_min,
print('Added %d new samples for meter %s.' % (n, name)) print('Added %d new samples for meter %s.' % (n, name))
def record_test_data(conn, *args, **kwargs): def record_test_data(conf, conn, *args, **kwargs):
for data in make_test_data(*args, **kwargs): for data in make_test_data(conf, *args, **kwargs):
conn.record_metering_data(data) conn.record_metering_data(data)
@ -183,12 +183,12 @@ def get_parser():
def main(): def main():
cfg.CONF([], project='ceilometer')
args = get_parser().parse_args() args = get_parser().parse_args()
conf = service.prepare_service([])
# Connect to the metering database # Connect to the metering database
conn = storage.get_connection_from_config(cfg.CONF) conn = storage.get_connection_from_config(conf)
# Find the user and/or project for a real resource # Find the user and/or project for a real resource
if not (args.user_id or args.project_id): if not (args.user_id or args.project_id):
@ -220,7 +220,7 @@ def main():
raise raise
args.start = start args.start = start
args.end = end args.end = end
record_test_data(conn=conn, **args.__dict__) record_test_data(conf, conn=conn, **args.__dict__)
return 0 return 0

View File

@ -29,7 +29,6 @@ import random
import uuid import uuid
import make_test_data import make_test_data
from oslo_config import cfg
import oslo_messaging import oslo_messaging
from six import moves from six import moves
@ -42,8 +41,7 @@ def send_batch_notifier(notifier, topic, batch):
notifier.sample({}, event_type=topic, payload=batch) notifier.sample({}, event_type=topic, payload=batch)
def get_notifier(config_file): def get_notifier(conf):
conf = service.prepare_service(argv=['/', '--config-file', config_file])
return oslo_messaging.Notifier( return oslo_messaging.Notifier(
messaging.get_transport(conf), messaging.get_transport(conf),
driver='messagingv2', driver='messagingv2',
@ -52,7 +50,7 @@ def get_notifier(config_file):
) )
def generate_data(send_batch, make_data_args, samples_count, def generate_data(conf, send_batch, make_data_args, samples_count,
batch_size, resources_count, topic): batch_size, resources_count, topic):
make_data_args.interval = 1 make_data_args.interval = 1
make_data_args.start = (datetime.datetime.utcnow() - make_data_args.start = (datetime.datetime.utcnow() -
@ -65,7 +63,8 @@ def generate_data(send_batch, make_data_args, samples_count,
resource_samples = {resource: 0 for resource in resources_list} resource_samples = {resource: 0 for resource in resources_list}
batch = [] batch = []
count = 0 count = 0
for sample in make_test_data.make_test_data(**make_data_args.__dict__): for sample in make_test_data.make_test_data(conf,
**make_data_args.__dict__):
count += 1 count += 1
resource = resources_list[random.randint(0, len(resources_list) - 1)] resource = resources_list[random.randint(0, len(resources_list) - 1)]
resource_samples[resource] += 1 resource_samples[resource] += 1
@ -76,7 +75,7 @@ def generate_data(send_batch, make_data_args, samples_count,
sample['timestamp'] = sample['timestamp'].isoformat() sample['timestamp'] = sample['timestamp'].isoformat()
# need to recalculate signature because of the resource_id change # need to recalculate signature because of the resource_id change
sig = utils.compute_signature(sample, sig = utils.compute_signature(sample,
cfg.CONF.publisher.telemetry_secret) conf.publisher.telemetry_secret)
sample['message_signature'] = sig sample['message_signature'] = sig
batch.append(sample) batch.append(sample)
if len(batch) == batch_size: if len(batch) == batch_size:
@ -129,14 +128,15 @@ def get_parser():
def main(): def main():
args = get_parser().parse_known_args()[0] args = get_parser().parse_known_args()[0]
make_data_args = make_test_data.get_parser().parse_known_args()[0] make_data_args = make_test_data.get_parser().parse_known_args()[0]
notifier = get_notifier(args.config_file) conf = service.prepare_service(argv=['/', '--config-file',
args.config_file])
notifier = get_notifier(conf)
send_batch = functools.partial(send_batch_notifier, notifier) send_batch = functools.partial(send_batch_notifier, notifier)
result_dir = args.result_dir result_dir = args.result_dir
del args.notify
del args.config_file del args.config_file
del args.result_dir del args.result_dir
resource_writes = generate_data(send_batch, make_data_args, resource_writes = generate_data(conf, send_batch, make_data_args,
**args.__dict__) **args.__dict__)
result_file = "%s/sample-by-resource-%s" % (result_dir, result_file = "%s/sample-by-resource-%s" % (result_dir,
random.getrandbits(32)) random.getrandbits(32))