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")
if !(c.masterLess || c.DatabaseAccessDisabled()) {
if !(c.masterLess || c.databaseAccessDisabled()) {
if err := c.initDbConn(); err != nil {
return fmt.Errorf("Can't init db connection: %s", err)
} else {
@ -466,20 +466,20 @@ func (c *Cluster) Delete() error {
defer c.mu.Unlock()
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 {
c.logger.Errorf("Can't delete Service: %s", err)
return fmt.Errorf("Can't delete Service: %s", err)
}
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 {
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))
}
func (c *Cluster) DatabaseAccessDisabled() bool {
func (c *Cluster) databaseAccessDisabled() bool {
if c.OpConfig.EnableDBAccess == false {
c.logger.Debugf("Database access is disabled")
}
return c.OpConfig.EnableDBAccess == false
}
func (c *Cluster) initDbConn() (err error) {
if c.pgDb == nil {
conn, err := sql.Open("postgres", c.pgConnectionString())

View File

@ -6,7 +6,7 @@ import (
"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()
defer c.mu.Unlock()
@ -19,34 +19,37 @@ func (c *Cluster) SyncCluster(stopCh <-chan struct{}) {
c.logger.Debugf("Syncing Secrets")
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")
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")
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")
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 {
c.logger.Errorf("Can't init db connection: %s", err)
return fmt.Errorf("Can't init db connection: %s", err)
} else {
c.logger.Debugf("Syncing Roles")
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 {

View File

@ -165,7 +165,10 @@ func (c *Controller) processEvent(obj interface{}) error {
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)
}