{"action":"created","comment":{"url":"https://api.github.com/repos/opencontainers/specs/pulls/comments/48785997","id":48785997,"diff_hunk":"@@ -33,24 +33,79 @@ This is provided so that consumers can find the container's configuration and ro\n }\n ```\n \n-## Lifecycle\n+## Operations\n+\n+OCI compliant runtimes MUST support the following operations, unless support for the operation can not be supported by the base operating system (kernel) itself.\n+\n+OPEN: we should consider specifying the options/args for each operation.\n+For example, checkpoint (for runc) seems to have a lot of params.\n \n ### Create\n \n-Creates the container: file system, namespaces, cgroups, capabilities.\n+Using the `config.json` and `runtime.json` files, along with the file system path referenced in the `config.json`, this operation MUST create a new container.\n+This includes creating the relevant namespaces, cgroups and configuring the appropriate capabilities for the container.\n+\n+### Start\n+\n+This operation MUST start a previously created container.\n+Starting a container MUST create a new process, as specified by the `config.json` file within the scope of the container.\n+Attempting to start an already running container MUST have no effect on the container and MUST generate an error.\n+Starting a stopped container, one that had been previously be running, MUST create a new process, as specified by the `config.json` file, within the scope of the container.\n+\n+OPEN: the entire \"generate an error\" stuff in here is something we should discuss.\n+My initial thought was that it would be better to generate an error so that the call would know exactly what happened - meaning, did something new take place or was the container already running. If we didn't return an error (or something) then the caller wouldn't know.  And they can always ignore errors if they want/need to.\n+\n+### Stop\n+\n+This operation MUST stop a running container.\n+Stopping a container MUST stop all of the processes running within the scope of the container.\n+Stopping a container MUST NOT delete the associated namespaces or cgroups for the container.","path":"runtime.md","position":37,"original_position":41,"commit_id":"b225040311c403ce922efdb0695252d65e6cd310","original_commit_id":"b669866a06037affb9b6ee067aab590a9dac470e","user":{"login":"crosbymichael","id":749551,"avatar_url":"https://avatars.githubusercontent.com/u/749551?v=3","gravatar_id":"","url":"https://api.github.com/users/crosbymichael","html_url":"https://github.com/crosbymichael","followers_url":"https://api.github.com/users/crosbymichael/followers","following_url":"https://api.github.com/users/crosbymichael/following{/other_user}","gists_url":"https://api.github.com/users/crosbymichael/gists{/gist_id}","starred_url":"https://api.github.com/users/crosbymichael/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/crosbymichael/subscriptions","organizations_url":"https://api.github.com/users/crosbymichael/orgs","repos_url":"https://api.github.com/users/crosbymichael/repos","events_url":"https://api.github.com/users/crosbymichael/events{/privacy}","received_events_url":"https://api.github.com/users/crosbymichael/received_events","type":"User","site_admin":false},"body":"Yes, for the looks of what delete is defined as right now.  I dont see any advantages right now from having it other than more operations and more complexity for implementer ","created_at":"2016-01-04T21:48:12Z","updated_at":"2016-01-04T21:48:12Z","html_url":"https://github.com/opencontainers/specs/pull/225#discussion_r48785997","pull_request_url":"https://api.github.com/repos/opencontainers/specs/pulls/225","_links":{"self":{"href":"https://api.github.com/repos/opencontainers/specs/pulls/comments/48785997"},"html":{"href":"https://github.com/opencontainers/specs/pull/225#discussion_r48785997"},"pull_request":{"href":"https://api.github.com/repos/opencontainers/specs/pulls/225"}}},"pull_request":{"url":"https://api.github.com/repos/opencontainers/specs/pulls/225","id":47563732,"html_url":"https://github.com/opencontainers/specs/pull/225","diff_url":"https://github.com/opencontainers/specs/pull/225.diff","patch_url":"https://github.com/opencontainers/specs/pull/225.patch","issue_url":"https://api.github.com/repos/opencontainers/specs/issues/225","number":225,"state":"open","locked":false,"title":"Expand on the definition of our ops","user":{"login":"duglin","id":1944671,"avatar_url":"https://avatars.githubusercontent.com/u/1944671?v=3","gravatar_id":"","url":"https://api.github.com/users/duglin","html_url":"https://github.com/duglin","followers_url":"https://api.github.com/users/duglin/followers","following_url":"https://api.github.com/users/duglin/following{/other_user}","gists_url":"https://api.github.com/users/duglin/gists{/gist_id}","starred_url":"https://api.github.com/users/duglin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/duglin/subscriptions","organizations_url":"https://api.github.com/users/duglin/orgs","repos_url":"https://api.github.com/users/duglin/repos","events_url":"https://api.github.com/users/duglin/events{/privacy}","received_events_url":"https://api.github.com/users/duglin/received_events","type":"User","site_admin":false},"body":"There are a few \"OPEN\" question in the doc that I'd like to brainstorm on.\r\n\r\nSigned-off-by: Doug Davis <dug@us.ibm.com>","created_at":"2015-10-13T17:34:02Z","updated_at":"2016-01-04T21:48:12Z","closed_at":null,"merged_at":null,"merge_commit_sha":"e09c5e37b3baca167af9c92e2abaf8b64f0a877b","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/opencontainers/specs/pulls/225/commits","review_comments_url":"https://api.github.com/repos/opencontainers/specs/pulls/225/comments","review_comment_url":"https://api.github.com/repos/opencontainers/specs/pulls/comments{/number}","comments_url":"https://api.github.com/repos/opencontainers/specs/issues/225/comments","statuses_url":"https://api.github.com/repos/opencontainers/specs/statuses/b225040311c403ce922efdb0695252d65e6cd310","head":{"label":"duglin:RuntimeOps","ref":"RuntimeOps","sha":"b225040311c403ce922efdb0695252d65e6cd310","user":{"login":"duglin","id":1944671,"avatar_url":"https://avatars.githubusercontent.com/u/1944671?v=3","gravatar_id":"","url":"https://api.github.com/users/duglin","html_url":"https://github.com/duglin","followers_url":"https://api.github.com/users/duglin/followers","following_url":"https://api.github.com/users/duglin/following{/other_user}","gists_url":"https://api.github.com/users/duglin/gists{/gist_id}","starred_url":"https://api.github.com/users/duglin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/duglin/subscriptions","organizations_url":"https://api.github.com/users/duglin/orgs","repos_url":"https://api.github.com/users/duglin/repos","events_url":"https://api.github.com/users/duglin/events{/privacy}","received_events_url":"https://api.github.com/users/duglin/received_events","type":"User","site_admin":false},"repo":{"id":43553626,"name":"specs","full_name":"duglin/specs","owner":{"login":"duglin","id":1944671,"avatar_url":"https://avatars.githubusercontent.com/u/1944671?v=3","gravatar_id":"","url":"https://api.github.com/users/duglin","html_url":"https://github.com/duglin","followers_url":"https://api.github.com/users/duglin/followers","following_url":"https://api.github.com/users/duglin/following{/other_user}","gists_url":"https://api.github.com/users/duglin/gists{/gist_id}","starred_url":"https://api.github.com/users/duglin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/duglin/subscriptions","organizations_url":"https://api.github.com/users/duglin/orgs","repos_url":"https://api.github.com/users/duglin/repos","events_url":"https://api.github.com/users/duglin/events{/privacy}","received_events_url":"https://api.github.com/users/duglin/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/duglin/specs","description":"Open Container Specifications","fork":true,"url":"https://api.github.com/repos/duglin/specs","forks_url":"https://api.github.com/repos/duglin/specs/forks","keys_url":"https://api.github.com/repos/duglin/specs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/duglin/specs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/duglin/specs/teams","hooks_url":"https://api.github.com/repos/duglin/specs/hooks","issue_events_url":"https://api.github.com/repos/duglin/specs/issues/events{/number}","events_url":"https://api.github.com/repos/duglin/specs/events","assignees_url":"https://api.github.com/repos/duglin/specs/assignees{/user}","branches_url":"https://api.github.com/repos/duglin/specs/branches{/branch}","tags_url":"https://api.github.com/repos/duglin/specs/tags","blobs_url":"https://api.github.com/repos/duglin/specs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/duglin/specs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/duglin/specs/git/refs{/sha}","trees_url":"https://api.github.com/repos/duglin/specs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/duglin/specs/statuses/{sha}","languages_url":"https://api.github.com/repos/duglin/specs/languages","stargazers_url":"https://api.github.com/repos/duglin/specs/stargazers","contributors_url":"https://api.github.com/repos/duglin/specs/contributors","subscribers_url":"https://api.github.com/repos/duglin/specs/subscribers","subscription_url":"https://api.github.com/repos/duglin/specs/subscription","commits_url":"https://api.github.com/repos/duglin/specs/commits{/sha}","git_commits_url":"https://api.github.com/repos/duglin/specs/git/commits{/sha}","comments_url":"https://api.github.com/repos/duglin/specs/comments{/number}","issue_comment_url":"https://api.github.com/repos/duglin/specs/issues/comments{/number}","contents_url":"https://api.github.com/repos/duglin/specs/contents/{+path}","compare_url":"https://api.github.com/repos/duglin/specs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/duglin/specs/merges","archive_url":"https://api.github.com/repos/duglin/specs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/duglin/specs/downloads","issues_url":"https://api.github.com/repos/duglin/specs/issues{/number}","pulls_url":"https://api.github.com/repos/duglin/specs/pulls{/number}","milestones_url":"https://api.github.com/repos/duglin/specs/milestones{/number}","notifications_url":"https://api.github.com/repos/duglin/specs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/duglin/specs/labels{/name}","releases_url":"https://api.github.com/repos/duglin/specs/releases{/id}","created_at":"2015-10-02T13:15:03Z","updated_at":"2015-10-02T13:15:04Z","pushed_at":"2016-01-04T20:52:42Z","git_url":"git://github.com/duglin/specs.git","ssh_url":"git@github.com:duglin/specs.git","clone_url":"https://github.com/duglin/specs.git","svn_url":"https://github.com/duglin/specs","homepage":"http://www.opencontainers.org","size":250,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"opencontainers:master","ref":"master","sha":"4060e6c1ccb48bae4d00d36dc15b8a843f6873d9","user":{"login":"opencontainers","id":12563465,"avatar_url":"https://avatars.githubusercontent.com/u/12563465?v=3","gravatar_id":"","url":"https://api.github.com/users/opencontainers","html_url":"https://github.com/opencontainers","followers_url":"https://api.github.com/users/opencontainers/followers","following_url":"https://api.github.com/users/opencontainers/following{/other_user}","gists_url":"https://api.github.com/users/opencontainers/gists{/gist_id}","starred_url":"https://api.github.com/users/opencontainers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/opencontainers/subscriptions","organizations_url":"https://api.github.com/users/opencontainers/orgs","repos_url":"https://api.github.com/users/opencontainers/repos","events_url":"https://api.github.com/users/opencontainers/events{/privacy}","received_events_url":"https://api.github.com/users/opencontainers/received_events","type":"Organization","site_admin":false},"repo":{"id":36960293,"name":"specs","full_name":"opencontainers/specs","owner":{"login":"opencontainers","id":12563465,"avatar_url":"https://avatars.githubusercontent.com/u/12563465?v=3","gravatar_id":"","url":"https://api.github.com/users/opencontainers","html_url":"https://github.com/opencontainers","followers_url":"https://api.github.com/users/opencontainers/followers","following_url":"https://api.github.com/users/opencontainers/following{/other_user}","gists_url":"https://api.github.com/users/opencontainers/gists{/gist_id}","starred_url":"https://api.github.com/users/opencontainers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/opencontainers/subscriptions","organizations_url":"https://api.github.com/users/opencontainers/orgs","repos_url":"https://api.github.com/users/opencontainers/repos","events_url":"https://api.github.com/users/opencontainers/events{/privacy}","received_events_url":"https://api.github.com/users/opencontainers/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/opencontainers/specs","description":"Open Container Specifications","fork":false,"url":"https://api.github.com/repos/opencontainers/specs","forks_url":"https://api.github.com/repos/opencontainers/specs/forks","keys_url":"https://api.github.com/repos/opencontainers/specs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/opencontainers/specs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/opencontainers/specs/teams","hooks_url":"https://api.github.com/repos/opencontainers/specs/hooks","issue_events_url":"https://api.github.com/repos/opencontainers/specs/issues/events{/number}","events_url":"https://api.github.com/repos/opencontainers/specs/events","assignees_url":"https://api.github.com/repos/opencontainers/specs/assignees{/user}","branches_url":"https://api.github.com/repos/opencontainers/specs/branches{/branch}","tags_url":"https://api.github.com/repos/opencontainers/specs/tags","blobs_url":"https://api.github.com/repos/opencontainers/specs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/opencontainers/specs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/opencontainers/specs/git/refs{/sha}","trees_url":"https://api.github.com/repos/opencontainers/specs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/opencontainers/specs/statuses/{sha}","languages_url":"https://api.github.com/repos/opencontainers/specs/languages","stargazers_url":"https://api.github.com/repos/opencontainers/specs/stargazers","contributors_url":"https://api.github.com/repos/opencontainers/specs/contributors","subscribers_url":"https://api.github.com/repos/opencontainers/specs/subscribers","subscription_url":"https://api.github.com/repos/opencontainers/specs/subscription","commits_url":"https://api.github.com/repos/opencontainers/specs/commits{/sha}","git_commits_url":"https://api.github.com/repos/opencontainers/specs/git/commits{/sha}","comments_url":"https://api.github.com/repos/opencontainers/specs/comments{/number}","issue_comment_url":"https://api.github.com/repos/opencontainers/specs/issues/comments{/number}","contents_url":"https://api.github.com/repos/opencontainers/specs/contents/{+path}","compare_url":"https://api.github.com/repos/opencontainers/specs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/opencontainers/specs/merges","archive_url":"https://api.github.com/repos/opencontainers/specs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/opencontainers/specs/downloads","issues_url":"https://api.github.com/repos/opencontainers/specs/issues{/number}","pulls_url":"https://api.github.com/repos/opencontainers/specs/pulls{/number}","milestones_url":"https://api.github.com/repos/opencontainers/specs/milestones{/number}","notifications_url":"https://api.github.com/repos/opencontainers/specs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/opencontainers/specs/labels{/name}","releases_url":"https://api.github.com/repos/opencontainers/specs/releases{/id}","created_at":"2015-06-05T23:30:10Z","updated_at":"2016-01-03T22:33:05Z","pushed_at":"2016-01-04T20:52:43Z","git_url":"git://github.com/opencontainers/specs.git","ssh_url":"git@github.com:opencontainers/specs.git","clone_url":"https://github.com/opencontainers/specs.git","svn_url":"https://github.com/opencontainers/specs","homepage":"http://www.opencontainers.org","size":1556,"stargazers_count":575,"watchers_count":575,"language":"Go","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":99,"mirror_url":null,"open_issues_count":46,"forks":99,"open_issues":46,"watchers":575,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/opencontainers/specs/pulls/225"},"html":{"href":"https://github.com/opencontainers/specs/pull/225"},"issue":{"href":"https://api.github.com/repos/opencontainers/specs/issues/225"},"comments":{"href":"https://api.github.com/repos/opencontainers/specs/issues/225/comments"},"review_comments":{"href":"https://api.github.com/repos/opencontainers/specs/pulls/225/comments"},"review_comment":{"href":"https://api.github.com/repos/opencontainers/specs/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/opencontainers/specs/pulls/225/commits"},"statuses":{"href":"https://api.github.com/repos/opencontainers/specs/statuses/b225040311c403ce922efdb0695252d65e6cd310"}}}}