mirror of
https://github.com/zalando/postgres-operator.git
synced 2026-09-30 10:52:01 +02:00
Feature/persistent volumes
This commit is contained in:
committed by
Murat Kabilov
parent
ae77fa15e8
commit
a2e78ac2ec
@@ -200,10 +200,14 @@ func (c *Cluster) Create() error {
|
||||
|
||||
func (c *Cluster) Update(newSpec *spec.Postgresql, rollingUpdate bool) error {
|
||||
nSpec := newSpec.Spec
|
||||
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)
|
||||
statefulSet := resources.StatefulSet(clusterName, template, nSpec.NumberOfInstances)
|
||||
volumeClaimTemplate := resources.VolumeClaimTemplate(volumeSize, volumeStorageClass)
|
||||
statefulSet := resources.StatefulSet(clusterName, template, volumeClaimTemplate, nSpec.NumberOfInstances)
|
||||
|
||||
//TODO: mind the case of updating allowedSourceRanges
|
||||
err := c.updateStatefulSet(statefulSet)
|
||||
|
||||
@@ -104,10 +104,13 @@ func (c *Cluster) ListResources() error {
|
||||
|
||||
func (c *Cluster) createStatefulSet() (*v1beta1.StatefulSet, error) {
|
||||
cSpec := c.Spec
|
||||
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)
|
||||
statefulSet := resources.StatefulSet(clusterName, template, cSpec.NumberOfInstances)
|
||||
volumeClaimTemplate := resources.VolumeClaimTemplate(volumeSize, volumeStorageClass)
|
||||
statefulSet := resources.StatefulSet(clusterName, template, volumeClaimTemplate, cSpec.NumberOfInstances)
|
||||
|
||||
statefulSet, err := c.config.KubeClient.StatefulSets(statefulSet.Namespace).Create(statefulSet)
|
||||
if k8sutil.ResourceAlreadyExists(err) {
|
||||
@@ -145,11 +148,11 @@ func (c *Cluster) deleteStatefulSet(statefulSet *v1beta1.StatefulSet) error {
|
||||
}
|
||||
|
||||
func (c *Cluster) createEndpoint() (*v1.Endpoints, error) {
|
||||
endpoint := resources.Endpoint(c.ClusterName())
|
||||
endpointSpec := resources.Endpoint(c.ClusterName())
|
||||
|
||||
endpoint, err := c.config.KubeClient.Endpoints(endpoint.Namespace).Create(endpoint)
|
||||
endpoint, err := c.config.KubeClient.Endpoints(endpointSpec.Namespace).Create(endpointSpec)
|
||||
if k8sutil.ResourceAlreadyExists(err) {
|
||||
return nil, fmt.Errorf("Endpoint '%s' already exists", util.NameFromMeta(endpoint.ObjectMeta))
|
||||
return nil, fmt.Errorf("Endpoint '%s' already exists", util.NameFromMeta(endpointSpec.ObjectMeta))
|
||||
}
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
||||
Reference in New Issue
Block a user