Example #1
0
    def setUp(self):
        super(BinApiTestCase, self).setUp()
        # create api_paste.ini file without authentication
        content = (
            "[pipeline:main]\n"
            "pipeline = api-server\n"
            "[app:api-server]\n"
            "paste.app_factory = ceilometer.api.app:app_factory\n"
        )
        self.paste = fileutils.write_to_tempfile(content=content, prefix="api_paste", suffix=".ini")

        # create ceilometer.conf file
        self.api_port = random.randint(10000, 11000)
        self.http = httplib2.Http()
        pipeline_cfg_file = self.path_get("etc/ceilometer/pipeline.yaml")
        policy_file = self.path_get("etc/ceilometer/policy.json")
        content = (
            "[DEFAULT]\n"
            "rpc_backend=fake\n"
            "auth_strategy=noauth\n"
            "debug=true\n"
            "pipeline_cfg_file={0}\n"
            "policy_file={1}\n"
            "api_paste_config={2}\n"
            "[api]\n"
            "port={3}\n"
            "[database]\n"
            "connection=log://localhost\n".format(pipeline_cfg_file, policy_file, self.paste, self.api_port)
        )

        self.tempfile = fileutils.write_to_tempfile(content=content, prefix="ceilometer", suffix=".conf")
        self.subp = subprocess.Popen(["ceilometer-api", "--config-file=%s" % self.tempfile])
    def setUp(self):
        super(BaseRealNotification, self).setUp()
        self.CONF = self.useFixture(fixture_config.Config()).conf
        self.setup_messaging(self.CONF, "nova")

        pipeline = yaml.dump(
            [
                {
                    "name": "test_pipeline",
                    "interval": 5,
                    "counters": ["instance", "memory"],
                    "transformers": [],
                    "publishers": ["test://"],
                }
            ]
        )
        self.expected_samples = 2
        pipeline_cfg_file = fileutils.write_to_tempfile(content=pipeline, prefix="pipeline", suffix="yaml")
        self.CONF.set_override("pipeline_cfg_file", pipeline_cfg_file)

        self.CONF.set_override("store_events", True, group="notification")
        ev_pipeline = yaml.dump(
            {
                "sources": [{"name": "test_event", "events": "*", "sinks": ["test_sink"]}],
                "sinks": [{"name": "test_sink", "publishers": ["test://"]}],
            }
        )
        self.expected_events = 1
        ev_pipeline_cfg_file = fileutils.write_to_tempfile(content=ev_pipeline, prefix="event_pipeline", suffix="yaml")
        self.CONF.set_override("event_pipeline_cfg_file", ev_pipeline_cfg_file)
        self.CONF.set_override(
            "definitions_cfg_file", self.path_get("etc/ceilometer/event_definitions.yaml"), group="event"
        )
        self.publisher = test_publisher.TestPublisher("")
Example #3
0
 def setUp(self):
     super(BinTestCase, self).setUp()
     content = "[database]\n"\
               "connection=log://localhost\n"
     self.tempfile = fileutils.write_to_tempfile(content=content,
                                                 prefix='ceilometer',
                                                 suffix='.conf')
    def setUp(self):
        super(TestRealNotification, self).setUp()
        self.CONF = self.useFixture(config.Config()).conf
        self.useFixture(oslo.messaging.conffixture.ConfFixture(self.CONF))

        pipeline = yaml.dump([{
            'name': 'test_pipeline',
            'interval': 5,
            'counters': ['instance', 'memory'],
            'transformers': [],
            'publishers': ['test://'],
        }])

        self.expected_samples = 2
        self.sem = eventlet.semaphore.Semaphore(0)

        pipeline_cfg_file = fileutils.write_to_tempfile(content=pipeline,
                                                        prefix="pipeline",
                                                        suffix="yaml")
        self.CONF.set_override("pipeline_cfg_file", pipeline_cfg_file)
        self.CONF.set_override("notification_driver", "messaging")
        self.CONF.set_override("control_exchange", "nova")
        messaging.setup('fake://')
        self.addCleanup(messaging.cleanup)

        self.srv = notification.NotificationService()
