Просмотр исходного кода

Adds separate workers to kill migration tasks

Alessandro Pilotti 10 лет назад
Родитель
Сommit
e1160c1d13
2 измененных файлов с 9 добавлено и 1 удалено
  1. 7 0
      coriolis/cmd/worker.py
  2. 2 1
      coriolis/worker/rpc/client.py

+ 7 - 0
coriolis/cmd/worker.py

@@ -22,6 +22,13 @@ def main():
         'coriolis_worker', [rpc_server.WorkerServerEndpoint()],
         rpc_server.VERSION)
     launcher.launch_service(server, workers=server.get_workers_count())
+
+    # Use separate workers to kill tasks
+    server_delete_task = service.MessagingService(
+        'coriolis_worker_delete_task', [rpc_server.WorkerServerEndpoint()],
+        rpc_server.VERSION)
+    launcher.launch_service(server_delete_task,
+                            workers=server.get_workers_count())
     launcher.wait()
 
 

+ 2 - 1
coriolis/worker/rpc/client.py

@@ -20,7 +20,8 @@ class WorkerClient(object):
 
     def cancel_task(self, ctxt, server, process_id):
         # Needs to be executed on the same server
-        cctxt = self._client.prepare(server=server)
+        cctxt = self._client.prepare(server=server,
+                                     topic="coriolis_worker_delete_task")
         cctxt.call(ctxt, 'cancel_task', process_id=process_id)
 
     def update_migration_status(self, ctxt, task_id, status):