def test_service_random_port(self, mock_loader):
     test_service = service.WSGIService("test_service")
     self.assertEqual(0, test_service.port)
     test_service.start()
     self.assertNotEqual(0, test_service.port)
     test_service.stop()
     self.assertTrue(mock_loader.called)
 def test_workers_set_good_user_setting(self, mock_loader):
     self.override_config('osapi_volume_listen_port',
                          CONF.test_service_listen_port)
     self.override_config('osapi_volume_workers', 8)
     test_service = service.WSGIService("osapi_volume")
     self.assertEqual(8, test_service.workers)
     self.assertTrue(mock_loader.called)
 def test_workers_set_default(self, mock_loader):
     self.override_config('osapi_volume_listen_port',
                          CONF.test_service_listen_port)
     test_service = service.WSGIService("osapi_volume")
     self.assertEqual(processutils.get_worker_count(),
                      test_service.workers)
     self.assertTrue(mock_loader.called)
Exemple #4
0
 def test_workers_set_zero_user_setting(self, mock_loader):
     self.override_config('osapi_volume_workers', 0)
     test_service = service.WSGIService("osapi_volume")
     # If a value less than 1 is used, defaults to number of procs
     # available
     self.assertEqual(processutils.get_worker_count(), test_service.workers)
     self.assertTrue(mock_loader.called)
 def _start_api_service(self):
     self.osapi = service.WSGIService("osapi_volume")
     self.osapi.start()
     # FIXME(ja): this is not the auth url - this is the service url
     # FIXME(ja): this needs fixed in nova as well
     self.auth_url = 'http://%s:%s/v1' % (self.osapi.host, self.osapi.port)
     LOG.warn(self.auth_url)
Exemple #6
0
 def test_service_random_port(self):
     with mock.patch.object(wsgi.Loader, 'load_app') as mock_load_app:
         test_service = service.WSGIService("test_service")
         self.assertEqual(0, test_service.port)
         test_service.start()
         self.assertNotEqual(0, test_service.port)
         test_service.stop()
         self.assertTrue(mock_load_app.called)
    def test_ssl_enabled(self, mock_loader, mock_server):
        self.override_config('osapi_volume_use_ssl', True)

        service.WSGIService("osapi_volume")
        mock_server.assert_called_once_with(mock.ANY, mock.ANY, mock.ANY,
                                            port=mock.ANY, host=mock.ANY,
                                            use_ssl=True)

        self.assertTrue(mock_loader.called)
 def _start_api_service(self):
     default_conf = os.path.abspath(
         os.path.join(os.path.dirname(__file__), '..', '..', '..',
                      'etc/cinder/api-paste.ini'))
     CONF.api_paste_config = default_conf
     self.osapi = service.WSGIService("osapi_volume")
     self.osapi.start()
     # FIXME(ja): this is not the auth url - this is the service url
     # FIXME(ja): this needs fixed in nova as well
     self.auth_url = 'http://%s:%s/v2' % (self.osapi.host, self.osapi.port)
Exemple #9
0
def main():
    CONF(sys.argv[1:], project='cinder', version=version.version_string())
    logging.setup("cinder")
    utils.monkey_patch()

    rpc.init(CONF)
    launcher = service.process_launcher()
    server = service.WSGIService('osapi_volume')
    launcher.launch_service(server, workers=server.workers)
    launcher.wait()
Exemple #10
0
def main():
    objects.register_all()
    gmr_opts.set_defaults(CONF)
    CONF(sys.argv[1:], project='cinder',
         version=version.version_string())
    config.set_middleware_defaults()
    logging.setup(CONF, "cinder")
    LOG = logging.getLogger('cinder.all')
    versionutils.report_deprecated_feature(LOG, _(
        'cinder-all is deprecated in Newton and will be removed in Ocata.'))

    utils.monkey_patch()

    gmr.TextGuruMeditation.setup_autorun(version, conf=CONF)

    rpc.init(CONF)

    launcher = service.process_launcher()
    # cinder-api
    try:
        server = service.WSGIService('osapi_volume')
        launcher.launch_service(server, workers=server.workers or 1)
    except (Exception, SystemExit):
        LOG.exception(_LE('Failed to load osapi_volume'))

    for binary in ['cinder-scheduler', 'cinder-backup']:
        try:
            launcher.launch_service(service.Service.create(binary=binary))
        except (Exception, SystemExit):
            LOG.exception(_LE('Failed to load %s'), binary)

    # cinder-volume
    try:
        if CONF.enabled_backends:
            for backend in CONF.enabled_backends:
                CONF.register_opt(volume_cmd.host_opt, group=backend)
                backend_host = getattr(CONF, backend).backend_host
                host = "%s@%s" % (backend_host or CONF.host, backend)
                server = service.Service.create(host=host,
                                                service_name=backend,
                                                binary='cinder-volume')
                # Dispose of the whole DB connection pool here before
                # starting another process.  Otherwise we run into cases
                # where child processes share DB connections which results
                # in errors.
                session.dispose_engine()
                launcher.launch_service(server)
        else:
            server = service.Service.create(binary='cinder-volume')
            launcher.launch_service(server)
    except (Exception, SystemExit):
        LOG.exception(_LE('Failed to load cinder-volume'))

    launcher.wait()
Exemple #11
0
    def test_reset_pool_size_to_default(self):
        test_service = service.WSGIService("test_service")
        test_service.start()

        # Stopping the service, which in turn sets pool size to 0
        test_service.stop()
        self.assertEqual(test_service.server._pool.size, 0)

        # Resetting pool size to default
        test_service.reset()
        test_service.start()
        self.assertEqual(test_service.server._pool.size, 1000)
