title: (How) do node pool autoupgrades in GKE actually work?
body: <p>We have a fairly large kubernetes deployment on GKE, and we wanted to make our life a little easier by enabling auto-upgrades. The <a href="https://cloud.google.com/kubernetes-engine/docs/how-to/node-auto-upgrades" rel="nofollow noreferrer">documentation on the topic</a> tells you how to enable it, but not how it actually <strong>works</strong>.</p>
  
  <p>We enabled the feature on a test cluster, but no nodes were ever upgraded (although the UI kept nagging us that "upgrades are available").</p>
  
  <p>The docs say it would be updated to the "latest stable" version and that it occurs "at regular intervals at the discretion of the GKE team" - both of which is not terribly helpful.</p>
  
  <p>The UI always says: "Next auto-upgrade: Not scheduled"</p>
  
  <p>Has someone used this feature in production and can shed some light on what it'll actually do?</p>
  
  <h1>What I did:</h1>
  
  <ul>
  <li>I enabled the feature on the <em>nodepools</em> (<strong>not</strong> the cluster itself)</li>
  <li>I set up a maintenance window</li>
  <li>Cluster version was <code>1.11.7-gke.3</code></li>
  <li>Nodepools had version <code>1.11.5-gke.X</code></li>
  <li>The newest available version was <code>1.11.7-gke.6</code></li>
  </ul>
  
  <h1>What I expected:</h1>
  
  <ul>
  <li>The nodepool would be updated to either <code>1.11.7-gke.3</code> (the default cluster version) or <code>1.11.7-gke.6</code> (the most recent version)</li>
  <li>The update would happen in the next maintenance window</li>
  <li>The update would otherwise work like a "manual" update</li>
  </ul>
  
  <h1>What actually happened:</h1>
  
  <ul>
  <li>Nothing</li>
  <li>The nodepools remained on <code>1.11.5-gke.X</code> for more than a week</li>
  </ul>
  
  <h1>My question</h1>
  
  <ul>
  <li>Is the nodepool version supposed to update?</li>
  <li>If so, at what time?</li>
  <li>If so, to what version?</li>
  </ul>