{"action":"created","issue":{"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/3174","labels_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/3174/labels{/name}","comments_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/3174/comments","events_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/3174/events","html_url":"https://github.com/GoogleCloudPlatform/kubernetes/pull/3174","id":53136616,"number":3174,"title":"Modify kube-push for GCE to bring down the existing master VM and completely replace it with a new one","user":{"login":"a-robinson","id":7085343,"avatar_url":"https://avatars.githubusercontent.com/u/7085343?v=3","gravatar_id":"","url":"https://api.github.com/users/a-robinson","html_url":"https://github.com/a-robinson","followers_url":"https://api.github.com/users/a-robinson/followers","following_url":"https://api.github.com/users/a-robinson/following{/other_user}","gists_url":"https://api.github.com/users/a-robinson/gists{/gist_id}","starred_url":"https://api.github.com/users/a-robinson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/a-robinson/subscriptions","organizations_url":"https://api.github.com/users/a-robinson/orgs","repos_url":"https://api.github.com/users/a-robinson/repos","events_url":"https://api.github.com/users/a-robinson/events{/privacy}","received_events_url":"https://api.github.com/users/a-robinson/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"a-robinson","id":7085343,"avatar_url":"https://avatars.githubusercontent.com/u/7085343?v=3","gravatar_id":"","url":"https://api.github.com/users/a-robinson","html_url":"https://github.com/a-robinson","followers_url":"https://api.github.com/users/a-robinson/followers","following_url":"https://api.github.com/users/a-robinson/following{/other_user}","gists_url":"https://api.github.com/users/a-robinson/gists{/gist_id}","starred_url":"https://api.github.com/users/a-robinson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/a-robinson/subscriptions","organizations_url":"https://api.github.com/users/a-robinson/orgs","repos_url":"https://api.github.com/users/a-robinson/repos","events_url":"https://api.github.com/users/a-robinson/events{/privacy}","received_events_url":"https://api.github.com/users/a-robinson/received_events","type":"User","site_admin":false},"milestone":null,"comments":11,"created_at":"2014-12-30T18:40:25Z","updated_at":"2015-02-06T18:10:52Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/3174","html_url":"https://github.com/GoogleCloudPlatform/kubernetes/pull/3174","diff_url":"https://github.com/GoogleCloudPlatform/kubernetes/pull/3174.diff","patch_url":"https://github.com/GoogleCloudPlatform/kubernetes/pull/3174.patch"},"body":"This makes upgrades less likely to break in weird ways and adds support for easily upgrading underlying components on the master like the guest OS or etcd.\r\n\r\nTo do this, we reserve the IP address of the master after it's created and store all dynamically created files on a persistent disk (PD). Then, kube-push consists of swapping the PD and reserved IP address over to a new VM with the desired components on it.\r\n\r\nThis has been tested to pass the /validate endpoint after upgrading between a few different recent commit versions."},"comment":{"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/comments/73284774","html_url":"https://github.com/GoogleCloudPlatform/kubernetes/pull/3174#issuecomment-73284774","issue_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/3174","id":73284774,"user":{"login":"a-robinson","id":7085343,"avatar_url":"https://avatars.githubusercontent.com/u/7085343?v=3","gravatar_id":"","url":"https://api.github.com/users/a-robinson","html_url":"https://github.com/a-robinson","followers_url":"https://api.github.com/users/a-robinson/followers","following_url":"https://api.github.com/users/a-robinson/following{/other_user}","gists_url":"https://api.github.com/users/a-robinson/gists{/gist_id}","starred_url":"https://api.github.com/users/a-robinson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/a-robinson/subscriptions","organizations_url":"https://api.github.com/users/a-robinson/orgs","repos_url":"https://api.github.com/users/a-robinson/repos","events_url":"https://api.github.com/users/a-robinson/events{/privacy}","received_events_url":"https://api.github.com/users/a-robinson/received_events","type":"User","site_admin":false},"created_at":"2015-02-06T18:10:52Z","updated_at":"2015-02-06T18:10:52Z","body":"I haven't touched it since my last comment. I should probably check out how it works now that the minion's dependency on etcd has been removed on GCP, but I expect that the change of internal IP will still break salt, at the very least.\r\n\r\nI'll strip out the kube-push change from the PD mounting improvements and get those checked in."}}