{"action":"created","issue":{"url":"https://api.github.com/repos/jenkinsci/jenkins/issues/2922","repository_url":"https://api.github.com/repos/jenkinsci/jenkins","labels_url":"https://api.github.com/repos/jenkinsci/jenkins/issues/2922/labels{/name}","comments_url":"https://api.github.com/repos/jenkinsci/jenkins/issues/2922/comments","events_url":"https://api.github.com/repos/jenkinsci/jenkins/issues/2922/events","html_url":"https://github.com/jenkinsci/jenkins/pull/2922","id":236741372,"number":2922,"title":"[JENKINS-43496] - Add handling of the null Node#createComputer() result.","user":{"login":"oleg-nenashev","id":3000480,"avatar_url":"https://avatars3.githubusercontent.com/u/3000480?v=3","gravatar_id":"","url":"https://api.github.com/users/oleg-nenashev","html_url":"https://github.com/oleg-nenashev","followers_url":"https://api.github.com/users/oleg-nenashev/followers","following_url":"https://api.github.com/users/oleg-nenashev/following{/other_user}","gists_url":"https://api.github.com/users/oleg-nenashev/gists{/gist_id}","starred_url":"https://api.github.com/users/oleg-nenashev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/oleg-nenashev/subscriptions","organizations_url":"https://api.github.com/users/oleg-nenashev/orgs","repos_url":"https://api.github.com/users/oleg-nenashev/repos","events_url":"https://api.github.com/users/oleg-nenashev/events{/privacy}","received_events_url":"https://api.github.com/users/oleg-nenashev/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2017-06-18T19:47:43Z","updated_at":"2017-06-20T15:04:52Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/jenkinsci/jenkins/pulls/2922","html_url":"https://github.com/jenkinsci/jenkins/pull/2922","diff_url":"https://github.com/jenkinsci/jenkins/pull/2922.diff","patch_url":"https://github.com/jenkinsci/jenkins/pull/2922.patch"},"body":"it is a follow-up to https://github.com/jenkinsci/jenkins/pull/2836#discussion_r110604865\r\n\r\nDe-facto many Cloud plugins return `null` in `Node#createLauncher()`, but it has never been documented.\r\nIn order to prevent possible API misusages in the future, I have added annotations and fixed handling of the extension point in `AbstractCIBase#updateComputer()` which may fail in the case of `null` or `RuntimeException` in the Node implementation.\r\n\r\nSee [JENKINS-43496](https://issues.jenkins-ci.org/browse/JENKINS-43496).\r\n\r\n<!-- Comment: \r\nIf the issue is not fully described in the ticket, please put additional comments (justification, pull request links, etc.).\r\n-->\r\n\r\n### Changelog entries\r\n\r\nProposed changelog entries:\r\n\r\n* Entry 1: Prevent failure of the computer update logic if the `Node` implementation in a plugin does not support creation of ad-hoc computers or throws a runtime exception.\r\n* ...\r\n\r\n<!-- Comment: \r\nThe changelogs will be integrated by the core maintainers after the merge.  See the changelog examples here: https://jenkins.io/changelog/ -->\r\n\r\n### Submitter checklist\r\n\r\n- [x] JIRA issue is well described\r\n- [x] Link to JIRA ticket in description, if appropriate\r\n- [x] Appropriate autotests or explanation to why this change has no tests\r\n- [x] For new API and extension points: Link to the reference implementation in open-source (or example in Javadoc)\r\n\r\n<!-- Comment: \r\n * We do not require JIRA issues for minor improvements.\r\n * Bugfixes should have a JIRA issue (backporting process).\r\n * Major new features should have a JIRA issue reference.\r\n-->\r\n\r\n### Desired reviewers\r\n\r\n@reviewbybees\r\n\r\n<!-- Comment:\r\nIf you want to get reviews from particular people, please CC them.\r\nIf you need an accelerated review process by the community (e.g., for critical bugs), mention @jenkinsci/code-reviewers\r\n-->\r\n"},"comment":{"url":"https://api.github.com/repos/jenkinsci/jenkins/issues/comments/309788040","html_url":"https://github.com/jenkinsci/jenkins/pull/2922#issuecomment-309788040","issue_url":"https://api.github.com/repos/jenkinsci/jenkins/issues/2922","id":309788040,"user":{"login":"oleg-nenashev","id":3000480,"avatar_url":"https://avatars3.githubusercontent.com/u/3000480?v=3","gravatar_id":"","url":"https://api.github.com/users/oleg-nenashev","html_url":"https://github.com/oleg-nenashev","followers_url":"https://api.github.com/users/oleg-nenashev/followers","following_url":"https://api.github.com/users/oleg-nenashev/following{/other_user}","gists_url":"https://api.github.com/users/oleg-nenashev/gists{/gist_id}","starred_url":"https://api.github.com/users/oleg-nenashev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/oleg-nenashev/subscriptions","organizations_url":"https://api.github.com/users/oleg-nenashev/orgs","repos_url":"https://api.github.com/users/oleg-nenashev/repos","events_url":"https://api.github.com/users/oleg-nenashev/events{/privacy}","received_events_url":"https://api.github.com/users/oleg-nenashev/received_events","type":"User","site_admin":false},"created_at":"2017-06-20T15:04:52Z","updated_at":"2017-06-20T15:04:52Z","body":"Needs another review"}}
{"actor":{"display_login":"oleg-nenashev"}}