{"action":"created","comment":{"url":"https://api.github.com/repos/docker/docker/pulls/comments/71559066","id":71559066,"diff_hunk":"@@ -0,0 +1,94 @@\n+<!--[metadata]>\n++++\n+aliases = [\n+\"/engine/swarm/how-swarm-mode-works/\"\n+]\n+title = \"How nodes work\"\n+description = \"How swarm nodes work\"\n+keywords = [\"docker, container, cluster, swarm mode, node\"]\n+advisory = \"rc\"\n+[menu.main]\n+identifier=\"how-nodes-work\"\n+parent=\"how-swarm-works\"\n+weight=\"3\"\n++++\n+<![end-metadata]-->\n+\n+# How nodes work\n+\n+Docker Engine 1.12 introduces swarm mode that enables you to create a\n+cluster of one or more Docker Engines called a swarm. A swarm consists\n+of one or more nodes: physical or virtual machines running Docker\n+Engine 1.12 or later in swarm mode.\n+\n+There are two types of nodes: [**managers**](#manager-nodes) and\n+[**workers**](#worker-nodes).\n+\n+![Swarm mode cluster](../images/swarm-diagram.png)\n+\n+If you haven't already, read through the [swarm mode overview](../index.md) and [key concepts](../key-concepts.md).\n+\n+## Manager nodes\n+\n+Manager nodes handle cluster management tasks:\n+\n+* maintaining cluster state\n+* scheduling services\n+* serving swarm mode [HTTP API endpoints](../../reference/api/index.md)\n+\n+Using a [Raft](https://raft.github.io/raft.pdf) implementation, the\n+managers maintain a consistent internal state of the entire swarm and\n+all the services running on it. In most cases, one manager should be","path":"docs/swarm/how-swarm-mode-works/nodes.md","position":null,"original_position":41,"commit_id":"6f359a41fb163ad3847c91769d4a3dd2c7558763","original_commit_id":"69ea7bb76049e3ddc2defd0ab9c2535f3c9ab697","user":{"login":"abronan","id":1655859,"avatar_url":"https://avatars.githubusercontent.com/u/1655859?v=3","gravatar_id":"","url":"https://api.github.com/users/abronan","html_url":"https://github.com/abronan","followers_url":"https://api.github.com/users/abronan/followers","following_url":"https://api.github.com/users/abronan/following{/other_user}","gists_url":"https://api.github.com/users/abronan/gists{/gist_id}","starred_url":"https://api.github.com/users/abronan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abronan/subscriptions","organizations_url":"https://api.github.com/users/abronan/orgs","repos_url":"https://api.github.com/users/abronan/repos","events_url":"https://api.github.com/users/abronan/events{/privacy}","received_events_url":"https://api.github.com/users/abronan/received_events","type":"User","site_admin":false},"body":"Agreed with the comment above, we should remove that sentence. Single Manager is only suitable for testing. But it's up to the user to decide what is reasonable or not for their use case.","created_at":"2016-07-20T16:29:06Z","updated_at":"2016-07-20T16:29:06Z","html_url":"https://github.com/docker/docker/pull/24820#discussion_r71559066","pull_request_url":"https://api.github.com/repos/docker/docker/pulls/24820","_links":{"self":{"href":"https://api.github.com/repos/docker/docker/pulls/comments/71559066"},"html":{"href":"https://github.com/docker/docker/pull/24820#discussion_r71559066"},"pull_request":{"href":"https://api.github.com/repos/docker/docker/pulls/24820"}}},"pull_request":{"url":"https://api.github.com/repos/docker/docker/pulls/24820","id":78058493,"html_url":"https://github.com/docker/docker/pull/24820","diff_url":"https://github.com/docker/docker/pull/24820.diff","patch_url":"https://github.com/docker/docker/pull/24820.patch","issue_url":"https://api.github.com/repos/docker/docker/issues/24820","number":24820,"state":"open","locked":false,"title":"add how nodes work to how swarm works guide","user":{"login":"sfsmithcha","id":2415653,"avatar_url":"https://avatars.githubusercontent.com/u/2415653?v=3","gravatar_id":"","url":"https://api.github.com/users/sfsmithcha","html_url":"https://github.com/sfsmithcha","followers_url":"https://api.github.com/users/sfsmithcha/followers","following_url":"https://api.github.com/users/sfsmithcha/following{/other_user}","gists_url":"https://api.github.com/users/sfsmithcha/gists{/gist_id}","starred_url":"https://api.github.com/users/sfsmithcha/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sfsmithcha/subscriptions","organizations_url":"https://api.github.com/users/sfsmithcha/orgs","repos_url":"https://api.github.com/users/sfsmithcha/repos","events_url":"https://api.github.com/users/sfsmithcha/events{/privacy}","received_events_url":"https://api.github.com/users/sfsmithcha/received_events","type":"User","site_admin":false},"body":"Add first topic to \"How swarm mode works\" guide: How nodes work.\r\n\r\nSigned-off-by: Charles Smith <charles.smith@docker.com>","created_at":"2016-07-19T22:12:37Z","updated_at":"2016-07-20T16:29:06Z","closed_at":null,"merged_at":null,"merge_commit_sha":"2cea794c5638eceb80929d591900aab22afbc3f9","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/docker/docker/pulls/24820/commits","review_comments_url":"https://api.github.com/repos/docker/docker/pulls/24820/comments","review_comment_url":"https://api.github.com/repos/docker/docker/pulls/comments{/number}","comments_url":"https://api.github.com/repos/docker/docker/issues/24820/comments","statuses_url":"https://api.github.com/repos/docker/docker/statuses/6f359a41fb163ad3847c91769d4a3dd2c7558763","head":{"label":"sfsmithcha:add_how_swarm_works_guide","ref":"add_how_swarm_works_guide","sha":"6f359a41fb163ad3847c91769d4a3dd2c7558763","user":{"login":"sfsmithcha","id":2415653,"avatar_url":"https://avatars.githubusercontent.com/u/2415653?v=3","gravatar_id":"","url":"https://api.github.com/users/sfsmithcha","html_url":"https://github.com/sfsmithcha","followers_url":"https://api.github.com/users/sfsmithcha/followers","following_url":"https://api.github.com/users/sfsmithcha/following{/other_user}","gists_url":"https://api.github.com/users/sfsmithcha/gists{/gist_id}","starred_url":"https://api.github.com/users/sfsmithcha/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sfsmithcha/subscriptions","organizations_url":"https://api.github.com/users/sfsmithcha/orgs","repos_url":"https://api.github.com/users/sfsmithcha/repos","events_url":"https://api.github.com/users/sfsmithcha/events{/privacy}","received_events_url":"https://api.github.com/users/sfsmithcha/received_events","type":"User","site_admin":false},"repo":{"id":55171255,"name":"docker","full_name":"sfsmithcha/docker","owner":{"login":"sfsmithcha","id":2415653,"avatar_url":"https://avatars.githubusercontent.com/u/2415653?v=3","gravatar_id":"","url":"https://api.github.com/users/sfsmithcha","html_url":"https://github.com/sfsmithcha","followers_url":"https://api.github.com/users/sfsmithcha/followers","following_url":"https://api.github.com/users/sfsmithcha/following{/other_user}","gists_url":"https://api.github.com/users/sfsmithcha/gists{/gist_id}","starred_url":"https://api.github.com/users/sfsmithcha/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sfsmithcha/subscriptions","organizations_url":"https://api.github.com/users/sfsmithcha/orgs","repos_url":"https://api.github.com/users/sfsmithcha/repos","events_url":"https://api.github.com/users/sfsmithcha/events{/privacy}","received_events_url":"https://api.github.com/users/sfsmithcha/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/sfsmithcha/docker","description":"Docker - the open-source application container engine","fork":true,"url":"https://api.github.com/repos/sfsmithcha/docker","forks_url":"https://api.github.com/repos/sfsmithcha/docker/forks","keys_url":"https://api.github.com/repos/sfsmithcha/docker/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sfsmithcha/docker/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sfsmithcha/docker/teams","hooks_url":"https://api.github.com/repos/sfsmithcha/docker/hooks","issue_events_url":"https://api.github.com/repos/sfsmithcha/docker/issues/events{/number}","events_url":"https://api.github.com/repos/sfsmithcha/docker/events","assignees_url":"https://api.github.com/repos/sfsmithcha/docker/assignees{/user}","branches_url":"https://api.github.com/repos/sfsmithcha/docker/branches{/branch}","tags_url":"https://api.github.com/repos/sfsmithcha/docker/tags","blobs_url":"https://api.github.com/repos/sfsmithcha/docker/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sfsmithcha/docker/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sfsmithcha/docker/git/refs{/sha}","trees_url":"https://api.github.com/repos/sfsmithcha/docker/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sfsmithcha/docker/statuses/{sha}","languages_url":"https://api.github.com/repos/sfsmithcha/docker/languages","stargazers_url":"https://api.github.com/repos/sfsmithcha/docker/stargazers","contributors_url":"https://api.github.com/repos/sfsmithcha/docker/contributors","subscribers_url":"https://api.github.com/repos/sfsmithcha/docker/subscribers","subscription_url":"https://api.github.com/repos/sfsmithcha/docker/subscription","commits_url":"https://api.github.com/repos/sfsmithcha/docker/commits{/sha}","git_commits_url":"https://api.github.com/repos/sfsmithcha/docker/git/commits{/sha}","comments_url":"https://api.github.com/repos/sfsmithcha/docker/comments{/number}","issue_comment_url":"https://api.github.com/repos/sfsmithcha/docker/issues/comments{/number}","contents_url":"https://api.github.com/repos/sfsmithcha/docker/contents/{+path}","compare_url":"https://api.github.com/repos/sfsmithcha/docker/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sfsmithcha/docker/merges","archive_url":"https://api.github.com/repos/sfsmithcha/docker/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sfsmithcha/docker/downloads","issues_url":"https://api.github.com/repos/sfsmithcha/docker/issues{/number}","pulls_url":"https://api.github.com/repos/sfsmithcha/docker/pulls{/number}","milestones_url":"https://api.github.com/repos/sfsmithcha/docker/milestones{/number}","notifications_url":"https://api.github.com/repos/sfsmithcha/docker/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sfsmithcha/docker/labels{/name}","releases_url":"https://api.github.com/repos/sfsmithcha/docker/releases{/id}","deployments_url":"https://api.github.com/repos/sfsmithcha/docker/deployments","created_at":"2016-03-31T17:50:02Z","updated_at":"2016-03-31T17:50:14Z","pushed_at":"2016-07-20T16:15:45Z","git_url":"git://github.com/sfsmithcha/docker.git","ssh_url":"git@github.com:sfsmithcha/docker.git","clone_url":"https://github.com/sfsmithcha/docker.git","svn_url":"https://github.com/sfsmithcha/docker","homepage":"http://www.docker.com","size":98207,"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":"docker:master","ref":"master","sha":"b9c49598825529a165e2fead7eae70c3442af7ba","user":{"login":"docker","id":5429470,"avatar_url":"https://avatars.githubusercontent.com/u/5429470?v=3","gravatar_id":"","url":"https://api.github.com/users/docker","html_url":"https://github.com/docker","followers_url":"https://api.github.com/users/docker/followers","following_url":"https://api.github.com/users/docker/following{/other_user}","gists_url":"https://api.github.com/users/docker/gists{/gist_id}","starred_url":"https://api.github.com/users/docker/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/docker/subscriptions","organizations_url":"https://api.github.com/users/docker/orgs","repos_url":"https://api.github.com/users/docker/repos","events_url":"https://api.github.com/users/docker/events{/privacy}","received_events_url":"https://api.github.com/users/docker/received_events","type":"Organization","site_admin":false},"repo":{"id":7691631,"name":"docker","full_name":"docker/docker","owner":{"login":"docker","id":5429470,"avatar_url":"https://avatars.githubusercontent.com/u/5429470?v=3","gravatar_id":"","url":"https://api.github.com/users/docker","html_url":"https://github.com/docker","followers_url":"https://api.github.com/users/docker/followers","following_url":"https://api.github.com/users/docker/following{/other_user}","gists_url":"https://api.github.com/users/docker/gists{/gist_id}","starred_url":"https://api.github.com/users/docker/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/docker/subscriptions","organizations_url":"https://api.github.com/users/docker/orgs","repos_url":"https://api.github.com/users/docker/repos","events_url":"https://api.github.com/users/docker/events{/privacy}","received_events_url":"https://api.github.com/users/docker/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/docker/docker","description":"Docker - the open-source application container engine","fork":false,"url":"https://api.github.com/repos/docker/docker","forks_url":"https://api.github.com/repos/docker/docker/forks","keys_url":"https://api.github.com/repos/docker/docker/keys{/key_id}","collaborators_url":"https://api.github.com/repos/docker/docker/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/docker/docker/teams","hooks_url":"https://api.github.com/repos/docker/docker/hooks","issue_events_url":"https://api.github.com/repos/docker/docker/issues/events{/number}","events_url":"https://api.github.com/repos/docker/docker/events","assignees_url":"https://api.github.com/repos/docker/docker/assignees{/user}","branches_url":"https://api.github.com/repos/docker/docker/branches{/branch}","tags_url":"https://api.github.com/repos/docker/docker/tags","blobs_url":"https://api.github.com/repos/docker/docker/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/docker/docker/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/docker/docker/git/refs{/sha}","trees_url":"https://api.github.com/repos/docker/docker/git/trees{/sha}","statuses_url":"https://api.github.com/repos/docker/docker/statuses/{sha}","languages_url":"https://api.github.com/repos/docker/docker/languages","stargazers_url":"https://api.github.com/repos/docker/docker/stargazers","contributors_url":"https://api.github.com/repos/docker/docker/contributors","subscribers_url":"https://api.github.com/repos/docker/docker/subscribers","subscription_url":"https://api.github.com/repos/docker/docker/subscription","commits_url":"https://api.github.com/repos/docker/docker/commits{/sha}","git_commits_url":"https://api.github.com/repos/docker/docker/git/commits{/sha}","comments_url":"https://api.github.com/repos/docker/docker/comments{/number}","issue_comment_url":"https://api.github.com/repos/docker/docker/issues/comments{/number}","contents_url":"https://api.github.com/repos/docker/docker/contents/{+path}","compare_url":"https://api.github.com/repos/docker/docker/compare/{base}...{head}","merges_url":"https://api.github.com/repos/docker/docker/merges","archive_url":"https://api.github.com/repos/docker/docker/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/docker/docker/downloads","issues_url":"https://api.github.com/repos/docker/docker/issues{/number}","pulls_url":"https://api.github.com/repos/docker/docker/pulls{/number}","milestones_url":"https://api.github.com/repos/docker/docker/milestones{/number}","notifications_url":"https://api.github.com/repos/docker/docker/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/docker/docker/labels{/name}","releases_url":"https://api.github.com/repos/docker/docker/releases{/id}","deployments_url":"https://api.github.com/repos/docker/docker/deployments","created_at":"2013-01-18T18:10:57Z","updated_at":"2016-07-20T16:22:06Z","pushed_at":"2016-07-20T16:17:05Z","git_url":"git://github.com/docker/docker.git","ssh_url":"git@github.com:docker/docker.git","clone_url":"https://github.com/docker/docker.git","svn_url":"https://github.com/docker/docker","homepage":"http://www.docker.com","size":205270,"stargazers_count":33192,"watchers_count":33192,"language":"Go","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":9621,"mirror_url":null,"open_issues_count":2020,"forks":9621,"open_issues":2020,"watchers":33192,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/docker/docker/pulls/24820"},"html":{"href":"https://github.com/docker/docker/pull/24820"},"issue":{"href":"https://api.github.com/repos/docker/docker/issues/24820"},"comments":{"href":"https://api.github.com/repos/docker/docker/issues/24820/comments"},"review_comments":{"href":"https://api.github.com/repos/docker/docker/pulls/24820/comments"},"review_comment":{"href":"https://api.github.com/repos/docker/docker/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/docker/docker/pulls/24820/commits"},"statuses":{"href":"https://api.github.com/repos/docker/docker/statuses/6f359a41fb163ad3847c91769d4a3dd2c7558763"}}}}
{"actor":{"display_login":"abronan"}}