{"action":"created","comment":{"url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/pulls/comments/230718244","pull_request_review_id":171510799,"id":230718244,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIzMDcxODI0NA==","diff_hunk":"@@ -0,0 +1,6 @@\n+<?jelly escape-by-default='true'?>\n+<j:jelly xmlns:j=\"jelly:core\" xmlns:st=\"jelly:stapler\" xmlns:d=\"jelly:define\" xmlns:l=\"/lib/layout\" xmlns:t=\"/lib/hudson\" xmlns:f=\"/lib/form\">\n+    <f:entry title=\"${%Lifespan Timeout}\" field=\"lifespanMinutes\">\n+        <f:number default=\"60\"/>\n+    </f:entry>\n+</j:jelly>","path":"src/main/resources/org/jenkinsci/plugins/vsphere/FixedLifespanCloudRetentionStrategy/config.jelly","position":6,"original_position":6,"commit_id":"b38b052b7b5d6dce64b733aa9337f244502d0fa6","original_commit_id":"b38b052b7b5d6dce64b733aa9337f244502d0fa6","user":{"login":"pjdarton","id":984537,"node_id":"MDQ6VXNlcjk4NDUzNw==","avatar_url":"https://avatars2.githubusercontent.com/u/984537?v=4","gravatar_id":"","url":"https://api.github.com/users/pjdarton","html_url":"https://github.com/pjdarton","followers_url":"https://api.github.com/users/pjdarton/followers","following_url":"https://api.github.com/users/pjdarton/following{/other_user}","gists_url":"https://api.github.com/users/pjdarton/gists{/gist_id}","starred_url":"https://api.github.com/users/pjdarton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pjdarton/subscriptions","organizations_url":"https://api.github.com/users/pjdarton/orgs","repos_url":"https://api.github.com/users/pjdarton/repos","events_url":"https://api.github.com/users/pjdarton/events{/privacy}","received_events_url":"https://api.github.com/users/pjdarton/received_events","type":"User","site_admin":false},"body":"Please add a linefeed to the end of the file.","created_at":"2018-11-05T11:32:15Z","updated_at":"2018-11-05T11:37:24Z","html_url":"https://github.com/jenkinsci/vsphere-cloud-plugin/pull/96#discussion_r230718244","pull_request_url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/pulls/96","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/pulls/comments/230718244"},"html":{"href":"https://github.com/jenkinsci/vsphere-cloud-plugin/pull/96#discussion_r230718244"},"pull_request":{"href":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/pulls/96"}}},"pull_request":{"url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/pulls/96","id":216976671,"node_id":"MDExOlB1bGxSZXF1ZXN0MjE2OTc2Njcx","html_url":"https://github.com/jenkinsci/vsphere-cloud-plugin/pull/96","diff_url":"https://github.com/jenkinsci/vsphere-cloud-plugin/pull/96.diff","patch_url":"https://github.com/jenkinsci/vsphere-cloud-plugin/pull/96.patch","issue_url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/issues/96","number":96,"state":"open","locked":false,"title":"Request for feedback: Add new fixed-lifespan cloud retention strategy.","user":{"login":"rhencke","id":178348,"node_id":"MDQ6VXNlcjE3ODM0OA==","avatar_url":"https://avatars3.githubusercontent.com/u/178348?v=4","gravatar_id":"","url":"https://api.github.com/users/rhencke","html_url":"https://github.com/rhencke","followers_url":"https://api.github.com/users/rhencke/followers","following_url":"https://api.github.com/users/rhencke/following{/other_user}","gists_url":"https://api.github.com/users/rhencke/gists{/gist_id}","starred_url":"https://api.github.com/users/rhencke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rhencke/subscriptions","organizations_url":"https://api.github.com/users/rhencke/orgs","repos_url":"https://api.github.com/users/rhencke/repos","events_url":"https://api.github.com/users/rhencke/events{/privacy}","received_events_url":"https://api.github.com/users/rhencke/received_events","type":"User","site_admin":false},"body":"We have found a need for an alternate cloud retention strategy for our builds.\r\n\r\nThe keep-until-idle strategy is very good, but the issue we hit is that our builds\r\nare continuously running so agent never go idle.  Eventually, the agents will hit\r\nsome issue we must address, such as running out of disk space.  While we could\r\nwork to fix the agents, it's much easier to just delete them and let them be recreated.\r\n\r\nSo, we have introduced a fixed-life strategy to the vSphere plugin.  \r\nThe fixed-lifespan strategy provisions an agent for a fixed amount of time.\r\nAfter the amount of time has expired, the agent is disconnected, any builds\r\nfinished, then the agent is removed.  This prevents incurring the costs of the\r\nbuild-once strategy, which involves bootup/provisioning/no cache costs, but\r\nensures the agents are recycled on a regular basis which helps prevent issues.\r\n\r\nWhile, currently, we do this as a separate retention strategy, I could also see this\r\nsimply being an option that could be added to the existing keep-until-idle strategy.\r\n\r\nI was hoping to get your thoughts, and if interested, submit this for inclusion.\r\n\r\nThank you.","created_at":"2018-09-20T13:42:20Z","updated_at":"2018-11-05T11:37:24Z","closed_at":null,"merged_at":null,"merge_commit_sha":"d3c9d8b02b56308f68404c92bdbee97a6ec89815","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":881472278,"node_id":"MDU6TGFiZWw4ODE0NzIyNzg=","url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/labels/enhancement","name":"enhancement","color":"c6ffaf","default":true}],"milestone":null,"commits_url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/pulls/96/commits","review_comments_url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/pulls/96/comments","review_comment_url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/pulls/comments{/number}","comments_url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/issues/96/comments","statuses_url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/statuses/b38b052b7b5d6dce64b733aa9337f244502d0fa6","head":{"label":"rhencke:fixedTime","ref":"fixedTime","sha":"b38b052b7b5d6dce64b733aa9337f244502d0fa6","user":{"login":"rhencke","id":178348,"node_id":"MDQ6VXNlcjE3ODM0OA==","avatar_url":"https://avatars3.githubusercontent.com/u/178348?v=4","gravatar_id":"","url":"https://api.github.com/users/rhencke","html_url":"https://github.com/rhencke","followers_url":"https://api.github.com/users/rhencke/followers","following_url":"https://api.github.com/users/rhencke/following{/other_user}","gists_url":"https://api.github.com/users/rhencke/gists{/gist_id}","starred_url":"https://api.github.com/users/rhencke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rhencke/subscriptions","organizations_url":"https://api.github.com/users/rhencke/orgs","repos_url":"https://api.github.com/users/rhencke/repos","events_url":"https://api.github.com/users/rhencke/events{/privacy}","received_events_url":"https://api.github.com/users/rhencke/received_events","type":"User","site_admin":false},"repo":{"id":149329772,"node_id":"MDEwOlJlcG9zaXRvcnkxNDkzMjk3NzI=","name":"vsphere-cloud-plugin","full_name":"rhencke/vsphere-cloud-plugin","private":false,"owner":{"login":"rhencke","id":178348,"node_id":"MDQ6VXNlcjE3ODM0OA==","avatar_url":"https://avatars3.githubusercontent.com/u/178348?v=4","gravatar_id":"","url":"https://api.github.com/users/rhencke","html_url":"https://github.com/rhencke","followers_url":"https://api.github.com/users/rhencke/followers","following_url":"https://api.github.com/users/rhencke/following{/other_user}","gists_url":"https://api.github.com/users/rhencke/gists{/gist_id}","starred_url":"https://api.github.com/users/rhencke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rhencke/subscriptions","organizations_url":"https://api.github.com/users/rhencke/orgs","repos_url":"https://api.github.com/users/rhencke/repos","events_url":"https://api.github.com/users/rhencke/events{/privacy}","received_events_url":"https://api.github.com/users/rhencke/received_events","type":"User","site_admin":false},"html_url":"https://github.com/rhencke/vsphere-cloud-plugin","description":"vSphere cloud plugin for Jenkins","fork":true,"url":"https://api.github.com/repos/rhencke/vsphere-cloud-plugin","forks_url":"https://api.github.com/repos/rhencke/vsphere-cloud-plugin/forks","keys_url":"https://api.github.com/repos/rhencke/vsphere-cloud-plugin/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rhencke/vsphere-cloud-plugin/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rhencke/vsphere-cloud-plugin/teams","hooks_url":"https://api.github.com/repos/rhencke/vsphere-cloud-plugin/hooks","issue_events_url":"https://api.github.com/repos/rhencke/vsphere-cloud-plugin/issues/events{/number}","events_url":"https://api.github.com/repos/rhencke/vsphere-cloud-plugin/events","assignees_url":"https://api.github.com/repos/rhencke/vsphere-cloud-plugin/assignees{/user}","branches_url":"https://api.github.com/repos/rhencke/vsphere-cloud-plugin/branches{/branch}","tags_url":"https://api.github.com/repos/rhencke/vsphere-cloud-plugin/tags","blobs_url":"https://api.github.com/repos/rhencke/vsphere-cloud-plugin/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rhencke/vsphere-cloud-plugin/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rhencke/vsphere-cloud-plugin/git/refs{/sha}","trees_url":"https://api.github.com/repos/rhencke/vsphere-cloud-plugin/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rhencke/vsphere-cloud-plugin/statuses/{sha}","languages_url":"https://api.github.com/repos/rhencke/vsphere-cloud-plugin/languages","stargazers_url":"https://api.github.com/repos/rhencke/vsphere-cloud-plugin/stargazers","contributors_url":"https://api.github.com/repos/rhencke/vsphere-cloud-plugin/contributors","subscribers_url":"https://api.github.com/repos/rhencke/vsphere-cloud-plugin/subscribers","subscription_url":"https://api.github.com/repos/rhencke/vsphere-cloud-plugin/subscription","commits_url":"https://api.github.com/repos/rhencke/vsphere-cloud-plugin/commits{/sha}","git_commits_url":"https://api.github.com/repos/rhencke/vsphere-cloud-plugin/git/commits{/sha}","comments_url":"https://api.github.com/repos/rhencke/vsphere-cloud-plugin/comments{/number}","issue_comment_url":"https://api.github.com/repos/rhencke/vsphere-cloud-plugin/issues/comments{/number}","contents_url":"https://api.github.com/repos/rhencke/vsphere-cloud-plugin/contents/{+path}","compare_url":"https://api.github.com/repos/rhencke/vsphere-cloud-plugin/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rhencke/vsphere-cloud-plugin/merges","archive_url":"https://api.github.com/repos/rhencke/vsphere-cloud-plugin/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rhencke/vsphere-cloud-plugin/downloads","issues_url":"https://api.github.com/repos/rhencke/vsphere-cloud-plugin/issues{/number}","pulls_url":"https://api.github.com/repos/rhencke/vsphere-cloud-plugin/pulls{/number}","milestones_url":"https://api.github.com/repos/rhencke/vsphere-cloud-plugin/milestones{/number}","notifications_url":"https://api.github.com/repos/rhencke/vsphere-cloud-plugin/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rhencke/vsphere-cloud-plugin/labels{/name}","releases_url":"https://api.github.com/repos/rhencke/vsphere-cloud-plugin/releases{/id}","deployments_url":"https://api.github.com/repos/rhencke/vsphere-cloud-plugin/deployments","created_at":"2018-09-18T17:50:11Z","updated_at":"2018-09-18T17:50:44Z","pushed_at":"2018-09-20T13:44:01Z","git_url":"git://github.com/rhencke/vsphere-cloud-plugin.git","ssh_url":"git@github.com:rhencke/vsphere-cloud-plugin.git","clone_url":"https://github.com/rhencke/vsphere-cloud-plugin.git","svn_url":"https://github.com/rhencke/vsphere-cloud-plugin","homepage":"https://plugins.jenkins.io/vsphere-cloud","size":732,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":null,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"jenkinsci:master","ref":"master","sha":"acca14d1fef75b7f16795342c34a83baf6600c9d","user":{"login":"jenkinsci","id":107424,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEwNzQyNA==","avatar_url":"https://avatars0.githubusercontent.com/u/107424?v=4","gravatar_id":"","url":"https://api.github.com/users/jenkinsci","html_url":"https://github.com/jenkinsci","followers_url":"https://api.github.com/users/jenkinsci/followers","following_url":"https://api.github.com/users/jenkinsci/following{/other_user}","gists_url":"https://api.github.com/users/jenkinsci/gists{/gist_id}","starred_url":"https://api.github.com/users/jenkinsci/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jenkinsci/subscriptions","organizations_url":"https://api.github.com/users/jenkinsci/orgs","repos_url":"https://api.github.com/users/jenkinsci/repos","events_url":"https://api.github.com/users/jenkinsci/events{/privacy}","received_events_url":"https://api.github.com/users/jenkinsci/received_events","type":"Organization","site_admin":false},"repo":{"id":2482976,"node_id":"MDEwOlJlcG9zaXRvcnkyNDgyOTc2","name":"vsphere-cloud-plugin","full_name":"jenkinsci/vsphere-cloud-plugin","private":false,"owner":{"login":"jenkinsci","id":107424,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEwNzQyNA==","avatar_url":"https://avatars0.githubusercontent.com/u/107424?v=4","gravatar_id":"","url":"https://api.github.com/users/jenkinsci","html_url":"https://github.com/jenkinsci","followers_url":"https://api.github.com/users/jenkinsci/followers","following_url":"https://api.github.com/users/jenkinsci/following{/other_user}","gists_url":"https://api.github.com/users/jenkinsci/gists{/gist_id}","starred_url":"https://api.github.com/users/jenkinsci/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jenkinsci/subscriptions","organizations_url":"https://api.github.com/users/jenkinsci/orgs","repos_url":"https://api.github.com/users/jenkinsci/repos","events_url":"https://api.github.com/users/jenkinsci/events{/privacy}","received_events_url":"https://api.github.com/users/jenkinsci/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/jenkinsci/vsphere-cloud-plugin","description":"vSphere cloud plugin for Jenkins","fork":false,"url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin","forks_url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/forks","keys_url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/teams","hooks_url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/hooks","issue_events_url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/issues/events{/number}","events_url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/events","assignees_url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/assignees{/user}","branches_url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/branches{/branch}","tags_url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/tags","blobs_url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/git/refs{/sha}","trees_url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/statuses/{sha}","languages_url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/languages","stargazers_url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/stargazers","contributors_url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/contributors","subscribers_url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/subscribers","subscription_url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/subscription","commits_url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/commits{/sha}","git_commits_url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/git/commits{/sha}","comments_url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/comments{/number}","issue_comment_url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/issues/comments{/number}","contents_url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/contents/{+path}","compare_url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/merges","archive_url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/downloads","issues_url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/issues{/number}","pulls_url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/pulls{/number}","milestones_url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/milestones{/number}","notifications_url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/labels{/name}","releases_url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/releases{/id}","deployments_url":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/deployments","created_at":"2011-09-29T15:47:28Z","updated_at":"2018-10-24T13:45:53Z","pushed_at":"2018-10-24T13:45:50Z","git_url":"git://github.com/jenkinsci/vsphere-cloud-plugin.git","ssh_url":"git@github.com:jenkinsci/vsphere-cloud-plugin.git","clone_url":"https://github.com/jenkinsci/vsphere-cloud-plugin.git","svn_url":"https://github.com/jenkinsci/vsphere-cloud-plugin","homepage":"https://plugins.jenkins.io/vsphere-cloud","size":722,"stargazers_count":27,"watchers_count":27,"language":"Java","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":71,"mirror_url":null,"archived":false,"open_issues_count":3,"license":null,"forks":71,"open_issues":3,"watchers":27,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/pulls/96"},"html":{"href":"https://github.com/jenkinsci/vsphere-cloud-plugin/pull/96"},"issue":{"href":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/issues/96"},"comments":{"href":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/issues/96/comments"},"review_comments":{"href":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/pulls/96/comments"},"review_comment":{"href":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/pulls/96/commits"},"statuses":{"href":"https://api.github.com/repos/jenkinsci/vsphere-cloud-plugin/statuses/b38b052b7b5d6dce64b733aa9337f244502d0fa6"}},"author_association":"NONE"}}
{"actor":{"display_login":"pjdarton"}}