<p dir="auto"><strong>Is this a request for help?</strong> (If yes, you should use our troubleshooting guide and community support channels, see <a href="http://kubernetes.io/docs/troubleshooting/" rel="nofollow">http://kubernetes.io/docs/troubleshooting/</a>.):</p>
<p dir="auto"><strong>What keywords did you search in Kubernetes issues before filing this one?</strong> (If you have found any duplicates, you should instead reply there.): <code class="notranslate">gcloud update</code></p>
<hr>
<p dir="auto"><strong>Is this a BUG REPORT or FEATURE REQUEST?</strong> (choose one): FEATURE REQUEST</p>

<p dir="auto"><strong>Kubernetes version</strong> (use <code class="notranslate">kubectl version</code>): all <g-emoji class="g-emoji" alias="smile" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f604.png">😄</g-emoji></p>
<p dir="auto"><strong>Environment</strong>:</p>
<ul dir="auto">
<li><strong>Cloud provider or hardware configuration</strong>: GCE</li>
<li><strong>OS</strong> (e.g. from /etc/os-release): all</li>
<li><strong>Kernel</strong> (e.g. <code class="notranslate">uname -a</code>): all</li>
<li><strong>Install tools</strong>:</li>
<li><strong>Others</strong>:</li>
</ul>
<p dir="auto"><strong>What happened</strong>:<br>
<code class="notranslate">cluster/gce/util.sh</code> uses the <code class="notranslate">gcloud</code> cli a lot and does a <code class="notranslate">gcloud components update</code> (in the commonly used function <code class="notranslate">verify-prereqs</code>) before doing things like <code class="notranslate">kube-down</code>. <code class="notranslate">gcloud</code> updates can introduce breaking changes (for example in the recent 132.0.0 release it removed a bunch of flags). This has caused cross-the-board test failures like <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="185530629" data-permission-text="Title is private" data-url="https://github.com/kubernetes/kubernetes/issues/35654" data-hovercard-type="issue" data-hovercard-url="/kubernetes/kubernetes/issues/35654/hovercard" href="https://github.com/kubernetes/kubernetes/issues/35654">#35654</a>.</p>
<p dir="auto">But this is not limited to just tests. Any kubernetes GCE users who rely on the <code class="notranslate">kube-up</code> and <code class="notranslate">kube-down</code> commands could have been broken.</p>
<p dir="auto"><strong>What you expected to happen</strong>:</p>
<p dir="auto">Stop updating gcloud automatically. We could either warn user to have the required dependencies installed, or pin to specific versions of dependencies like gcloud.</p>
<p dir="auto"><strong>How to reproduce it</strong> (as minimally and precisely as possible):<br>
download 1.4.4 release tarball<br>
run <code class="notranslate">kube-up</code> and <code class="notranslate">kube-down</code></p>
<p dir="auto"><strong>Anything else do we need to know</strong>:</p>
<p dir="auto"><strong>Is this a request for help?</strong> (If yes, you should use our troubleshooting guide and community support channels, see <a href="http://kubernetes.io/docs/troubleshooting/" rel="nofollow">http://kubernetes.io/docs/troubleshooting/</a>.):</p>
<p dir="auto"><strong>What keywords did you search in Kubernetes issues before filing this one?</strong> (If you have found any duplicates, you should instead reply there.):</p>
<hr>
<p dir="auto"><strong>Is this a BUG REPORT or FEATURE REQUEST?</strong> (choose one):</p>
<p dir="auto">BUG REPORT</p>

<p dir="auto"><strong>Kubernetes version</strong> (use <code class="notranslate">kubectl version</code>):</p>
<p dir="auto">Client Version: version.Info{Major:"1", Minor:"4", GitVersion:"v1.4.4", GitCommit:"3b417cc4ccd1b8f38ff9ec96bb50a81ca0ea9d56", GitTreeState:"clean", BuildDate:"2016-10-21T02:48:38Z", GoVersion:"go1.6.3", Compiler:"gc", Platform:"linux/amd64"}<br>
Server Version: version.Info{Major:"1", Minor:"4", GitVersion:"v1.4.4", GitCommit:"3b417cc4ccd1b8f38ff9ec96bb50a81ca0ea9d56", GitTreeState:"clean", BuildDate:"2016-10-21T02:42:39Z", GoVersion:"go1.6.3", Compiler:"gc", Platform:"linux/amd64"}</p>
<p dir="auto"><strong>Environment</strong>:</p>
<ul dir="auto">
<li><strong>Cloud provider or hardware configuration</strong>: OpenStack</li>
<li><strong>OS</strong> (e.g. from /etc/os-release): CoreOS</li>
<li><strong>Kernel</strong> (e.g. <code class="notranslate">uname -a</code>): Linux 4.6.3-coreos</li>
<li><strong>Install tools</strong>:</li>
<li><strong>Others</strong>:</li>
</ul>
<p dir="auto"><strong>What happened</strong>:</p>
<p dir="auto">We have a load balancer between apiserver and etcd cluster.  The load balancer shutdowns idle watch connection after certain time out.  It looks like apiserver does not like this, and it spills WARNING level log like this:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="W1116 04:33:15.614498   32646 reflector.go:330] pkg/storage/cacher.go:194: watch of *api.ReplicationController ended with: client: etcd cluster is unavailable or misconfigured"><pre class="notranslate"><code class="notranslate">W1116 04:33:15.614498   32646 reflector.go:330] pkg/storage/cacher.go:194: watch of *api.ReplicationController ended with: client: etcd cluster is unavailable or misconfigured
</code></pre></div>
<p dir="auto">The error message "etcd cluster is unavailable or misconfigured" is a bit misleading in this situation.</p>
<p dir="auto"><strong>What you expected to happen</strong>:</p>
<p dir="auto">Getting EOF from remote server in idle connection is not really an error, so WARNING level is too harsh. It would be nice to silence it by changing log level to INFO if the cause of watch error is EOF.</p>
<p dir="auto"><strong>How to reproduce it</strong> (as minimally and precisely as possible):</p>
<p dir="auto">Configure load balancer between apiserver and etcd, and make its idle timeout to 60 seconds or something.</p>
<p dir="auto"><strong>Anything else do we need to know</strong>:</p>