{"action":"created","comment":{"url":"https://api.github.com/repos/containers/libpod/pulls/comments/235076432","pull_request_review_id":176859479,"id":235076432,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIzNTA3NjQzMg==","diff_hunk":"@@ -830,8 +830,15 @@ func (c *Container) Refresh(ctx context.Context) error {\n \treturn nil\n }\n \n+// ContainerCheckpointOptions is a struct used to pass the parameters\n+// for checkpointing to corresponding functions\n+type ContainerCheckpointOptions struct {\n+\tKeep        bool","path":"libpod/container_api.go","position":7,"original_position":7,"commit_id":"24c0739453b3f103a1b548c1bb611013b488afbe","original_commit_id":"24c0739453b3f103a1b548c1bb611013b488afbe","user":{"login":"mheon","id":7735048,"node_id":"MDQ6VXNlcjc3MzUwNDg=","avatar_url":"https://avatars3.githubusercontent.com/u/7735048?v=4","gravatar_id":"","url":"https://api.github.com/users/mheon","html_url":"https://github.com/mheon","followers_url":"https://api.github.com/users/mheon/followers","following_url":"https://api.github.com/users/mheon/following{/other_user}","gists_url":"https://api.github.com/users/mheon/gists{/gist_id}","starred_url":"https://api.github.com/users/mheon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mheon/subscriptions","organizations_url":"https://api.github.com/users/mheon/orgs","repos_url":"https://api.github.com/users/mheon/repos","events_url":"https://api.github.com/users/mheon/events{/privacy}","received_events_url":"https://api.github.com/users/mheon/received_events","type":"User","site_admin":false},"body":"I think lint will yell at you to provide docs on the fields within the struct","created_at":"2018-11-20T16:32:13Z","updated_at":"2018-11-20T16:32:13Z","html_url":"https://github.com/containers/libpod/pull/1835#discussion_r235076432","pull_request_url":"https://api.github.com/repos/containers/libpod/pulls/1835","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/containers/libpod/pulls/comments/235076432"},"html":{"href":"https://github.com/containers/libpod/pull/1835#discussion_r235076432"},"pull_request":{"href":"https://api.github.com/repos/containers/libpod/pulls/1835"}}},"pull_request":{"url":"https://api.github.com/repos/containers/libpod/pulls/1835","id":232381384,"node_id":"MDExOlB1bGxSZXF1ZXN0MjMyMzgxMzg0","html_url":"https://github.com/containers/libpod/pull/1835","diff_url":"https://github.com/containers/libpod/pull/1835.diff","patch_url":"https://github.com/containers/libpod/pull/1835.patch","issue_url":"https://api.github.com/repos/containers/libpod/issues/1835","number":1835,"state":"open","locked":false,"title":"Added option to keep container running after checkpointing","user":{"login":"adrianreber","id":8724298,"node_id":"MDQ6VXNlcjg3MjQyOTg=","avatar_url":"https://avatars3.githubusercontent.com/u/8724298?v=4","gravatar_id":"","url":"https://api.github.com/users/adrianreber","html_url":"https://github.com/adrianreber","followers_url":"https://api.github.com/users/adrianreber/followers","following_url":"https://api.github.com/users/adrianreber/following{/other_user}","gists_url":"https://api.github.com/users/adrianreber/gists{/gist_id}","starred_url":"https://api.github.com/users/adrianreber/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adrianreber/subscriptions","organizations_url":"https://api.github.com/users/adrianreber/orgs","repos_url":"https://api.github.com/users/adrianreber/repos","events_url":"https://api.github.com/users/adrianreber/events{/privacy}","received_events_url":"https://api.github.com/users/adrianreber/received_events","type":"User","site_admin":false},"body":"CRIU supports to leave processes running after checkpointing:\r\n\r\n  `-R|--leave-running    leave tasks in running state after checkpoint`\r\n\r\nrunc also support to leave containers running after checkpointing:\r\n\r\n   `--leave-running      leave the process running after checkpointing`\r\n\r\nWith this commit the support to leave a container running after checkpointing is brought to Podman:\r\n\r\n   `--leave-running, -R  leave the container running after writing checkpoint to disk`\r\n\r\nNow it is possible to checkpoint a container at some point in time without stopping the container. This can be used to rollback the container to an early state:\r\n```\r\n$ podman run --tmpfs /tmp --name podman-criu-test -d docker://docker.io/yovfiatbeb/podman-criu-test\r\n$ curl 10.88.64.253:8080/examples/servlets/servlet/HelloWorldExample\r\n3\r\n$ podman container checkpoint -R -l\r\n$ curl 10.88.64.253:8080/examples/servlets/servlet/HelloWorldExample\r\n4\r\n$ curl 10.88.64.253:8080/examples/servlets/servlet/HelloWorldExample\r\n5\r\n$ podman stop -l\r\n$ podman container restore -l\r\n$ curl 10.88.64.253:8080/examples/servlets/servlet/HelloWorldExample\r\n4\r\n```\r\nSo after checkpointing the container kept running and was stopped after some time. Restoring this container will restore the state right at the checkpoint.","created_at":"2018-11-20T16:29:10Z","updated_at":"2018-11-20T16:32:13Z","closed_at":null,"merged_at":null,"merge_commit_sha":"54016b121a8552975c2c647cacc7e48f08d3ed69","assignee":null,"assignees":[],"requested_reviewers":[{"login":"mrunalp","id":53798,"node_id":"MDQ6VXNlcjUzNzk4","avatar_url":"https://avatars1.githubusercontent.com/u/53798?v=4","gravatar_id":"","url":"https://api.github.com/users/mrunalp","html_url":"https://github.com/mrunalp","followers_url":"https://api.github.com/users/mrunalp/followers","following_url":"https://api.github.com/users/mrunalp/following{/other_user}","gists_url":"https://api.github.com/users/mrunalp/gists{/gist_id}","starred_url":"https://api.github.com/users/mrunalp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mrunalp/subscriptions","organizations_url":"https://api.github.com/users/mrunalp/orgs","repos_url":"https://api.github.com/users/mrunalp/repos","events_url":"https://api.github.com/users/mrunalp/events{/privacy}","received_events_url":"https://api.github.com/users/mrunalp/received_events","type":"User","site_admin":false},{"login":"rhatdan","id":2000835,"node_id":"MDQ6VXNlcjIwMDA4MzU=","avatar_url":"https://avatars3.githubusercontent.com/u/2000835?v=4","gravatar_id":"","url":"https://api.github.com/users/rhatdan","html_url":"https://github.com/rhatdan","followers_url":"https://api.github.com/users/rhatdan/followers","following_url":"https://api.github.com/users/rhatdan/following{/other_user}","gists_url":"https://api.github.com/users/rhatdan/gists{/gist_id}","starred_url":"https://api.github.com/users/rhatdan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rhatdan/subscriptions","organizations_url":"https://api.github.com/users/rhatdan/orgs","repos_url":"https://api.github.com/users/rhatdan/repos","events_url":"https://api.github.com/users/rhatdan/events{/privacy}","received_events_url":"https://api.github.com/users/rhatdan/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":1063744337,"node_id":"MDU6TGFiZWwxMDYzNzQ0MzM3","url":"https://api.github.com/repos/containers/libpod/labels/needs-ok-to-test","name":"needs-ok-to-test","color":"b60205","default":false},{"id":1069218657,"node_id":"MDU6TGFiZWwxMDY5MjE4NjU3","url":"https://api.github.com/repos/containers/libpod/labels/size/M","name":"size/M","color":"eebb00","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/containers/libpod/pulls/1835/commits","review_comments_url":"https://api.github.com/repos/containers/libpod/pulls/1835/comments","review_comment_url":"https://api.github.com/repos/containers/libpod/pulls/comments{/number}","comments_url":"https://api.github.com/repos/containers/libpod/issues/1835/comments","statuses_url":"https://api.github.com/repos/containers/libpod/statuses/24c0739453b3f103a1b548c1bb611013b488afbe","head":{"label":"adrianreber:master","ref":"master","sha":"24c0739453b3f103a1b548c1bb611013b488afbe","user":{"login":"adrianreber","id":8724298,"node_id":"MDQ6VXNlcjg3MjQyOTg=","avatar_url":"https://avatars3.githubusercontent.com/u/8724298?v=4","gravatar_id":"","url":"https://api.github.com/users/adrianreber","html_url":"https://github.com/adrianreber","followers_url":"https://api.github.com/users/adrianreber/followers","following_url":"https://api.github.com/users/adrianreber/following{/other_user}","gists_url":"https://api.github.com/users/adrianreber/gists{/gist_id}","starred_url":"https://api.github.com/users/adrianreber/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adrianreber/subscriptions","organizations_url":"https://api.github.com/users/adrianreber/orgs","repos_url":"https://api.github.com/users/adrianreber/repos","events_url":"https://api.github.com/users/adrianreber/events{/privacy}","received_events_url":"https://api.github.com/users/adrianreber/received_events","type":"User","site_admin":false},"repo":{"id":124521493,"node_id":"MDEwOlJlcG9zaXRvcnkxMjQ1MjE0OTM=","name":"libpod","full_name":"adrianreber/libpod","private":false,"owner":{"login":"adrianreber","id":8724298,"node_id":"MDQ6VXNlcjg3MjQyOTg=","avatar_url":"https://avatars3.githubusercontent.com/u/8724298?v=4","gravatar_id":"","url":"https://api.github.com/users/adrianreber","html_url":"https://github.com/adrianreber","followers_url":"https://api.github.com/users/adrianreber/followers","following_url":"https://api.github.com/users/adrianreber/following{/other_user}","gists_url":"https://api.github.com/users/adrianreber/gists{/gist_id}","starred_url":"https://api.github.com/users/adrianreber/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adrianreber/subscriptions","organizations_url":"https://api.github.com/users/adrianreber/orgs","repos_url":"https://api.github.com/users/adrianreber/repos","events_url":"https://api.github.com/users/adrianreber/events{/privacy}","received_events_url":"https://api.github.com/users/adrianreber/received_events","type":"User","site_admin":false},"html_url":"https://github.com/adrianreber/libpod","description":"libpod is a library used to create container pods.","fork":true,"url":"https://api.github.com/repos/adrianreber/libpod","forks_url":"https://api.github.com/repos/adrianreber/libpod/forks","keys_url":"https://api.github.com/repos/adrianreber/libpod/keys{/key_id}","collaborators_url":"https://api.github.com/repos/adrianreber/libpod/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/adrianreber/libpod/teams","hooks_url":"https://api.github.com/repos/adrianreber/libpod/hooks","issue_events_url":"https://api.github.com/repos/adrianreber/libpod/issues/events{/number}","events_url":"https://api.github.com/repos/adrianreber/libpod/events","assignees_url":"https://api.github.com/repos/adrianreber/libpod/assignees{/user}","branches_url":"https://api.github.com/repos/adrianreber/libpod/branches{/branch}","tags_url":"https://api.github.com/repos/adrianreber/libpod/tags","blobs_url":"https://api.github.com/repos/adrianreber/libpod/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/adrianreber/libpod/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/adrianreber/libpod/git/refs{/sha}","trees_url":"https://api.github.com/repos/adrianreber/libpod/git/trees{/sha}","statuses_url":"https://api.github.com/repos/adrianreber/libpod/statuses/{sha}","languages_url":"https://api.github.com/repos/adrianreber/libpod/languages","stargazers_url":"https://api.github.com/repos/adrianreber/libpod/stargazers","contributors_url":"https://api.github.com/repos/adrianreber/libpod/contributors","subscribers_url":"https://api.github.com/repos/adrianreber/libpod/subscribers","subscription_url":"https://api.github.com/repos/adrianreber/libpod/subscription","commits_url":"https://api.github.com/repos/adrianreber/libpod/commits{/sha}","git_commits_url":"https://api.github.com/repos/adrianreber/libpod/git/commits{/sha}","comments_url":"https://api.github.com/repos/adrianreber/libpod/comments{/number}","issue_comment_url":"https://api.github.com/repos/adrianreber/libpod/issues/comments{/number}","contents_url":"https://api.github.com/repos/adrianreber/libpod/contents/{+path}","compare_url":"https://api.github.com/repos/adrianreber/libpod/compare/{base}...{head}","merges_url":"https://api.github.com/repos/adrianreber/libpod/merges","archive_url":"https://api.github.com/repos/adrianreber/libpod/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/adrianreber/libpod/downloads","issues_url":"https://api.github.com/repos/adrianreber/libpod/issues{/number}","pulls_url":"https://api.github.com/repos/adrianreber/libpod/pulls{/number}","milestones_url":"https://api.github.com/repos/adrianreber/libpod/milestones{/number}","notifications_url":"https://api.github.com/repos/adrianreber/libpod/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/adrianreber/libpod/labels{/name}","releases_url":"https://api.github.com/repos/adrianreber/libpod/releases{/id}","deployments_url":"https://api.github.com/repos/adrianreber/libpod/deployments","created_at":"2018-03-09T09:50:08Z","updated_at":"2018-11-20T16:26:52Z","pushed_at":"2018-11-20T16:26:17Z","git_url":"git://github.com/adrianreber/libpod.git","ssh_url":"git@github.com:adrianreber/libpod.git","clone_url":"https://github.com/adrianreber/libpod.git","svn_url":"https://github.com/adrianreber/libpod","homepage":null,"size":17103,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"containers:master","ref":"master","sha":"ea928f2de6c111aeb92a7584675f2128abd3254e","user":{"login":"containers","id":5874934,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU4NzQ5MzQ=","avatar_url":"https://avatars3.githubusercontent.com/u/5874934?v=4","gravatar_id":"","url":"https://api.github.com/users/containers","html_url":"https://github.com/containers","followers_url":"https://api.github.com/users/containers/followers","following_url":"https://api.github.com/users/containers/following{/other_user}","gists_url":"https://api.github.com/users/containers/gists{/gist_id}","starred_url":"https://api.github.com/users/containers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/containers/subscriptions","organizations_url":"https://api.github.com/users/containers/orgs","repos_url":"https://api.github.com/users/containers/repos","events_url":"https://api.github.com/users/containers/events{/privacy}","received_events_url":"https://api.github.com/users/containers/received_events","type":"Organization","site_admin":false},"repo":{"id":109145553,"node_id":"MDEwOlJlcG9zaXRvcnkxMDkxNDU1NTM=","name":"libpod","full_name":"containers/libpod","private":false,"owner":{"login":"containers","id":5874934,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU4NzQ5MzQ=","avatar_url":"https://avatars3.githubusercontent.com/u/5874934?v=4","gravatar_id":"","url":"https://api.github.com/users/containers","html_url":"https://github.com/containers","followers_url":"https://api.github.com/users/containers/followers","following_url":"https://api.github.com/users/containers/following{/other_user}","gists_url":"https://api.github.com/users/containers/gists{/gist_id}","starred_url":"https://api.github.com/users/containers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/containers/subscriptions","organizations_url":"https://api.github.com/users/containers/orgs","repos_url":"https://api.github.com/users/containers/repos","events_url":"https://api.github.com/users/containers/events{/privacy}","received_events_url":"https://api.github.com/users/containers/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/containers/libpod","description":"libpod is a library used to create container pods.","fork":false,"url":"https://api.github.com/repos/containers/libpod","forks_url":"https://api.github.com/repos/containers/libpod/forks","keys_url":"https://api.github.com/repos/containers/libpod/keys{/key_id}","collaborators_url":"https://api.github.com/repos/containers/libpod/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/containers/libpod/teams","hooks_url":"https://api.github.com/repos/containers/libpod/hooks","issue_events_url":"https://api.github.com/repos/containers/libpod/issues/events{/number}","events_url":"https://api.github.com/repos/containers/libpod/events","assignees_url":"https://api.github.com/repos/containers/libpod/assignees{/user}","branches_url":"https://api.github.com/repos/containers/libpod/branches{/branch}","tags_url":"https://api.github.com/repos/containers/libpod/tags","blobs_url":"https://api.github.com/repos/containers/libpod/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/containers/libpod/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/containers/libpod/git/refs{/sha}","trees_url":"https://api.github.com/repos/containers/libpod/git/trees{/sha}","statuses_url":"https://api.github.com/repos/containers/libpod/statuses/{sha}","languages_url":"https://api.github.com/repos/containers/libpod/languages","stargazers_url":"https://api.github.com/repos/containers/libpod/stargazers","contributors_url":"https://api.github.com/repos/containers/libpod/contributors","subscribers_url":"https://api.github.com/repos/containers/libpod/subscribers","subscription_url":"https://api.github.com/repos/containers/libpod/subscription","commits_url":"https://api.github.com/repos/containers/libpod/commits{/sha}","git_commits_url":"https://api.github.com/repos/containers/libpod/git/commits{/sha}","comments_url":"https://api.github.com/repos/containers/libpod/comments{/number}","issue_comment_url":"https://api.github.com/repos/containers/libpod/issues/comments{/number}","contents_url":"https://api.github.com/repos/containers/libpod/contents/{+path}","compare_url":"https://api.github.com/repos/containers/libpod/compare/{base}...{head}","merges_url":"https://api.github.com/repos/containers/libpod/merges","archive_url":"https://api.github.com/repos/containers/libpod/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/containers/libpod/downloads","issues_url":"https://api.github.com/repos/containers/libpod/issues{/number}","pulls_url":"https://api.github.com/repos/containers/libpod/pulls{/number}","milestones_url":"https://api.github.com/repos/containers/libpod/milestones{/number}","notifications_url":"https://api.github.com/repos/containers/libpod/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/containers/libpod/labels{/name}","releases_url":"https://api.github.com/repos/containers/libpod/releases{/id}","deployments_url":"https://api.github.com/repos/containers/libpod/deployments","created_at":"2017-11-01T15:01:27Z","updated_at":"2018-11-20T10:52:50Z","pushed_at":"2018-11-20T16:29:11Z","git_url":"git://github.com/containers/libpod.git","ssh_url":"git@github.com:containers/libpod.git","clone_url":"https://github.com/containers/libpod.git","svn_url":"https://github.com/containers/libpod","homepage":null,"size":16446,"stargazers_count":530,"watchers_count":530,"language":"Go","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":97,"mirror_url":null,"archived":false,"open_issues_count":93,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":97,"open_issues":93,"watchers":530,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/containers/libpod/pulls/1835"},"html":{"href":"https://github.com/containers/libpod/pull/1835"},"issue":{"href":"https://api.github.com/repos/containers/libpod/issues/1835"},"comments":{"href":"https://api.github.com/repos/containers/libpod/issues/1835/comments"},"review_comments":{"href":"https://api.github.com/repos/containers/libpod/pulls/1835/comments"},"review_comment":{"href":"https://api.github.com/repos/containers/libpod/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/containers/libpod/pulls/1835/commits"},"statuses":{"href":"https://api.github.com/repos/containers/libpod/statuses/24c0739453b3f103a1b548c1bb611013b488afbe"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"mheon"}}