Difference between revisions of "Action scripts"
Jump to navigation
Jump to search
Saied Kazemi (talk | contribs) |
Saied Kazemi (talk | contribs) (→RPC) |
||
Line 22: | Line 22: | ||
== RPC == | == RPC == | ||
− | In case | + | In case of RPC, action scripts are implemented as notifications -- once CRIU service wants to execute a script it sends an RPC message to caller and waits for it to respond with <code>criu_req</code> message having <code>notify_success = true</code>. |
== Library == | == Library == |
Revision as of 16:16, 8 April 2015
With the --action-script command line option, CRIU can call your action scripts (also known as hooks) at various stages of dumping/restoring. Hooks can be one of
- network-lock
- request to lock a container network (used by Docker and LXC)
- network-unlock
- requested to unlock a container network (used by Docker and LXC)
- post-dump
- called when CRIU finished dumping tasks before unfreezing them
- post-restore
- called when CRIU has finished restoring tasks before unlocking the network
- setup-namespaces
- called when the root task is alive and new set of namespaces is created to set them up
CLI
These hooks are added with the --action-script shell-code-to-execute option. When called, the CRTOOLS_SCRIPT_ACTION environment is set to a value determining which type of action is performed.
RPC
In case of RPC, action scripts are implemented as notifications -- once CRIU service wants to execute a script it sends an RPC message to caller and waits for it to respond with criu_req
message having notify_success = true
.
Library
When using a library one can setup a callback using the criu_set_notify
routine.