github.com/yacovm/fabric@v2.0.0-alpha.0.20191128145320-c5d4087dc723+incompatible/common/channelconfig/logsanitychecks.go (about)

     1  /*
     2  Copyright IBM Corp. All Rights Reserved.
     3  
     4  SPDX-License-Identifier: Apache-2.0
     5  */
     6  
     7  package channelconfig
     8  
     9  import (
    10  	"github.com/hyperledger/fabric/common/policies"
    11  )
    12  
    13  func LogSanityChecks(res Resources) {
    14  	pm := res.PolicyManager()
    15  	for _, policyName := range []string{policies.ChannelReaders, policies.ChannelWriters} {
    16  		_, ok := pm.GetPolicy(policyName)
    17  		if !ok {
    18  			logger.Warningf("Current configuration has no policy '%s', this will likely cause problems in production systems", policyName)
    19  		} else {
    20  			logger.Debugf("As expected, current configuration has policy '%s'", policyName)
    21  		}
    22  	}
    23  	if _, ok := pm.Manager([]string{policies.ApplicationPrefix}); ok {
    24  		// Check for default application policies if the application component is defined
    25  		for _, policyName := range []string{
    26  			policies.ChannelApplicationReaders,
    27  			policies.ChannelApplicationWriters,
    28  			policies.ChannelApplicationAdmins} {
    29  			_, ok := pm.GetPolicy(policyName)
    30  			if !ok {
    31  				logger.Warningf("Current configuration has no policy '%s', this will likely cause problems in production systems", policyName)
    32  			} else {
    33  				logger.Debugf("As expected, current configuration has policy '%s'", policyName)
    34  			}
    35  		}
    36  	}
    37  	if _, ok := pm.Manager([]string{policies.OrdererPrefix}); ok {
    38  		for _, policyName := range []string{
    39  			policies.BlockValidation,
    40  			policies.ChannelOrdererAdmins,
    41  			policies.ChannelOrdererWriters,
    42  			policies.ChannelOrdererReaders} {
    43  			_, ok := pm.GetPolicy(policyName)
    44  			if !ok {
    45  				logger.Warningf("Current configuration has no policy '%s', this will likely cause problems in production systems", policyName)
    46  			} else {
    47  				logger.Debugf("As expected, current configuration has policy '%s'", policyName)
    48  			}
    49  		}
    50  	}
    51  }