{"action":"closed","number":802,"pull_request":{"url":"https://api.github.com/repos/crowbar/crowbar-core/pulls/802","id":94315269,"html_url":"https://github.com/crowbar/crowbar-core/pull/802","diff_url":"https://github.com/crowbar/crowbar-core/pull/802.diff","patch_url":"https://github.com/crowbar/crowbar-core/pull/802.patch","issue_url":"https://api.github.com/repos/crowbar/crowbar-core/issues/802","number":802,"state":"closed","locked":false,"title":"Fix chef-client crash on admin server during a crowbar_register","user":{"login":"vuntz","id":1758783,"avatar_url":"https://avatars.githubusercontent.com/u/1758783?v=3","gravatar_id":"","url":"https://api.github.com/users/vuntz","html_url":"https://github.com/vuntz","followers_url":"https://api.github.com/users/vuntz/followers","following_url":"https://api.github.com/users/vuntz/following{/other_user}","gists_url":"https://api.github.com/users/vuntz/gists{/gist_id}","starred_url":"https://api.github.com/users/vuntz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vuntz/subscriptions","organizations_url":"https://api.github.com/users/vuntz/orgs","repos_url":"https://api.github.com/users/vuntz/repos","events_url":"https://api.github.com/users/vuntz/events{/privacy}","received_events_url":"https://api.github.com/users/vuntz/received_events","type":"User","site_admin":false},"body":"When we're in crowbar_register, we're not in sledgehammer. So we have\r\naccess to everything, like the ability to install packages.\r\n\r\nThis enables the ohai cookbook to install the cstruct gem in\r\ncrowbar_register. Without this, there's a period of time during the\r\ncrowbar_register call where the node has incomplete ohai data, resulting\r\nin the inability to resolve conduits, which then causes crashes on the\r\nadmin server:\r\n\r\n```\r\n================================================================================\r\nRecipe Compile Error in /var/chef/cache/cookbooks/provisioner/recipes/role_provisioner_server.rb\r\n================================================================================\r\nNoMethodError\r\n-------------\r\nundefined method `[]' for nil:NilClass\r\nCookbook Trace:\r\n---------------\r\n/var/chef/cache/cookbooks/provisioner/recipes/update_nodes.rb:23:in `block in find_node_boot_mac_addresses'\r\n/var/chef/cache/cookbooks/provisioner/recipes/update_nodes.rb:22:in `each'\r\n/var/chef/cache/cookbooks/provisioner/recipes/update_nodes.rb:22:in `find_node_boot_mac_addresses'\r\n/var/chef/cache/cookbooks/provisioner/recipes/update_nodes.rb:114:in `block in from_file'\r\n/var/chef/cache/cookbooks/provisioner/recipes/update_nodes.rb:46:in `each'\r\n/var/chef/cache/cookbooks/provisioner/recipes/update_nodes.rb:46:in `from_file'\r\n/var/chef/cache/cookbooks/provisioner/recipes/role_provisioner_server.rb:22:in `from_file'\r\nRelevant File Content:\r\n----------------------\r\n/var/chef/cache/cookbooks/provisioner/recipes/update_nodes.rb:\r\n16:  def find_node_boot_mac_addresses(node, admin_data_net)\r\n17:    # If we don't have an admin IP allocated yet using node.macaddress is\r\n18:    # our best guess for the boot macaddress\r\n19:    return [node[:macaddress]] if admin_data_net.nil? || admin_data_net.interface_list.nil?\r\n20:    result = []\r\n21:    admin_interfaces = admin_data_net.interface_list\r\n22:    admin_interfaces.each do |interface|\r\n23>>     node[\"network\"][\"interfaces\"][interface][\"addresses\"].each do |addr, addr_data|\r\n24:        next if addr_data[\"family\"] != \"lladdr\"\r\n25:        result << addr unless result.include? addr\r\n26:      end\r\n27:    end\r\n28:    result\r\n29:  end\r\n30:\r\n31:  states = node[\"provisioner\"][\"dhcp\"][\"state_machine\"]\r\n32:  tftproot = node[\"provisioner\"][\"root\"]\r\n```\r\n\r\nThis may actually be the cause for\r\nhttps://bugzilla.suse.com/show_bug.cgi?id=990745","created_at":"2016-11-18T07:32:29Z","updated_at":"2016-12-03T22:48:25Z","closed_at":"2016-12-03T22:48:25Z","merged_at":"2016-12-03T22:48:25Z","merge_commit_sha":"3c0d322070810105c4343b8df104315531468d99","assignee":{"login":"aspiers","id":100738,"avatar_url":"https://avatars.githubusercontent.com/u/100738?v=3","gravatar_id":"","url":"https://api.github.com/users/aspiers","html_url":"https://github.com/aspiers","followers_url":"https://api.github.com/users/aspiers/followers","following_url":"https://api.github.com/users/aspiers/following{/other_user}","gists_url":"https://api.github.com/users/aspiers/gists{/gist_id}","starred_url":"https://api.github.com/users/aspiers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aspiers/subscriptions","organizations_url":"https://api.github.com/users/aspiers/orgs","repos_url":"https://api.github.com/users/aspiers/repos","events_url":"https://api.github.com/users/aspiers/events{/privacy}","received_events_url":"https://api.github.com/users/aspiers/received_events","type":"User","site_admin":false},"assignees":[{"login":"aspiers","id":100738,"avatar_url":"https://avatars.githubusercontent.com/u/100738?v=3","gravatar_id":"","url":"https://api.github.com/users/aspiers","html_url":"https://github.com/aspiers","followers_url":"https://api.github.com/users/aspiers/followers","following_url":"https://api.github.com/users/aspiers/following{/other_user}","gists_url":"https://api.github.com/users/aspiers/gists{/gist_id}","starred_url":"https://api.github.com/users/aspiers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aspiers/subscriptions","organizations_url":"https://api.github.com/users/aspiers/orgs","repos_url":"https://api.github.com/users/aspiers/repos","events_url":"https://api.github.com/users/aspiers/events{/privacy}","received_events_url":"https://api.github.com/users/aspiers/received_events","type":"User","site_admin":false},{"login":"aplanas","id":645701,"avatar_url":"https://avatars.githubusercontent.com/u/645701?v=3","gravatar_id":"","url":"https://api.github.com/users/aplanas","html_url":"https://github.com/aplanas","followers_url":"https://api.github.com/users/aplanas/followers","following_url":"https://api.github.com/users/aplanas/following{/other_user}","gists_url":"https://api.github.com/users/aplanas/gists{/gist_id}","starred_url":"https://api.github.com/users/aplanas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aplanas/subscriptions","organizations_url":"https://api.github.com/users/aplanas/orgs","repos_url":"https://api.github.com/users/aplanas/repos","events_url":"https://api.github.com/users/aplanas/events{/privacy}","received_events_url":"https://api.github.com/users/aplanas/received_events","type":"User","site_admin":false},{"login":"rsalevsky","id":4128547,"avatar_url":"https://avatars.githubusercontent.com/u/4128547?v=3","gravatar_id":"","url":"https://api.github.com/users/rsalevsky","html_url":"https://github.com/rsalevsky","followers_url":"https://api.github.com/users/rsalevsky/followers","following_url":"https://api.github.com/users/rsalevsky/following{/other_user}","gists_url":"https://api.github.com/users/rsalevsky/gists{/gist_id}","starred_url":"https://api.github.com/users/rsalevsky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rsalevsky/subscriptions","organizations_url":"https://api.github.com/users/rsalevsky/orgs","repos_url":"https://api.github.com/users/rsalevsky/repos","events_url":"https://api.github.com/users/rsalevsky/events{/privacy}","received_events_url":"https://api.github.com/users/rsalevsky/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/crowbar/crowbar-core/pulls/802/commits","review_comments_url":"https://api.github.com/repos/crowbar/crowbar-core/pulls/802/comments","review_comment_url":"https://api.github.com/repos/crowbar/crowbar-core/pulls/comments{/number}","comments_url":"https://api.github.com/repos/crowbar/crowbar-core/issues/802/comments","statuses_url":"https://api.github.com/repos/crowbar/crowbar-core/statuses/61cceb01a18f958cb43422f76470941ff23cad16","head":{"label":"vuntz:crowbar_register-fix","ref":"crowbar_register-fix","sha":"61cceb01a18f958cb43422f76470941ff23cad16","user":{"login":"vuntz","id":1758783,"avatar_url":"https://avatars.githubusercontent.com/u/1758783?v=3","gravatar_id":"","url":"https://api.github.com/users/vuntz","html_url":"https://github.com/vuntz","followers_url":"https://api.github.com/users/vuntz/followers","following_url":"https://api.github.com/users/vuntz/following{/other_user}","gists_url":"https://api.github.com/users/vuntz/gists{/gist_id}","starred_url":"https://api.github.com/users/vuntz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vuntz/subscriptions","organizations_url":"https://api.github.com/users/vuntz/orgs","repos_url":"https://api.github.com/users/vuntz/repos","events_url":"https://api.github.com/users/vuntz/events{/privacy}","received_events_url":"https://api.github.com/users/vuntz/received_events","type":"User","site_admin":false},"repo":{"id":41142179,"name":"crowbar-core","full_name":"vuntz/crowbar-core","owner":{"login":"vuntz","id":1758783,"avatar_url":"https://avatars.githubusercontent.com/u/1758783?v=3","gravatar_id":"","url":"https://api.github.com/users/vuntz","html_url":"https://github.com/vuntz","followers_url":"https://api.github.com/users/vuntz/followers","following_url":"https://api.github.com/users/vuntz/following{/other_user}","gists_url":"https://api.github.com/users/vuntz/gists{/gist_id}","starred_url":"https://api.github.com/users/vuntz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vuntz/subscriptions","organizations_url":"https://api.github.com/users/vuntz/orgs","repos_url":"https://api.github.com/users/vuntz/repos","events_url":"https://api.github.com/users/vuntz/events{/privacy}","received_events_url":"https://api.github.com/users/vuntz/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/vuntz/crowbar-core","description":"Core deployment for Crowbar","fork":true,"url":"https://api.github.com/repos/vuntz/crowbar-core","forks_url":"https://api.github.com/repos/vuntz/crowbar-core/forks","keys_url":"https://api.github.com/repos/vuntz/crowbar-core/keys{/key_id}","collaborators_url":"https://api.github.com/repos/vuntz/crowbar-core/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/vuntz/crowbar-core/teams","hooks_url":"https://api.github.com/repos/vuntz/crowbar-core/hooks","issue_events_url":"https://api.github.com/repos/vuntz/crowbar-core/issues/events{/number}","events_url":"https://api.github.com/repos/vuntz/crowbar-core/events","assignees_url":"https://api.github.com/repos/vuntz/crowbar-core/assignees{/user}","branches_url":"https://api.github.com/repos/vuntz/crowbar-core/branches{/branch}","tags_url":"https://api.github.com/repos/vuntz/crowbar-core/tags","blobs_url":"https://api.github.com/repos/vuntz/crowbar-core/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/vuntz/crowbar-core/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/vuntz/crowbar-core/git/refs{/sha}","trees_url":"https://api.github.com/repos/vuntz/crowbar-core/git/trees{/sha}","statuses_url":"https://api.github.com/repos/vuntz/crowbar-core/statuses/{sha}","languages_url":"https://api.github.com/repos/vuntz/crowbar-core/languages","stargazers_url":"https://api.github.com/repos/vuntz/crowbar-core/stargazers","contributors_url":"https://api.github.com/repos/vuntz/crowbar-core/contributors","subscribers_url":"https://api.github.com/repos/vuntz/crowbar-core/subscribers","subscription_url":"https://api.github.com/repos/vuntz/crowbar-core/subscription","commits_url":"https://api.github.com/repos/vuntz/crowbar-core/commits{/sha}","git_commits_url":"https://api.github.com/repos/vuntz/crowbar-core/git/commits{/sha}","comments_url":"https://api.github.com/repos/vuntz/crowbar-core/comments{/number}","issue_comment_url":"https://api.github.com/repos/vuntz/crowbar-core/issues/comments{/number}","contents_url":"https://api.github.com/repos/vuntz/crowbar-core/contents/{+path}","compare_url":"https://api.github.com/repos/vuntz/crowbar-core/compare/{base}...{head}","merges_url":"https://api.github.com/repos/vuntz/crowbar-core/merges","archive_url":"https://api.github.com/repos/vuntz/crowbar-core/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/vuntz/crowbar-core/downloads","issues_url":"https://api.github.com/repos/vuntz/crowbar-core/issues{/number}","pulls_url":"https://api.github.com/repos/vuntz/crowbar-core/pulls{/number}","milestones_url":"https://api.github.com/repos/vuntz/crowbar-core/milestones{/number}","notifications_url":"https://api.github.com/repos/vuntz/crowbar-core/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/vuntz/crowbar-core/labels{/name}","releases_url":"https://api.github.com/repos/vuntz/crowbar-core/releases{/id}","deployments_url":"https://api.github.com/repos/vuntz/crowbar-core/deployments","created_at":"2015-08-21T07:34:19Z","updated_at":"2016-02-09T13:19:08Z","pushed_at":"2016-12-03T01:28:20Z","git_url":"git://github.com/vuntz/crowbar-core.git","ssh_url":"git@github.com:vuntz/crowbar-core.git","clone_url":"https://github.com/vuntz/crowbar-core.git","svn_url":"https://github.com/vuntz/crowbar-core","homepage":null,"size":107496,"stargazers_count":0,"watchers_count":0,"language":"Ruby","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":"002566222539ddcb05516470a176921f03eec092","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":39003227,"name":"crowbar-core","full_name":"crowbar/crowbar-core","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-core","description":"Core deployment for Crowbar","fork":false,"url":"https://api.github.com/repos/crowbar/crowbar-core","forks_url":"https://api.github.com/repos/crowbar/crowbar-core/forks","keys_url":"https://api.github.com/repos/crowbar/crowbar-core/keys{/key_id}","collaborators_url":"https://api.github.com/repos/crowbar/crowbar-core/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/crowbar/crowbar-core/teams","hooks_url":"https://api.github.com/repos/crowbar/crowbar-core/hooks","issue_events_url":"https://api.github.com/repos/crowbar/crowbar-core/issues/events{/number}","events_url":"https://api.github.com/repos/crowbar/crowbar-core/events","assignees_url":"https://api.github.com/repos/crowbar/crowbar-core/assignees{/user}","branches_url":"https://api.github.com/repos/crowbar/crowbar-core/branches{/branch}","tags_url":"https://api.github.com/repos/crowbar/crowbar-core/tags","blobs_url":"https://api.github.com/repos/crowbar/crowbar-core/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/crowbar/crowbar-core/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/crowbar/crowbar-core/git/refs{/sha}","trees_url":"https://api.github.com/repos/crowbar/crowbar-core/git/trees{/sha}","statuses_url":"https://api.github.com/repos/crowbar/crowbar-core/statuses/{sha}","languages_url":"https://api.github.com/repos/crowbar/crowbar-core/languages","stargazers_url":"https://api.github.com/repos/crowbar/crowbar-core/stargazers","contributors_url":"https://api.github.com/repos/crowbar/crowbar-core/contributors","subscribers_url":"https://api.github.com/repos/crowbar/crowbar-core/subscribers","subscription_url":"https://api.github.com/repos/crowbar/crowbar-core/subscription","commits_url":"https://api.github.com/repos/crowbar/crowbar-core/commits{/sha}","git_commits_url":"https://api.github.com/repos/crowbar/crowbar-core/git/commits{/sha}","comments_url":"https://api.github.com/repos/crowbar/crowbar-core/comments{/number}","issue_comment_url":"https://api.github.com/repos/crowbar/crowbar-core/issues/comments{/number}","contents_url":"https://api.github.com/repos/crowbar/crowbar-core/contents/{+path}","compare_url":"https://api.github.com/repos/crowbar/crowbar-core/compare/{base}...{head}","merges_url":"https://api.github.com/repos/crowbar/crowbar-core/merges","archive_url":"https://api.github.com/repos/crowbar/crowbar-core/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/crowbar/crowbar-core/downloads","issues_url":"https://api.github.com/repos/crowbar/crowbar-core/issues{/number}","pulls_url":"https://api.github.com/repos/crowbar/crowbar-core/pulls{/number}","milestones_url":"https://api.github.com/repos/crowbar/crowbar-core/milestones{/number}","notifications_url":"https://api.github.com/repos/crowbar/crowbar-core/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/crowbar/crowbar-core/labels{/name}","releases_url":"https://api.github.com/repos/crowbar/crowbar-core/releases{/id}","deployments_url":"https://api.github.com/repos/crowbar/crowbar-core/deployments","created_at":"2015-07-13T09:31:28Z","updated_at":"2016-11-11T19:16:44Z","pushed_at":"2016-12-03T22:48:25Z","git_url":"git://github.com/crowbar/crowbar-core.git","ssh_url":"git@github.com:crowbar/crowbar-core.git","clone_url":"https://github.com/crowbar/crowbar-core.git","svn_url":"https://github.com/crowbar/crowbar-core","homepage":null,"size":121959,"stargazers_count":9,"watchers_count":9,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":38,"mirror_url":null,"open_issues_count":52,"forks":38,"open_issues":52,"watchers":9,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/crowbar/crowbar-core/pulls/802"},"html":{"href":"https://github.com/crowbar/crowbar-core/pull/802"},"issue":{"href":"https://api.github.com/repos/crowbar/crowbar-core/issues/802"},"comments":{"href":"https://api.github.com/repos/crowbar/crowbar-core/issues/802/comments"},"review_comments":{"href":"https://api.github.com/repos/crowbar/crowbar-core/pulls/802/comments"},"review_comment":{"href":"https://api.github.com/repos/crowbar/crowbar-core/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/crowbar/crowbar-core/pulls/802/commits"},"statuses":{"href":"https://api.github.com/repos/crowbar/crowbar-core/statuses/61cceb01a18f958cb43422f76470941ff23cad16"}},"merged":true,"mergeable":null,"mergeable_state":"unknown","merged_by":{"login":"vuntz","id":1758783,"avatar_url":"https://avatars.githubusercontent.com/u/1758783?v=3","gravatar_id":"","url":"https://api.github.com/users/vuntz","html_url":"https://github.com/vuntz","followers_url":"https://api.github.com/users/vuntz/followers","following_url":"https://api.github.com/users/vuntz/following{/other_user}","gists_url":"https://api.github.com/users/vuntz/gists{/gist_id}","starred_url":"https://api.github.com/users/vuntz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vuntz/subscriptions","organizations_url":"https://api.github.com/users/vuntz/orgs","repos_url":"https://api.github.com/users/vuntz/repos","events_url":"https://api.github.com/users/vuntz/events{/privacy}","received_events_url":"https://api.github.com/users/vuntz/received_events","type":"User","site_admin":false},"comments":3,"review_comments":0,"commits":2,"additions":2,"deletions":2,"changed_files":2}}
{"actor":{"display_login":"vuntz"}}