{"id":18690467,"url":"https://github.com/kvaps/opennebula-addon-tmsave-tmrestore","last_synced_at":"2025-12-31T14:38:17.533Z","repository":{"id":80916081,"uuid":"183420125","full_name":"kvaps/opennebula-addon-tmsave-tmrestore","owner":"kvaps","description":"Experiment to add presave postsave prerestore postrestore actions to tm driver","archived":false,"fork":false,"pushed_at":"2019-04-25T11:41:25.000Z","size":6,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-18T22:11:30.884Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kvaps.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-04-25T11:24:58.000Z","updated_at":"2019-08-04T19:59:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"b4675f6b-d4a5-480a-a7c4-33507fe9190a","html_url":"https://github.com/kvaps/opennebula-addon-tmsave-tmrestore","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/kvaps/opennebula-addon-tmsave-tmrestore","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kvaps%2Fopennebula-addon-tmsave-tmrestore","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kvaps%2Fopennebula-addon-tmsave-tmrestore/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kvaps%2Fopennebula-addon-tmsave-tmrestore/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kvaps%2Fopennebula-addon-tmsave-tmrestore/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kvaps","download_url":"https://codeload.github.com/kvaps/opennebula-addon-tmsave-tmrestore/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kvaps%2Fopennebula-addon-tmsave-tmrestore/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265820248,"owners_count":23833563,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T10:47:40.074Z","updated_at":"2025-12-31T14:38:17.502Z","avatar_url":"https://github.com/kvaps.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OpenNebula tmsave / tmrestore addon\n\nIn contionue to this discussion https://forum.opennebula.org/t/shared-mode-for-the-ceph-based-system-datastires/7164/9\n\nThis addon to adds `tm/presave` `tm/postsave` `tm/prerestore` `tm/postrestore` actions call to vmm driver.\n\n\nSo saving VM state will looks like:\n\n|#|driver|action|execution|description|\n|-|-|-|-|-|\n|1|tm|presave|frontend|preparing the place and setups checkpoint file symlink|\n|2|vmm|save|remote|saves VM state  into checkpoint file (or device) under symlink|\n|3|tm|postsave|frontend|optional disconnects the device with checkpoint from the compute-node|\n\nRestoring:\n\n|#|driver|action|execution|description|\n|-|-|-|-|-|\n|1|tm|prerestore|frontend|connects the device with checkpoint to the compute-node, and setups symlink on it|\n|2|vmm|restore|remote|restores VM action from the symlink|\n|3|tm|postrestore|frontend|removes old checkpoint file|\n\n\n## Installation\n\n1. put [tmsave](tmsave) and [tmrestore](tmrestore) into to your vmm driver path, eg. `/var/lib/one/remotes/vmm/kvm`\n2. Update your VM_MAD in oned.conf\n\n   ```diff\n    VM_MAD = [\n        NAME           = \"kvm\",\n        SUNSTONE_NAME  = \"KVM\",\n        EXECUTABLE     = \"one_vmm_exec\",\n   -    ARGUMENTS      = \"-t 15 -r 0 kvm\",\n   +    ARGUMENTS      = \"-t 15 -r 0 kvm -l save=tmsave,restore=tmrestore\",\n        DEFAULT        = \"vmm_exec/vmm_exec_kvm.conf\",\n        TYPE           = \"kvm\",\n        KEEP_SNAPSHOTS = \"yes\",\n        IMPORTED_VMS_ACTIONS = \"terminate, terminate-hard, hold, release, suspend,\n            resume, delete, reboot, reboot-hard, resched, unresched, disk-attach,\n            disk-detach, nic-attach, nic-detach, snapshot-create, snapshot-delete\"\n    ]\n   ```\n\n3. Restart OpenNebula service\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkvaps%2Fopennebula-addon-tmsave-tmrestore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkvaps%2Fopennebula-addon-tmsave-tmrestore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkvaps%2Fopennebula-addon-tmsave-tmrestore/lists"}