Пример #1
0
 def test_service_random_port_with_ipv6(self):
     CONF.set_default("test_service_listen", "::1")
     test_service = service.WSGIService("test_service")
     test_service.start()
     self.assertEqual("::1", test_service.host)
     self.assertNotEqual(0, test_service.port)
     test_service.stop()
Пример #2
0
 def _start_api_service(self):
     self.osapi = service.WSGIService("osapi_compute")
     self.osapi.start()
     self.auth_url = 'http://%(host)s:%(port)s/%(api_version)s' % (
         {
             'host': self.osapi.host,
             'port': self.osapi.port,
             'api_version': self._api_version
         })
Пример #3
0
def main():
    config.parse_args(sys.argv)
    logging.setup(CONF, "patron")
    utils.monkey_patch()
    objects.register_all()

    gmr.TextGuruMeditation.setup_autorun(version)

    launcher = service.process_launcher()
    for api in CONF.enabled_apis:
        should_use_ssl = api in CONF.enabled_ssl_apis
        if api == 'ec2':
            server = service.WSGIService(api,
                                         use_ssl=should_use_ssl,
                                         max_url_len=16384)
        else:
            server = service.WSGIService(api, use_ssl=should_use_ssl)
        launcher.launch_service(server, workers=server.workers or 1)
    launcher.wait()
Пример #4
0
def main():
    config.parse_args(sys.argv)
    logging.setup(CONF, "patron")
    utils.monkey_patch()
    objects.register_all()

    gmr.TextGuruMeditation.setup_autorun(version)

    should_use_ssl = 'osapi_compute' in CONF.enabled_ssl_apis
    server = service.WSGIService('osapi_compute', use_ssl=should_use_ssl)
    service.serve(server, workers=server.workers)
    service.wait()
Пример #5
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,
                         CONF.wsgi_default_pool_size)
Пример #6
0
def main():
    config.parse_args(sys.argv)
    logging.setup(CONF, "patron")
    utils.monkey_patch()
    objects.register_all()

    gmr.TextGuruMeditation.setup_autorun(version)

    if not CONF.conductor.use_local:
        objects_base.NovaObject.indirection_api = \
            conductor_rpcapi.ConductorAPI()

    should_use_ssl = 'metadata' in CONF.enabled_ssl_apis
    server = service.WSGIService('metadata', use_ssl=should_use_ssl)
    service.serve(server, workers=server.workers)
    service.wait()
Пример #7
0
def main():
    config.parse_args(sys.argv)
    logging.setup(CONF, "patron")
    LOG = logging.getLogger('patron.all')
    utils.monkey_patch()
    objects.register_all()
    launcher = service.process_launcher()

    # patron-api
    for api in CONF.enabled_apis:
        try:
            should_use_ssl = api in CONF.enabled_ssl_apis
            server = service.WSGIService(api, use_ssl=should_use_ssl)
            launcher.launch_service(server, workers=server.workers or 1)
        except (Exception, SystemExit):
            LOG.exception(_LE('Failed to load %s-api'), api)

    for mod in [s3server, xvp_proxy]:
        try:
            launcher.launch_service(mod.get_wsgi_server())
        except (Exception, SystemExit):
            LOG.exception(_LE('Failed to load %s'), mod.__name__)

    for binary in ['patron-compute', 'patron-network', 'patron-scheduler',
                   'patron-cert', 'patron-conductor']:

        # FIXME(sirp): Most service configs are defined in patron/service.py, but
        # conductor has set a new precedent of storing these configs
        # patron/<service>/api.py.
        #
        # We should update the existing services to use this new approach so we
        # don't have to treat conductor differently here.
        if binary == 'patron-conductor':
            topic = CONF.conductor.topic
            manager = CONF.conductor.manager
        else:
            topic = None
            manager = None

        try:
            launcher.launch_service(service.Service.create(binary=binary,
                                                           topic=topic,
                                                          manager=manager))
        except (Exception, SystemExit):
            LOG.exception(_LE('Failed to load %s'), binary)
    launcher.wait()
Пример #8
0
 def setUp(self):
     super(OSAPIFixture, self).setUp()
     # in order to run these in tests we need to bind only to local
     # host, and dynamically allocate ports
     conf_overrides = {
         'ec2_listen': '127.0.0.1',
         'osapi_compute_listen': '127.0.0.1',
         'metadata_listen': '127.0.0.1',
         'ec2_listen_port': 0,
         'osapi_compute_listen_port': 0,
         'metadata_listen_port': 0,
         'verbose': True,
         'debug': True
     }
     self.useFixture(ConfPatcher(**conf_overrides))
     osapi = service.WSGIService("osapi_compute")
     osapi.start()
     self.addCleanup(osapi.stop)
     self.auth_url = 'http://%(host)s:%(port)s/%(api_version)s' % ({
         'host': osapi.host, 'port': osapi.port,
         'api_version': self.api_version})
     self.api = client.TestOpenStackClient('fake', 'fake', self.auth_url)
     self.admin_api = client.TestOpenStackClient(
         'admin', 'admin', self.auth_url)
Пример #9
0
 def setUp(self):
     super(TestLauncher, self).setUp()
     self.stubs.Set(wsgi.Loader, "load_app", mox.MockAnything())
     self.service = service.WSGIService("test_service")
Пример #10
0
 def test_openstack_compute_api_workers_set_zero_user_setting(self):
     CONF.set_override('osapi_compute_workers', 0)
     test_service = service.WSGIService("openstack_compute_api_v2")
     # If a value less than 1 is used, defaults to number of procs available
     self.assertEqual(test_service.workers, processutils.get_worker_count())
Пример #11
0
 def test_openstack_compute_api_workers_set_good_user_setting(self):
     CONF.set_override('osapi_compute_workers', 8)
     test_service = service.WSGIService("openstack_compute_api_v2")
     self.assertEqual(test_service.workers, 8)
Пример #12
0
 def test_openstack_compute_api_workers_set_default(self):
     test_service = service.WSGIService("openstack_compute_api_v2")
     self.assertEqual(test_service.workers, processutils.get_worker_count())
Пример #13
0
 def test_service_random_port(self):
     test_service = service.WSGIService("test_service")
     test_service.start()
     self.assertNotEqual(0, test_service.port)
     test_service.stop()