Example #1
0
def _restart_service(service):
    print('Restarting %s...' % service)
    if service == 'magmad':
        _restart_all()
        return

    chan = ServiceRegistry.get_rpc_channel('magmad', ServiceRegistry.LOCAL)
    client = MagmadStub(chan)
    client.RestartServices(RestartServicesRequest(services=[service]))
Example #2
0
class MagmadServiceGrpc(MagmadServiceClient):
    """
    Handle magmad actions by making service calls over gRPC.
    """
    def __init__(self):
        self._magmad_stub = MagmadStub(get_rpc_channel("magmad"))

    def restart_services(self, services):
        request = RestartServicesRequest()
        for s in services:
            request.services.append(s)
        try:
            self._magmad_stub.RestartServices(request)
        except grpc.RpcError as error:
            err_code = error.exception().code()
            if err_code == grpc.StatusCode.FAILED_PRECONDITION:
                logging.info("Ignoring FAILED_PRECONDITION exception")
            else:
                raise