Carlos Bocanera Gallardo found that when calling add_orchestration_rule(), if the response status code is 400 and the process_orchestration function raises an OrchestrationError, the orchestration_response.read_json() method raises a RuntimeError, which makes debugging hard.
The reason for raising the RuntimeError is that the orchestration_response is not a "JSON" response, or at least not a constants.Payload.JSON response. I am not sure why this is happening at the moment.