tools: stop using global conf
Change-Id: I321a957fc28129c2147d5893bbeaa5afe63daa39
This commit is contained in:
parent
e21f4e735b
commit
627ae0514c
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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))
|
||||||
|
|
Loading…
Reference in New Issue