Example #5
0
    def setUp(self):
        super(BaseRealNotification, self).setUp()
        self.CONF = self.useFixture(fixture_config.Config()).conf
        self.setup_messaging(self.CONF, 'nova')

        pipeline = yaml.dump([{
            'name': 'test_pipeline',
            'interval': 5,
            'counters': ['instance', 'memory'],
            'transformers': [],
            'publishers': ['test://'],
        }])
        if six.PY3:
            pipeline = pipeline.encode('utf-8')
        self.expected_samples = 2
        pipeline_cfg_file = fileutils.write_to_tempfile(content=pipeline,
                                                        prefix="pipeline",
                                                        suffix="yaml")
        self.CONF.set_override("pipeline_cfg_file", pipeline_cfg_file)

        self.CONF.set_override("store_events", True, group="notification")
        self.CONF.set_override("disable_non_metric_meters", False,
                               group="notification")
        ev_pipeline = yaml.dump({
            'sources': [{
                'name': 'test_event',
                'events': ['compute.instance.*'],
                'sinks': ['test_sink']
            }],
            'sinks': [{
                'name': 'test_sink',
                'publishers': ['test://']
            }]
        })
        if six.PY3:
            ev_pipeline = ev_pipeline.encode('utf-8')
        self.expected_events = 1
        ev_pipeline_cfg_file = fileutils.write_to_tempfile(
            content=ev_pipeline, prefix="event_pipeline", suffix="yaml")
        self.CONF.set_override("event_pipeline_cfg_file", ev_pipeline_cfg_file)
        self.CONF.set_override(
            "definitions_cfg_file",
            self.path_get('etc/ceilometer/event_definitions.yaml'),
            group='event')
        self.publisher = test_publisher.TestPublisher("")
Example #6
0
    def setUp(self):
        super(BinSendSampleTestCase, self).setUp()
        pipeline_cfg_file = self.path_get('etc/ceilometer/pipeline.yaml')
        content = "[DEFAULT]\n"\
                  "rpc_backend=ceilometer.openstack.common.rpc.impl_fake\n"\
                  "pipeline_cfg_file={0}\n".format(pipeline_cfg_file)

        self.tempfile = fileutils.write_to_tempfile(
            content=content, prefix='ceilometer', suffix='.conf')
Example #7
0
 def setUp(self):
     super(BinTestCase, self).setUp()
     content = ("[DEFAULT]\n"
                "rpc_backend=fake\n"
                "[database]\n"
                "connection=log://localhost\n")
     self.tempfile = fileutils.write_to_tempfile(content=content,
                                                 prefix='ceilometer',
                                                 suffix='.conf')
Example #8
0
 def test_run_expirer_ttl_enabled(self):
     content = "[database]\n" "time_to_live=1\n" "connection=log://localhost\n"
     self.tempfile = fileutils.write_to_tempfile(content=content, prefix="ceilometer", suffix=".conf")
     subp = subprocess.Popen(
         ["ceilometer-expirer", "-d", "--config-file=%s" % self.tempfile], stderr=subprocess.PIPE
     )
     __, err = subp.communicate()
     self.assertEqual(subp.poll(), 0)
     self.assertIn("Dropping data with TTL 1", err)
Example #9
0
 def test_keystone_middleware_parse_conffile(self):
     content = "[{0}]\nauth_protocol = barttp"\
               "\nauth_version = v2.0".format(acl.OPT_GROUP_NAME)
     tmpfile = fileutils.write_to_tempfile(content=content,
                                           prefix='ceilometer',
                                           suffix='.conf')
     service.prepare_service(['ceilometer-api',
                              '--config-file=%s' % tmpfile])
     api_app = app.make_app(self.CONF, attach_storage=False)
     self.assertTrue(api_app.wsgi_app.auth_uri.startswith('barttp'))
     os.unlink(tmpfile)
