{"action":"created","comment":{"url":"https://api.github.com/repos/tomdee/calico-docker/pulls/comments/36011545","id":36011545,"diff_hunk":"@@ -1,29 +1,139 @@\n-# Preparing Environment for Libnetwork Demonstration\n-The demonstration of the Calico libnetwork plugin is run on two Linux servers. As well as the [general](../general/EnvironmentSetup.md) Calico requirements, libnetwork imposes a few more\n-* An experimental version of Docker\n-* consul for clustering Docker\n+# Preparing the environment for libnetwork\n \n-Once you have the environment set up, you can run through the [demonstration](Demonstration.md)\n+The libnetwork Calico demonstration is run on two Linux servers that have a\n+number of installation requirements.\n+\n+This document describes how to get a working environment for the demonstration.\n+\n+Follow instructions using either the [Automated setup](#automated-setup) for\n+fast setup in a virtualized environment, or [Manual Setup](#manual-setup) if,\n+for example, you are installing on bare metal servers or would like to\n+understand the process in more detail.\n+\n+Once you have the environment set up, you can run through the \n+[demonstration](Demonstration.md)\n+\n+## Automated setup\n+\n+The worked examples below allow you to quickly set up a virtualized environment\n+using Vagrant, or in the cloud - be sure to follow the appropriate instructions\n+for using libnetwork.\n+\n+- [Vagrant install with CoreOS](../VagrantCoreOS.md)\n+- [Vagrant install with Ubuntu](../VagrantUbuntu.md)\n+- [Amazon Web Services (AWS)](../AWS.md)\n+- [Google Compute Engine (GCE)](../GCE.md)\n+- [DigitalOcean](../DigitalOcean.md)\n \n # Manual Setup\n \n-If you don't want to use one of the prepared environments above, you can create your own. \n+## Summary\n+\n+The two Linux servers require a recent version of Linux with a few network \n+network related kernel modules to be loaded. The easiest way to ensure this and\n+that the servers meet the requirements is to run `calicoctl checksystem --fix`\n+\n+The servers also need:\n+- A specific Docker release to be running - since the Calico agent is packaged\n+as a Docker container, and the libnetwork features required are currently\n+only available in an experimental release.\n+- A consul server used for clustering Docker.\n+- An Etcd cluster - which Calico uses for coordinating state between the nodes.\n+- The `calicoctl` to be placed in the `$PATH`.\n \n ## Requirements\n \n-In addition to the [general requirements](../general/EnvironmentSetup.md) you'll need the following.\n+For the demonstration, you just need 2 servers (bare metal or VMs) with a \n+modern 64-bit Linux OS and Layer-2 network (Ethernet) connectivity between\n+them.\n+\n+We recommend configuring the hosts with the hostname `calico-01` and \n+`calico-02`.  The demonstration will refer to these hostnames.\n+\n+They must have the following software installed:\n+- The experimental release of [Docker](#experimental-docker)\n+- etcd installed and available on each node: [etcd documentation][etcd]\n+- `ipset`, `iptables`, and `ip6tables` kernel modules.\n+- A [consul server](#consul) running on calico-01\n \n ### Consul\n-TODO consul\n-Grab the binary, unzip it, and run it with the following command...\n-See https://github.com/Metaswitch/calico-ubuntu-vagrant/blob/f2bf232134e3770360bb9e79b6e52da544b48ada/Vagrantfile#L41\n+\n+To install consul, download and unzip the consul binary and give it executable\n+permissions.  For example:\n+\n+    cd /opt/bin\n+    wget https://dl.bintray.com/mitchellh/consul/0.5.2_linux_amd64.zip -O consul.zip\n+    unzip -o consul.zip\n+    rm consul.zip\n+    chmod +x consul\n+\n+You can start consul using the following:\n+\n+    consul agent -server -bootstrap-expect 1 -data-dir /tmp/consul -client <IPV4>","path":"docs/getting-started/libnetwork/EnvironmentSetup.md","position":82,"original_position":82,"commit_id":"f23ee58a8d0a2b756659951f4fc3876edb317ae8","original_commit_id":"f23ee58a8d0a2b756659951f4fc3876edb317ae8","user":{"login":"tomdee","id":6635,"avatar_url":"https://avatars.githubusercontent.com/u/6635?v=3","gravatar_id":"","url":"https://api.github.com/users/tomdee","html_url":"https://github.com/tomdee","followers_url":"https://api.github.com/users/tomdee/followers","following_url":"https://api.github.com/users/tomdee/following{/other_user}","gists_url":"https://api.github.com/users/tomdee/gists{/gist_id}","starred_url":"https://api.github.com/users/tomdee/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tomdee/subscriptions","organizations_url":"https://api.github.com/users/tomdee/orgs","repos_url":"https://api.github.com/users/tomdee/repos","events_url":"https://api.github.com/users/tomdee/events{/privacy}","received_events_url":"https://api.github.com/users/tomdee/received_events","type":"User","site_admin":false},"body":"Put a ./ at the start here","created_at":"2015-07-31T20:11:02Z","updated_at":"2015-07-31T20:11:02Z","html_url":"https://github.com/tomdee/calico-docker/pull/7#discussion_r36011545","pull_request_url":"https://api.github.com/repos/tomdee/calico-docker/pulls/7","_links":{"self":{"href":"https://api.github.com/repos/tomdee/calico-docker/pulls/comments/36011545"},"html":{"href":"https://github.com/tomdee/calico-docker/pull/7#discussion_r36011545"},"pull_request":{"href":"https://api.github.com/repos/tomdee/calico-docker/pulls/7"}}},"pull_request":{"url":"https://api.github.com/repos/tomdee/calico-docker/pulls/7","id":41372416,"html_url":"https://github.com/tomdee/calico-docker/pull/7","diff_url":"https://github.com/tomdee/calico-docker/pull/7.diff","patch_url":"https://github.com/tomdee/calico-docker/pull/7.patch","issue_url":"https://api.github.com/repos/tomdee/calico-docker/issues/7","number":7,"state":"open","locked":false,"title":"Getting started markups 2","user":{"login":"tomdee","id":6635,"avatar_url":"https://avatars.githubusercontent.com/u/6635?v=3","gravatar_id":"","url":"https://api.github.com/users/tomdee","html_url":"https://github.com/tomdee","followers_url":"https://api.github.com/users/tomdee/followers","following_url":"https://api.github.com/users/tomdee/following{/other_user}","gists_url":"https://api.github.com/users/tomdee/gists{/gist_id}","starred_url":"https://api.github.com/users/tomdee/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tomdee/subscriptions","organizations_url":"https://api.github.com/users/tomdee/orgs","repos_url":"https://api.github.com/users/tomdee/repos","events_url":"https://api.github.com/users/tomdee/events{/privacy}","received_events_url":"https://api.github.com/users/tomdee/received_events","type":"User","site_admin":false},"body":"","created_at":"2015-07-31T19:24:40Z","updated_at":"2015-07-31T20:11:02Z","closed_at":null,"merged_at":null,"merge_commit_sha":"002ebc7aaad3410a7a85853c16d90025a2cbdce7","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/tomdee/calico-docker/pulls/7/commits","review_comments_url":"https://api.github.com/repos/tomdee/calico-docker/pulls/7/comments","review_comment_url":"https://api.github.com/repos/tomdee/calico-docker/pulls/comments{/number}","comments_url":"https://api.github.com/repos/tomdee/calico-docker/issues/7/comments","statuses_url":"https://api.github.com/repos/tomdee/calico-docker/statuses/f23ee58a8d0a2b756659951f4fc3876edb317ae8","head":{"label":"robbrockbank:getting-started-markups-2","ref":"getting-started-markups-2","sha":"f23ee58a8d0a2b756659951f4fc3876edb317ae8","user":{"login":"robbrockbank","id":3227729,"avatar_url":"https://avatars.githubusercontent.com/u/3227729?v=3","gravatar_id":"","url":"https://api.github.com/users/robbrockbank","html_url":"https://github.com/robbrockbank","followers_url":"https://api.github.com/users/robbrockbank/followers","following_url":"https://api.github.com/users/robbrockbank/following{/other_user}","gists_url":"https://api.github.com/users/robbrockbank/gists{/gist_id}","starred_url":"https://api.github.com/users/robbrockbank/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/robbrockbank/subscriptions","organizations_url":"https://api.github.com/users/robbrockbank/orgs","repos_url":"https://api.github.com/users/robbrockbank/repos","events_url":"https://api.github.com/users/robbrockbank/events{/privacy}","received_events_url":"https://api.github.com/users/robbrockbank/received_events","type":"User","site_admin":false},"repo":{"id":38005495,"name":"calico-docker","full_name":"robbrockbank/calico-docker","owner":{"login":"robbrockbank","id":3227729,"avatar_url":"https://avatars.githubusercontent.com/u/3227729?v=3","gravatar_id":"","url":"https://api.github.com/users/robbrockbank","html_url":"https://github.com/robbrockbank","followers_url":"https://api.github.com/users/robbrockbank/followers","following_url":"https://api.github.com/users/robbrockbank/following{/other_user}","gists_url":"https://api.github.com/users/robbrockbank/gists{/gist_id}","starred_url":"https://api.github.com/users/robbrockbank/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/robbrockbank/subscriptions","organizations_url":"https://api.github.com/users/robbrockbank/orgs","repos_url":"https://api.github.com/users/robbrockbank/repos","events_url":"https://api.github.com/users/robbrockbank/events{/privacy}","received_events_url":"https://api.github.com/users/robbrockbank/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/robbrockbank/calico-docker","description":"Docker version of Project Calico","fork":true,"url":"https://api.github.com/repos/robbrockbank/calico-docker","forks_url":"https://api.github.com/repos/robbrockbank/calico-docker/forks","keys_url":"https://api.github.com/repos/robbrockbank/calico-docker/keys{/key_id}","collaborators_url":"https://api.github.com/repos/robbrockbank/calico-docker/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/robbrockbank/calico-docker/teams","hooks_url":"https://api.github.com/repos/robbrockbank/calico-docker/hooks","issue_events_url":"https://api.github.com/repos/robbrockbank/calico-docker/issues/events{/number}","events_url":"https://api.github.com/repos/robbrockbank/calico-docker/events","assignees_url":"https://api.github.com/repos/robbrockbank/calico-docker/assignees{/user}","branches_url":"https://api.github.com/repos/robbrockbank/calico-docker/branches{/branch}","tags_url":"https://api.github.com/repos/robbrockbank/calico-docker/tags","blobs_url":"https://api.github.com/repos/robbrockbank/calico-docker/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/robbrockbank/calico-docker/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/robbrockbank/calico-docker/git/refs{/sha}","trees_url":"https://api.github.com/repos/robbrockbank/calico-docker/git/trees{/sha}","statuses_url":"https://api.github.com/repos/robbrockbank/calico-docker/statuses/{sha}","languages_url":"https://api.github.com/repos/robbrockbank/calico-docker/languages","stargazers_url":"https://api.github.com/repos/robbrockbank/calico-docker/stargazers","contributors_url":"https://api.github.com/repos/robbrockbank/calico-docker/contributors","subscribers_url":"https://api.github.com/repos/robbrockbank/calico-docker/subscribers","subscription_url":"https://api.github.com/repos/robbrockbank/calico-docker/subscription","commits_url":"https://api.github.com/repos/robbrockbank/calico-docker/commits{/sha}","git_commits_url":"https://api.github.com/repos/robbrockbank/calico-docker/git/commits{/sha}","comments_url":"https://api.github.com/repos/robbrockbank/calico-docker/comments{/number}","issue_comment_url":"https://api.github.com/repos/robbrockbank/calico-docker/issues/comments{/number}","contents_url":"https://api.github.com/repos/robbrockbank/calico-docker/contents/{+path}","compare_url":"https://api.github.com/repos/robbrockbank/calico-docker/compare/{base}...{head}","merges_url":"https://api.github.com/repos/robbrockbank/calico-docker/merges","archive_url":"https://api.github.com/repos/robbrockbank/calico-docker/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/robbrockbank/calico-docker/downloads","issues_url":"https://api.github.com/repos/robbrockbank/calico-docker/issues{/number}","pulls_url":"https://api.github.com/repos/robbrockbank/calico-docker/pulls{/number}","milestones_url":"https://api.github.com/repos/robbrockbank/calico-docker/milestones{/number}","notifications_url":"https://api.github.com/repos/robbrockbank/calico-docker/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/robbrockbank/calico-docker/labels{/name}","releases_url":"https://api.github.com/repos/robbrockbank/calico-docker/releases{/id}","created_at":"2015-06-24T19:10:26Z","updated_at":"2015-06-24T19:10:26Z","pushed_at":"2015-07-31T17:29:08Z","git_url":"git://github.com/robbrockbank/calico-docker.git","ssh_url":"git@github.com:robbrockbank/calico-docker.git","clone_url":"https://github.com/robbrockbank/calico-docker.git","svn_url":"https://github.com/robbrockbank/calico-docker","homepage":"http://www.projectcalico.org","size":13487,"stargazers_count":0,"watchers_count":0,"language":"Python","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":"tomdee:getting-started","ref":"getting-started","sha":"fd027fdfbb4bdd3e03bdd3c76e12fe5d4876fec1","user":{"login":"tomdee","id":6635,"avatar_url":"https://avatars.githubusercontent.com/u/6635?v=3","gravatar_id":"","url":"https://api.github.com/users/tomdee","html_url":"https://github.com/tomdee","followers_url":"https://api.github.com/users/tomdee/followers","following_url":"https://api.github.com/users/tomdee/following{/other_user}","gists_url":"https://api.github.com/users/tomdee/gists{/gist_id}","starred_url":"https://api.github.com/users/tomdee/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tomdee/subscriptions","organizations_url":"https://api.github.com/users/tomdee/orgs","repos_url":"https://api.github.com/users/tomdee/repos","events_url":"https://api.github.com/users/tomdee/events{/privacy}","received_events_url":"https://api.github.com/users/tomdee/received_events","type":"User","site_admin":false},"repo":{"id":37998562,"name":"calico-docker","full_name":"tomdee/calico-docker","owner":{"login":"tomdee","id":6635,"avatar_url":"https://avatars.githubusercontent.com/u/6635?v=3","gravatar_id":"","url":"https://api.github.com/users/tomdee","html_url":"https://github.com/tomdee","followers_url":"https://api.github.com/users/tomdee/followers","following_url":"https://api.github.com/users/tomdee/following{/other_user}","gists_url":"https://api.github.com/users/tomdee/gists{/gist_id}","starred_url":"https://api.github.com/users/tomdee/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tomdee/subscriptions","organizations_url":"https://api.github.com/users/tomdee/orgs","repos_url":"https://api.github.com/users/tomdee/repos","events_url":"https://api.github.com/users/tomdee/events{/privacy}","received_events_url":"https://api.github.com/users/tomdee/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/tomdee/calico-docker","description":"Docker version of Project Calico","fork":true,"url":"https://api.github.com/repos/tomdee/calico-docker","forks_url":"https://api.github.com/repos/tomdee/calico-docker/forks","keys_url":"https://api.github.com/repos/tomdee/calico-docker/keys{/key_id}","collaborators_url":"https://api.github.com/repos/tomdee/calico-docker/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/tomdee/calico-docker/teams","hooks_url":"https://api.github.com/repos/tomdee/calico-docker/hooks","issue_events_url":"https://api.github.com/repos/tomdee/calico-docker/issues/events{/number}","events_url":"https://api.github.com/repos/tomdee/calico-docker/events","assignees_url":"https://api.github.com/repos/tomdee/calico-docker/assignees{/user}","branches_url":"https://api.github.com/repos/tomdee/calico-docker/branches{/branch}","tags_url":"https://api.github.com/repos/tomdee/calico-docker/tags","blobs_url":"https://api.github.com/repos/tomdee/calico-docker/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/tomdee/calico-docker/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/tomdee/calico-docker/git/refs{/sha}","trees_url":"https://api.github.com/repos/tomdee/calico-docker/git/trees{/sha}","statuses_url":"https://api.github.com/repos/tomdee/calico-docker/statuses/{sha}","languages_url":"https://api.github.com/repos/tomdee/calico-docker/languages","stargazers_url":"https://api.github.com/repos/tomdee/calico-docker/stargazers","contributors_url":"https://api.github.com/repos/tomdee/calico-docker/contributors","subscribers_url":"https://api.github.com/repos/tomdee/calico-docker/subscribers","subscription_url":"https://api.github.com/repos/tomdee/calico-docker/subscription","commits_url":"https://api.github.com/repos/tomdee/calico-docker/commits{/sha}","git_commits_url":"https://api.github.com/repos/tomdee/calico-docker/git/commits{/sha}","comments_url":"https://api.github.com/repos/tomdee/calico-docker/comments{/number}","issue_comment_url":"https://api.github.com/repos/tomdee/calico-docker/issues/comments{/number}","contents_url":"https://api.github.com/repos/tomdee/calico-docker/contents/{+path}","compare_url":"https://api.github.com/repos/tomdee/calico-docker/compare/{base}...{head}","merges_url":"https://api.github.com/repos/tomdee/calico-docker/merges","archive_url":"https://api.github.com/repos/tomdee/calico-docker/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/tomdee/calico-docker/downloads","issues_url":"https://api.github.com/repos/tomdee/calico-docker/issues{/number}","pulls_url":"https://api.github.com/repos/tomdee/calico-docker/pulls{/number}","milestones_url":"https://api.github.com/repos/tomdee/calico-docker/milestones{/number}","notifications_url":"https://api.github.com/repos/tomdee/calico-docker/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/tomdee/calico-docker/labels{/name}","releases_url":"https://api.github.com/repos/tomdee/calico-docker/releases{/id}","created_at":"2015-06-24T17:05:45Z","updated_at":"2015-06-24T17:05:46Z","pushed_at":"2015-07-31T19:24:40Z","git_url":"git://github.com/tomdee/calico-docker.git","ssh_url":"git@github.com:tomdee/calico-docker.git","clone_url":"https://github.com/tomdee/calico-docker.git","svn_url":"https://github.com/tomdee/calico-docker","homepage":"http://www.projectcalico.org","size":13478,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":2,"forks":0,"open_issues":2,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/tomdee/calico-docker/pulls/7"},"html":{"href":"https://github.com/tomdee/calico-docker/pull/7"},"issue":{"href":"https://api.github.com/repos/tomdee/calico-docker/issues/7"},"comments":{"href":"https://api.github.com/repos/tomdee/calico-docker/issues/7/comments"},"review_comments":{"href":"https://api.github.com/repos/tomdee/calico-docker/pulls/7/comments"},"review_comment":{"href":"https://api.github.com/repos/tomdee/calico-docker/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/tomdee/calico-docker/pulls/7/commits"},"statuses":{"href":"https://api.github.com/repos/tomdee/calico-docker/statuses/f23ee58a8d0a2b756659951f4fc3876edb317ae8"}}}}