{"action":"created","comment":{"url":"https://api.github.com/repos/crowbar/crowbar-nfv/pulls/comments/110138073","pull_request_review_id":31287324,"id":110138073,"diff_hunk":"@@ -0,0 +1,235 @@\n+#\n+# Cookbook Name:: opendaylight\n+# Recipe:: default\n+#\n+# Copyright 2016, SUSE LINUX Products GmbH\n+#\n+# Licensed under the Apache License, Version 2.0 (the \"License\");\n+# you may not use this file except in compliance with the License.\n+# You may obtain a copy of the License at\n+#\n+#   http://www.apache.org/licenses/LICENSE-2.0\n+#\n+# Unless required by applicable law or agreed to in writing, software\n+# distributed under the License is distributed on an \"AS IS\" BASIS,\n+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n+# See the License for the specific language governing permissions and\n+# limitations under the License.\n+#\n+\n+ha_enabled = false\n+\n+git \"/tmp/tacker\" do\n+    repository \"https://github.com/trozet/tacker.git\"\n+    reference \"SFC_colorado\"\n+    action :sync\n+end\n+\n+git \"/tmp/tackerclient\" do\n+    repository \"https://github.com/trozet/python-tackerclient.git\"\n+    reference \"SFC_refactor\"\n+    action :sync\n+end\n+\n+db = \"mysql\"\n+\n+if db == \"mysql\"\n+    include_recipe \"tacker::db-mysql\"\n+    node[@cookbook_name][:db][:sql_connection] = \"mysql://tacker:tacker@127.0.0.1/tacker\"\n+else\n+    include_recipe \"tacker::db-postgre\"\n+    node[@cookbook_name][:db][db_conn_name] = \"#{db_settings[:url_scheme]}://#{db_user}:#{db_pass}@#{db_settings[:address]}/#{db_name}\"\n+    unless sql_address_name.nil?\n+        node[@cookbook_name][:db][sql_address_name] = sql_address\n+    end\n+end\n+\n+# Registering the service in keystone\n+\n+api_port = node[:tacker][:api][:service_port]\n+tacker_protocol = node[:tacker][:api][:protocol]\n+my_public_host = CrowbarHelper.get_host_for_public_url(node, node[:tacker][:api][:protocol] == \"https\", ha_enabled)\n+my_admin_host = CrowbarHelper.get_host_for_admin_url(node, ha_enabled)\n+\n+keystone_settings = KeystoneHelper.keystone_settings(node, @cookbook_name)\n+\n+register_auth_hash = { user: keystone_settings[\"admin_user\"],\n+                       password: keystone_settings[\"admin_password\"],\n+                       tenant: keystone_settings[\"admin_tenant\"] }\n+\n+keystone_register \"tacker wakeup keystone\" do\n+\tprotocol keystone_settings[\"protocol\"]\n+    \tinsecure keystone_settings[\"insecure\"]\n+    \thost keystone_settings[\"internal_url_host\"]\n+    \tport keystone_settings[\"admin_port\"]\n+    \tauth register_auth_hash\n+    \taction :wakeup\n+end\n+\n+keystone_register \"register tacker user\" do\n+\tprotocol keystone_settings[\"protocol\"]\n+  \tinsecure keystone_settings[\"insecure\"]\n+  \thost keystone_settings[\"internal_url_host\"]\n+  \tport keystone_settings[\"admin_port\"]\n+  \tauth register_auth_hash\n+  \tuser_name keystone_settings[\"service_user\"]\n+  \tuser_password keystone_settings[\"service_password\"] \n+  \ttenant_name keystone_settings[\"service_tenant\"]\n+  \taction :add_user\n+end\n+\n+keystone_register \"give tacker user access\" do\n+  \tprotocol keystone_settings[\"protocol\"]\n+  \tinsecure keystone_settings[\"insecure\"]\n+  \thost keystone_settings[\"internal_url_host\"]\n+  \tport keystone_settings[\"admin_port\"]\n+  \tauth register_auth_hash\n+  \tuser_name keystone_settings[\"service_user\"]\n+  \ttenant_name keystone_settings[\"service_tenant\"]\n+  \trole_name \"admin\"\n+  \taction :add_access\n+end\n+\n+keystone_register \"register tacker service\" do\n+  \tprotocol keystone_settings[\"protocol\"]\n+  \tinsecure keystone_settings[\"insecure\"]\n+  \thost keystone_settings[\"internal_url_host\"]\n+  \tport keystone_settings[\"admin_port\"]\n+  \tauth register_auth_hash\n+  \tservice_name \"tacker\"\n+  \tservice_type \"servicevm\"\n+  \tservice_description \"Openstack Tacker Service\"\n+  \taction :add_service\n+end\n+\n+keystone_register \"register tacker endpoint\" do\n+  \tprotocol keystone_settings[\"protocol\"]\n+  \tinsecure keystone_settings[\"insecure\"]\n+  \thost keystone_settings[\"internal_url_host\"]\n+  \tport keystone_settings[\"admin_port\"]\n+  \tauth register_auth_hash\n+  \tendpoint_service \"tacker\"\n+  \tendpoint_region keystone_settings[\"endpoint_region\"]\n+  \tendpoint_publicURL \"#{tacker_protocol}://#{my_public_host}:#{api_port}/\"\n+  \tendpoint_adminURL \"#{tacker_protocol}://#{my_admin_host}:#{api_port}/\"\n+  \tendpoint_internalURL \"#{tacker_protocol}://#{my_admin_host}:#{api_port}/\"\n+  \taction :add_endpoint_template\n+end\n+\n+## Install the tacker client package\n+\n+package \"install pip\" do\n+\tpackage_name 'python-pip'\n+end\n+\n+execute \"install client\" do\n+\tcommand \"pip install .\"\n+\tcwd \"/tmp/tackerclient\"\n+end \n+\n+## Install the tacker server package\n+\n+execute \"install server\" do\n+        command \"pip install .\"\n+        cwd \"/tmp/tacker\"\n+end\n+\n+## Add tacker group and user\n+\n+group 'tacker' do\n+\taction :create\n+end\n+\n+user 'tacker' do\n+\tcomment 'adding tacker user'\n+\tgid 'tacker'\n+end\n+\n+## Create directories /etc/tacker, /var/log/tacker, /var/lib/tacker\n+\n+directory '/var/log/tacker' do\n+  owner 'tacker'\n+  group 'tacker'\n+  mode '0750'\n+  action :create\n+end\n+\n+directory '/var/lib/tacker' do\n+  owner 'root'\n+  group 'root'\n+  mode '0750'\n+  action :create\n+end\n+\n+directory '/etc/tacker' do\n+  owner 'root'","path":"chef/cookbooks/tacker/recipes/default.rb","position":165,"original_position":165,"commit_id":"1fc8f11238aa65d1e40f5e9ae97818c5ec547fb7","original_commit_id":"1fc8f11238aa65d1e40f5e9ae97818c5ec547fb7","user":{"login":"houndci-bot","id":6697940,"avatar_url":"https://avatars3.githubusercontent.com/u/6697940?v=3","gravatar_id":"","url":"https://api.github.com/users/houndci-bot","html_url":"https://github.com/houndci-bot","followers_url":"https://api.github.com/users/houndci-bot/followers","following_url":"https://api.github.com/users/houndci-bot/following{/other_user}","gists_url":"https://api.github.com/users/houndci-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/houndci-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/houndci-bot/subscriptions","organizations_url":"https://api.github.com/users/houndci-bot/orgs","repos_url":"https://api.github.com/users/houndci-bot/repos","events_url":"https://api.github.com/users/houndci-bot/events{/privacy}","received_events_url":"https://api.github.com/users/houndci-bot/received_events","type":"User","site_admin":false},"body":"Style/StringLiterals: Prefer double-quoted strings unless you need single quotes to avoid extra backslashes for escaping. (https://github.com/SUSE/style-guides/blob/master/Ruby.md#stylestringliterals)","created_at":"2017-04-06T11:31:03Z","updated_at":"2017-04-06T11:31:04Z","html_url":"https://github.com/crowbar/crowbar-nfv/pull/7#discussion_r110138073","pull_request_url":"https://api.github.com/repos/crowbar/crowbar-nfv/pulls/7","_links":{"self":{"href":"https://api.github.com/repos/crowbar/crowbar-nfv/pulls/comments/110138073"},"html":{"href":"https://github.com/crowbar/crowbar-nfv/pull/7#discussion_r110138073"},"pull_request":{"href":"https://api.github.com/repos/crowbar/crowbar-nfv/pulls/7"}}},"pull_request":{"url":"https://api.github.com/repos/crowbar/crowbar-nfv/pulls/7","id":114549766,"html_url":"https://github.com/crowbar/crowbar-nfv/pull/7","diff_url":"https://github.com/crowbar/crowbar-nfv/pull/7.diff","patch_url":"https://github.com/crowbar/crowbar-nfv/pull/7.patch","issue_url":"https://api.github.com/repos/crowbar/crowbar-nfv/issues/7","number":7,"state":"open","locked":false,"title":"Merging Tacker","user":{"login":"manuelbuil","id":16151814,"avatar_url":"https://avatars2.githubusercontent.com/u/16151814?v=3","gravatar_id":"","url":"https://api.github.com/users/manuelbuil","html_url":"https://github.com/manuelbuil","followers_url":"https://api.github.com/users/manuelbuil/followers","following_url":"https://api.github.com/users/manuelbuil/following{/other_user}","gists_url":"https://api.github.com/users/manuelbuil/gists{/gist_id}","starred_url":"https://api.github.com/users/manuelbuil/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/manuelbuil/subscriptions","organizations_url":"https://api.github.com/users/manuelbuil/orgs","repos_url":"https://api.github.com/users/manuelbuil/repos","events_url":"https://api.github.com/users/manuelbuil/events{/privacy}","received_events_url":"https://api.github.com/users/manuelbuil/received_events","type":"User","site_admin":false},"body":"","created_at":"2017-04-06T08:48:02Z","updated_at":"2017-04-06T11:31:04Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/crowbar/crowbar-nfv/pulls/7/commits","review_comments_url":"https://api.github.com/repos/crowbar/crowbar-nfv/pulls/7/comments","review_comment_url":"https://api.github.com/repos/crowbar/crowbar-nfv/pulls/comments{/number}","comments_url":"https://api.github.com/repos/crowbar/crowbar-nfv/issues/7/comments","statuses_url":"https://api.github.com/repos/crowbar/crowbar-nfv/statuses/1fc8f11238aa65d1e40f5e9ae97818c5ec547fb7","head":{"label":"manuelbuil:master","ref":"master","sha":"1fc8f11238aa65d1e40f5e9ae97818c5ec547fb7","user":{"login":"manuelbuil","id":16151814,"avatar_url":"https://avatars2.githubusercontent.com/u/16151814?v=3","gravatar_id":"","url":"https://api.github.com/users/manuelbuil","html_url":"https://github.com/manuelbuil","followers_url":"https://api.github.com/users/manuelbuil/followers","following_url":"https://api.github.com/users/manuelbuil/following{/other_user}","gists_url":"https://api.github.com/users/manuelbuil/gists{/gist_id}","starred_url":"https://api.github.com/users/manuelbuil/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/manuelbuil/subscriptions","organizations_url":"https://api.github.com/users/manuelbuil/orgs","repos_url":"https://api.github.com/users/manuelbuil/repos","events_url":"https://api.github.com/users/manuelbuil/events{/privacy}","received_events_url":"https://api.github.com/users/manuelbuil/received_events","type":"User","site_admin":false},"repo":{"id":81450159,"name":"crowbar-nfv","full_name":"manuelbuil/crowbar-nfv","owner":{"login":"manuelbuil","id":16151814,"avatar_url":"https://avatars2.githubusercontent.com/u/16151814?v=3","gravatar_id":"","url":"https://api.github.com/users/manuelbuil","html_url":"https://github.com/manuelbuil","followers_url":"https://api.github.com/users/manuelbuil/followers","following_url":"https://api.github.com/users/manuelbuil/following{/other_user}","gists_url":"https://api.github.com/users/manuelbuil/gists{/gist_id}","starred_url":"https://api.github.com/users/manuelbuil/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/manuelbuil/subscriptions","organizations_url":"https://api.github.com/users/manuelbuil/orgs","repos_url":"https://api.github.com/users/manuelbuil/repos","events_url":"https://api.github.com/users/manuelbuil/events{/privacy}","received_events_url":"https://api.github.com/users/manuelbuil/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/manuelbuil/crowbar-nfv","description":"Offenes Tageslicht","fork":true,"url":"https://api.github.com/repos/manuelbuil/crowbar-nfv","forks_url":"https://api.github.com/repos/manuelbuil/crowbar-nfv/forks","keys_url":"https://api.github.com/repos/manuelbuil/crowbar-nfv/keys{/key_id}","collaborators_url":"https://api.github.com/repos/manuelbuil/crowbar-nfv/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/manuelbuil/crowbar-nfv/teams","hooks_url":"https://api.github.com/repos/manuelbuil/crowbar-nfv/hooks","issue_events_url":"https://api.github.com/repos/manuelbuil/crowbar-nfv/issues/events{/number}","events_url":"https://api.github.com/repos/manuelbuil/crowbar-nfv/events","assignees_url":"https://api.github.com/repos/manuelbuil/crowbar-nfv/assignees{/user}","branches_url":"https://api.github.com/repos/manuelbuil/crowbar-nfv/branches{/branch}","tags_url":"https://api.github.com/repos/manuelbuil/crowbar-nfv/tags","blobs_url":"https://api.github.com/repos/manuelbuil/crowbar-nfv/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/manuelbuil/crowbar-nfv/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/manuelbuil/crowbar-nfv/git/refs{/sha}","trees_url":"https://api.github.com/repos/manuelbuil/crowbar-nfv/git/trees{/sha}","statuses_url":"https://api.github.com/repos/manuelbuil/crowbar-nfv/statuses/{sha}","languages_url":"https://api.github.com/repos/manuelbuil/crowbar-nfv/languages","stargazers_url":"https://api.github.com/repos/manuelbuil/crowbar-nfv/stargazers","contributors_url":"https://api.github.com/repos/manuelbuil/crowbar-nfv/contributors","subscribers_url":"https://api.github.com/repos/manuelbuil/crowbar-nfv/subscribers","subscription_url":"https://api.github.com/repos/manuelbuil/crowbar-nfv/subscription","commits_url":"https://api.github.com/repos/manuelbuil/crowbar-nfv/commits{/sha}","git_commits_url":"https://api.github.com/repos/manuelbuil/crowbar-nfv/git/commits{/sha}","comments_url":"https://api.github.com/repos/manuelbuil/crowbar-nfv/comments{/number}","issue_comment_url":"https://api.github.com/repos/manuelbuil/crowbar-nfv/issues/comments{/number}","contents_url":"https://api.github.com/repos/manuelbuil/crowbar-nfv/contents/{+path}","compare_url":"https://api.github.com/repos/manuelbuil/crowbar-nfv/compare/{base}...{head}","merges_url":"https://api.github.com/repos/manuelbuil/crowbar-nfv/merges","archive_url":"https://api.github.com/repos/manuelbuil/crowbar-nfv/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/manuelbuil/crowbar-nfv/downloads","issues_url":"https://api.github.com/repos/manuelbuil/crowbar-nfv/issues{/number}","pulls_url":"https://api.github.com/repos/manuelbuil/crowbar-nfv/pulls{/number}","milestones_url":"https://api.github.com/repos/manuelbuil/crowbar-nfv/milestones{/number}","notifications_url":"https://api.github.com/repos/manuelbuil/crowbar-nfv/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/manuelbuil/crowbar-nfv/labels{/name}","releases_url":"https://api.github.com/repos/manuelbuil/crowbar-nfv/releases{/id}","deployments_url":"https://api.github.com/repos/manuelbuil/crowbar-nfv/deployments","created_at":"2017-02-09T12:54:38Z","updated_at":"2017-02-09T12:54:39Z","pushed_at":"2017-04-06T11:30:48Z","git_url":"git://github.com/manuelbuil/crowbar-nfv.git","ssh_url":"git@github.com:manuelbuil/crowbar-nfv.git","clone_url":"https://github.com/manuelbuil/crowbar-nfv.git","svn_url":"https://github.com/manuelbuil/crowbar-nfv","homepage":null,"size":51,"stargazers_count":0,"watchers_count":0,"language":"Ruby","has_issues":false,"has_projects":true,"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":"crowbar:master","ref":"master","sha":"b86d1be47f07ce9d932205ada63cd69e10cb38c9","user":{"login":"crowbar","id":2910205,"avatar_url":"https://avatars1.githubusercontent.com/u/2910205?v=3","gravatar_id":"","url":"https://api.github.com/users/crowbar","html_url":"https://github.com/crowbar","followers_url":"https://api.github.com/users/crowbar/followers","following_url":"https://api.github.com/users/crowbar/following{/other_user}","gists_url":"https://api.github.com/users/crowbar/gists{/gist_id}","starred_url":"https://api.github.com/users/crowbar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/crowbar/subscriptions","organizations_url":"https://api.github.com/users/crowbar/orgs","repos_url":"https://api.github.com/users/crowbar/repos","events_url":"https://api.github.com/users/crowbar/events{/privacy}","received_events_url":"https://api.github.com/users/crowbar/received_events","type":"Organization","site_admin":false},"repo":{"id":62055630,"name":"crowbar-nfv","full_name":"crowbar/crowbar-nfv","owner":{"login":"crowbar","id":2910205,"avatar_url":"https://avatars1.githubusercontent.com/u/2910205?v=3","gravatar_id":"","url":"https://api.github.com/users/crowbar","html_url":"https://github.com/crowbar","followers_url":"https://api.github.com/users/crowbar/followers","following_url":"https://api.github.com/users/crowbar/following{/other_user}","gists_url":"https://api.github.com/users/crowbar/gists{/gist_id}","starred_url":"https://api.github.com/users/crowbar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/crowbar/subscriptions","organizations_url":"https://api.github.com/users/crowbar/orgs","repos_url":"https://api.github.com/users/crowbar/repos","events_url":"https://api.github.com/users/crowbar/events{/privacy}","received_events_url":"https://api.github.com/users/crowbar/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/crowbar/crowbar-nfv","description":"Offenes Tageslicht","fork":false,"url":"https://api.github.com/repos/crowbar/crowbar-nfv","forks_url":"https://api.github.com/repos/crowbar/crowbar-nfv/forks","keys_url":"https://api.github.com/repos/crowbar/crowbar-nfv/keys{/key_id}","collaborators_url":"https://api.github.com/repos/crowbar/crowbar-nfv/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/crowbar/crowbar-nfv/teams","hooks_url":"https://api.github.com/repos/crowbar/crowbar-nfv/hooks","issue_events_url":"https://api.github.com/repos/crowbar/crowbar-nfv/issues/events{/number}","events_url":"https://api.github.com/repos/crowbar/crowbar-nfv/events","assignees_url":"https://api.github.com/repos/crowbar/crowbar-nfv/assignees{/user}","branches_url":"https://api.github.com/repos/crowbar/crowbar-nfv/branches{/branch}","tags_url":"https://api.github.com/repos/crowbar/crowbar-nfv/tags","blobs_url":"https://api.github.com/repos/crowbar/crowbar-nfv/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/crowbar/crowbar-nfv/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/crowbar/crowbar-nfv/git/refs{/sha}","trees_url":"https://api.github.com/repos/crowbar/crowbar-nfv/git/trees{/sha}","statuses_url":"https://api.github.com/repos/crowbar/crowbar-nfv/statuses/{sha}","languages_url":"https://api.github.com/repos/crowbar/crowbar-nfv/languages","stargazers_url":"https://api.github.com/repos/crowbar/crowbar-nfv/stargazers","contributors_url":"https://api.github.com/repos/crowbar/crowbar-nfv/contributors","subscribers_url":"https://api.github.com/repos/crowbar/crowbar-nfv/subscribers","subscription_url":"https://api.github.com/repos/crowbar/crowbar-nfv/subscription","commits_url":"https://api.github.com/repos/crowbar/crowbar-nfv/commits{/sha}","git_commits_url":"https://api.github.com/repos/crowbar/crowbar-nfv/git/commits{/sha}","comments_url":"https://api.github.com/repos/crowbar/crowbar-nfv/comments{/number}","issue_comment_url":"https://api.github.com/repos/crowbar/crowbar-nfv/issues/comments{/number}","contents_url":"https://api.github.com/repos/crowbar/crowbar-nfv/contents/{+path}","compare_url":"https://api.github.com/repos/crowbar/crowbar-nfv/compare/{base}...{head}","merges_url":"https://api.github.com/repos/crowbar/crowbar-nfv/merges","archive_url":"https://api.github.com/repos/crowbar/crowbar-nfv/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/crowbar/crowbar-nfv/downloads","issues_url":"https://api.github.com/repos/crowbar/crowbar-nfv/issues{/number}","pulls_url":"https://api.github.com/repos/crowbar/crowbar-nfv/pulls{/number}","milestones_url":"https://api.github.com/repos/crowbar/crowbar-nfv/milestones{/number}","notifications_url":"https://api.github.com/repos/crowbar/crowbar-nfv/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/crowbar/crowbar-nfv/labels{/name}","releases_url":"https://api.github.com/repos/crowbar/crowbar-nfv/releases{/id}","deployments_url":"https://api.github.com/repos/crowbar/crowbar-nfv/deployments","created_at":"2016-06-27T12:48:30Z","updated_at":"2017-02-09T13:45:22Z","pushed_at":"2017-04-06T11:30:49Z","git_url":"git://github.com/crowbar/crowbar-nfv.git","ssh_url":"git@github.com:crowbar/crowbar-nfv.git","clone_url":"https://github.com/crowbar/crowbar-nfv.git","svn_url":"https://github.com/crowbar/crowbar-nfv","homepage":null,"size":27,"stargazers_count":0,"watchers_count":0,"language":"Ruby","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":4,"mirror_url":null,"open_issues_count":4,"forks":4,"open_issues":4,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/crowbar/crowbar-nfv/pulls/7"},"html":{"href":"https://github.com/crowbar/crowbar-nfv/pull/7"},"issue":{"href":"https://api.github.com/repos/crowbar/crowbar-nfv/issues/7"},"comments":{"href":"https://api.github.com/repos/crowbar/crowbar-nfv/issues/7/comments"},"review_comments":{"href":"https://api.github.com/repos/crowbar/crowbar-nfv/pulls/7/comments"},"review_comment":{"href":"https://api.github.com/repos/crowbar/crowbar-nfv/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/crowbar/crowbar-nfv/pulls/7/commits"},"statuses":{"href":"https://api.github.com/repos/crowbar/crowbar-nfv/statuses/1fc8f11238aa65d1e40f5e9ae97818c5ec547fb7"}}}}
{"actor":{"display_login":"houndci-bot"}}