Example #10
0
 def setUp(self):
     super(BinCeilometerPollingServiceTestCase, self).setUp()
     content = ("[DEFAULT]\n"
                "rpc_backend=fake\n"
                "[database]\n"
                "connection=log://localhost\n")
     if six.PY3:
         content = content.encode('utf-8')
     self.tempfile = fileutils.write_to_tempfile(content=content,
                                                 prefix='ceilometer',
                                                 suffix='.conf')
     self.subp = None
Example #11
0
    def setUp(self):
        super(BinSendSampleTestCase, self).setUp()
        pipeline_cfg_file = self.path_get('etc/ceilometer/pipeline.yaml')
        content = ("[DEFAULT]\n"
                   "rpc_backend=fake\n"
                   "pipeline_cfg_file={0}\n".format(pipeline_cfg_file))
        if six.PY3:
            content = content.encode('utf-8')

        self.tempfile = fileutils.write_to_tempfile(content=content,
                                                    prefix='ceilometer',
                                                    suffix='.conf')
Example #12
0
    def setUp(self):
        super(ServiceRestartTest, self).setUp()
        self.pipeline_cfg_file = fileutils.write_to_tempfile(content='',
                                                             prefix='pipeline',
                                                             suffix='.yaml')
        shutil.copy(self.path_get('etc/ceilometer/pipeline.yaml'),
                    self.pipeline_cfg_file)
        self.pipelinecfg_read_from_file()
        policy_file = self.path_get('etc/ceilometer/policy.json')
        content = "[DEFAULT]\n"\
                  "rpc_backend=ceilometer.openstack.common.rpc.impl_fake\n"\
                  "auth_strategy=noauth\n"\
                  "debug=true\n"\
                  "pipeline_cfg_file={0}\n"\
                  "policy_file={1}\n"\
                  "[database]\n"\
                  "connection=log://localhost\n".format(self.pipeline_cfg_file,
                                                        policy_file)

        self.tempfile = fileutils.write_to_tempfile(content=content,
                                                    prefix='ceilometer',
                                                    suffix='.conf')
Example #13
0
    def run_api(self, content, err_pipe=None):
        if six.PY3:
            content = content.encode('utf-8')

        self.tempfile = fileutils.write_to_tempfile(content=content,
                                                    prefix='ceilometer',
                                                    suffix='.conf')
        if err_pipe:
            return subprocess.Popen(['ceilometer-api',
                                    "--config-file=%s" % self.tempfile],
                                    stderr=subprocess.PIPE)
        else:
            return subprocess.Popen(['ceilometer-api',
                                    "--config-file=%s" % self.tempfile])
    def setUp(self):
        super(BinApiTestCase, self).setUp()
        # create api_paste.ini file without authentication
        content = ("[pipeline:main]\n"
                   "pipeline = api-server\n"
                   "[app:api-server]\n"
                   "paste.app_factory = ceilometer.api.app:app_factory\n")
        self.paste = fileutils.write_to_tempfile(content=content,
                                                 prefix='api_paste',
                                                 suffix='.ini')

        # create ceilometer.conf file
        self.api_port = random.randint(10000, 11000)
        self.http = httplib2.Http(proxy_info=None)
        self.pipeline_cfg_file = self.path_get('etc/ceilometer/pipeline.yaml')
        self.policy_file = self.path_get('etc/ceilometer/policy.json')
Example #15
0
 def test_run_expirer_ttl_enabled(self):
     content = ("[DEFAULT]\n"
                "rpc_backend=fake\n"
                "[database]\n"
                "time_to_live=1\n"
                "connection=log://localhost\n")
     self.tempfile = fileutils.write_to_tempfile(content=content,
                                                 prefix='ceilometer',
                                                 suffix='.conf')
     subp = subprocess.Popen(['ceilometer-expirer',
                              '-d',
                              "--config-file=%s" % self.tempfile],
                             stderr=subprocess.PIPE)
     __, err = subp.communicate()
     self.assertEqual(0, subp.poll())
     self.assertIn("Dropping data with TTL 1", err)
