{"action":"created","comment":{"url":"https://api.github.com/repos/oneconvergence/group-based-policy/pulls/comments/64734845","id":64734845,"diff_hunk":"@@ -0,0 +1,79 @@\n+{\n+    \"heat_template_version\": \"2015-10-15\",","path":"gbpservice/nfp/Automation-Scripts/NFP_SCRIPTS/templates/haproxy_lbaasv2.templete","position":2,"original_position":2,"commit_id":"f5d09b39c0863c801a760ae8c06152f0c1eba0dd","original_commit_id":"f5d09b39c0863c801a760ae8c06152f0c1eba0dd","user":{"login":"njagadish","id":13430691,"avatar_url":"https://avatars.githubusercontent.com/u/13430691?v=3","gravatar_id":"","url":"https://api.github.com/users/njagadish","html_url":"https://github.com/njagadish","followers_url":"https://api.github.com/users/njagadish/followers","following_url":"https://api.github.com/users/njagadish/following{/other_user}","gists_url":"https://api.github.com/users/njagadish/gists{/gist_id}","starred_url":"https://api.github.com/users/njagadish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/njagadish/subscriptions","organizations_url":"https://api.github.com/users/njagadish/orgs","repos_url":"https://api.github.com/users/njagadish/repos","events_url":"https://api.github.com/users/njagadish/events{/privacy}","received_events_url":"https://api.github.com/users/njagadish/received_events","type":"User","site_admin":false},"body":"correct the file name . Use haproxy_lbaasv2.template\r\n","created_at":"2016-05-26T12:14:36Z","updated_at":"2016-05-26T12:14:36Z","html_url":"https://github.com/oneconvergence/group-based-policy/pull/358#discussion_r64734845","pull_request_url":"https://api.github.com/repos/oneconvergence/group-based-policy/pulls/358","_links":{"self":{"href":"https://api.github.com/repos/oneconvergence/group-based-policy/pulls/comments/64734845"},"html":{"href":"https://github.com/oneconvergence/group-based-policy/pull/358#discussion_r64734845"},"pull_request":{"href":"https://api.github.com/repos/oneconvergence/group-based-policy/pulls/358"}}},"pull_request":{"url":"https://api.github.com/repos/oneconvergence/group-based-policy/pulls/358","id":70810522,"html_url":"https://github.com/oneconvergence/group-based-policy/pull/358","diff_url":"https://github.com/oneconvergence/group-based-policy/pull/358.diff","patch_url":"https://github.com/oneconvergence/group-based-policy/pull/358.patch","issue_url":"https://api.github.com/repos/oneconvergence/group-based-policy/issues/358","number":358,"state":"open","locked":false,"title":"add agents and haproxy_lbaasv2 driver to support lbaasv2","user":{"login":"jiahaoliang","id":5660181,"avatar_url":"https://avatars.githubusercontent.com/u/5660181?v=3","gravatar_id":"","url":"https://api.github.com/users/jiahaoliang","html_url":"https://github.com/jiahaoliang","followers_url":"https://api.github.com/users/jiahaoliang/followers","following_url":"https://api.github.com/users/jiahaoliang/following{/other_user}","gists_url":"https://api.github.com/users/jiahaoliang/gists{/gist_id}","starred_url":"https://api.github.com/users/jiahaoliang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jiahaoliang/subscriptions","organizations_url":"https://api.github.com/users/jiahaoliang/orgs","repos_url":"https://api.github.com/users/jiahaoliang/repos","events_url":"https://api.github.com/users/jiahaoliang/events{/privacy}","received_events_url":"https://api.github.com/users/jiahaoliang/received_events","type":"User","site_admin":false},"body":"@ashutosh-mishra @songole @njagadish\r\n\r\nThis is a pull request for LbaaS V2 support.\r\n\r\n**Added features:**\r\n\r\nneutron/services/servicechain/:\r\n- A new service type: LOADBALANCERV2\r\n\r\nconfig_orchestrator:\r\n- A loadbalancerv2 agent to handle lbaasv2 request\r\n\r\nconfigurator:\r\n- A loadbalancerv2 agent to handle lbaasv2 request\r\n- haproxy driver for lbaasv2 based on Octavia lbassv2 amphora driver\r\n\r\norchestrator:\r\n- New functions for generating lbaasv2 heat templates\r\n\r\nservice_plugins:\r\n- A neutron lbaasv2 plugin driver \r\n\r\n**Known issues:**\r\n\r\n- No sharing support\r\n- In service orchestrator, changed pool_event max_times from 20 to 400 to avoid timeout. Since every lbaasv2 operation takes 10 sec.\r\n- In config_orchestrator lbaasv2 agent, we are not able access neutron lb database due to this [issue](https://bugs.launchpad.net/neutron/+bug/1573337). Instead of filtering only relevant ports and subnets, I pass all ports and subnets under given tenant to configurator.\r\n- No multiple listeners support for loadbalancer\r\n- No multiple pools support for listener\r\n- No L7policy support\r\n- No SSL support\r\n\r\n\r\n**Steps for testing:**\r\n\r\n- In devstack local.conf:\r\n  - Remove:\r\n    - enable_service q-lbaas\r\n  - Add:\r\n    - enable_service q-lbaasv2\r\n    - NEUTRON_LBAAS_SERVICE_PROVIDERV2=LOADBALANCERV2:loadbalancerv2:gbpservice.nfp.service_plugins.loadbalancer.drivers.nfp_lbaasv2_plugin_driver.HaproxyOnVMPluginDriver:default\r\n    - enable_plugin neutron-lbaas https://git.openstack.org/openstack/neutron-lbaas stable/mitaka\r\n- Install following pkgs in configurator vm docker and then restart the configurator process: \r\n  - sudo apt-get install build-essential libssl-dev libffi-dev python-dev\r\n  - cd /tmp; git clone -b stable/mitaka --single-branch https://github.com/openstack/neutron-lbaas.git; cd /tmp/neutron-lbaas; sudo pip install -r requirements.txt --allow-all-external && sudo python setup.py install\r\n  - pip install \"octavia<0.8\"\r\n-  upload haproxy_lbaasv2.qcow image to glance: 192.168.100.50:/var/www/partners/haproxy_lbaasv2/haproxy_lbaasv2.qcow2\r\n- Create service profile for lbaasv2:\r\n  - gbp service-profile-create --shared True --vendor NFP --servicetype LOADBALANCERV2 --service-flavor service_vendor=haproxy_lbaasv2,device_type=nova,flavor=m1.small --insertion-mode l3 lbv2_profile\r\n  - Optional: haproxy_lbaasv2 vm is able to work with a smaller flavor\r\n    - create a flavor smaller than m1.small:\r\n      - nova flavor-create --is-public True m1.amphora 10 1024 2 1\r\n    - create service profile for lbaasv2\r\n      - gbp service-profile-create --shared True --vendor NFP --servicetype LOADBALANCERV2 --service-flavor service_vendor=haproxy_lbaasv2,device_type=nova,flavor=m1.amphora --insertion-mode l3 \r\n- Create a service chain node for lbaasv2\r\n  - lbaasv2 heat template is included in this PR: gbpservice/nfp/Automation-Scripts/NFP_SCRIPTS/templates/haproxy_lbaasv2.templete\r\n- Follow same steps for testing lbaasv1","created_at":"2016-05-20T07:10:34Z","updated_at":"2016-05-26T12:14:36Z","closed_at":null,"merged_at":null,"merge_commit_sha":"9d0fc4f85a1889987b8f25aacecb92ca17ebb116","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/oneconvergence/group-based-policy/pulls/358/commits","review_comments_url":"https://api.github.com/repos/oneconvergence/group-based-policy/pulls/358/comments","review_comment_url":"https://api.github.com/repos/oneconvergence/group-based-policy/pulls/comments{/number}","comments_url":"https://api.github.com/repos/oneconvergence/group-based-policy/issues/358/comments","statuses_url":"https://api.github.com/repos/oneconvergence/group-based-policy/statuses/f5d09b39c0863c801a760ae8c06152f0c1eba0dd","head":{"label":"oneconvergence:lbaasv2-mitaka-pull-request","ref":"lbaasv2-mitaka-pull-request","sha":"f5d09b39c0863c801a760ae8c06152f0c1eba0dd","user":{"login":"oneconvergence","id":8160602,"avatar_url":"https://avatars.githubusercontent.com/u/8160602?v=3","gravatar_id":"","url":"https://api.github.com/users/oneconvergence","html_url":"https://github.com/oneconvergence","followers_url":"https://api.github.com/users/oneconvergence/followers","following_url":"https://api.github.com/users/oneconvergence/following{/other_user}","gists_url":"https://api.github.com/users/oneconvergence/gists{/gist_id}","starred_url":"https://api.github.com/users/oneconvergence/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/oneconvergence/subscriptions","organizations_url":"https://api.github.com/users/oneconvergence/orgs","repos_url":"https://api.github.com/users/oneconvergence/repos","events_url":"https://api.github.com/users/oneconvergence/events{/privacy}","received_events_url":"https://api.github.com/users/oneconvergence/received_events","type":"Organization","site_admin":false},"repo":{"id":34099604,"name":"group-based-policy","full_name":"oneconvergence/group-based-policy","owner":{"login":"oneconvergence","id":8160602,"avatar_url":"https://avatars.githubusercontent.com/u/8160602?v=3","gravatar_id":"","url":"https://api.github.com/users/oneconvergence","html_url":"https://github.com/oneconvergence","followers_url":"https://api.github.com/users/oneconvergence/followers","following_url":"https://api.github.com/users/oneconvergence/following{/other_user}","gists_url":"https://api.github.com/users/oneconvergence/gists{/gist_id}","starred_url":"https://api.github.com/users/oneconvergence/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/oneconvergence/subscriptions","organizations_url":"https://api.github.com/users/oneconvergence/orgs","repos_url":"https://api.github.com/users/oneconvergence/repos","events_url":"https://api.github.com/users/oneconvergence/events{/privacy}","received_events_url":"https://api.github.com/users/oneconvergence/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/oneconvergence/group-based-policy","description":"Group Based Policy","fork":true,"url":"https://api.github.com/repos/oneconvergence/group-based-policy","forks_url":"https://api.github.com/repos/oneconvergence/group-based-policy/forks","keys_url":"https://api.github.com/repos/oneconvergence/group-based-policy/keys{/key_id}","collaborators_url":"https://api.github.com/repos/oneconvergence/group-based-policy/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/oneconvergence/group-based-policy/teams","hooks_url":"https://api.github.com/repos/oneconvergence/group-based-policy/hooks","issue_events_url":"https://api.github.com/repos/oneconvergence/group-based-policy/issues/events{/number}","events_url":"https://api.github.com/repos/oneconvergence/group-based-policy/events","assignees_url":"https://api.github.com/repos/oneconvergence/group-based-policy/assignees{/user}","branches_url":"https://api.github.com/repos/oneconvergence/group-based-policy/branches{/branch}","tags_url":"https://api.github.com/repos/oneconvergence/group-based-policy/tags","blobs_url":"https://api.github.com/repos/oneconvergence/group-based-policy/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/oneconvergence/group-based-policy/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/oneconvergence/group-based-policy/git/refs{/sha}","trees_url":"https://api.github.com/repos/oneconvergence/group-based-policy/git/trees{/sha}","statuses_url":"https://api.github.com/repos/oneconvergence/group-based-policy/statuses/{sha}","languages_url":"https://api.github.com/repos/oneconvergence/group-based-policy/languages","stargazers_url":"https://api.github.com/repos/oneconvergence/group-based-policy/stargazers","contributors_url":"https://api.github.com/repos/oneconvergence/group-based-policy/contributors","subscribers_url":"https://api.github.com/repos/oneconvergence/group-based-policy/subscribers","subscription_url":"https://api.github.com/repos/oneconvergence/group-based-policy/subscription","commits_url":"https://api.github.com/repos/oneconvergence/group-based-policy/commits{/sha}","git_commits_url":"https://api.github.com/repos/oneconvergence/group-based-policy/git/commits{/sha}","comments_url":"https://api.github.com/repos/oneconvergence/group-based-policy/comments{/number}","issue_comment_url":"https://api.github.com/repos/oneconvergence/group-based-policy/issues/comments{/number}","contents_url":"https://api.github.com/repos/oneconvergence/group-based-policy/contents/{+path}","compare_url":"https://api.github.com/repos/oneconvergence/group-based-policy/compare/{base}...{head}","merges_url":"https://api.github.com/repos/oneconvergence/group-based-policy/merges","archive_url":"https://api.github.com/repos/oneconvergence/group-based-policy/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/oneconvergence/group-based-policy/downloads","issues_url":"https://api.github.com/repos/oneconvergence/group-based-policy/issues{/number}","pulls_url":"https://api.github.com/repos/oneconvergence/group-based-policy/pulls{/number}","milestones_url":"https://api.github.com/repos/oneconvergence/group-based-policy/milestones{/number}","notifications_url":"https://api.github.com/repos/oneconvergence/group-based-policy/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/oneconvergence/group-based-policy/labels{/name}","releases_url":"https://api.github.com/repos/oneconvergence/group-based-policy/releases{/id}","deployments_url":"https://api.github.com/repos/oneconvergence/group-based-policy/deployments","created_at":"2015-04-17T06:06:34Z","updated_at":"2016-03-09T19:50:22Z","pushed_at":"2016-05-26T09:02:43Z","git_url":"git://github.com/oneconvergence/group-based-policy.git","ssh_url":"git@github.com:oneconvergence/group-based-policy.git","clone_url":"https://github.com/oneconvergence/group-based-policy.git","svn_url":"https://github.com/oneconvergence/group-based-policy","homepage":"http://openstack.org","size":7923,"stargazers_count":1,"watchers_count":1,"language":"Python","has_issues":false,"has_downloads":false,"has_wiki":false,"has_pages":false,"forks_count":5,"mirror_url":null,"open_issues_count":8,"forks":5,"open_issues":8,"watchers":1,"default_branch":"oneconvergence_service_node_driver"}},"base":{"label":"oneconvergence:non-hotplug-support-966","ref":"non-hotplug-support-966","sha":"1d0097bef138a9d0fdb2ecbf3d47b176913af4f6","user":{"login":"oneconvergence","id":8160602,"avatar_url":"https://avatars.githubusercontent.com/u/8160602?v=3","gravatar_id":"","url":"https://api.github.com/users/oneconvergence","html_url":"https://github.com/oneconvergence","followers_url":"https://api.github.com/users/oneconvergence/followers","following_url":"https://api.github.com/users/oneconvergence/following{/other_user}","gists_url":"https://api.github.com/users/oneconvergence/gists{/gist_id}","starred_url":"https://api.github.com/users/oneconvergence/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/oneconvergence/subscriptions","organizations_url":"https://api.github.com/users/oneconvergence/orgs","repos_url":"https://api.github.com/users/oneconvergence/repos","events_url":"https://api.github.com/users/oneconvergence/events{/privacy}","received_events_url":"https://api.github.com/users/oneconvergence/received_events","type":"Organization","site_admin":false},"repo":{"id":34099604,"name":"group-based-policy","full_name":"oneconvergence/group-based-policy","owner":{"login":"oneconvergence","id":8160602,"avatar_url":"https://avatars.githubusercontent.com/u/8160602?v=3","gravatar_id":"","url":"https://api.github.com/users/oneconvergence","html_url":"https://github.com/oneconvergence","followers_url":"https://api.github.com/users/oneconvergence/followers","following_url":"https://api.github.com/users/oneconvergence/following{/other_user}","gists_url":"https://api.github.com/users/oneconvergence/gists{/gist_id}","starred_url":"https://api.github.com/users/oneconvergence/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/oneconvergence/subscriptions","organizations_url":"https://api.github.com/users/oneconvergence/orgs","repos_url":"https://api.github.com/users/oneconvergence/repos","events_url":"https://api.github.com/users/oneconvergence/events{/privacy}","received_events_url":"https://api.github.com/users/oneconvergence/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/oneconvergence/group-based-policy","description":"Group Based Policy","fork":true,"url":"https://api.github.com/repos/oneconvergence/group-based-policy","forks_url":"https://api.github.com/repos/oneconvergence/group-based-policy/forks","keys_url":"https://api.github.com/repos/oneconvergence/group-based-policy/keys{/key_id}","collaborators_url":"https://api.github.com/repos/oneconvergence/group-based-policy/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/oneconvergence/group-based-policy/teams","hooks_url":"https://api.github.com/repos/oneconvergence/group-based-policy/hooks","issue_events_url":"https://api.github.com/repos/oneconvergence/group-based-policy/issues/events{/number}","events_url":"https://api.github.com/repos/oneconvergence/group-based-policy/events","assignees_url":"https://api.github.com/repos/oneconvergence/group-based-policy/assignees{/user}","branches_url":"https://api.github.com/repos/oneconvergence/group-based-policy/branches{/branch}","tags_url":"https://api.github.com/repos/oneconvergence/group-based-policy/tags","blobs_url":"https://api.github.com/repos/oneconvergence/group-based-policy/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/oneconvergence/group-based-policy/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/oneconvergence/group-based-policy/git/refs{/sha}","trees_url":"https://api.github.com/repos/oneconvergence/group-based-policy/git/trees{/sha}","statuses_url":"https://api.github.com/repos/oneconvergence/group-based-policy/statuses/{sha}","languages_url":"https://api.github.com/repos/oneconvergence/group-based-policy/languages","stargazers_url":"https://api.github.com/repos/oneconvergence/group-based-policy/stargazers","contributors_url":"https://api.github.com/repos/oneconvergence/group-based-policy/contributors","subscribers_url":"https://api.github.com/repos/oneconvergence/group-based-policy/subscribers","subscription_url":"https://api.github.com/repos/oneconvergence/group-based-policy/subscription","commits_url":"https://api.github.com/repos/oneconvergence/group-based-policy/commits{/sha}","git_commits_url":"https://api.github.com/repos/oneconvergence/group-based-policy/git/commits{/sha}","comments_url":"https://api.github.com/repos/oneconvergence/group-based-policy/comments{/number}","issue_comment_url":"https://api.github.com/repos/oneconvergence/group-based-policy/issues/comments{/number}","contents_url":"https://api.github.com/repos/oneconvergence/group-based-policy/contents/{+path}","compare_url":"https://api.github.com/repos/oneconvergence/group-based-policy/compare/{base}...{head}","merges_url":"https://api.github.com/repos/oneconvergence/group-based-policy/merges","archive_url":"https://api.github.com/repos/oneconvergence/group-based-policy/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/oneconvergence/group-based-policy/downloads","issues_url":"https://api.github.com/repos/oneconvergence/group-based-policy/issues{/number}","pulls_url":"https://api.github.com/repos/oneconvergence/group-based-policy/pulls{/number}","milestones_url":"https://api.github.com/repos/oneconvergence/group-based-policy/milestones{/number}","notifications_url":"https://api.github.com/repos/oneconvergence/group-based-policy/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/oneconvergence/group-based-policy/labels{/name}","releases_url":"https://api.github.com/repos/oneconvergence/group-based-policy/releases{/id}","deployments_url":"https://api.github.com/repos/oneconvergence/group-based-policy/deployments","created_at":"2015-04-17T06:06:34Z","updated_at":"2016-03-09T19:50:22Z","pushed_at":"2016-05-26T09:02:43Z","git_url":"git://github.com/oneconvergence/group-based-policy.git","ssh_url":"git@github.com:oneconvergence/group-based-policy.git","clone_url":"https://github.com/oneconvergence/group-based-policy.git","svn_url":"https://github.com/oneconvergence/group-based-policy","homepage":"http://openstack.org","size":7923,"stargazers_count":1,"watchers_count":1,"language":"Python","has_issues":false,"has_downloads":false,"has_wiki":false,"has_pages":false,"forks_count":5,"mirror_url":null,"open_issues_count":8,"forks":5,"open_issues":8,"watchers":1,"default_branch":"oneconvergence_service_node_driver"}},"_links":{"self":{"href":"https://api.github.com/repos/oneconvergence/group-based-policy/pulls/358"},"html":{"href":"https://github.com/oneconvergence/group-based-policy/pull/358"},"issue":{"href":"https://api.github.com/repos/oneconvergence/group-based-policy/issues/358"},"comments":{"href":"https://api.github.com/repos/oneconvergence/group-based-policy/issues/358/comments"},"review_comments":{"href":"https://api.github.com/repos/oneconvergence/group-based-policy/pulls/358/comments"},"review_comment":{"href":"https://api.github.com/repos/oneconvergence/group-based-policy/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/oneconvergence/group-based-policy/pulls/358/commits"},"statuses":{"href":"https://api.github.com/repos/oneconvergence/group-based-policy/statuses/f5d09b39c0863c801a760ae8c06152f0c1eba0dd"}}}}
{"actor":{"display_login":"njagadish"}}