def __init__(self, namespace, default_discovery=None): super(AgentManager, self).__init__() default_discovery = default_discovery or [] self.default_discovery = default_discovery self.pollster_manager = self._extensions('poll', namespace) self.discovery_manager = self._extensions('discover') self.context = context.RequestContext('admin', 'admin', is_admin=True)
def test_notification_service(self, fake_publisher_cls): self.srv.start() fake_publisher = fake_publisher_cls.return_value fake_publisher.publish_samples.side_effect = \ lambda *args: self.srv.stop() notifier = messaging.get_notifier("compute.vagrant-precise") notifier.info(context.RequestContext(), 'compute.instance.create.end', TEST_NOTICE_PAYLOAD) self.srv.listeners[0].wait() class SamplesMatcher(object): def __eq__(self, samples): for s in samples: if s.resource_id != "9f9d01b9-4a58-4271-9e27-398b21ab20d1": return False return True fake_publisher.publish_samples.assert_has_calls([ mock.call(mock.ANY, SamplesMatcher()), mock.call(mock.ANY, SamplesMatcher()), mock.call(mock.ANY, SamplesMatcher()), mock.call(mock.ANY, SamplesMatcher()), mock.call(mock.ANY, SamplesMatcher()), ])
def __init__(self, extension_manager): self.pipeline_manager = pipeline.setup_pipeline( transformer.TransformerExtensionManager( 'ceilometer.transformer', ), ) self.pollster_manager = extension_manager self.context = context.RequestContext('admin', 'admin', is_admin=True)
def __init__(self, namespace, default_discovery=None, group_prefix=None): super(AgentManager, self).__init__() default_discovery = default_discovery or [] self.default_discovery = default_discovery self.pollster_manager = self._extensions('poll', namespace) self.discovery_manager = self._extensions('discover') self.context = context.RequestContext('admin', 'admin', is_admin=True) self.partition_coordinator = coordination.PartitionCoordinator() self.group_prefix = ('%s-%s' % (namespace, group_prefix) if group_prefix else namespace)
def test_collector_no_mock(self, mylog): self.CONF.set_override('udp_address', '', group='collector') self.srv.start() mylog.info.side_effect = lambda *args: self.srv.stop() client = messaging.get_rpc_client(self.transport, version='1.0') cclient = client.prepare(topic='metering') cclient.cast(context.RequestContext(), 'record_metering_data', data=[self.utf8_msg]) self.srv.rpc_server.wait() mylog.info.assert_called_once_with( 'metering data test for test_run_tasks: 1')
def _check_notification_service(self): self.srv.start() notifier = messaging.get_notifier(self.transport, "compute.vagrant-precise") notifier.info(context.RequestContext(), 'compute.instance.create.end', TEST_NOTICE_PAYLOAD) start = timeutils.utcnow() while timeutils.delta_seconds(start, timeutils.utcnow()) < 600: if len(self.publisher.samples) >= self.expected_samples: break eventlet.sleep(0) self.srv.stop() resources = list(set(s.resource_id for s in self.publisher.samples)) self.assertEqual(self.expected_samples, len(self.publisher.samples)) self.assertEqual(["9f9d01b9-4a58-4271-9e27-398b21ab20d1"], resources)
def test_published_no_mock(self): publisher = rpc.RPCPublisher(network_utils.urlsplit('rpc://')) endpoint = mock.MagicMock(['record_metering_data']) collector = messaging.get_rpc_server( self.transport, self.CONF.publisher_rpc.metering_topic, endpoint) endpoint.record_metering_data.side_effect = ( lambda *args, **kwds: collector.stop()) collector.start() eventlet.sleep() publisher.publish_samples(context.RequestContext(), self.test_data) collector.wait() class Matcher(object): @staticmethod def __eq__(data): for i, sample_item in enumerate(data): if sample_item['counter_name'] != self.test_data[i].name: return False return True endpoint.record_metering_data.assert_called_once_with(mock.ANY, data=Matcher())
def __init__(self, namespaces, pollster_list, group_prefix=None): super(AgentManager, self).__init__() def _match(pollster): """Find out if pollster name matches to one of the list.""" return any(fnmatch.fnmatch(pollster.name, pattern) for pattern in pollster_list) # features of using coordination and pollster-list are exclusive, and # cannot be used at one moment to avoid both samples duplication and # samples being lost if pollster_list and cfg.CONF.coordination.backend_url: raise PollsterListForbidden() if type(namespaces) is not list: namespaces = [namespaces] # we'll have default ['compute', 'central'] here if no namespaces will # be passed extensions = (self._extensions('poll', namespace).extensions for namespace in namespaces) if pollster_list: extensions = (itertools.ifilter(_match, exts) for exts in extensions) self.extensions = list(itertools.chain(*list(extensions))) self.discovery_manager = self._extensions('discover') self.context = context.RequestContext('admin', 'admin', is_admin=True) self.partition_coordinator = coordination.PartitionCoordinator() # Compose coordination group prefix. # We'll use namespaces as the basement for this partitioning. namespace_prefix = '-'.join(sorted(namespaces)) self.group_prefix = ('%s-%s' % (namespace_prefix, group_prefix) if group_prefix else namespace_prefix)
def start(self): super(PeriodicService, self).start() admin_context = context.RequestContext('admin', 'admin', is_admin=True) self.tg.add_timer(cfg.CONF.periodic_interval, self.manager.periodic_tasks, context=admin_context)
def deserialize_context(ctxt): return context.RequestContext(ctxt)
def setUp(self): super(TestImagePollster, self).setUp() self.context = context.RequestContext('admin', 'admin', is_admin=True) self.manager = manager.AgentManager() self.stubs.Set(glance._Base, 'iter_images', self.fake_glance_iter_images)
def __init__(self, extension_manager): self.pollster_manager = extension_manager self.context = context.RequestContext('admin', 'admin', is_admin=True)
def __init__(self, extension_manager): super(AgentManager, self).__init__() self.pollster_manager = extension_manager self.context = context.RequestContext('admin', 'admin', is_admin=True)