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) | 		c.logger.Warningf("pod %q is not a master", podName) | ||||||
| 		return nil | 		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 { | 	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()) | 		c.logger.Warningf("single master pod for cluster %q, migration will cause longer downtime of the master instance", c.clusterName()) | ||||||
| 	} else { | 	} else { | ||||||
|  |  | ||||||
|  | @ -103,10 +103,10 @@ func (c *Cluster) resizeVolumes(newVolume spec.Volume, resizers []volumes.Volume | ||||||
| 
 | 
 | ||||||
| 	for _, pv := range pvs { | 	for _, pv := range pvs { | ||||||
| 		volumeSize := quantityToGigabyte(pv.Spec.Capacity[v1.ResourceStorage]) | 		volumeSize := quantityToGigabyte(pv.Spec.Capacity[v1.ResourceStorage]) | ||||||
|  | 		if volumeSize >= newSize { | ||||||
| 			if volumeSize > newSize { | 			if volumeSize > newSize { | ||||||
| 			return fmt.Errorf("cannot shrink persistent volume") | 				c.logger.Warningf("cannot shrink persistent volume") | ||||||
| 			} | 			} | ||||||
| 		if volumeSize == newSize { |  | ||||||
| 			continue | 			continue | ||||||
| 		} | 		} | ||||||
| 		for _, resizer := range resizers { | 		for _, resizer := range resizers { | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue