{"action":"created","comment":{"url":"https://api.github.com/repos/OpenNebula/marketplace/pulls/comments/99158887","pull_request_review_id":19820185,"id":99158887,"diff_hunk":"@@ -0,0 +1,83 @@\n+--- \n+id: 5A435F05-412D-4FC9-930A-0E6295760A78\n+name: \"Vrouter Load Ballancer Alpine 3.5 - KVM\"\n+version: \"1.0.1\"\n+publisher: \"FELDSAM s.r.o.\"\n+description: |-\n+    ## Features\n+    1. NAT iptables masquerading enabled by new context var `ETHx_VROUTER_GATEWAY = \"YES\"`\n+    2. Keepalived email notifications:\n+    \t* `VROUTER_KEEPALIVED_NOTIFY_EMAIL` - required to enable this feature\n+    \t* `VROUTER_KEEPALIVED_FROM_EMAIL` - optional, if not defined emails are send from `NOTIFY_EMAIL` address\n+    3. Keepalived can define sync interface using var `ETHx_VROUTER_KEEPALIVED_INF` - usefull if you need save some public IPv4 addresses or just want all vrrp traffix on private interface. *For saving addresses need integration in OpenNebula*\n+    4. Keepalived Load Ballancing support\n+    \t* both NAT and DR (Direct Routing)\n+    \t* Single and Multi Port support using firewall marks\n+    \t* FTP Passive support using multiport, fwmarks and ip\\_vs\\_ftp module\n+    \t* Context vars in following format `VROUTER_LB0_DEV`, `VROUTER_LB0_SERVER0_IP`, `VROUTER_LB0_SERVER0_CHECK0_TYPE`\n+    \t* *Limitation of 9 LoadBallancers on one vrouter instance each with max 9 real servers. This can be enhanced in context scripts in future.*\n+    5. Iptables and Keepalived IPv6 support - for this time just in dual stack IPv4+IPv6\n+    \n+    **There are prepared context vars in template, so you just need define right values**  \n+    [Docs here](https://forum.opennebula.org/t/contribution-vrouter-enhacements-and-load-ballancing/3679)\n+short_description: \"Vrouter with load ballancing support based on Alpine linux 3.5\"\n+tags: \n+  - vrouter\n+  - loadballancer\n+  - alpine\n+  - \"5.0\"\n+  - \"5.2\"\n+format: qcow2\n+creation_time: 1485773382\n+os-arch: x86_64\n+os-id: Alpine\n+os-release: \"3.5.0\"\n+hypervisor: KVM\n+opennebula_version: \"5.0, 5.2\"\n+opennebula_template: \n+  cpu: \"1.0\"\n+  memory: \"128\"\n+  vcpu: \"1\"\n+  context: \n+    network: \"yes\"\n+    ssh_public_key: \"$USER[SSH_PUBLIC_KEY]\"\n+    eth0_vrouter_gateway:  \"yes\"\n+    vrouter_keepalived_notify_email: \"\"\n+    vrouter_keepalived_from_email: \"\"\n+    eth0_vrouter_keepalived_inf: \"\"\n+    vrouter_lb0_algo: \"\"\n+    vrouter_lb0_delay_loop: \"\"\n+    vrouter_lb0_dev: \"\"\n+    vrouter_lb0_kind: \"\"\n+    vrouter_lb0_port: \"\"\n+    vrouter_lb0_protocol: \"\"\n+    vrouter_lb0_server0_ip: \"\"\n+    vrouter_lb0_server0_port: \"\"\n+    vrouter_lb0_server0_weight: \"\"\n+    vrouter_lb0_server0_check0_type: \"\"\n+    vrouter_lb0_server0_check0_port: \"\"\n+    vrouter_lb0_server0_check0_timeout: \"\"\n+    vrouter_lb0_server1_ip: \"\"\n+    vrouter_lb0_server1_port: \"\"\n+    vrouter_lb0_server1_weight: \"\"\n+    vrouter_lb0_server1_check0_type: \"\"\n+    vrouter_lb0_server1_check0_port: \"\"\n+    vrouter_lb0_server1_check0_timeout: \"\"\n+  graphics: \n+    listen: \"0.0.0.0\"\n+    type: vnc\n+  nic_default: \n+    model: virtio\n+  vrouter: \"yes\"\n+logo: router.png\n+images: \n+  - \n+    name: vrouter-loadballancer-alpine","path":"appliances/FELDSAM/5A435F05-412D-4FC9-930A-0E6295760A78.yaml","position":75,"original_position":75,"commit_id":"2315dc7496e0c9e5f04ba57ca68fe983fa4e932e","original_commit_id":"2315dc7496e0c9e5f04ba57ca68fe983fa4e932e","user":{"login":"vholer","id":414850,"avatar_url":"https://avatars.githubusercontent.com/u/414850?v=3","gravatar_id":"","url":"https://api.github.com/users/vholer","html_url":"https://github.com/vholer","followers_url":"https://api.github.com/users/vholer/followers","following_url":"https://api.github.com/users/vholer/following{/other_user}","gists_url":"https://api.github.com/users/vholer/gists{/gist_id}","starred_url":"https://api.github.com/users/vholer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vholer/subscriptions","organizations_url":"https://api.github.com/users/vholer/orgs","repos_url":"https://api.github.com/users/vholer/repos","events_url":"https://api.github.com/users/vholer/events{/privacy}","received_events_url":"https://api.github.com/users/vholer/received_events","type":"User","site_admin":false},"body":"Please fix to \"vrouter-loadbalancer-alpine\"","created_at":"2017-02-02T16:24:38Z","updated_at":"2017-02-02T16:32:13Z","html_url":"https://github.com/OpenNebula/marketplace/pull/1#discussion_r99158887","pull_request_url":"https://api.github.com/repos/OpenNebula/marketplace/pulls/1","_links":{"self":{"href":"https://api.github.com/repos/OpenNebula/marketplace/pulls/comments/99158887"},"html":{"href":"https://github.com/OpenNebula/marketplace/pull/1#discussion_r99158887"},"pull_request":{"href":"https://api.github.com/repos/OpenNebula/marketplace/pulls/1"}}},"pull_request":{"url":"https://api.github.com/repos/OpenNebula/marketplace/pulls/1","id":103715309,"html_url":"https://github.com/OpenNebula/marketplace/pull/1","diff_url":"https://github.com/OpenNebula/marketplace/pull/1.diff","patch_url":"https://github.com/OpenNebula/marketplace/pull/1.patch","issue_url":"https://api.github.com/repos/OpenNebula/marketplace/issues/1","number":1,"state":"open","locked":false,"title":"Added vrouter loadballancer appliance","user":{"login":"feldsam","id":951648,"avatar_url":"https://avatars.githubusercontent.com/u/951648?v=3","gravatar_id":"","url":"https://api.github.com/users/feldsam","html_url":"https://github.com/feldsam","followers_url":"https://api.github.com/users/feldsam/followers","following_url":"https://api.github.com/users/feldsam/following{/other_user}","gists_url":"https://api.github.com/users/feldsam/gists{/gist_id}","starred_url":"https://api.github.com/users/feldsam/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/feldsam/subscriptions","organizations_url":"https://api.github.com/users/feldsam/orgs","repos_url":"https://api.github.com/users/feldsam/repos","events_url":"https://api.github.com/users/feldsam/events{/privacy}","received_events_url":"https://api.github.com/users/feldsam/received_events","type":"User","site_admin":false},"body":"This is related to my forum post https://forum.opennebula.org/t/contribution-vrouter-enhacements-and-load-ballancing/3679","created_at":"2017-01-30T11:07:09Z","updated_at":"2017-02-02T16:32:13Z","closed_at":null,"merged_at":null,"merge_commit_sha":"f31c92e05b0deea52f6b44f28d1ca9909d1a115e","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/OpenNebula/marketplace/pulls/1/commits","review_comments_url":"https://api.github.com/repos/OpenNebula/marketplace/pulls/1/comments","review_comment_url":"https://api.github.com/repos/OpenNebula/marketplace/pulls/comments{/number}","comments_url":"https://api.github.com/repos/OpenNebula/marketplace/issues/1/comments","statuses_url":"https://api.github.com/repos/OpenNebula/marketplace/statuses/2315dc7496e0c9e5f04ba57ca68fe983fa4e932e","head":{"label":"FELDSAM-INC:feldsam-vrouter","ref":"feldsam-vrouter","sha":"2315dc7496e0c9e5f04ba57ca68fe983fa4e932e","user":{"login":"FELDSAM-INC","id":22684798,"avatar_url":"https://avatars.githubusercontent.com/u/22684798?v=3","gravatar_id":"","url":"https://api.github.com/users/FELDSAM-INC","html_url":"https://github.com/FELDSAM-INC","followers_url":"https://api.github.com/users/FELDSAM-INC/followers","following_url":"https://api.github.com/users/FELDSAM-INC/following{/other_user}","gists_url":"https://api.github.com/users/FELDSAM-INC/gists{/gist_id}","starred_url":"https://api.github.com/users/FELDSAM-INC/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/FELDSAM-INC/subscriptions","organizations_url":"https://api.github.com/users/FELDSAM-INC/orgs","repos_url":"https://api.github.com/users/FELDSAM-INC/repos","events_url":"https://api.github.com/users/FELDSAM-INC/events{/privacy}","received_events_url":"https://api.github.com/users/FELDSAM-INC/received_events","type":"Organization","site_admin":false},"repo":{"id":80412034,"name":"marketplace","full_name":"FELDSAM-INC/marketplace","owner":{"login":"FELDSAM-INC","id":22684798,"avatar_url":"https://avatars.githubusercontent.com/u/22684798?v=3","gravatar_id":"","url":"https://api.github.com/users/FELDSAM-INC","html_url":"https://github.com/FELDSAM-INC","followers_url":"https://api.github.com/users/FELDSAM-INC/followers","following_url":"https://api.github.com/users/FELDSAM-INC/following{/other_user}","gists_url":"https://api.github.com/users/FELDSAM-INC/gists{/gist_id}","starred_url":"https://api.github.com/users/FELDSAM-INC/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/FELDSAM-INC/subscriptions","organizations_url":"https://api.github.com/users/FELDSAM-INC/orgs","repos_url":"https://api.github.com/users/FELDSAM-INC/repos","events_url":"https://api.github.com/users/FELDSAM-INC/events{/privacy}","received_events_url":"https://api.github.com/users/FELDSAM-INC/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/FELDSAM-INC/marketplace","description":"Public Marketplace metadata","fork":true,"url":"https://api.github.com/repos/FELDSAM-INC/marketplace","forks_url":"https://api.github.com/repos/FELDSAM-INC/marketplace/forks","keys_url":"https://api.github.com/repos/FELDSAM-INC/marketplace/keys{/key_id}","collaborators_url":"https://api.github.com/repos/FELDSAM-INC/marketplace/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/FELDSAM-INC/marketplace/teams","hooks_url":"https://api.github.com/repos/FELDSAM-INC/marketplace/hooks","issue_events_url":"https://api.github.com/repos/FELDSAM-INC/marketplace/issues/events{/number}","events_url":"https://api.github.com/repos/FELDSAM-INC/marketplace/events","assignees_url":"https://api.github.com/repos/FELDSAM-INC/marketplace/assignees{/user}","branches_url":"https://api.github.com/repos/FELDSAM-INC/marketplace/branches{/branch}","tags_url":"https://api.github.com/repos/FELDSAM-INC/marketplace/tags","blobs_url":"https://api.github.com/repos/FELDSAM-INC/marketplace/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/FELDSAM-INC/marketplace/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/FELDSAM-INC/marketplace/git/refs{/sha}","trees_url":"https://api.github.com/repos/FELDSAM-INC/marketplace/git/trees{/sha}","statuses_url":"https://api.github.com/repos/FELDSAM-INC/marketplace/statuses/{sha}","languages_url":"https://api.github.com/repos/FELDSAM-INC/marketplace/languages","stargazers_url":"https://api.github.com/repos/FELDSAM-INC/marketplace/stargazers","contributors_url":"https://api.github.com/repos/FELDSAM-INC/marketplace/contributors","subscribers_url":"https://api.github.com/repos/FELDSAM-INC/marketplace/subscribers","subscription_url":"https://api.github.com/repos/FELDSAM-INC/marketplace/subscription","commits_url":"https://api.github.com/repos/FELDSAM-INC/marketplace/commits{/sha}","git_commits_url":"https://api.github.com/repos/FELDSAM-INC/marketplace/git/commits{/sha}","comments_url":"https://api.github.com/repos/FELDSAM-INC/marketplace/comments{/number}","issue_comment_url":"https://api.github.com/repos/FELDSAM-INC/marketplace/issues/comments{/number}","contents_url":"https://api.github.com/repos/FELDSAM-INC/marketplace/contents/{+path}","compare_url":"https://api.github.com/repos/FELDSAM-INC/marketplace/compare/{base}...{head}","merges_url":"https://api.github.com/repos/FELDSAM-INC/marketplace/merges","archive_url":"https://api.github.com/repos/FELDSAM-INC/marketplace/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/FELDSAM-INC/marketplace/downloads","issues_url":"https://api.github.com/repos/FELDSAM-INC/marketplace/issues{/number}","pulls_url":"https://api.github.com/repos/FELDSAM-INC/marketplace/pulls{/number}","milestones_url":"https://api.github.com/repos/FELDSAM-INC/marketplace/milestones{/number}","notifications_url":"https://api.github.com/repos/FELDSAM-INC/marketplace/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/FELDSAM-INC/marketplace/labels{/name}","releases_url":"https://api.github.com/repos/FELDSAM-INC/marketplace/releases{/id}","deployments_url":"https://api.github.com/repos/FELDSAM-INC/marketplace/deployments","created_at":"2017-01-30T10:31:51Z","updated_at":"2016-12-13T22:41:03Z","pushed_at":"2017-01-30T21:05:57Z","git_url":"git://github.com/FELDSAM-INC/marketplace.git","ssh_url":"git@github.com:FELDSAM-INC/marketplace.git","clone_url":"https://github.com/FELDSAM-INC/marketplace.git","svn_url":"https://github.com/FELDSAM-INC/marketplace","homepage":"http://marketplace.opennebula.systems/","size":147,"stargazers_count":0,"watchers_count":0,"language":null,"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":"OpenNebula:master","ref":"master","sha":"a203e20ee8858b8e932ded66b41956e760c12c61","user":{"login":"OpenNebula","id":662446,"avatar_url":"https://avatars.githubusercontent.com/u/662446?v=3","gravatar_id":"","url":"https://api.github.com/users/OpenNebula","html_url":"https://github.com/OpenNebula","followers_url":"https://api.github.com/users/OpenNebula/followers","following_url":"https://api.github.com/users/OpenNebula/following{/other_user}","gists_url":"https://api.github.com/users/OpenNebula/gists{/gist_id}","starred_url":"https://api.github.com/users/OpenNebula/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OpenNebula/subscriptions","organizations_url":"https://api.github.com/users/OpenNebula/orgs","repos_url":"https://api.github.com/users/OpenNebula/repos","events_url":"https://api.github.com/users/OpenNebula/events{/privacy}","received_events_url":"https://api.github.com/users/OpenNebula/received_events","type":"Organization","site_admin":false},"repo":{"id":76403803,"name":"marketplace","full_name":"OpenNebula/marketplace","owner":{"login":"OpenNebula","id":662446,"avatar_url":"https://avatars.githubusercontent.com/u/662446?v=3","gravatar_id":"","url":"https://api.github.com/users/OpenNebula","html_url":"https://github.com/OpenNebula","followers_url":"https://api.github.com/users/OpenNebula/followers","following_url":"https://api.github.com/users/OpenNebula/following{/other_user}","gists_url":"https://api.github.com/users/OpenNebula/gists{/gist_id}","starred_url":"https://api.github.com/users/OpenNebula/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OpenNebula/subscriptions","organizations_url":"https://api.github.com/users/OpenNebula/orgs","repos_url":"https://api.github.com/users/OpenNebula/repos","events_url":"https://api.github.com/users/OpenNebula/events{/privacy}","received_events_url":"https://api.github.com/users/OpenNebula/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/OpenNebula/marketplace","description":"Public Marketplace metadata","fork":false,"url":"https://api.github.com/repos/OpenNebula/marketplace","forks_url":"https://api.github.com/repos/OpenNebula/marketplace/forks","keys_url":"https://api.github.com/repos/OpenNebula/marketplace/keys{/key_id}","collaborators_url":"https://api.github.com/repos/OpenNebula/marketplace/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/OpenNebula/marketplace/teams","hooks_url":"https://api.github.com/repos/OpenNebula/marketplace/hooks","issue_events_url":"https://api.github.com/repos/OpenNebula/marketplace/issues/events{/number}","events_url":"https://api.github.com/repos/OpenNebula/marketplace/events","assignees_url":"https://api.github.com/repos/OpenNebula/marketplace/assignees{/user}","branches_url":"https://api.github.com/repos/OpenNebula/marketplace/branches{/branch}","tags_url":"https://api.github.com/repos/OpenNebula/marketplace/tags","blobs_url":"https://api.github.com/repos/OpenNebula/marketplace/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/OpenNebula/marketplace/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/OpenNebula/marketplace/git/refs{/sha}","trees_url":"https://api.github.com/repos/OpenNebula/marketplace/git/trees{/sha}","statuses_url":"https://api.github.com/repos/OpenNebula/marketplace/statuses/{sha}","languages_url":"https://api.github.com/repos/OpenNebula/marketplace/languages","stargazers_url":"https://api.github.com/repos/OpenNebula/marketplace/stargazers","contributors_url":"https://api.github.com/repos/OpenNebula/marketplace/contributors","subscribers_url":"https://api.github.com/repos/OpenNebula/marketplace/subscribers","subscription_url":"https://api.github.com/repos/OpenNebula/marketplace/subscription","commits_url":"https://api.github.com/repos/OpenNebula/marketplace/commits{/sha}","git_commits_url":"https://api.github.com/repos/OpenNebula/marketplace/git/commits{/sha}","comments_url":"https://api.github.com/repos/OpenNebula/marketplace/comments{/number}","issue_comment_url":"https://api.github.com/repos/OpenNebula/marketplace/issues/comments{/number}","contents_url":"https://api.github.com/repos/OpenNebula/marketplace/contents/{+path}","compare_url":"https://api.github.com/repos/OpenNebula/marketplace/compare/{base}...{head}","merges_url":"https://api.github.com/repos/OpenNebula/marketplace/merges","archive_url":"https://api.github.com/repos/OpenNebula/marketplace/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/OpenNebula/marketplace/downloads","issues_url":"https://api.github.com/repos/OpenNebula/marketplace/issues{/number}","pulls_url":"https://api.github.com/repos/OpenNebula/marketplace/pulls{/number}","milestones_url":"https://api.github.com/repos/OpenNebula/marketplace/milestones{/number}","notifications_url":"https://api.github.com/repos/OpenNebula/marketplace/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/OpenNebula/marketplace/labels{/name}","releases_url":"https://api.github.com/repos/OpenNebula/marketplace/releases{/id}","deployments_url":"https://api.github.com/repos/OpenNebula/marketplace/deployments","created_at":"2016-12-13T22:28:11Z","updated_at":"2016-12-13T22:41:03Z","pushed_at":"2017-01-30T21:05:58Z","git_url":"git://github.com/OpenNebula/marketplace.git","ssh_url":"git@github.com:OpenNebula/marketplace.git","clone_url":"https://github.com/OpenNebula/marketplace.git","svn_url":"https://github.com/OpenNebula/marketplace","homepage":"http://marketplace.opennebula.systems/","size":140,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":1,"forks":1,"open_issues":1,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/OpenNebula/marketplace/pulls/1"},"html":{"href":"https://github.com/OpenNebula/marketplace/pull/1"},"issue":{"href":"https://api.github.com/repos/OpenNebula/marketplace/issues/1"},"comments":{"href":"https://api.github.com/repos/OpenNebula/marketplace/issues/1/comments"},"review_comments":{"href":"https://api.github.com/repos/OpenNebula/marketplace/pulls/1/comments"},"review_comment":{"href":"https://api.github.com/repos/OpenNebula/marketplace/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/OpenNebula/marketplace/pulls/1/commits"},"statuses":{"href":"https://api.github.com/repos/OpenNebula/marketplace/statuses/2315dc7496e0c9e5f04ba57ca68fe983fa4e932e"}}}}
{"actor":{"display_login":"vholer"}}