{"action":"created","comment":{"url":"https://api.github.com/repos/crowbar/crowbar-openstack/pulls/comments/74553395","id":74553395,"diff_hunk":"@@ -47,13 +47,21 @@ def mask_to_bits(mask)\n floating_pool_start = floating_net[:ranges][:host][:start]\n floating_pool_end = floating_net[:ranges][:host][:end]\n \n+ironic_net = node[:network][:networks][\"ironic\"]\n+ironic_range = \"#{ironic_net[\"subnet\"]}/#{mask_to_bits(ironic_net[\"netmask\"])}\"\n+ironic_pool_start = ironic_net[:ranges][:dhcp][:start]\n+ironic_pool_end = ironic_net[:ranges][:dhcp][:end]\n+ironic_router = ironic_net[\"router\"]\n+\n vni_start = [node[:neutron][:vxlan][:vni_start], 0].max\n \n keystone_settings = KeystoneHelper.keystone_settings(node, @cookbook_name)\n \n neutron_insecure = node[:neutron][:api][:protocol] == \"https\" && node[:neutron][:ssl][:insecure]\n ssl_insecure = keystone_settings[\"insecure\"] || neutron_insecure\n \n+has_ironic = node.roles.include?(\"ironic-server\")","path":"chef/cookbooks/neutron/recipes/post_install_conf.rb","position":17,"original_position":17,"commit_id":"7cb9d3ad026d587960eed9d6a7f725499d5f22b5","original_commit_id":"7cb9d3ad026d587960eed9d6a7f725499d5f22b5","user":{"login":"rhafer","id":373399,"avatar_url":"https://avatars.githubusercontent.com/u/373399?v=3","gravatar_id":"","url":"https://api.github.com/users/rhafer","html_url":"https://github.com/rhafer","followers_url":"https://api.github.com/users/rhafer/followers","following_url":"https://api.github.com/users/rhafer/following{/other_user}","gists_url":"https://api.github.com/users/rhafer/gists{/gist_id}","starred_url":"https://api.github.com/users/rhafer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rhafer/subscriptions","organizations_url":"https://api.github.com/users/rhafer/orgs","repos_url":"https://api.github.com/users/rhafer/repos","events_url":"https://api.github.com/users/rhafer/events{/privacy}","received_events_url":"https://api.github.com/users/rhafer/received_events","type":"User","site_admin":false},"body":"This won't really work. I guess \"ironic-server\" can be deployed on a different node (or cluster) than neutron-server? In that case neutron will not notice that ironic is enabled.","created_at":"2016-08-12T07:55:55Z","updated_at":"2016-08-12T07:55:55Z","html_url":"https://github.com/crowbar/crowbar-openstack/pull/449#discussion_r74553395","pull_request_url":"https://api.github.com/repos/crowbar/crowbar-openstack/pulls/449","_links":{"self":{"href":"https://api.github.com/repos/crowbar/crowbar-openstack/pulls/comments/74553395"},"html":{"href":"https://github.com/crowbar/crowbar-openstack/pull/449#discussion_r74553395"},"pull_request":{"href":"https://api.github.com/repos/crowbar/crowbar-openstack/pulls/449"}}},"pull_request":{"url":"https://api.github.com/repos/crowbar/crowbar-openstack/pulls/449","id":77606234,"html_url":"https://github.com/crowbar/crowbar-openstack/pull/449","diff_url":"https://github.com/crowbar/crowbar-openstack/pull/449.diff","patch_url":"https://github.com/crowbar/crowbar-openstack/pull/449.patch","issue_url":"https://api.github.com/repos/crowbar/crowbar-openstack/issues/449","number":449,"state":"open","locked":false,"title":"Ironic barclamp","user":{"login":"skazi0","id":2458112,"avatar_url":"https://avatars.githubusercontent.com/u/2458112?v=3","gravatar_id":"","url":"https://api.github.com/users/skazi0","html_url":"https://github.com/skazi0","followers_url":"https://api.github.com/users/skazi0/followers","following_url":"https://api.github.com/users/skazi0/following{/other_user}","gists_url":"https://api.github.com/users/skazi0/gists{/gist_id}","starred_url":"https://api.github.com/users/skazi0/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/skazi0/subscriptions","organizations_url":"https://api.github.com/users/skazi0/orgs","repos_url":"https://api.github.com/users/skazi0/repos","events_url":"https://api.github.com/users/skazi0/events{/privacy}","received_events_url":"https://api.github.com/users/skazi0/received_events","type":"User","site_admin":false},"body":"**NOTE:** this PR requires https://github.com/crowbar/crowbar-core/pull/577 to be merged first.\r\n\r\nImplementation of the barclamp to install Ironic services using crowbar.\r\n\r\n- [x] new barclamp for installation and configuration of ironic-api and ironic-conductor\r\n- [x] new role (nova-compute-ironic) in nova barclamp for configuration of nova node which will act as a \"proxy\" for ironic\r\n- [x] neutron configuration handling\r\n- [x] PXE/tftp configuration\r\n- [ ] ironic specific images and flavors\r\n\r\nKnown bugs/issues:\r\n- [ ] host manager in nova config can be either for baremetal or for VMs. Baremetal option works only with baremetal machines. Default host manager can handle both baremetal and VMs but it requires some tricks to make things work. Current implementation uses the default host manager. Selecting this should be added as an option in the barclamp.\r\n- [x] nova-compute-ironic needs to be on the same host as ironic-server.\r\n- [x] ironic-br bridge is lost after re-applying Ironic proposal. After re-applying Neutron proposal it's back but misses some connections.\r\n- [ ] isolation of instance types in mixed hypervisor (i.e. baremetal + vm) setup was not tested (using AZ is one of options)","created_at":"2016-07-15T12:13:50Z","updated_at":"2016-08-12T07:55:55Z","closed_at":null,"merged_at":null,"merge_commit_sha":"875b0932cd87fecbdb12542df006d1712e3a4034","assignee":{"login":"rhafer","id":373399,"avatar_url":"https://avatars.githubusercontent.com/u/373399?v=3","gravatar_id":"","url":"https://api.github.com/users/rhafer","html_url":"https://github.com/rhafer","followers_url":"https://api.github.com/users/rhafer/followers","following_url":"https://api.github.com/users/rhafer/following{/other_user}","gists_url":"https://api.github.com/users/rhafer/gists{/gist_id}","starred_url":"https://api.github.com/users/rhafer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rhafer/subscriptions","organizations_url":"https://api.github.com/users/rhafer/orgs","repos_url":"https://api.github.com/users/rhafer/repos","events_url":"https://api.github.com/users/rhafer/events{/privacy}","received_events_url":"https://api.github.com/users/rhafer/received_events","type":"User","site_admin":false},"assignees":[{"login":"rhafer","id":373399,"avatar_url":"https://avatars.githubusercontent.com/u/373399?v=3","gravatar_id":"","url":"https://api.github.com/users/rhafer","html_url":"https://github.com/rhafer","followers_url":"https://api.github.com/users/rhafer/followers","following_url":"https://api.github.com/users/rhafer/following{/other_user}","gists_url":"https://api.github.com/users/rhafer/gists{/gist_id}","starred_url":"https://api.github.com/users/rhafer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rhafer/subscriptions","organizations_url":"https://api.github.com/users/rhafer/orgs","repos_url":"https://api.github.com/users/rhafer/repos","events_url":"https://api.github.com/users/rhafer/events{/privacy}","received_events_url":"https://api.github.com/users/rhafer/received_events","type":"User","site_admin":false},{"login":"nkrinner","id":975758,"avatar_url":"https://avatars.githubusercontent.com/u/975758?v=3","gravatar_id":"","url":"https://api.github.com/users/nkrinner","html_url":"https://github.com/nkrinner","followers_url":"https://api.github.com/users/nkrinner/followers","following_url":"https://api.github.com/users/nkrinner/following{/other_user}","gists_url":"https://api.github.com/users/nkrinner/gists{/gist_id}","starred_url":"https://api.github.com/users/nkrinner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nkrinner/subscriptions","organizations_url":"https://api.github.com/users/nkrinner/orgs","repos_url":"https://api.github.com/users/nkrinner/repos","events_url":"https://api.github.com/users/nkrinner/events{/privacy}","received_events_url":"https://api.github.com/users/nkrinner/received_events","type":"User","site_admin":false},{"login":"dirkmueller","id":1029152,"avatar_url":"https://avatars.githubusercontent.com/u/1029152?v=3","gravatar_id":"","url":"https://api.github.com/users/dirkmueller","html_url":"https://github.com/dirkmueller","followers_url":"https://api.github.com/users/dirkmueller/followers","following_url":"https://api.github.com/users/dirkmueller/following{/other_user}","gists_url":"https://api.github.com/users/dirkmueller/gists{/gist_id}","starred_url":"https://api.github.com/users/dirkmueller/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dirkmueller/subscriptions","organizations_url":"https://api.github.com/users/dirkmueller/orgs","repos_url":"https://api.github.com/users/dirkmueller/repos","events_url":"https://api.github.com/users/dirkmueller/events{/privacy}","received_events_url":"https://api.github.com/users/dirkmueller/received_events","type":"User","site_admin":false},{"login":"mjura","id":4455471,"avatar_url":"https://avatars.githubusercontent.com/u/4455471?v=3","gravatar_id":"","url":"https://api.github.com/users/mjura","html_url":"https://github.com/mjura","followers_url":"https://api.github.com/users/mjura/followers","following_url":"https://api.github.com/users/mjura/following{/other_user}","gists_url":"https://api.github.com/users/mjura/gists{/gist_id}","starred_url":"https://api.github.com/users/mjura/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mjura/subscriptions","organizations_url":"https://api.github.com/users/mjura/orgs","repos_url":"https://api.github.com/users/mjura/repos","events_url":"https://api.github.com/users/mjura/events{/privacy}","received_events_url":"https://api.github.com/users/mjura/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/crowbar/crowbar-openstack/pulls/449/commits","review_comments_url":"https://api.github.com/repos/crowbar/crowbar-openstack/pulls/449/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/449/comments","statuses_url":"https://api.github.com/repos/crowbar/crowbar-openstack/statuses/7cb9d3ad026d587960eed9d6a7f725499d5f22b5","head":{"label":"skazi0:ironic-barclamp","ref":"ironic-barclamp","sha":"7cb9d3ad026d587960eed9d6a7f725499d5f22b5","user":{"login":"skazi0","id":2458112,"avatar_url":"https://avatars.githubusercontent.com/u/2458112?v=3","gravatar_id":"","url":"https://api.github.com/users/skazi0","html_url":"https://github.com/skazi0","followers_url":"https://api.github.com/users/skazi0/followers","following_url":"https://api.github.com/users/skazi0/following{/other_user}","gists_url":"https://api.github.com/users/skazi0/gists{/gist_id}","starred_url":"https://api.github.com/users/skazi0/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/skazi0/subscriptions","organizations_url":"https://api.github.com/users/skazi0/orgs","repos_url":"https://api.github.com/users/skazi0/repos","events_url":"https://api.github.com/users/skazi0/events{/privacy}","received_events_url":"https://api.github.com/users/skazi0/received_events","type":"User","site_admin":false},"repo":{"id":62718880,"name":"crowbar-openstack","full_name":"skazi0/crowbar-openstack","owner":{"login":"skazi0","id":2458112,"avatar_url":"https://avatars.githubusercontent.com/u/2458112?v=3","gravatar_id":"","url":"https://api.github.com/users/skazi0","html_url":"https://github.com/skazi0","followers_url":"https://api.github.com/users/skazi0/followers","following_url":"https://api.github.com/users/skazi0/following{/other_user}","gists_url":"https://api.github.com/users/skazi0/gists{/gist_id}","starred_url":"https://api.github.com/users/skazi0/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/skazi0/subscriptions","organizations_url":"https://api.github.com/users/skazi0/orgs","repos_url":"https://api.github.com/users/skazi0/repos","events_url":"https://api.github.com/users/skazi0/events{/privacy}","received_events_url":"https://api.github.com/users/skazi0/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/skazi0/crowbar-openstack","description":"Openstack deployment for Crowbar","fork":true,"url":"https://api.github.com/repos/skazi0/crowbar-openstack","forks_url":"https://api.github.com/repos/skazi0/crowbar-openstack/forks","keys_url":"https://api.github.com/repos/skazi0/crowbar-openstack/keys{/key_id}","collaborators_url":"https://api.github.com/repos/skazi0/crowbar-openstack/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/skazi0/crowbar-openstack/teams","hooks_url":"https://api.github.com/repos/skazi0/crowbar-openstack/hooks","issue_events_url":"https://api.github.com/repos/skazi0/crowbar-openstack/issues/events{/number}","events_url":"https://api.github.com/repos/skazi0/crowbar-openstack/events","assignees_url":"https://api.github.com/repos/skazi0/crowbar-openstack/assignees{/user}","branches_url":"https://api.github.com/repos/skazi0/crowbar-openstack/branches{/branch}","tags_url":"https://api.github.com/repos/skazi0/crowbar-openstack/tags","blobs_url":"https://api.github.com/repos/skazi0/crowbar-openstack/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/skazi0/crowbar-openstack/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/skazi0/crowbar-openstack/git/refs{/sha}","trees_url":"https://api.github.com/repos/skazi0/crowbar-openstack/git/trees{/sha}","statuses_url":"https://api.github.com/repos/skazi0/crowbar-openstack/statuses/{sha}","languages_url":"https://api.github.com/repos/skazi0/crowbar-openstack/languages","stargazers_url":"https://api.github.com/repos/skazi0/crowbar-openstack/stargazers","contributors_url":"https://api.github.com/repos/skazi0/crowbar-openstack/contributors","subscribers_url":"https://api.github.com/repos/skazi0/crowbar-openstack/subscribers","subscription_url":"https://api.github.com/repos/skazi0/crowbar-openstack/subscription","commits_url":"https://api.github.com/repos/skazi0/crowbar-openstack/commits{/sha}","git_commits_url":"https://api.github.com/repos/skazi0/crowbar-openstack/git/commits{/sha}","comments_url":"https://api.github.com/repos/skazi0/crowbar-openstack/comments{/number}","issue_comment_url":"https://api.github.com/repos/skazi0/crowbar-openstack/issues/comments{/number}","contents_url":"https://api.github.com/repos/skazi0/crowbar-openstack/contents/{+path}","compare_url":"https://api.github.com/repos/skazi0/crowbar-openstack/compare/{base}...{head}","merges_url":"https://api.github.com/repos/skazi0/crowbar-openstack/merges","archive_url":"https://api.github.com/repos/skazi0/crowbar-openstack/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/skazi0/crowbar-openstack/downloads","issues_url":"https://api.github.com/repos/skazi0/crowbar-openstack/issues{/number}","pulls_url":"https://api.github.com/repos/skazi0/crowbar-openstack/pulls{/number}","milestones_url":"https://api.github.com/repos/skazi0/crowbar-openstack/milestones{/number}","notifications_url":"https://api.github.com/repos/skazi0/crowbar-openstack/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/skazi0/crowbar-openstack/labels{/name}","releases_url":"https://api.github.com/repos/skazi0/crowbar-openstack/releases{/id}","deployments_url":"https://api.github.com/repos/skazi0/crowbar-openstack/deployments","created_at":"2016-07-06T12:20:57Z","updated_at":"2016-07-06T12:20:59Z","pushed_at":"2016-08-12T07:45:34Z","git_url":"git://github.com/skazi0/crowbar-openstack.git","ssh_url":"git@github.com:skazi0/crowbar-openstack.git","clone_url":"https://github.com/skazi0/crowbar-openstack.git","svn_url":"https://github.com/skazi0/crowbar-openstack","homepage":null,"size":17111,"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":"d4528bf331e55267da30cde9664559d22bc586cc","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-08-12T07:53:49Z","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":17692,"stargazers_count":2,"watchers_count":2,"language":"HTML","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":33,"mirror_url":null,"open_issues_count":40,"forks":33,"open_issues":40,"watchers":2,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/crowbar/crowbar-openstack/pulls/449"},"html":{"href":"https://github.com/crowbar/crowbar-openstack/pull/449"},"issue":{"href":"https://api.github.com/repos/crowbar/crowbar-openstack/issues/449"},"comments":{"href":"https://api.github.com/repos/crowbar/crowbar-openstack/issues/449/comments"},"review_comments":{"href":"https://api.github.com/repos/crowbar/crowbar-openstack/pulls/449/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/449/commits"},"statuses":{"href":"https://api.github.com/repos/crowbar/crowbar-openstack/statuses/7cb9d3ad026d587960eed9d6a7f725499d5f22b5"}}}}
{"actor":{"display_login":"rhafer"}}