Return error instead of logging it

This commit is contained in:
Murat Kabilov 2017-05-18 17:24:44 +02:00 committed by GitHub
parent 95a57d1e4f
commit 233e8529c1
4 changed files with 24 additions and 16 deletions

View File

@ -227,7 +227,7 @@ func (c *Cluster) Create(stopCh <-chan struct{}) error {
} }
c.logger.Infof("Pods are ready") c.logger.Infof("Pods are ready")
if !(c.masterLess || c.DatabaseAccessDisabled()) { if !(c.masterLess || c.databaseAccessDisabled()) {
if err := c.initDbConn(); err != nil { if err := c.initDbConn(); err != nil {
return fmt.Errorf("Can't init db connection: %s", err) return fmt.Errorf("Can't init db connection: %s", err)
} else { } else {
@ -466,20 +466,20 @@ func (c *Cluster) Delete() error {
defer c.mu.Unlock() defer c.mu.Unlock()
if err := c.deleteEndpoint(); err != nil { if err := c.deleteEndpoint(); err != nil {
c.logger.Errorf("Can't delete Endpoint: %s", err) return fmt.Errorf("Can't delete Endpoint: %s", err)
} }
if err := c.deleteService(); err != nil { if err := c.deleteService(); err != nil {
c.logger.Errorf("Can't delete Service: %s", err) return fmt.Errorf("Can't delete Service: %s", err)
} }
if err := c.deleteStatefulSet(); err != nil { if err := c.deleteStatefulSet(); err != nil {
c.logger.Errorf("Can't delete StatefulSet: %s", err) return fmt.Errorf("Can't delete StatefulSet: %s", err)
} }
for _, obj := range c.Secrets { for _, obj := range c.Secrets {
if err := c.deleteSecret(obj); err != nil { if err := c.deleteSecret(obj); err != nil {
c.logger.Errorf("Can't delete Secret: %s", err) return fmt.Errorf("Can't delete Secret: %s", err)
} }
} }

View File

@ -32,12 +32,14 @@ func (c *Cluster) pgConnectionString() string {
strings.Replace(password, "$", "\\$", -1)) strings.Replace(password, "$", "\\$", -1))
} }
func (c *Cluster) DatabaseAccessDisabled() bool { func (c *Cluster) databaseAccessDisabled() bool {
if c.OpConfig.EnableDBAccess == false { if c.OpConfig.EnableDBAccess == false {
c.logger.Debugf("Database access is disabled") c.logger.Debugf("Database access is disabled")
} }
return c.OpConfig.EnableDBAccess == false return c.OpConfig.EnableDBAccess == false
} }
func (c *Cluster) initDbConn() (err error) { func (c *Cluster) initDbConn() (err error) {
if c.pgDb == nil { if c.pgDb == nil {
conn, err := sql.Open("postgres", c.pgConnectionString()) conn, err := sql.Open("postgres", c.pgConnectionString())

View File

@ -6,7 +6,7 @@ import (
"github.com/zalando-incubator/postgres-operator/pkg/util" "github.com/zalando-incubator/postgres-operator/pkg/util"
) )
func (c *Cluster) SyncCluster(stopCh <-chan struct{}) { func (c *Cluster) Sync(stopCh <-chan struct{}) error {
c.mu.Lock() c.mu.Lock()
defer c.mu.Unlock() defer c.mu.Unlock()
@ -19,34 +19,37 @@ func (c *Cluster) SyncCluster(stopCh <-chan struct{}) {
c.logger.Debugf("Syncing Secrets") c.logger.Debugf("Syncing Secrets")
if err := c.syncSecrets(); err != nil { if err := c.syncSecrets(); err != nil {
c.logger.Infof("Can't sync Secrets: %s", err) return fmt.Errorf("Can't sync Secrets: %s", err)
} }
c.logger.Debugf("Syncing Endpoints") c.logger.Debugf("Syncing Endpoints")
if err := c.syncEndpoint(); err != nil { if err := c.syncEndpoint(); err != nil {
c.logger.Errorf("Can't sync Endpoints: %s", err) return fmt.Errorf("Can't sync Endpoints: %s", err)
} }
c.logger.Debugf("Syncing Services") c.logger.Debugf("Syncing Services")
if err := c.syncService(); err != nil { if err := c.syncService(); err != nil {
c.logger.Errorf("Can't sync Services: %s", err) return fmt.Errorf("Can't sync Services: %s", err)
} }
c.logger.Debugf("Syncing StatefulSets") c.logger.Debugf("Syncing StatefulSets")
if err := c.syncStatefulSet(); err != nil { if err := c.syncStatefulSet(); err != nil {
c.logger.Errorf("Can't sync StatefulSets: %s", err) return fmt.Errorf("Can't sync StatefulSets: %s", err)
} }
if c.DatabaseAccessDisabled() {
return if c.databaseAccessDisabled() {
return nil
} }
if err := c.initDbConn(); err != nil { if err := c.initDbConn(); err != nil {
c.logger.Errorf("Can't init db connection: %s", err) return fmt.Errorf("Can't init db connection: %s", err)
} else { } else {
c.logger.Debugf("Syncing Roles") c.logger.Debugf("Syncing Roles")
if err := c.SyncRoles(); err != nil { if err := c.SyncRoles(); err != nil {
c.logger.Errorf("Can't sync Roles: %s", err) return fmt.Errorf("Can't sync Roles: %s", err)
} }
} }
return nil
} }
func (c *Cluster) syncSecrets() error { func (c *Cluster) syncSecrets() error {

View File

@ -165,7 +165,10 @@ func (c *Controller) processEvent(obj interface{}) error {
c.clustersMu.Unlock() c.clustersMu.Unlock()
} }
cl.SyncCluster(stopCh) if err := cl.Sync(stopCh); err != nil {
logger.Errorf("Can't sync cluster '%s': %s", clusterName, err)
return nil
}
logger.Infof("Cluster '%s' has been synced", clusterName) logger.Infof("Cluster '%s' has been synced", clusterName)
} }