Example #16
0
    def test_keystone_middleware_parse_conffile(self):
        pipeline_conf = self.path_get("etc/ceilometer/pipeline.yaml")
        content = "[DEFAULT]\n"\
                  "pipeline_cfg_file = {0}\n"\
                  "[{1}]\n"\
                  "auth_protocol = barttp\n"\
                  "auth_version = v2.0\n".format(pipeline_conf,
                                                 acl.OPT_GROUP_NAME)

        tmpfile = fileutils.write_to_tempfile(content=content,
                                              prefix='ceilometer',
                                              suffix='.conf')
        service.prepare_service(['ceilometer-api',
                                 '--config-file=%s' % tmpfile])
        self.CONF.set_override('connection', "log://", group="database")
        api_app = app.setup_app()
        self.assertTrue(api_app.auth_uri.startswith('barttp'))
        os.unlink(tmpfile)
    def setUp(self):
        super(BaseRealNotification, self).setUp()
        self.CONF = self.useFixture(fixture_config.Config()).conf
        self.setup_messaging(self.CONF, 'nova')

        pipeline = yaml.dump([{
            'name': 'test_pipeline',
            'interval': 5,
            'counters': ['instance', 'memory'],
            'transformers': [],
            'publishers': ['test://'],
        }])

        self.expected_samples = 2

        pipeline_cfg_file = fileutils.write_to_tempfile(content=pipeline,
                                                        prefix="pipeline",
                                                        suffix="yaml")
        self.CONF.set_override("pipeline_cfg_file", pipeline_cfg_file)
        self.publisher = test_publisher.TestPublisher("")
Example #18
0
    def setUp(self):
        super(BinApiTestCase, self).setUp()
        self.api_port = random.randint(10000, 11000)
        self.http = httplib2.Http()
        pipeline_cfg_file = self.path_get("etc/ceilometer/pipeline.yaml")
        policy_file = self.path_get("etc/ceilometer/policy.json")
        content = (
            "[DEFAULT]\n"
            "rpc_backend=ceilometer.openstack.common.rpc.impl_fake\n"
            "auth_strategy=noauth\n"
            "debug=true\n"
            "pipeline_cfg_file={0}\n"
            "policy_file={1}\n"
            "[api]\n"
            "port={2}\n"
            "[database]\n"
            "connection=log://localhost\n".format(pipeline_cfg_file, policy_file, self.api_port)
        )

        self.tempfile = fileutils.write_to_tempfile(content=content, prefix="ceilometer", suffix=".conf")
        self.subp = subprocess.Popen(["ceilometer-api", "--config-file=%s" % self.tempfile])
Example #19
0
 def _test_run_expirer_ttl_enabled(self, ttl_name, data_name):
     content = ("[DEFAULT]\n"
                "rpc_backend=fake\n"
                "[database]\n"
                "%s=1\n"
                "connection=log://localhost\n" % ttl_name)
     if six.PY3:
         content = content.encode('utf-8')
     self.tempfile = fileutils.write_to_tempfile(content=content,
                                                 prefix='ceilometer',
                                                 suffix='.conf')
     subp = subprocess.Popen(['ceilometer-expirer',
                              '-d',
                              "--config-file=%s" % self.tempfile],
                             stderr=subprocess.PIPE)
     __, err = subp.communicate()
     self.assertEqual(0, subp.poll())
     msg = "Dropping %s data with TTL 1" % data_name
     if six.PY3:
         msg = msg.encode('utf-8')
     self.assertIn(msg, err)
