Merge pull request #300 from zalando-incubator/fix_crash_on_node_migration
Fix a crash on node migration.
This commit is contained in:
		
						commit
						97d1bde5b6
					
				|  | @ -203,6 +203,15 @@ func (c *Cluster) MigrateMasterPod(podName spec.NamespacedName) error { | |||
| 		c.logger.Warningf("pod %q is not a master", podName) | ||||
| 		return nil | ||||
| 	} | ||||
| 	// we must have a statefulset in the cluster for the migration to work
 | ||||
| 	if c.Statefulset == nil { | ||||
| 		sset, err := c.KubeClient.StatefulSets(c.Namespace).Get(c.statefulSetName(), metav1.GetOptions{}) | ||||
| 		if err != nil { | ||||
| 			return fmt.Errorf("could not retrieve cluster statefulset: %v", err) | ||||
| 		} | ||||
| 		c.Statefulset = sset | ||||
| 	} | ||||
| 	// We may not have a cached statefulset if the initial cluster sync has aborted, revert to the spec in that case.
 | ||||
| 	if *c.Statefulset.Spec.Replicas == 1 { | ||||
| 		c.logger.Warningf("single master pod for cluster %q, migration will cause longer downtime of the master instance", c.clusterName()) | ||||
| 	} else { | ||||
|  |  | |||
|  | @ -103,10 +103,10 @@ func (c *Cluster) resizeVolumes(newVolume spec.Volume, resizers []volumes.Volume | |||
| 
 | ||||
| 	for _, pv := range pvs { | ||||
| 		volumeSize := quantityToGigabyte(pv.Spec.Capacity[v1.ResourceStorage]) | ||||
| 		if volumeSize > newSize { | ||||
| 			return fmt.Errorf("cannot shrink persistent volume") | ||||
| 		} | ||||
| 		if volumeSize == newSize { | ||||
| 		if volumeSize >= newSize { | ||||
| 			if volumeSize > newSize { | ||||
| 				c.logger.Warningf("cannot shrink persistent volume") | ||||
| 			} | ||||
| 			continue | ||||
| 		} | ||||
| 		for _, resizer := range resizers { | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue