{"action":"created","comment":{"url":"https://api.github.com/repos/crowbar/crowbar-openstack/pulls/comments/61856729","id":61856729,"diff_hunk":"@@ -407,66 +407,18 @@\n \n if node[:keystone][:api][:protocol] == \"https\"\n   if node[:keystone][:ssl][:generate_certs]\n-    package \"openssl\"\n-    ruby_block \"generate_certs for keystone\" do\n-      block do\n-        unless ::File.exist?(node[:keystone][:ssl][:certfile]) && ::File.exist?(node[:keystone][:ssl][:keyfile])\n-          require \"fileutils\"\n-\n-          Chef::Log.info(\"Generating SSL certificate for keystone...\")\n-\n-          [:certfile, :keyfile].each do |k|\n-            dir = File.dirname(node[:keystone][:ssl][k])\n-            FileUtils.mkdir_p(dir) unless File.exist?(dir)\n-          end\n-\n-          # Generate private key\n-          `openssl genrsa -out #{node[:keystone][:ssl][:keyfile]} 4096`\n-          if $?.exitstatus != 0\n-            message = \"SSL private key generation failed\"\n-            Chef::Log.fatal(message)\n-            raise message\n-          end\n-          FileUtils.chown \"root\", node[:keystone][:group], node[:keystone][:ssl][:keyfile]\n-          FileUtils.chmod 0640, node[:keystone][:ssl][:keyfile]\n-\n-          # Generate certificate signing requests (CSR)\n-          conf_dir = File.dirname node[:keystone][:ssl][:certfile]\n-          ssl_csr_file = \"#{conf_dir}/signing_key.csr\"\n-          ssl_subject = \"\\\"/C=US/ST=Unset/L=Unset/O=Unset/CN=#{node[:fqdn]}\\\"\"\n-          `openssl req -new -key #{node[:keystone][:ssl][:keyfile]} -out #{ssl_csr_file} -subj #{ssl_subject}`\n-          if $?.exitstatus != 0\n-            message = \"SSL certificate signed requests generation failed\"\n-            Chef::Log.fatal(message)\n-            raise message\n-          end\n-\n-          # Generate self-signed certificate with above CSR\n-          `openssl x509 -req -days 3650 -in #{ssl_csr_file} -signkey #{node[:keystone][:ssl][:keyfile]} -out #{node[:keystone][:ssl][:certfile]}`\n-          if $?.exitstatus != 0\n-            message = \"SSL self-signed certificate generation failed\"\n-            Chef::Log.fatal(message)\n-            raise message\n-          end\n-\n-          File.delete ssl_csr_file  # Nobody should even try to use this\n-        end # unless files exist\n-      end # block\n-    end # ruby_block\n-  else # if generate_certs\n-    unless ::File.size? node[:keystone][:ssl][:certfile]\n-      message = \"Certificate \\\"#{node[:keystone][:ssl][:certfile]}\\\" is not present or empty.\"\n-      Chef::Log.fatal(message)\n-      raise message\n+    package 'openssl'\n+  end\n+  ruby_block 'setting up ssl for keystone' do","path":"chef/cookbooks/keystone/recipes/server.rb","position":57,"original_position":57,"commit_id":"b772e46bb6bf5c013abdc98611f67d8b01300aed","original_commit_id":"b772e46bb6bf5c013abdc98611f67d8b01300aed","user":{"login":"houndci-bot","id":6697940,"avatar_url":"https://avatars.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/bbatsov/ruby-style-guide#consistent-string-literals)","created_at":"2016-05-03T09:26:48Z","updated_at":"2016-05-03T09:26:48Z","html_url":"https://github.com/crowbar/crowbar-openstack/pull/364#discussion_r61856729","pull_request_url":"https://api.github.com/repos/crowbar/crowbar-openstack/pulls/364","_links":{"self":{"href":"https://api.github.com/repos/crowbar/crowbar-openstack/pulls/comments/61856729"},"html":{"href":"https://github.com/crowbar/crowbar-openstack/pull/364#discussion_r61856729"},"pull_request":{"href":"https://api.github.com/repos/crowbar/crowbar-openstack/pulls/364"}}},"pull_request":{"url":"https://api.github.com/repos/crowbar/crowbar-openstack/pulls/364","id":68203870,"html_url":"https://github.com/crowbar/crowbar-openstack/pull/364","diff_url":"https://github.com/crowbar/crowbar-openstack/pull/364.diff","patch_url":"https://github.com/crowbar/crowbar-openstack/pull/364.patch","issue_url":"https://api.github.com/repos/crowbar/crowbar-openstack/issues/364","number":364,"state":"open","locked":false,"title":"Refactor ssl","user":{"login":"nicolasbock","id":841385,"avatar_url":"https://avatars.githubusercontent.com/u/841385?v=3","gravatar_id":"","url":"https://api.github.com/users/nicolasbock","html_url":"https://github.com/nicolasbock","followers_url":"https://api.github.com/users/nicolasbock/followers","following_url":"https://api.github.com/users/nicolasbock/following{/other_user}","gists_url":"https://api.github.com/users/nicolasbock/gists{/gist_id}","starred_url":"https://api.github.com/users/nicolasbock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nicolasbock/subscriptions","organizations_url":"https://api.github.com/users/nicolasbock/orgs","repos_url":"https://api.github.com/users/nicolasbock/repos","events_url":"https://api.github.com/users/nicolasbock/events{/privacy}","received_events_url":"https://api.github.com/users/nicolasbock/received_events","type":"User","site_admin":false},"body":"","created_at":"2016-04-28T11:19:52Z","updated_at":"2016-05-03T09:26:48Z","closed_at":null,"merged_at":null,"merge_commit_sha":"79e4996c6fcd9212d50bb417842ab19acf1e2161","assignee":{"login":"jsuchome","id":910000,"avatar_url":"https://avatars.githubusercontent.com/u/910000?v=3","gravatar_id":"","url":"https://api.github.com/users/jsuchome","html_url":"https://github.com/jsuchome","followers_url":"https://api.github.com/users/jsuchome/followers","following_url":"https://api.github.com/users/jsuchome/following{/other_user}","gists_url":"https://api.github.com/users/jsuchome/gists{/gist_id}","starred_url":"https://api.github.com/users/jsuchome/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jsuchome/subscriptions","organizations_url":"https://api.github.com/users/jsuchome/orgs","repos_url":"https://api.github.com/users/jsuchome/repos","events_url":"https://api.github.com/users/jsuchome/events{/privacy}","received_events_url":"https://api.github.com/users/jsuchome/received_events","type":"User","site_admin":false},"milestone":null,"commits_url":"https://api.github.com/repos/crowbar/crowbar-openstack/pulls/364/commits","review_comments_url":"https://api.github.com/repos/crowbar/crowbar-openstack/pulls/364/comments","review_comment_url":"https://api.github.com/repos/crowbar/crowbar-openstack/pulls/comments{/number}","comments_url":"https://api.github.com/repos/crowbar/crowbar-openstack/issues/364/comments","statuses_url":"https://api.github.com/repos/crowbar/crowbar-openstack/statuses/b772e46bb6bf5c013abdc98611f67d8b01300aed","head":{"label":"nicolasbock:refactor_ssl","ref":"refactor_ssl","sha":"b772e46bb6bf5c013abdc98611f67d8b01300aed","user":{"login":"nicolasbock","id":841385,"avatar_url":"https://avatars.githubusercontent.com/u/841385?v=3","gravatar_id":"","url":"https://api.github.com/users/nicolasbock","html_url":"https://github.com/nicolasbock","followers_url":"https://api.github.com/users/nicolasbock/followers","following_url":"https://api.github.com/users/nicolasbock/following{/other_user}","gists_url":"https://api.github.com/users/nicolasbock/gists{/gist_id}","starred_url":"https://api.github.com/users/nicolasbock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nicolasbock/subscriptions","organizations_url":"https://api.github.com/users/nicolasbock/orgs","repos_url":"https://api.github.com/users/nicolasbock/repos","events_url":"https://api.github.com/users/nicolasbock/events{/privacy}","received_events_url":"https://api.github.com/users/nicolasbock/received_events","type":"User","site_admin":false},"repo":{"id":56667869,"name":"crowbar-openstack","full_name":"nicolasbock/crowbar-openstack","owner":{"login":"nicolasbock","id":841385,"avatar_url":"https://avatars.githubusercontent.com/u/841385?v=3","gravatar_id":"","url":"https://api.github.com/users/nicolasbock","html_url":"https://github.com/nicolasbock","followers_url":"https://api.github.com/users/nicolasbock/followers","following_url":"https://api.github.com/users/nicolasbock/following{/other_user}","gists_url":"https://api.github.com/users/nicolasbock/gists{/gist_id}","starred_url":"https://api.github.com/users/nicolasbock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nicolasbock/subscriptions","organizations_url":"https://api.github.com/users/nicolasbock/orgs","repos_url":"https://api.github.com/users/nicolasbock/repos","events_url":"https://api.github.com/users/nicolasbock/events{/privacy}","received_events_url":"https://api.github.com/users/nicolasbock/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/nicolasbock/crowbar-openstack","description":"Openstack deployment for Crowbar","fork":true,"url":"https://api.github.com/repos/nicolasbock/crowbar-openstack","forks_url":"https://api.github.com/repos/nicolasbock/crowbar-openstack/forks","keys_url":"https://api.github.com/repos/nicolasbock/crowbar-openstack/keys{/key_id}","collaborators_url":"https://api.github.com/repos/nicolasbock/crowbar-openstack/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/nicolasbock/crowbar-openstack/teams","hooks_url":"https://api.github.com/repos/nicolasbock/crowbar-openstack/hooks","issue_events_url":"https://api.github.com/repos/nicolasbock/crowbar-openstack/issues/events{/number}","events_url":"https://api.github.com/repos/nicolasbock/crowbar-openstack/events","assignees_url":"https://api.github.com/repos/nicolasbock/crowbar-openstack/assignees{/user}","branches_url":"https://api.github.com/repos/nicolasbock/crowbar-openstack/branches{/branch}","tags_url":"https://api.github.com/repos/nicolasbock/crowbar-openstack/tags","blobs_url":"https://api.github.com/repos/nicolasbock/crowbar-openstack/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/nicolasbock/crowbar-openstack/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/nicolasbock/crowbar-openstack/git/refs{/sha}","trees_url":"https://api.github.com/repos/nicolasbock/crowbar-openstack/git/trees{/sha}","statuses_url":"https://api.github.com/repos/nicolasbock/crowbar-openstack/statuses/{sha}","languages_url":"https://api.github.com/repos/nicolasbock/crowbar-openstack/languages","stargazers_url":"https://api.github.com/repos/nicolasbock/crowbar-openstack/stargazers","contributors_url":"https://api.github.com/repos/nicolasbock/crowbar-openstack/contributors","subscribers_url":"https://api.github.com/repos/nicolasbock/crowbar-openstack/subscribers","subscription_url":"https://api.github.com/repos/nicolasbock/crowbar-openstack/subscription","commits_url":"https://api.github.com/repos/nicolasbock/crowbar-openstack/commits{/sha}","git_commits_url":"https://api.github.com/repos/nicolasbock/crowbar-openstack/git/commits{/sha}","comments_url":"https://api.github.com/repos/nicolasbock/crowbar-openstack/comments{/number}","issue_comment_url":"https://api.github.com/repos/nicolasbock/crowbar-openstack/issues/comments{/number}","contents_url":"https://api.github.com/repos/nicolasbock/crowbar-openstack/contents/{+path}","compare_url":"https://api.github.com/repos/nicolasbock/crowbar-openstack/compare/{base}...{head}","merges_url":"https://api.github.com/repos/nicolasbock/crowbar-openstack/merges","archive_url":"https://api.github.com/repos/nicolasbock/crowbar-openstack/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/nicolasbock/crowbar-openstack/downloads","issues_url":"https://api.github.com/repos/nicolasbock/crowbar-openstack/issues{/number}","pulls_url":"https://api.github.com/repos/nicolasbock/crowbar-openstack/pulls{/number}","milestones_url":"https://api.github.com/repos/nicolasbock/crowbar-openstack/milestones{/number}","notifications_url":"https://api.github.com/repos/nicolasbock/crowbar-openstack/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/nicolasbock/crowbar-openstack/labels{/name}","releases_url":"https://api.github.com/repos/nicolasbock/crowbar-openstack/releases{/id}","deployments_url":"https://api.github.com/repos/nicolasbock/crowbar-openstack/deployments","created_at":"2016-04-20T08:03:17Z","updated_at":"2016-04-20T08:03:20Z","pushed_at":"2016-05-03T09:26:37Z","git_url":"git://github.com/nicolasbock/crowbar-openstack.git","ssh_url":"git@github.com:nicolasbock/crowbar-openstack.git","clone_url":"https://github.com/nicolasbock/crowbar-openstack.git","svn_url":"https://github.com/nicolasbock/crowbar-openstack","homepage":null,"size":16571,"stargazers_count":0,"watchers_count":0,"language":"HTML","has_issues":false,"has_downloads":true,"has_wiki":false,"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":"a1733ab231a5c34817a72f4d5af8fd2a6f018210","user":{"login":"crowbar","id":2910205,"avatar_url":"https://avatars.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":39006903,"name":"crowbar-openstack","full_name":"crowbar/crowbar-openstack","owner":{"login":"crowbar","id":2910205,"avatar_url":"https://avatars.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-openstack","description":"Openstack deployment for Crowbar","fork":false,"url":"https://api.github.com/repos/crowbar/crowbar-openstack","forks_url":"https://api.github.com/repos/crowbar/crowbar-openstack/forks","keys_url":"https://api.github.com/repos/crowbar/crowbar-openstack/keys{/key_id}","collaborators_url":"https://api.github.com/repos/crowbar/crowbar-openstack/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/crowbar/crowbar-openstack/teams","hooks_url":"https://api.github.com/repos/crowbar/crowbar-openstack/hooks","issue_events_url":"https://api.github.com/repos/crowbar/crowbar-openstack/issues/events{/number}","events_url":"https://api.github.com/repos/crowbar/crowbar-openstack/events","assignees_url":"https://api.github.com/repos/crowbar/crowbar-openstack/assignees{/user}","branches_url":"https://api.github.com/repos/crowbar/crowbar-openstack/branches{/branch}","tags_url":"https://api.github.com/repos/crowbar/crowbar-openstack/tags","blobs_url":"https://api.github.com/repos/crowbar/crowbar-openstack/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/crowbar/crowbar-openstack/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/crowbar/crowbar-openstack/git/refs{/sha}","trees_url":"https://api.github.com/repos/crowbar/crowbar-openstack/git/trees{/sha}","statuses_url":"https://api.github.com/repos/crowbar/crowbar-openstack/statuses/{sha}","languages_url":"https://api.github.com/repos/crowbar/crowbar-openstack/languages","stargazers_url":"https://api.github.com/repos/crowbar/crowbar-openstack/stargazers","contributors_url":"https://api.github.com/repos/crowbar/crowbar-openstack/contributors","subscribers_url":"https://api.github.com/repos/crowbar/crowbar-openstack/subscribers","subscription_url":"https://api.github.com/repos/crowbar/crowbar-openstack/subscription","commits_url":"https://api.github.com/repos/crowbar/crowbar-openstack/commits{/sha}","git_commits_url":"https://api.github.com/repos/crowbar/crowbar-openstack/git/commits{/sha}","comments_url":"https://api.github.com/repos/crowbar/crowbar-openstack/comments{/number}","issue_comment_url":"https://api.github.com/repos/crowbar/crowbar-openstack/issues/comments{/number}","contents_url":"https://api.github.com/repos/crowbar/crowbar-openstack/contents/{+path}","compare_url":"https://api.github.com/repos/crowbar/crowbar-openstack/compare/{base}...{head}","merges_url":"https://api.github.com/repos/crowbar/crowbar-openstack/merges","archive_url":"https://api.github.com/repos/crowbar/crowbar-openstack/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/crowbar/crowbar-openstack/downloads","issues_url":"https://api.github.com/repos/crowbar/crowbar-openstack/issues{/number}","pulls_url":"https://api.github.com/repos/crowbar/crowbar-openstack/pulls{/number}","milestones_url":"https://api.github.com/repos/crowbar/crowbar-openstack/milestones{/number}","notifications_url":"https://api.github.com/repos/crowbar/crowbar-openstack/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/crowbar/crowbar-openstack/labels{/name}","releases_url":"https://api.github.com/repos/crowbar/crowbar-openstack/releases{/id}","deployments_url":"https://api.github.com/repos/crowbar/crowbar-openstack/deployments","created_at":"2015-07-13T10:55:33Z","updated_at":"2016-01-11T12:29:07Z","pushed_at":"2016-05-03T09:26:38Z","git_url":"git://github.com/crowbar/crowbar-openstack.git","ssh_url":"git@github.com:crowbar/crowbar-openstack.git","clone_url":"https://github.com/crowbar/crowbar-openstack.git","svn_url":"https://github.com/crowbar/crowbar-openstack","homepage":null,"size":16907,"stargazers_count":2,"watchers_count":2,"language":"HTML","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":25,"mirror_url":null,"open_issues_count":23,"forks":25,"open_issues":23,"watchers":2,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/crowbar/crowbar-openstack/pulls/364"},"html":{"href":"https://github.com/crowbar/crowbar-openstack/pull/364"},"issue":{"href":"https://api.github.com/repos/crowbar/crowbar-openstack/issues/364"},"comments":{"href":"https://api.github.com/repos/crowbar/crowbar-openstack/issues/364/comments"},"review_comments":{"href":"https://api.github.com/repos/crowbar/crowbar-openstack/pulls/364/comments"},"review_comment":{"href":"https://api.github.com/repos/crowbar/crowbar-openstack/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/crowbar/crowbar-openstack/pulls/364/commits"},"statuses":{"href":"https://api.github.com/repos/crowbar/crowbar-openstack/statuses/b772e46bb6bf5c013abdc98611f67d8b01300aed"}}}}