{"action":"created","issue":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/28265","repository_url":"https://api.github.com/repos/kubernetes/kubernetes","labels_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/28265/labels{/name}","comments_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/28265/comments","events_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/28265/events","html_url":"https://github.com/kubernetes/kubernetes/pull/28265","id":163083850,"number":28265,"title":"Reduce size of go binaries using upx","user":{"login":"aledbf","id":161571,"avatar_url":"https://avatars.githubusercontent.com/u/161571?v=3","gravatar_id":"","url":"https://api.github.com/users/aledbf","html_url":"https://github.com/aledbf","followers_url":"https://api.github.com/users/aledbf/followers","following_url":"https://api.github.com/users/aledbf/following{/other_user}","gists_url":"https://api.github.com/users/aledbf/gists{/gist_id}","starred_url":"https://api.github.com/users/aledbf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aledbf/subscriptions","organizations_url":"https://api.github.com/users/aledbf/orgs","repos_url":"https://api.github.com/users/aledbf/repos","events_url":"https://api.github.com/users/aledbf/events{/privacy}","received_events_url":"https://api.github.com/users/aledbf/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/cla:%20yes","name":"cla: yes","color":"bfe5bf"},{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/release-note-label-needed","name":"release-note-label-needed","color":"db5a64"},{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/size/M","name":"size/M","color":"eebb00"}],"state":"open","locked":false,"assignee":{"login":"lavalamp","id":647318,"avatar_url":"https://avatars.githubusercontent.com/u/647318?v=3","gravatar_id":"","url":"https://api.github.com/users/lavalamp","html_url":"https://github.com/lavalamp","followers_url":"https://api.github.com/users/lavalamp/followers","following_url":"https://api.github.com/users/lavalamp/following{/other_user}","gists_url":"https://api.github.com/users/lavalamp/gists{/gist_id}","starred_url":"https://api.github.com/users/lavalamp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lavalamp/subscriptions","organizations_url":"https://api.github.com/users/lavalamp/orgs","repos_url":"https://api.github.com/users/lavalamp/repos","events_url":"https://api.github.com/users/lavalamp/events{/privacy}","received_events_url":"https://api.github.com/users/lavalamp/received_events","type":"User","site_admin":false},"assignees":[{"login":"lavalamp","id":647318,"avatar_url":"https://avatars.githubusercontent.com/u/647318?v=3","gravatar_id":"","url":"https://api.github.com/users/lavalamp","html_url":"https://github.com/lavalamp","followers_url":"https://api.github.com/users/lavalamp/followers","following_url":"https://api.github.com/users/lavalamp/following{/other_user}","gists_url":"https://api.github.com/users/lavalamp/gists{/gist_id}","starred_url":"https://api.github.com/users/lavalamp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lavalamp/subscriptions","organizations_url":"https://api.github.com/users/lavalamp/orgs","repos_url":"https://api.github.com/users/lavalamp/repos","events_url":"https://api.github.com/users/lavalamp/events{/privacy}","received_events_url":"https://api.github.com/users/lavalamp/received_events","type":"User","site_admin":false}],"milestone":null,"comments":8,"created_at":"2016-06-30T05:30:15Z","updated_at":"2016-07-02T22:08:03Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/28265","html_url":"https://github.com/kubernetes/kubernetes/pull/28265","diff_url":"https://github.com/kubernetes/kubernetes/pull/28265.diff","patch_url":"https://github.com/kubernetes/kubernetes/pull/28265.patch"},"body":"Proposal:\r\nUse [upx](http://upx.sourceforge.net/) to compress go binaries in order to reduce the size.\r\n\r\n```\r\n        File size         Ratio      Format      Name\r\n   --------------------   ------   -----------   -----------\r\n  90857608 ->  27769800   30.56%  linux/ElfAMD   e2e.test\r\n  77157720 ->  25047928   32.46%  linux/ElfAMD   e2e_node.test\r\n 103672208 ->  19476724   18.79%  linux/ElfAMD   federation-apiserver\r\n  59990744 ->  12286324   20.48%  linux/ElfAMD   federation-controller-manager\r\n  57470880 ->  12280380   21.37%  linux/ElfAMD   gendocs\r\n 100985280 ->  18699824   18.52%  linux/ElfAMD   genfeddocs\r\n 105617456 ->  20887456   19.78%  linux/ElfAMD   genkubedocs\r\n  57641528 ->  12331272   21.39%  linux/ElfAMD   genman\r\n   6868376 ->   1879004   27.36%  linux/ElfAMD   genswaggertypedocs\r\n  57446832 ->  12270520   21.36%  linux/ElfAMD   genyaml\r\n  11587168 ->   3347672   28.89%  linux/ElfAMD   ginkgo\r\n 139069888 ->  28648840   20.60%  linux/ElfAMD   hyperkube\r\n 133381768 ->  35406744   26.55%  linux/ElfAMD   integration\r\n 110236528 ->  20747236   18.82%  linux/ElfAMD   kube-apiserver\r\n 100129408 ->  18551436   18.53%  linux/ElfAMD   kube-controller-manager\r\n  50311992 ->  10605672   21.08%  linux/ElfAMD   kube-dns\r\n  51145152 ->  10897296   21.31%  linux/ElfAMD   kube-proxy\r\n  59487192 ->  12253384   20.60%  linux/ElfAMD   kube-scheduler\r\n  57307672 ->  12224796   21.33%  linux/ElfAMD   kubectl\r\n 108098704 ->  21032328   19.46%  linux/ElfAMD   kubelet\r\n 105503432 ->  20294660   19.24%  linux/ElfAMD   kubemark\r\n   8646016 ->   2514108   29.08%  linux/ElfAMD   linkcheck\r\n   4385744 ->   1286348   29.33%  linux/ElfAMD   mungedocs\r\n   8828376 ->   2572748   29.14%  linux/ElfAMD   src\r\n   3581568 ->   1058312   29.55%  linux/ElfAMD   teststale\r\n   --------------------   ------   -----------   -----------\r\n1669409240 -> 364370812   21.83%                 [ 25 files ]\r\n```\r\n\r\nBuild log https://gist.github.com/aledbf/c300c516841e31bf83eb309309df3a0b\r\n\r\nImprovement in the docker images:\r\n\r\n|Image|Before|After|\r\n-------|----|-----\r\ngcr.io/google_containers/hyperkube-amd64|416.2 MB|281.8 MB|\r\ngcr.io/google_containers/kube-apiserver|110.7 MB|21.84 MB|\r\ngcr.io/google_containers/kube-controller-manager|100.5 MB|19.64 MB|\r\ngcr.io/google_containers/kube-scheduler|60.04 MB|13.35 MB|\r\ngcr.io/google_containers/kube-proxy|180 MB|140.3 MB|\r\n"},"comment":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/comments/230124309","html_url":"https://github.com/kubernetes/kubernetes/pull/28265#issuecomment-230124309","issue_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/28265","id":230124309,"user":{"login":"thockin","id":5595220,"avatar_url":"https://avatars.githubusercontent.com/u/5595220?v=3","gravatar_id":"","url":"https://api.github.com/users/thockin","html_url":"https://github.com/thockin","followers_url":"https://api.github.com/users/thockin/followers","following_url":"https://api.github.com/users/thockin/following{/other_user}","gists_url":"https://api.github.com/users/thockin/gists{/gist_id}","starred_url":"https://api.github.com/users/thockin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thockin/subscriptions","organizations_url":"https://api.github.com/users/thockin/orgs","repos_url":"https://api.github.com/users/thockin/repos","events_url":"https://api.github.com/users/thockin/events{/privacy}","received_events_url":"https://api.github.com/users/thockin/received_events","type":"User","site_admin":false},"created_at":"2016-07-02T22:08:03Z","updated_at":"2016-07-02T22:08:03Z","body":"What is the goal?  UPX has downsides:\r\n\r\n* demand-paging is impossible, resulting in higher overall memory usage\r\n* page-sharing is impossible (e.g. hyperkube), resulting in higher overall memory usage\r\n\r\nWe should already be compressing the files for download, so this won't make them much (any?) smaller.  In fact, compressing compressed files might make them BIGGER.\r\n\r\nSo they get smaller on disk, in exchange for being larger in memory and maybe larger in download?\r\n\r\nIs there any advantage?"}}
{"actor":{"display_login":"thockin"}}