Move statefulset creation from cluster spec to the separate function
This commit is contained in:
		
							parent
							
								
									776ed3fa0f
								
							
						
					
					
						commit
						caa0eab19b
					
				|  | @ -23,7 +23,6 @@ import ( | ||||||
| 	"github.bus.zalan.do/acid/postgres-operator/pkg/util" | 	"github.bus.zalan.do/acid/postgres-operator/pkg/util" | ||||||
| 	"github.bus.zalan.do/acid/postgres-operator/pkg/util/constants" | 	"github.bus.zalan.do/acid/postgres-operator/pkg/util/constants" | ||||||
| 	"github.bus.zalan.do/acid/postgres-operator/pkg/util/k8sutil" | 	"github.bus.zalan.do/acid/postgres-operator/pkg/util/k8sutil" | ||||||
| 	"github.bus.zalan.do/acid/postgres-operator/pkg/util/resources" |  | ||||||
| 	"github.bus.zalan.do/acid/postgres-operator/pkg/util/teams" | 	"github.bus.zalan.do/acid/postgres-operator/pkg/util/teams" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
|  | @ -199,15 +198,7 @@ func (c *Cluster) Create() error { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (c *Cluster) Update(newSpec *spec.Postgresql, rollingUpdate bool) error { | func (c *Cluster) Update(newSpec *spec.Postgresql, rollingUpdate bool) error { | ||||||
| 	nSpec := newSpec.Spec | 	statefulSet := getStatefulSet(c.ClusterName(), newSpec.Spec, c.etcdHost, c.dockerImage) | ||||||
| 	cSpec := c.Spec |  | ||||||
| 	clusterName := c.ClusterName() |  | ||||||
| 	volumeSize := cSpec.Volume.Size |  | ||||||
| 	volumeStorageClass := cSpec.Volume.StorageClass |  | ||||||
| 	resourceList := resources.ResourceList(nSpec.Resources) |  | ||||||
| 	template := resources.PodTemplate(clusterName, resourceList, c.dockerImage, nSpec.Version, c.etcdHost) |  | ||||||
| 	volumeClaimTemplate := resources.VolumeClaimTemplate(volumeSize, volumeStorageClass) |  | ||||||
| 	statefulSet := resources.StatefulSet(clusterName, template, volumeClaimTemplate, nSpec.NumberOfInstances) |  | ||||||
| 
 | 
 | ||||||
| 	//TODO: mind the case of updating allowedSourceRanges
 | 	//TODO: mind the case of updating allowedSourceRanges
 | ||||||
| 	err := c.updateStatefulSet(statefulSet) | 	err := c.updateStatefulSet(statefulSet) | ||||||
|  |  | ||||||
|  | @ -6,15 +6,26 @@ import ( | ||||||
| 	"k8s.io/client-go/pkg/api/v1" | 	"k8s.io/client-go/pkg/api/v1" | ||||||
| 	"k8s.io/client-go/pkg/apis/apps/v1beta1" | 	"k8s.io/client-go/pkg/apis/apps/v1beta1" | ||||||
| 
 | 
 | ||||||
|  | 	"github.bus.zalan.do/acid/postgres-operator/pkg/spec" | ||||||
| 	"github.bus.zalan.do/acid/postgres-operator/pkg/util" | 	"github.bus.zalan.do/acid/postgres-operator/pkg/util" | ||||||
| 	"github.bus.zalan.do/acid/postgres-operator/pkg/util/constants" | 	"github.bus.zalan.do/acid/postgres-operator/pkg/util/constants" | ||||||
| 	"github.bus.zalan.do/acid/postgres-operator/pkg/util/k8sutil" | 	"github.bus.zalan.do/acid/postgres-operator/pkg/util/k8sutil" | ||||||
| 	"github.bus.zalan.do/acid/postgres-operator/pkg/util/resources" | 	"github.bus.zalan.do/acid/postgres-operator/pkg/util/resources" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| var orphanDependents = false | var ( | ||||||
| var deleteOptions = &v1.DeleteOptions{ | 	deleteOptions    = &v1.DeleteOptions{OrphanDependents: &orphanDependents} | ||||||
| 	OrphanDependents: &orphanDependents, | 	orphanDependents = false | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | func getStatefulSet(clusterName spec.ClusterName, cSpec spec.PostgresSpec, etcdHost, dockerImage string) *v1beta1.StatefulSet { | ||||||
|  | 	volumeSize := cSpec.Volume.Size | ||||||
|  | 	volumeStorageClass := cSpec.Volume.StorageClass | ||||||
|  | 	resourceList := resources.ResourceList(cSpec.Resources) | ||||||
|  | 	template := resources.PodTemplate(clusterName, resourceList, dockerImage, cSpec.Version, etcdHost) | ||||||
|  | 	volumeClaimTemplate := resources.VolumeClaimTemplate(volumeSize, volumeStorageClass) | ||||||
|  | 
 | ||||||
|  | 	return resources.StatefulSet(clusterName, template, volumeClaimTemplate, cSpec.NumberOfInstances) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (c *Cluster) LoadResources() error { | func (c *Cluster) LoadResources() error { | ||||||
|  | @ -103,14 +114,7 @@ func (c *Cluster) ListResources() error { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (c *Cluster) createStatefulSet() (*v1beta1.StatefulSet, error) { | func (c *Cluster) createStatefulSet() (*v1beta1.StatefulSet, error) { | ||||||
| 	cSpec := c.Spec | 	statefulSetSpec := getStatefulSet(c.ClusterName(), c.Spec, c.etcdHost, c.dockerImage) | ||||||
| 	volumeSize := cSpec.Volume.Size |  | ||||||
| 	volumeStorageClass := cSpec.Volume.StorageClass |  | ||||||
| 	clusterName := c.ClusterName() |  | ||||||
| 	resourceList := resources.ResourceList(cSpec.Resources) |  | ||||||
| 	template := resources.PodTemplate(clusterName, resourceList, c.dockerImage, cSpec.Version, c.etcdHost) |  | ||||||
| 	volumeClaimTemplate := resources.VolumeClaimTemplate(volumeSize, volumeStorageClass) |  | ||||||
| 	statefulSetSpec := resources.StatefulSet(clusterName, template, volumeClaimTemplate, cSpec.NumberOfInstances) |  | ||||||
| 	statefulSet, err := c.config.KubeClient.StatefulSets(statefulSetSpec.Namespace).Create(statefulSetSpec) | 	statefulSet, err := c.config.KubeClient.StatefulSets(statefulSetSpec.Namespace).Create(statefulSetSpec) | ||||||
| 	if k8sutil.ResourceAlreadyExists(err) { | 	if k8sutil.ResourceAlreadyExists(err) { | ||||||
| 		return nil, fmt.Errorf("StatefulSet '%s' already exists", util.NameFromMeta(statefulSetSpec.ObjectMeta)) | 		return nil, fmt.Errorf("StatefulSet '%s' already exists", util.NameFromMeta(statefulSetSpec.ObjectMeta)) | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue