{"action":"created","comment":{"url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/pulls/comments/51314994","id":51314994,"diff_hunk":"@@ -0,0 +1,138 @@\n+---\n+layout: docs_page\n+title: Using the F5 OpenStack LBaaSv1 Plugin in OpenStack\n+url: {{ page.title | slugify }}\n+resource: true\n+tags: kilo, juno, icehouse, havana, lbaasv1, 1.0.10, 1.0.12 \n+---\n+\n+## Overview\n+\n+The F5 OpenStack LBaaSv1 plugin allows you to orchestrate BIG-IP load balancing services -- including virtual IPs, pools, device service groups, and health monitoring -- in an OpenStack environment.\n+\n+The F5 plugin agent translates 'OpenStack' to 'BIG-IP', so to speak, allowing you to provision BIG-IP load balancing services in an OpenStack environment. \n+\n+The diagram below shows a sample configured OpenStack environment using the F5 plugin for OpenStack LBaaSv1. The plugin agent communicates with a BIG-IP platform or Virtual Edition via iApps. The load balancing service request is handled by the BIG-IP according to its configurations; it can then connect, discover, and/or deploy to the cloud-based apps or vms in the OpenStack project network.\n+\n+<img src=\"/media/openstack_lbaas_env_example.png\" alt=\"Figure 1\" width=\"500\">\n+<strong>Figure 1</strong>\n+\n+### Prerequisites\n+\n+Before you install the F5 OpenStack LBaaSv1 plugin, you'll need the following:\n+\n+1. An [OpenStack](http://www.openstack.org/) **Kilo** installation that has at least one controller, compute, and network node. \n+**TIP:** If you're unsure where to begin with OpenStack, the [OpenStack Deployment Guide](tbd) is a good place to start.\n+2. Licensed BIG-IP hardware or Virtual Edition (VE) (v11.5.0 or later). \n+3. Administrator priveleges on the OpenStack host(s), BIG-IP(s), and any associated device clusters. \n+\n+## Deploy the F5 OpenStack LBaaSv1 Plugin\n+\n+### Install the Plugin Package\n+\n+The F5 OpenStack LBaaSv1 plugin is comprised of a driver and an agent. The driver should be installed on your controller. While the agent can run on any host that has the Neutron python libraries installed, we recommend installing it on a controller or gateway node (they contain the Neutron python libraries by default).   \n+\n+**TIP:** Install the agent on each host in your OpenStack environment; this will allow you to provision BIG-IP services across your network. Running multiple F5 plugin agents for the *same* environment on *different* hosts provides redundancy in LBaaS provisioning for that environment. \n+\n+**CAUTION:** If you choose to deploy multiple agents for the same environment, they *must* run on different hosts. If you run multiple F5 plugin agents on the same host,  each agent must be orchestrating its own environment \\(in other words, each agent has to be controlling different TMOS clusters with unique environment prefixes\\).  \n+\n+#### Red Hat / CentOS\n+```\n+rpm -ivh f5-bigip-common_1.0.12.noarch.el7.rpm\n+rpm -i f5-oslbaasv1-driver-1.0.12.noarch.rpm \n+rpm -i f5-oslbaasv1-agent-1.0.12.noarch.rpm\n+```\n+\n+#### Ubuntu\n+```\n+dpkg -i f5-bigip-common_1.0.12_all.deb\n+dpkg -i f5-oslbaasv1-driver_1.0.12_all.deb \n+dpkg -i f5-oslbaasv1-lbaas-agent_1.0.12_all.deb","path":"doc/lbaasv1-plugin-deploy-guide.md","position":50,"original_position":50,"commit_id":"ac99cf6c39917ec1f9ef87931e33f57b196b71ab","original_commit_id":"ac99cf6c39917ec1f9ef87931e33f57b196b71ab","user":{"login":"mattgreene","id":14237463,"avatar_url":"https://avatars.githubusercontent.com/u/14237463?v=3","gravatar_id":"","url":"https://api.github.com/users/mattgreene","html_url":"https://github.com/mattgreene","followers_url":"https://api.github.com/users/mattgreene/followers","following_url":"https://api.github.com/users/mattgreene/following{/other_user}","gists_url":"https://api.github.com/users/mattgreene/gists{/gist_id}","starred_url":"https://api.github.com/users/mattgreene/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mattgreene/subscriptions","organizations_url":"https://api.github.com/users/mattgreene/orgs","repos_url":"https://api.github.com/users/mattgreene/repos","events_url":"https://api.github.com/users/mattgreene/events{/privacy}","received_events_url":"https://api.github.com/users/mattgreene/received_events","type":"User","site_admin":false},"body":"f5-oslbaasv1-lbaas-agent_1.0.12_all.deb should be f5-oslbaasv1-agent_1.0.12_all.deb","created_at":"2016-01-29T21:00:28Z","updated_at":"2016-01-29T21:00:28Z","html_url":"https://github.com/F5Networks/f5-openstack-lbaasv1/pull/22#discussion_r51314994","pull_request_url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/pulls/22","_links":{"self":{"href":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/pulls/comments/51314994"},"html":{"href":"https://github.com/F5Networks/f5-openstack-lbaasv1/pull/22#discussion_r51314994"},"pull_request":{"href":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/pulls/22"}}},"pull_request":{"url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/pulls/22","id":57588052,"html_url":"https://github.com/F5Networks/f5-openstack-lbaasv1/pull/22","diff_url":"https://github.com/F5Networks/f5-openstack-lbaasv1/pull/22.diff","patch_url":"https://github.com/F5Networks/f5-openstack-lbaasv1/pull/22.patch","issue_url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/issues/22","number":22,"state":"open","locked":false,"title":"Release docs for 1.0.12","user":{"login":"jputrino","id":12143793,"avatar_url":"https://avatars.githubusercontent.com/u/12143793?v=3","gravatar_id":"","url":"https://api.github.com/users/jputrino","html_url":"https://github.com/jputrino","followers_url":"https://api.github.com/users/jputrino/followers","following_url":"https://api.github.com/users/jputrino/following{/other_user}","gists_url":"https://api.github.com/users/jputrino/gists{/gist_id}","starred_url":"https://api.github.com/users/jputrino/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jputrino/subscriptions","organizations_url":"https://api.github.com/users/jputrino/orgs","repos_url":"https://api.github.com/users/jputrino/repos","events_url":"https://api.github.com/users/jputrino/events{/privacy}","received_events_url":"https://api.github.com/users/jputrino/received_events","type":"User","site_admin":false},"body":"@mattgreene @swormke \r\n\r\n#### What's this change do?\r\nMakes gruber's f5-oslbaasv1-readme file look prettier, including the images.\r\nAdds the top-level readme for the 1.0.12 release.\r\nAdds the OS-specific readmes for the 1.0.12 release.\r\n\r\n#### Where should the reviewer start?\r\nLook at doc/release_readme.md, doc/release_deb.md, and doc/release_rpm.md. \r\nf5-oslbaasv1-readme.md has NOT been vetted, just edited for formatting.\r\n\r\nI'm concerned about the following section in the deb/rpm readmes:\r\n\"4. Enable LBaaS on the Controller Node\r\n```\r\n# vi 'local_settings'\r\nOPENSTACK_NEUTRON_NETWORK = { 'enable_lb': True, ...}\"\r\n```\"\r\nI wasn't able to find a corresponding setting.\r\n\r\n#### Any background context?\r\nI've only tested the rpm package, someone needs to vet the deb commands and folders.","created_at":"2016-01-29T00:14:31Z","updated_at":"2016-01-29T21:00:28Z","closed_at":null,"merged_at":null,"merge_commit_sha":"46ea8424064115fbac2d2ccbd682f1f1a1f810b0","assignee":{"login":"mattgreene","id":14237463,"avatar_url":"https://avatars.githubusercontent.com/u/14237463?v=3","gravatar_id":"","url":"https://api.github.com/users/mattgreene","html_url":"https://github.com/mattgreene","followers_url":"https://api.github.com/users/mattgreene/followers","following_url":"https://api.github.com/users/mattgreene/following{/other_user}","gists_url":"https://api.github.com/users/mattgreene/gists{/gist_id}","starred_url":"https://api.github.com/users/mattgreene/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mattgreene/subscriptions","organizations_url":"https://api.github.com/users/mattgreene/orgs","repos_url":"https://api.github.com/users/mattgreene/repos","events_url":"https://api.github.com/users/mattgreene/events{/privacy}","received_events_url":"https://api.github.com/users/mattgreene/received_events","type":"User","site_admin":false},"milestone":null,"commits_url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/pulls/22/commits","review_comments_url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/pulls/22/comments","review_comment_url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/pulls/comments{/number}","comments_url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/issues/22/comments","statuses_url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/statuses/ac99cf6c39917ec1f9ef87931e33f57b196b71ab","head":{"label":"jputrino:1.0","ref":"1.0","sha":"ac99cf6c39917ec1f9ef87931e33f57b196b71ab","user":{"login":"jputrino","id":12143793,"avatar_url":"https://avatars.githubusercontent.com/u/12143793?v=3","gravatar_id":"","url":"https://api.github.com/users/jputrino","html_url":"https://github.com/jputrino","followers_url":"https://api.github.com/users/jputrino/followers","following_url":"https://api.github.com/users/jputrino/following{/other_user}","gists_url":"https://api.github.com/users/jputrino/gists{/gist_id}","starred_url":"https://api.github.com/users/jputrino/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jputrino/subscriptions","organizations_url":"https://api.github.com/users/jputrino/orgs","repos_url":"https://api.github.com/users/jputrino/repos","events_url":"https://api.github.com/users/jputrino/events{/privacy}","received_events_url":"https://api.github.com/users/jputrino/received_events","type":"User","site_admin":false},"repo":{"id":50615109,"name":"f5-openstack-lbaasv1","full_name":"jputrino/f5-openstack-lbaasv1","owner":{"login":"jputrino","id":12143793,"avatar_url":"https://avatars.githubusercontent.com/u/12143793?v=3","gravatar_id":"","url":"https://api.github.com/users/jputrino","html_url":"https://github.com/jputrino","followers_url":"https://api.github.com/users/jputrino/followers","following_url":"https://api.github.com/users/jputrino/following{/other_user}","gists_url":"https://api.github.com/users/jputrino/gists{/gist_id}","starred_url":"https://api.github.com/users/jputrino/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jputrino/subscriptions","organizations_url":"https://api.github.com/users/jputrino/orgs","repos_url":"https://api.github.com/users/jputrino/repos","events_url":"https://api.github.com/users/jputrino/events{/privacy}","received_events_url":"https://api.github.com/users/jputrino/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jputrino/f5-openstack-lbaasv1","description":"OpenStack Neutron LBaaSv1 plugin and agent to control F5 BIG-IP devices","fork":true,"url":"https://api.github.com/repos/jputrino/f5-openstack-lbaasv1","forks_url":"https://api.github.com/repos/jputrino/f5-openstack-lbaasv1/forks","keys_url":"https://api.github.com/repos/jputrino/f5-openstack-lbaasv1/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jputrino/f5-openstack-lbaasv1/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jputrino/f5-openstack-lbaasv1/teams","hooks_url":"https://api.github.com/repos/jputrino/f5-openstack-lbaasv1/hooks","issue_events_url":"https://api.github.com/repos/jputrino/f5-openstack-lbaasv1/issues/events{/number}","events_url":"https://api.github.com/repos/jputrino/f5-openstack-lbaasv1/events","assignees_url":"https://api.github.com/repos/jputrino/f5-openstack-lbaasv1/assignees{/user}","branches_url":"https://api.github.com/repos/jputrino/f5-openstack-lbaasv1/branches{/branch}","tags_url":"https://api.github.com/repos/jputrino/f5-openstack-lbaasv1/tags","blobs_url":"https://api.github.com/repos/jputrino/f5-openstack-lbaasv1/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jputrino/f5-openstack-lbaasv1/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jputrino/f5-openstack-lbaasv1/git/refs{/sha}","trees_url":"https://api.github.com/repos/jputrino/f5-openstack-lbaasv1/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jputrino/f5-openstack-lbaasv1/statuses/{sha}","languages_url":"https://api.github.com/repos/jputrino/f5-openstack-lbaasv1/languages","stargazers_url":"https://api.github.com/repos/jputrino/f5-openstack-lbaasv1/stargazers","contributors_url":"https://api.github.com/repos/jputrino/f5-openstack-lbaasv1/contributors","subscribers_url":"https://api.github.com/repos/jputrino/f5-openstack-lbaasv1/subscribers","subscription_url":"https://api.github.com/repos/jputrino/f5-openstack-lbaasv1/subscription","commits_url":"https://api.github.com/repos/jputrino/f5-openstack-lbaasv1/commits{/sha}","git_commits_url":"https://api.github.com/repos/jputrino/f5-openstack-lbaasv1/git/commits{/sha}","comments_url":"https://api.github.com/repos/jputrino/f5-openstack-lbaasv1/comments{/number}","issue_comment_url":"https://api.github.com/repos/jputrino/f5-openstack-lbaasv1/issues/comments{/number}","contents_url":"https://api.github.com/repos/jputrino/f5-openstack-lbaasv1/contents/{+path}","compare_url":"https://api.github.com/repos/jputrino/f5-openstack-lbaasv1/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jputrino/f5-openstack-lbaasv1/merges","archive_url":"https://api.github.com/repos/jputrino/f5-openstack-lbaasv1/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jputrino/f5-openstack-lbaasv1/downloads","issues_url":"https://api.github.com/repos/jputrino/f5-openstack-lbaasv1/issues{/number}","pulls_url":"https://api.github.com/repos/jputrino/f5-openstack-lbaasv1/pulls{/number}","milestones_url":"https://api.github.com/repos/jputrino/f5-openstack-lbaasv1/milestones{/number}","notifications_url":"https://api.github.com/repos/jputrino/f5-openstack-lbaasv1/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jputrino/f5-openstack-lbaasv1/labels{/name}","releases_url":"https://api.github.com/repos/jputrino/f5-openstack-lbaasv1/releases{/id}","deployments_url":"https://api.github.com/repos/jputrino/f5-openstack-lbaasv1/deployments","created_at":"2016-01-28T21:28:58Z","updated_at":"2016-01-28T21:28:59Z","pushed_at":"2016-01-29T00:11:10Z","git_url":"git://github.com/jputrino/f5-openstack-lbaasv1.git","ssh_url":"git@github.com:jputrino/f5-openstack-lbaasv1.git","clone_url":"https://github.com/jputrino/f5-openstack-lbaasv1.git","svn_url":"https://github.com/jputrino/f5-openstack-lbaasv1","homepage":"","size":7593,"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":"F5Networks:1.0","ref":"1.0","sha":"e06ca2afba4eb47bd8df3a4de08166a92ef20905","user":{"login":"F5Networks","id":8935905,"avatar_url":"https://avatars.githubusercontent.com/u/8935905?v=3","gravatar_id":"","url":"https://api.github.com/users/F5Networks","html_url":"https://github.com/F5Networks","followers_url":"https://api.github.com/users/F5Networks/followers","following_url":"https://api.github.com/users/F5Networks/following{/other_user}","gists_url":"https://api.github.com/users/F5Networks/gists{/gist_id}","starred_url":"https://api.github.com/users/F5Networks/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/F5Networks/subscriptions","organizations_url":"https://api.github.com/users/F5Networks/orgs","repos_url":"https://api.github.com/users/F5Networks/repos","events_url":"https://api.github.com/users/F5Networks/events{/privacy}","received_events_url":"https://api.github.com/users/F5Networks/received_events","type":"Organization","site_admin":false},"repo":{"id":49971166,"name":"f5-openstack-lbaasv1","full_name":"F5Networks/f5-openstack-lbaasv1","owner":{"login":"F5Networks","id":8935905,"avatar_url":"https://avatars.githubusercontent.com/u/8935905?v=3","gravatar_id":"","url":"https://api.github.com/users/F5Networks","html_url":"https://github.com/F5Networks","followers_url":"https://api.github.com/users/F5Networks/followers","following_url":"https://api.github.com/users/F5Networks/following{/other_user}","gists_url":"https://api.github.com/users/F5Networks/gists{/gist_id}","starred_url":"https://api.github.com/users/F5Networks/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/F5Networks/subscriptions","organizations_url":"https://api.github.com/users/F5Networks/orgs","repos_url":"https://api.github.com/users/F5Networks/repos","events_url":"https://api.github.com/users/F5Networks/events{/privacy}","received_events_url":"https://api.github.com/users/F5Networks/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/F5Networks/f5-openstack-lbaasv1","description":"OpenStack Neutron LBaaSv1 plugin and agent to control F5 BIG-IP devices","fork":false,"url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1","forks_url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/forks","keys_url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/keys{/key_id}","collaborators_url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/teams","hooks_url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/hooks","issue_events_url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/issues/events{/number}","events_url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/events","assignees_url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/assignees{/user}","branches_url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/branches{/branch}","tags_url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/tags","blobs_url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/git/refs{/sha}","trees_url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/git/trees{/sha}","statuses_url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/statuses/{sha}","languages_url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/languages","stargazers_url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/stargazers","contributors_url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/contributors","subscribers_url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/subscribers","subscription_url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/subscription","commits_url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/commits{/sha}","git_commits_url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/git/commits{/sha}","comments_url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/comments{/number}","issue_comment_url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/issues/comments{/number}","contents_url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/contents/{+path}","compare_url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/compare/{base}...{head}","merges_url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/merges","archive_url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/downloads","issues_url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/issues{/number}","pulls_url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/pulls{/number}","milestones_url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/milestones{/number}","notifications_url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/labels{/name}","releases_url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/releases{/id}","deployments_url":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/deployments","created_at":"2016-01-19T17:47:26Z","updated_at":"2016-01-27T20:27:29Z","pushed_at":"2016-01-29T00:14:31Z","git_url":"git://github.com/F5Networks/f5-openstack-lbaasv1.git","ssh_url":"git@github.com:F5Networks/f5-openstack-lbaasv1.git","clone_url":"https://github.com/F5Networks/f5-openstack-lbaasv1.git","svn_url":"https://github.com/F5Networks/f5-openstack-lbaasv1","homepage":"","size":7679,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":6,"mirror_url":null,"open_issues_count":7,"forks":6,"open_issues":7,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/pulls/22"},"html":{"href":"https://github.com/F5Networks/f5-openstack-lbaasv1/pull/22"},"issue":{"href":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/issues/22"},"comments":{"href":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/issues/22/comments"},"review_comments":{"href":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/pulls/22/comments"},"review_comment":{"href":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/pulls/22/commits"},"statuses":{"href":"https://api.github.com/repos/F5Networks/f5-openstack-lbaasv1/statuses/ac99cf6c39917ec1f9ef87931e33f57b196b71ab"}}}}