rvc ownership-transfer

rvc ownership-transfer

The following rvc ownership-transfer actions are used to perform node divestitures.

Checking connectivity before a transfer

Before an ownership transfer starts, SC//Reliantâ„¢ Platform Manager checks that each node can reach the host that receives the transfer's progress updates. It does this with the rvc.external_connectivity_check method, which is part of the rvc rvc module rather than this module. See rvc rvc.

Example

{ "jsonrpc": "2.0", "id": 1, "method": "rvc.external_connectivity_check", "params": { "uri": "https://platform.reliant.io" } }

Response

{ "jsonrpc": "2.0", "id": 1, "result": { "message": "OK", "roundtrip_time_ms": 226 } }

ownership_transfer.execute

Runs one step of an ownership transfer on the node. Platform Manager calls this method once for each step, on the node that the step targets. The step runs as an external process, so the call returns as soon as the step starts. While the step runs, RVC sends its output to the notify_uri, and when the step finishes, RVC sends a final message with the step's exit code. The output appears in the step's log on the Ownership Transfer page in Platform Manager.

Arguments

ArgumentTypeMeaning
argsArray of StringsThe action script to run for this step, followed by its options. For example, ["node_prechecks", "--username=<username>"]. For the action scripts and their options, see ownership-transfer steps.
titleStringThe name of the step, as shown on the Ownership Transfer page. For example, Node PreCheck (red0).
step_numberIntegerThe position of this step in the transfer.
total_stepsIntegerThe total number of steps in the transfer.
notify_uriStringWhere RVC sends the step's progress updates and final result. Platform Manager generates a new URI for each step, in the form rpms://platform.reliant.io/api/edge/<uuid>/ownership_transfer, where <uuid> identifies the step. See Report ownership transfer progress.

Example

{ "jsonrpc": "2.0", "id": 1, "method": "ownership_transfer.execute", "params": { "args": [ "node_prechecks", "--username=jdoe" ], "title": "Node PreCheck (red0)", "step_number": 1, "total_steps": 19, "notify_uri": "rpms://platform.reliant.io/api/edge/<uuid>/ownership_transfer" } }

Response

{ "jsonrpc": "2.0", "id": 1, "result": { "pid": 510152, "type": "external_process", "method": "ownership_transfer.execute", "params": { "args": [ "node_prechecks", "--username=jdoe" ], "title": "Node PreCheck (red0)", "step_number": 1, "total_steps": 19, "notify_uri": "rpms://platform.reliant.io/api/edge/<uuid>/ownership_transfer" }, "state": "started" } }