def launch_engine(transport): target = messaging.Target(topic=cfg.CONF.engine.topic, server=cfg.CONF.engine.host) engine_v2 = def_eng.DefaultEngine(rpc.get_engine_client()) endpoints = [rpc.EngineServer(engine_v2)] # Setup scheduler in engine. db_api.setup_db() scheduler.setup() # Setup expiration policy expiration_policy.setup() server = messaging.get_rpc_server(transport, target, endpoints, executor='eventlet', serializer=ctx.RpcContextSerializer( ctx.JsonPayloadSerializer())) engine_v2.register_membership() try: server.start() while True: time.sleep(604800) except (KeyboardInterrupt, SystemExit): pass finally: print("Stopping engine service...") server.stop() server.wait()
def launch_engine(): profiler.setup('mistral-engine', cfg.CONF.engine.host) engine_v2 = def_eng.DefaultEngine(rpc.get_engine_client()) engine_endpoint = rpc.EngineServer(engine_v2) # Setup scheduler in engine. db_api.setup_db() scheduler.setup() # Setup expiration policy expiration_policy.setup() engine_server = rpc.get_rpc_server_driver()( rpc_utils.get_rpc_info_from_oslo(CONF.engine)) engine_server.register_endpoint(engine_endpoint) engine_v2.register_membership() try: # Note(ddeja): Engine needs to be run in default (blocking) mode # since using another mode may lead to deadlock. # See https://review.openstack.org/#/c/356343/ # for more info. engine_server.run() except (KeyboardInterrupt, SystemExit): pass finally: print("Stopping engine service...")
def setUp(self): super(EngineTestCase, self).setUp() # Get transport here to let oslo.messaging setup default config # before changing the rpc_backend to the fake driver; otherwise, # oslo.messaging will throw exception. messaging.get_transport(cfg.CONF) # Set the transport to 'fake' for Engine tests. cfg.CONF.set_default('rpc_backend', 'fake') # Drop all RPC objects (transport, clients). rpc.cleanup() transport = rpc.get_transport() self.engine_client = rpc.get_engine_client() self.executor_client = rpc.get_executor_client() self.engine = def_eng.DefaultEngine(self.engine_client) self.executor = def_exec.DefaultExecutor(self.engine_client) LOG.info("Starting engine and executor threads...") self.threads = [ eventlet.spawn(launch_engine_server, transport, self.engine), eventlet.spawn(launch_executor_server, transport, self.executor), ] self.addOnException(self.print_executions) # Start scheduler. scheduler_thread_group = scheduler.setup() self.addCleanup(self.kill_threads) self.addCleanup(scheduler_thread_group.stop)
def launch_engine(): profiler.setup('mistral-engine', cfg.CONF.engine.host) engine_v2 = def_eng.DefaultEngine(rpc.get_engine_client()) engine_endpoint = rpc.EngineServer(engine_v2) # Setup scheduler in engine. db_api.setup_db() scheduler.setup() # Setup expiration policy expiration_policy.setup() engine_server = rpc.get_rpc_server_driver()( rpc_utils.get_rpc_info_from_oslo(CONF.engine)) engine_server.register_endpoint(engine_endpoint) engine_v2.register_membership() try: engine_server.run() except (KeyboardInterrupt, SystemExit): pass finally: print("Stopping engine service...")
def setUp(self): super(DefaultEngineTest, self).setUp() wb_service.create_workbook_v2(WORKBOOK) # Note: For purposes of this test we can easily use # simple magic mocks for engine and executor clients self.engine = d_eng.DefaultEngine()
def launch_engine(transport): target = messaging.Target(topic=cfg.CONF.engine.topic, server=cfg.CONF.engine.host) engine_v2 = def_eng.DefaultEngine(rpc.get_engine_client()) endpoints = [rpc.EngineServer(engine_v2)] # Setup scheduler in engine. db_api.setup_db() scheduler.setup() server = messaging.get_rpc_server(transport, target, endpoints, executor='eventlet', serializer=ctx.RpcContextSerializer( ctx.JsonPayloadSerializer())) server.start() server.wait()
def get_oslo_service(setup_profiler=True): return EngineServer( default_engine.DefaultEngine(), setup_profiler=setup_profiler )