Exemple #12
0
def main():
    objects.register_all()
    CONF(sys.argv[1:], project='cinder', version=version.version_string())
    logging.setup(CONF, "cinder")
    utils.monkey_patch()

    gmr.TextGuruMeditation.setup_autorun(version)

    rpc.init(CONF)
    launcher = service.process_launcher()
    server = service.WSGIService('osapi_volume')
    launcher.launch_service(server, workers=server.workers)
    launcher.wait()
Exemple #13
0
    def test_reset_pool_size_to_default(self, mock_loader):
        test_service = service.WSGIService("test_service")
        test_service.start()

        # Stopping the service, which in turn sets pool size to 0
        test_service.stop()
        self.assertEqual(0, test_service.server._pool.size)

        # Resetting pool size to default
        test_service.reset()
        test_service.start()
        self.assertEqual(1000, test_service.server._pool.size)
        self.assertTrue(mock_loader.called)
Exemple #14
0
    def test_reset_pool_size_to_default(self):
        with mock.patch.object(wsgi.Loader, 'load_app') as mock_load_app:
            test_service = service.WSGIService("test_service")
            test_service.start()

            # Stopping the service, which in turn sets pool size to 0
            test_service.stop()
            self.assertEqual(0, test_service.server._pool.size)

            # Resetting pool size to default
            test_service.reset()
            test_service.start()
            self.assertEqual(1000, test_service.server._pool.size)
            self.assertTrue(mock_load_app.called)
Exemple #15
0
def main():
    objects.register_all()
    gmr_opts.set_defaults(CONF)
    CONF(sys.argv[1:], project='cinder', version=version.version_string())
    config.set_middleware_defaults()
    logging.setup(CONF, "cinder")
    python_logging.captureWarnings(True)
    utils.monkey_patch()

    gmr.TextGuruMeditation.setup_autorun(version, conf=CONF)

    rpc.init(CONF)
    launcher = service.process_launcher()
    server = service.WSGIService('osapi_volume')
    launcher.launch_service(server, workers=server.workers)
    launcher.wait()
Exemple #16
0
def main():
    CONF(sys.argv[1:], project='cinder', version=version.version_string())
    logging.setup(CONF, "cinder")
    LOG = logging.getLogger('cinder.all')

    utils.monkey_patch()
    launcher = service.process_launcher()
    # cinder-api
    try:
        server = service.WSGIService('osapi_volume')
        launcher.launch_service(server, workers=server.workers or 1)
    except (Exception, SystemExit):
        LOG.exception(_LE('Failed to load osapi_volume'))

    for binary in ['cinder-volume', 'cinder-scheduler', 'cinder-backup']:
        try:
            launcher.launch_service(service.Service.create(binary=binary))
        except (Exception, SystemExit):
            LOG.exception(_LE('Failed to load %s'), binary)
    launcher.wait()
Exemple #17
0
 def setUp(self):
     super(TestLauncher, self).setUp()
     self.stubs.Set(wsgi.Loader, "load_app", mox.MockAnything())
     self.service = service.WSGIService("test_service")
Exemple #18
0
 def test_service_random_port(self):
     test_service = service.WSGIService("test_service")
     self.assertEquals(0, test_service.port)
     test_service.start()
     self.assertNotEqual(0, test_service.port)
     test_service.stop()
Exemple #19
0
 def _start_api_service(self):
     self.osapi = service.WSGIService("osapi_volume")
     self.osapi.start()
     self.auth_url = 'http://%s:%s/v1' % (self.osapi.host, self.osapi.port)
     LOG.warn(self.auth_url)
Exemple #20
0
 def test_workers_set_good_user_setting(self):
     CONF.set_override('osapi_volume_workers', 8)
     test_service = service.WSGIService("osapi_volume")
     self.assertEqual(test_service.workers, 8)
 def test_service_with_min_down_time(self):
     CONF.set_override('service_down_time', 10)
     CONF.set_override('report_interval', 10)
     service.WSGIService("test_service")
     self.assertEqual(CONF.service_down_time, 25)
Exemple #22
0
 def test_workers_set_zero_user_setting(self, wsgi_server):
     self.override_config('osapi_volume_workers', 0)
     test_service = service.WSGIService("osapi_volume")
     # If a value less than 1 is used, defaults to number of procs available
     self.assertEqual(test_service.workers, processutils.get_worker_count())
Exemple #23
0
 def test_workers_set_good_user_setting(self, wsgi_server):
     self.override_config('osapi_volume_workers', 8)
     test_service = service.WSGIService("osapi_volume")
     self.assertEqual(test_service.workers, 8)
Exemple #24
0
 def test_workers_set_default(self, wsgi_server):
     test_service = service.WSGIService("osapi_volume")
     self.assertEqual(test_service.workers, processutils.get_worker_count())
Exemple #25
0
 def test_workers_set_default(self, wsgi_server):
     self.override_config('osapi_volume_listen_port', 0)
     test_service = service.WSGIService("osapi_volume")
     self.assertEqual(processutils.get_worker_count(), test_service.workers)
Exemple #26
0
 def test_workers_set_default(self, mock_loader):
     test_service = service.WSGIService("osapi_volume")
     self.assertEqual(processutils.get_worker_count(), test_service.workers)
     self.assertTrue(mock_loader.called)