Control one native RSVP-TE instance
/tasks/{id}/rsvp/protocol/controlSends a generation-guarded instance-wide CPF Stop/Start/Abort, restricted ingress RestartDown, or finite head-end local recovery schedule Start/Stop to one named routing agent of a RUNNING task. Abort tears down signaling and discards runtime admin intent; a later Start rearms sessions enabled in the profile loaded by native after old Tears drain. After Abort, Start waits for old Tears, discards any P2P or P2MP MBB controller and rearms configured profile generations. RestartDown selects configured admin-up P2P ingress LSPs without Resv and P2MP head trees with Down leaves. Fully Down trees are torn down and restarted with fresh subgroup IDs; partial trees refresh only subgroups with Down leaves while confirmed siblings keep their labels. Healthy trees are untouched. A completed P2P or P2MP MBB can retry only its active Down generation; an in-flight MBB remains guarded. It returns eligible and teardown-pending counts; P2MP tails and busy partial trees are rejected. Schedule Start requires all five options: number-of-restarts, restart-start-time-ms, restart-up-time-ms, restart-ms and recovery-ms; Stop takes no options. HTTP 202 acknowledges scheduling, not completed recovery. A transport error leaves the outcome unknown; query current protocol state before retrying. A separate /protocol/sessions/control route selects profile-indexed instances; this single-instance route does not accept SessionIndices or claim identical internal CPF states or restart timing.
Контракт
Параметр | Значение |
|---|---|
| Раздел | tasks |
| Авторизация | CookieAuth |
| Принимает | application/json |
| Возвращает | application/json |
Параметры
2 параметров
Имя | Где | Обязательный | Тип | Описание |
|---|---|---|---|---|
| id | path | да | integer | Canonical positive task ID |
| request | body | да | object | Agent, instance, runtime generation, action and required schedule options |
{ "action": "stop", "agent": "<string>", "instance": 0, "options": { "number-of-restarts": 0, "recovery-ms": 0, "restart-ms": 0, "restart-start-time-ms": 0, "restart-up-time-ms": 0 }, "runtime-generation": "<string>" }
Ответы
10 ответов
Статус | Описание | Тип |
|---|---|---|
200 | OK | object |
202 | Recovery schedule accepted | object |
400 | Invalid request | object |
401 | Session required | object |
403 | Agent not registered for this task or license denied | object |
404 | Task or RSVP instance not found | object |
409 | Task, generation or native state conflict | object |
500 | Task lookup failed | object |
502 | Agent transport or response contract error; query before retrying | object |
504 | Agent request deadline exceeded; query before retrying | object |
{ "action": "<string>", "completed": 0, "cpf-state": "<string>", "eligible": 0, "instance": 0, "last-error": "<string>", "runtime-generation": "<string>", "schedule-state": "<string>", "started": 0, "target": 0, "task-id": 0, "teardown-pending": 0 }{ "action": "<string>", "completed": 0, "cpf-state": "<string>", "eligible": 0, "instance": 0, "last-error": "<string>", "runtime-generation": "<string>", "schedule-state": "<string>", "started": 0, "target": 0, "task-id": 0, "teardown-pending": 0 }{ "data": {}, "error": "<string>" }{ "data": {}, "error": "<string>" }{ "data": {}, "error": "<string>" }{ "data": {}, "error": "<string>" }{ "data": {}, "error": "<string>" }{ "data": {}, "error": "<string>" }{ "data": {}, "error": "<string>" }{ "data": {}, "error": "<string>" }