{"action":"closed","number":4813,"pull_request":{"url":"https://api.github.com/repos/kubernetes-sigs/kubespray/pulls/4813","id":282725844,"node_id":"MDExOlB1bGxSZXF1ZXN0MjgyNzI1ODQ0","html_url":"https://github.com/kubernetes-sigs/kubespray/pull/4813","diff_url":"https://github.com/kubernetes-sigs/kubespray/pull/4813.diff","patch_url":"https://github.com/kubernetes-sigs/kubespray/pull/4813.patch","issue_url":"https://api.github.com/repos/kubernetes-sigs/kubespray/issues/4813","number":4813,"state":"closed","locked":false,"title":"[WIP] Feature add download caching","user":{"login":"jhalfmoon","id":3319943,"node_id":"MDQ6VXNlcjMzMTk5NDM=","avatar_url":"https://avatars0.githubusercontent.com/u/3319943?v=4","gravatar_id":"","url":"https://api.github.com/users/jhalfmoon","html_url":"https://github.com/jhalfmoon","followers_url":"https://api.github.com/users/jhalfmoon/followers","following_url":"https://api.github.com/users/jhalfmoon/following{/other_user}","gists_url":"https://api.github.com/users/jhalfmoon/gists{/gist_id}","starred_url":"https://api.github.com/users/jhalfmoon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jhalfmoon/subscriptions","organizations_url":"https://api.github.com/users/jhalfmoon/orgs","repos_url":"https://api.github.com/users/jhalfmoon/repos","events_url":"https://api.github.com/users/jhalfmoon/events{/privacy}","received_events_url":"https://api.github.com/users/jhalfmoon/received_events","type":"User","site_admin":false},"body":"**What type of PR is this?**\r\n/kind feature\r\n\r\n**What this PR does / why we need it**:\r\nAdds caching to the download task, which is particularly useful when developing kubespray and / or using kubespray as an ephemeral, local kubernetes development environment, because it can significantly decrease the used download bandwidth during a provisioning run.\r\n\r\n**Special notes for your reviewer**:\r\nThis is re-done version of PR #3720 . That PR was done 6 months ago and I neglected it due to lack of time, so it got stale and didn't get merged. Meanwhile, much code has changed in the master branch, so I had to re-do the code. This is the result.\r\n\r\n**Does this PR introduce a user-facing change?**:\r\n```release-note\r\nDownloads will be cached locally, which may use up more disk space than was used before this patch.\r\n```\r\n","created_at":"2019-05-28T08:44:17Z","updated_at":"2019-05-29T11:01:36Z","closed_at":"2019-05-29T11:01:36Z","merged_at":null,"merge_commit_sha":"3ffd95928d825b803eb9738808da08d313b4df70","assignee":null,"assignees":[],"requested_reviewers":[{"login":"mirwan","id":8307951,"node_id":"MDQ6VXNlcjgzMDc5NTE=","avatar_url":"https://avatars0.githubusercontent.com/u/8307951?v=4","gravatar_id":"","url":"https://api.github.com/users/mirwan","html_url":"https://github.com/mirwan","followers_url":"https://api.github.com/users/mirwan/followers","following_url":"https://api.github.com/users/mirwan/following{/other_user}","gists_url":"https://api.github.com/users/mirwan/gists{/gist_id}","starred_url":"https://api.github.com/users/mirwan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mirwan/subscriptions","organizations_url":"https://api.github.com/users/mirwan/orgs","repos_url":"https://api.github.com/users/mirwan/repos","events_url":"https://api.github.com/users/mirwan/events{/privacy}","received_events_url":"https://api.github.com/users/mirwan/received_events","type":"User","site_admin":false},{"login":"Miouge1","id":13647208,"node_id":"MDQ6VXNlcjEzNjQ3MjA4","avatar_url":"https://avatars0.githubusercontent.com/u/13647208?v=4","gravatar_id":"","url":"https://api.github.com/users/Miouge1","html_url":"https://github.com/Miouge1","followers_url":"https://api.github.com/users/Miouge1/followers","following_url":"https://api.github.com/users/Miouge1/following{/other_user}","gists_url":"https://api.github.com/users/Miouge1/gists{/gist_id}","starred_url":"https://api.github.com/users/Miouge1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Miouge1/subscriptions","organizations_url":"https://api.github.com/users/Miouge1/orgs","repos_url":"https://api.github.com/users/Miouge1/repos","events_url":"https://api.github.com/users/Miouge1/events{/privacy}","received_events_url":"https://api.github.com/users/Miouge1/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":485769464,"node_id":"MDU6TGFiZWw0ODU3Njk0NjQ=","url":"https://api.github.com/repos/kubernetes-sigs/kubespray/labels/cncf-cla:%20yes","name":"cncf-cla: yes","color":"bfe5bf","default":false},{"id":1032104306,"node_id":"MDU6TGFiZWwxMDMyMTA0MzA2","url":"https://api.github.com/repos/kubernetes-sigs/kubespray/labels/do-not-merge/work-in-progress","name":"do-not-merge/work-in-progress","color":"e11d21","default":false},{"id":1032096058,"node_id":"MDU6TGFiZWwxMDMyMDk2MDU4","url":"https://api.github.com/repos/kubernetes-sigs/kubespray/labels/kind/feature","name":"kind/feature","color":"c7def8","default":false},{"id":676269920,"node_id":"MDU6TGFiZWw2NzYyNjk5MjA=","url":"https://api.github.com/repos/kubernetes-sigs/kubespray/labels/size/XL","name":"size/XL","color":"ee5500","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/kubernetes-sigs/kubespray/pulls/4813/commits","review_comments_url":"https://api.github.com/repos/kubernetes-sigs/kubespray/pulls/4813/comments","review_comment_url":"https://api.github.com/repos/kubernetes-sigs/kubespray/pulls/comments{/number}","comments_url":"https://api.github.com/repos/kubernetes-sigs/kubespray/issues/4813/comments","statuses_url":"https://api.github.com/repos/kubernetes-sigs/kubespray/statuses/d48ff0f5d1d5d70a14643937f2d9c81e80a49c2f","head":{"label":"jhalfmoon:feat_add_download_caching","ref":"feat_add_download_caching","sha":"d48ff0f5d1d5d70a14643937f2d9c81e80a49c2f","user":{"login":"jhalfmoon","id":3319943,"node_id":"MDQ6VXNlcjMzMTk5NDM=","avatar_url":"https://avatars0.githubusercontent.com/u/3319943?v=4","gravatar_id":"","url":"https://api.github.com/users/jhalfmoon","html_url":"https://github.com/jhalfmoon","followers_url":"https://api.github.com/users/jhalfmoon/followers","following_url":"https://api.github.com/users/jhalfmoon/following{/other_user}","gists_url":"https://api.github.com/users/jhalfmoon/gists{/gist_id}","starred_url":"https://api.github.com/users/jhalfmoon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jhalfmoon/subscriptions","organizations_url":"https://api.github.com/users/jhalfmoon/orgs","repos_url":"https://api.github.com/users/jhalfmoon/repos","events_url":"https://api.github.com/users/jhalfmoon/events{/privacy}","received_events_url":"https://api.github.com/users/jhalfmoon/received_events","type":"User","site_admin":false},"repo":{"id":154275519,"node_id":"MDEwOlJlcG9zaXRvcnkxNTQyNzU1MTk=","name":"kubespray","full_name":"jhalfmoon/kubespray","private":false,"owner":{"login":"jhalfmoon","id":3319943,"node_id":"MDQ6VXNlcjMzMTk5NDM=","avatar_url":"https://avatars0.githubusercontent.com/u/3319943?v=4","gravatar_id":"","url":"https://api.github.com/users/jhalfmoon","html_url":"https://github.com/jhalfmoon","followers_url":"https://api.github.com/users/jhalfmoon/followers","following_url":"https://api.github.com/users/jhalfmoon/following{/other_user}","gists_url":"https://api.github.com/users/jhalfmoon/gists{/gist_id}","starred_url":"https://api.github.com/users/jhalfmoon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jhalfmoon/subscriptions","organizations_url":"https://api.github.com/users/jhalfmoon/orgs","repos_url":"https://api.github.com/users/jhalfmoon/repos","events_url":"https://api.github.com/users/jhalfmoon/events{/privacy}","received_events_url":"https://api.github.com/users/jhalfmoon/received_events","type":"User","site_admin":false},"html_url":"https://github.com/jhalfmoon/kubespray","description":"Deploy a Production Ready Kubernetes Cluster","fork":true,"url":"https://api.github.com/repos/jhalfmoon/kubespray","forks_url":"https://api.github.com/repos/jhalfmoon/kubespray/forks","keys_url":"https://api.github.com/repos/jhalfmoon/kubespray/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jhalfmoon/kubespray/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jhalfmoon/kubespray/teams","hooks_url":"https://api.github.com/repos/jhalfmoon/kubespray/hooks","issue_events_url":"https://api.github.com/repos/jhalfmoon/kubespray/issues/events{/number}","events_url":"https://api.github.com/repos/jhalfmoon/kubespray/events","assignees_url":"https://api.github.com/repos/jhalfmoon/kubespray/assignees{/user}","branches_url":"https://api.github.com/repos/jhalfmoon/kubespray/branches{/branch}","tags_url":"https://api.github.com/repos/jhalfmoon/kubespray/tags","blobs_url":"https://api.github.com/repos/jhalfmoon/kubespray/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jhalfmoon/kubespray/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jhalfmoon/kubespray/git/refs{/sha}","trees_url":"https://api.github.com/repos/jhalfmoon/kubespray/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jhalfmoon/kubespray/statuses/{sha}","languages_url":"https://api.github.com/repos/jhalfmoon/kubespray/languages","stargazers_url":"https://api.github.com/repos/jhalfmoon/kubespray/stargazers","contributors_url":"https://api.github.com/repos/jhalfmoon/kubespray/contributors","subscribers_url":"https://api.github.com/repos/jhalfmoon/kubespray/subscribers","subscription_url":"https://api.github.com/repos/jhalfmoon/kubespray/subscription","commits_url":"https://api.github.com/repos/jhalfmoon/kubespray/commits{/sha}","git_commits_url":"https://api.github.com/repos/jhalfmoon/kubespray/git/commits{/sha}","comments_url":"https://api.github.com/repos/jhalfmoon/kubespray/comments{/number}","issue_comment_url":"https://api.github.com/repos/jhalfmoon/kubespray/issues/comments{/number}","contents_url":"https://api.github.com/repos/jhalfmoon/kubespray/contents/{+path}","compare_url":"https://api.github.com/repos/jhalfmoon/kubespray/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jhalfmoon/kubespray/merges","archive_url":"https://api.github.com/repos/jhalfmoon/kubespray/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jhalfmoon/kubespray/downloads","issues_url":"https://api.github.com/repos/jhalfmoon/kubespray/issues{/number}","pulls_url":"https://api.github.com/repos/jhalfmoon/kubespray/pulls{/number}","milestones_url":"https://api.github.com/repos/jhalfmoon/kubespray/milestones{/number}","notifications_url":"https://api.github.com/repos/jhalfmoon/kubespray/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jhalfmoon/kubespray/labels{/name}","releases_url":"https://api.github.com/repos/jhalfmoon/kubespray/releases{/id}","deployments_url":"https://api.github.com/repos/jhalfmoon/kubespray/deployments","created_at":"2018-10-23T06:39:16Z","updated_at":"2019-05-27T14:10:55Z","pushed_at":"2019-05-29T11:01:32Z","git_url":"git://github.com/jhalfmoon/kubespray.git","ssh_url":"git@github.com:jhalfmoon/kubespray.git","clone_url":"https://github.com/jhalfmoon/kubespray.git","svn_url":"https://github.com/jhalfmoon/kubespray","homepage":"","size":10653,"stargazers_count":0,"watchers_count":0,"language":"Shell","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"kubernetes-sigs:master","ref":"master","sha":"2a5721b4d4ad79e2ee9e85b956a873b5d1871c78","user":{"login":"kubernetes-sigs","id":36015203,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM2MDE1MjAz","avatar_url":"https://avatars1.githubusercontent.com/u/36015203?v=4","gravatar_id":"","url":"https://api.github.com/users/kubernetes-sigs","html_url":"https://github.com/kubernetes-sigs","followers_url":"https://api.github.com/users/kubernetes-sigs/followers","following_url":"https://api.github.com/users/kubernetes-sigs/following{/other_user}","gists_url":"https://api.github.com/users/kubernetes-sigs/gists{/gist_id}","starred_url":"https://api.github.com/users/kubernetes-sigs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubernetes-sigs/subscriptions","organizations_url":"https://api.github.com/users/kubernetes-sigs/orgs","repos_url":"https://api.github.com/users/kubernetes-sigs/repos","events_url":"https://api.github.com/users/kubernetes-sigs/events{/privacy}","received_events_url":"https://api.github.com/users/kubernetes-sigs/received_events","type":"Organization","site_admin":false},"repo":{"id":43613404,"node_id":"MDEwOlJlcG9zaXRvcnk0MzYxMzQwNA==","name":"kubespray","full_name":"kubernetes-sigs/kubespray","private":false,"owner":{"login":"kubernetes-sigs","id":36015203,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM2MDE1MjAz","avatar_url":"https://avatars1.githubusercontent.com/u/36015203?v=4","gravatar_id":"","url":"https://api.github.com/users/kubernetes-sigs","html_url":"https://github.com/kubernetes-sigs","followers_url":"https://api.github.com/users/kubernetes-sigs/followers","following_url":"https://api.github.com/users/kubernetes-sigs/following{/other_user}","gists_url":"https://api.github.com/users/kubernetes-sigs/gists{/gist_id}","starred_url":"https://api.github.com/users/kubernetes-sigs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubernetes-sigs/subscriptions","organizations_url":"https://api.github.com/users/kubernetes-sigs/orgs","repos_url":"https://api.github.com/users/kubernetes-sigs/repos","events_url":"https://api.github.com/users/kubernetes-sigs/events{/privacy}","received_events_url":"https://api.github.com/users/kubernetes-sigs/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/kubernetes-sigs/kubespray","description":"Deploy a Production Ready Kubernetes Cluster","fork":false,"url":"https://api.github.com/repos/kubernetes-sigs/kubespray","forks_url":"https://api.github.com/repos/kubernetes-sigs/kubespray/forks","keys_url":"https://api.github.com/repos/kubernetes-sigs/kubespray/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kubernetes-sigs/kubespray/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kubernetes-sigs/kubespray/teams","hooks_url":"https://api.github.com/repos/kubernetes-sigs/kubespray/hooks","issue_events_url":"https://api.github.com/repos/kubernetes-sigs/kubespray/issues/events{/number}","events_url":"https://api.github.com/repos/kubernetes-sigs/kubespray/events","assignees_url":"https://api.github.com/repos/kubernetes-sigs/kubespray/assignees{/user}","branches_url":"https://api.github.com/repos/kubernetes-sigs/kubespray/branches{/branch}","tags_url":"https://api.github.com/repos/kubernetes-sigs/kubespray/tags","blobs_url":"https://api.github.com/repos/kubernetes-sigs/kubespray/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kubernetes-sigs/kubespray/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kubernetes-sigs/kubespray/git/refs{/sha}","trees_url":"https://api.github.com/repos/kubernetes-sigs/kubespray/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kubernetes-sigs/kubespray/statuses/{sha}","languages_url":"https://api.github.com/repos/kubernetes-sigs/kubespray/languages","stargazers_url":"https://api.github.com/repos/kubernetes-sigs/kubespray/stargazers","contributors_url":"https://api.github.com/repos/kubernetes-sigs/kubespray/contributors","subscribers_url":"https://api.github.com/repos/kubernetes-sigs/kubespray/subscribers","subscription_url":"https://api.github.com/repos/kubernetes-sigs/kubespray/subscription","commits_url":"https://api.github.com/repos/kubernetes-sigs/kubespray/commits{/sha}","git_commits_url":"https://api.github.com/repos/kubernetes-sigs/kubespray/git/commits{/sha}","comments_url":"https://api.github.com/repos/kubernetes-sigs/kubespray/comments{/number}","issue_comment_url":"https://api.github.com/repos/kubernetes-sigs/kubespray/issues/comments{/number}","contents_url":"https://api.github.com/repos/kubernetes-sigs/kubespray/contents/{+path}","compare_url":"https://api.github.com/repos/kubernetes-sigs/kubespray/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kubernetes-sigs/kubespray/merges","archive_url":"https://api.github.com/repos/kubernetes-sigs/kubespray/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kubernetes-sigs/kubespray/downloads","issues_url":"https://api.github.com/repos/kubernetes-sigs/kubespray/issues{/number}","pulls_url":"https://api.github.com/repos/kubernetes-sigs/kubespray/pulls{/number}","milestones_url":"https://api.github.com/repos/kubernetes-sigs/kubespray/milestones{/number}","notifications_url":"https://api.github.com/repos/kubernetes-sigs/kubespray/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kubernetes-sigs/kubespray/labels{/name}","releases_url":"https://api.github.com/repos/kubernetes-sigs/kubespray/releases{/id}","deployments_url":"https://api.github.com/repos/kubernetes-sigs/kubespray/deployments","created_at":"2015-10-03T20:18:11Z","updated_at":"2019-05-29T10:37:19Z","pushed_at":"2019-05-29T09:57:47Z","git_url":"git://github.com/kubernetes-sigs/kubespray.git","ssh_url":"git@github.com:kubernetes-sigs/kubespray.git","clone_url":"https://github.com/kubernetes-sigs/kubespray.git","svn_url":"https://github.com/kubernetes-sigs/kubespray","homepage":"","size":10679,"stargazers_count":6273,"watchers_count":6273,"language":"Shell","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":2569,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":508,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":2569,"open_issues":508,"watchers":6273,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/kubernetes-sigs/kubespray/pulls/4813"},"html":{"href":"https://github.com/kubernetes-sigs/kubespray/pull/4813"},"issue":{"href":"https://api.github.com/repos/kubernetes-sigs/kubespray/issues/4813"},"comments":{"href":"https://api.github.com/repos/kubernetes-sigs/kubespray/issues/4813/comments"},"review_comments":{"href":"https://api.github.com/repos/kubernetes-sigs/kubespray/pulls/4813/comments"},"review_comment":{"href":"https://api.github.com/repos/kubernetes-sigs/kubespray/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/kubernetes-sigs/kubespray/pulls/4813/commits"},"statuses":{"href":"https://api.github.com/repos/kubernetes-sigs/kubespray/statuses/d48ff0f5d1d5d70a14643937f2d9c81e80a49c2f"}},"author_association":"CONTRIBUTOR","merged":false,"mergeable":true,"rebaseable":false,"mergeable_state":"unstable","merged_by":null,"comments":2,"review_comments":0,"maintainer_can_modify":false,"commits":9,"additions":426,"deletions":365,"changed_files":15}}
{"actor":{"display_login":"jhalfmoon"}}