Example #20
0
    def _do_test(self, driver, driver_class):
        pipeline_cfg_file = self.path_get('etc/ceilometer/pipeline.yaml')
        content = ("[DEFAULT]\n"
                   "rpc_backend=fake\n"
                   "pipeline_cfg_file={0}\n"
                   "debug=true\n"
                   "[database]\n"
                   "time_to_live=1\n"
                   "connection=log://localhost\n".format(pipeline_cfg_file))

        if driver:
            content += "[alarm]\nevaluation_service=%s\n" % driver

        self.tempfile = fileutils.write_to_tempfile(content=content,
                                                    prefix='ceilometer',
                                                    suffix='.conf')
        self.subp = subprocess.Popen(['ceilometer-alarm-evaluator',
                                      "--config-file=%s" % self.tempfile],
                                     stderr=subprocess.PIPE)
        err = self.subp.stderr.read(1024)
        self.assertIn("Alarm evaluator loaded: %s" % driver_class, err)
    def setUp(self):
        super(TestRealNotification, self).setUp()
        self.CONF = self.useFixture(config.Config()).conf
        self.useFixture(oslo.messaging.conffixture.ConfFixture(self.CONF))

        pipeline = yaml.dump([{
            'name': 'test_pipeline',
            'interval': 5,
            'counters': ['*'],
            'transformers': [],
            'publishers': ['test://'],
        }])
        pipeline_cfg_file = fileutils.write_to_tempfile(content=pipeline,
                                                        prefix="pipeline",
                                                        suffix="yaml")
        self.CONF.set_override("pipeline_cfg_file", pipeline_cfg_file)
        self.CONF.set_override("notification_driver", "messaging")
        self.CONF.set_override("control_exchange", "nova")
        messaging.setup('fake://')
        self.addCleanup(messaging.cleanup)

        self.srv = notification.NotificationService()
Example #22
0
    def _do_test(self, driver, driver_class):
        pipeline_cfg_file = self.path_get('etc/ceilometer/pipeline.yaml')
        content = ("[DEFAULT]\n"
                   "rpc_backend=fake\n"
                   "pipeline_cfg_file={0}\n"
                   "debug=true\n"
                   "[database]\n"
                   "time_to_live=1\n"
                   "connection=log://localhost\n".format(pipeline_cfg_file))

        if driver:
            content += "[alarm]\nevaluation_service=%s\n" % driver

        self.tempfile = fileutils.write_to_tempfile(content=content,
                                                    prefix='ceilometer',
                                                    suffix='.conf')
        self.subp = subprocess.Popen(
            ['ceilometer-alarm-evaluator',
             "--config-file=%s" % self.tempfile],
            stderr=subprocess.PIPE)
        err = self.subp.stderr.read(1024)
        self.assertIn("Alarm evaluator loaded: %s" % driver_class, err)
Example #23
0
    def setUp(self):
        super(BinApiTestCase, self).setUp()
        self.api_port = random.randint(10000, 11000)
        self.http = httplib2.Http()
        pipeline_cfg_file = self.path_get('etc/ceilometer/pipeline.yaml')
        policy_file = self.path_get('etc/ceilometer/policy.json')
        content = "[DEFAULT]\n"\
                  "rpc_backend=ceilometer.openstack.common.rpc.impl_fake\n"\
                  "auth_strategy=noauth\n"\
                  "debug=true\n"\
                  "pipeline_cfg_file={0}\n"\
                  "policy_file={1}\n"\
                  "[api]\n"\
                  "port={2}\n"\
                  "[database]\n"\
                  "connection=log://localhost\n".format(pipeline_cfg_file,
                                                        policy_file,
                                                        self.api_port)

        self.tempfile = fileutils.write_to_tempfile(content=content,
                                                    prefix='ceilometer',
                                                    suffix='.conf')
        self.subp = subprocess.Popen(['ceilometer-api',
                                      "--config-file=%s" % self.tempfile])
Example #24
0
    def setUp(self):
        super(BinSendSampleTestCase, self).setUp()
        pipeline_cfg_file = self.path_get("etc/ceilometer/pipeline.yaml")
        content = "[DEFAULT]\n" "rpc_backend=fake\n" "pipeline_cfg_file={0}\n".format(pipeline_cfg_file)

        self.tempfile = fileutils.write_to_tempfile(content=content, prefix="ceilometer", suffix=".conf")
Example #25
0
 def setUp(self):
     super(BinTestCase, self).setUp()
     content = ("[database]\n" "connection=log://localhost\n")
     self.tempfile = fileutils.write_to_tempfile(content=content,
                                                 prefix='ceilometer',
                                                 suffix='.conf')