@@ -22,7 +22,6 @@ import (
22
22
23
23
"github.com/hyperledger/fabric/bccsp/factory"
24
24
"github.com/hyperledger/fabric/common/channelconfig"
25
- "github.com/hyperledger/fabric/common/errors"
26
25
"github.com/hyperledger/fabric/common/flogging"
27
26
"github.com/hyperledger/fabric/common/viperutil"
28
27
"github.com/hyperledger/fabric/core/config"
@@ -34,6 +33,7 @@ import (
34
33
pb "github.com/hyperledger/fabric/protos/peer"
35
34
putils "github.com/hyperledger/fabric/protos/utils"
36
35
"github.com/op/go-logging"
36
+ "github.com/pkg/errors"
37
37
"github.com/spf13/viper"
38
38
"golang.org/x/net/context"
39
39
)
@@ -77,7 +77,7 @@ func InitConfig(cmdRoot string) error {
77
77
78
78
err := viper .ReadInConfig () // Find and read the config file
79
79
if err != nil { // Handle errors reading the config file
80
- return fmt .Errorf ( "Error when reading %s config file: %s " , cmdRoot , err )
80
+ return errors . WithMessage ( err , fmt .Sprintf ( "error when reading %s config file" , cmdRoot ) )
81
81
}
82
82
83
83
return nil
@@ -90,19 +90,19 @@ func InitCrypto(mspMgrConfigDir string, localMSPID string) error {
90
90
_ , err = os .Stat (mspMgrConfigDir )
91
91
if os .IsNotExist (err ) {
92
92
// No need to try to load MSP from folder which is not available
93
- return fmt .Errorf ("cannot init crypto, missing %s folder" , mspMgrConfigDir )
93
+ return errors .Errorf ("cannot init crypto, missing %s folder" , mspMgrConfigDir )
94
94
}
95
95
96
96
// Init the BCCSP
97
97
var bccspConfig * factory.FactoryOpts
98
98
err = viperutil .EnhancedExactUnmarshalKey ("peer.BCCSP" , & bccspConfig )
99
99
if err != nil {
100
- return fmt . Errorf ( "could not parse YAML config [%s]" , err )
100
+ return errors . WithMessage ( err , "could not parse YAML config" )
101
101
}
102
102
103
103
err = mspmgmt .LoadLocalMsp (mspMgrConfigDir , bccspConfig , localMSPID )
104
104
if err != nil {
105
- return fmt .Errorf ("error when setting up MSP from directory %s: err %s " , mspMgrConfigDir , err )
105
+ return errors . WithMessage ( err , fmt .Sprintf ("error when setting up MSP from directory %s" , mspMgrConfigDir ) )
106
106
}
107
107
108
108
return nil
@@ -112,8 +112,7 @@ func InitCrypto(mspMgrConfigDir string, localMSPID string) error {
112
112
func GetEndorserClient () (pb.EndorserClient , error ) {
113
113
clientConn , err := peer .NewPeerClientConnection ()
114
114
if err != nil {
115
- err = errors .ErrorWithCallstack ("PER" , "404" , "Error trying to connect to local peer" ).WrapError (err )
116
- return nil , err
115
+ return nil , errors .WithMessage (err , "error trying to connect to local peer" )
117
116
}
118
117
endorserClient := pb .NewEndorserClient (clientConn )
119
118
return endorserClient , nil
@@ -123,8 +122,7 @@ func GetEndorserClient() (pb.EndorserClient, error) {
123
122
func GetAdminClient () (pb.AdminClient , error ) {
124
123
clientConn , err := peer .NewPeerClientConnection ()
125
124
if err != nil {
126
- err = errors .ErrorWithCallstack ("PER" , "404" , "Error trying to connect to local peer" ).WrapError (err )
127
- return nil , err
125
+ return nil , errors .WithMessage (err , "error trying to connect to local peer" )
128
126
}
129
127
adminClient := pb .NewAdminClient (clientConn )
130
128
return adminClient , nil
@@ -134,7 +132,7 @@ func GetAdminClient() (pb.AdminClient, error) {
134
132
func GetDefaultSigner () (msp.SigningIdentity , error ) {
135
133
signer , err := mspmgmt .GetLocalMSP ().GetDefaultSigningIdentity ()
136
134
if err != nil {
137
- return nil , fmt . Errorf ( "Error obtaining the default signing identity, err %s" , err )
135
+ return nil , errors . WithMessage ( err , "error obtaining the default signing identity" )
138
136
}
139
137
140
138
return signer , err
@@ -154,45 +152,45 @@ func GetOrdererEndpointOfChain(chainID string, signer msp.SigningIdentity, endor
154
152
155
153
creator , err := signer .Serialize ()
156
154
if err != nil {
157
- return nil , fmt .Errorf ( "Error serializing identity for %s: %s " , signer .GetIdentifier (), err )
155
+ return nil , errors . WithMessage ( err , fmt .Sprintf ( "error serializing identity for %s" , signer .GetIdentifier ()) )
158
156
}
159
157
160
158
prop , _ , err := putils .CreateProposalFromCIS (pcommon .HeaderType_CONFIG , "" , invocation , creator )
161
159
if err != nil {
162
- return nil , fmt . Errorf ( "Error creating GetConfigBlock proposal: %s" , err )
160
+ return nil , errors . WithMessage ( err , "error creating GetConfigBlock proposal" )
163
161
}
164
162
165
163
signedProp , err := putils .GetSignedProposal (prop , signer )
166
164
if err != nil {
167
- return nil , fmt . Errorf ( "Error creating signed GetConfigBlock proposal: %s" , err )
165
+ return nil , errors . WithMessage ( err , "error creating signed GetConfigBlock proposal" )
168
166
}
169
167
170
168
proposalResp , err := endorserClient .ProcessProposal (context .Background (), signedProp )
171
169
if err != nil {
172
- return nil , fmt . Errorf ( "Error endorsing GetConfigBlock: %s" , err )
170
+ return nil , errors . WithMessage ( err , "error endorsing GetConfigBlock" )
173
171
}
174
172
175
173
if proposalResp == nil {
176
- return nil , fmt . Errorf ( "Error nil proposal response: %s" , err )
174
+ return nil , errors . WithMessage ( err , "error nil proposal response" )
177
175
}
178
176
179
177
if proposalResp .Response .Status != 0 && proposalResp .Response .Status != 200 {
180
- return nil , fmt .Errorf ("Error bad proposal response %d" , proposalResp .Response .Status )
178
+ return nil , errors .Errorf ("error bad proposal response %d" , proposalResp .Response .Status )
181
179
}
182
180
183
181
// parse config block
184
182
block , err := putils .GetBlockFromBlockBytes (proposalResp .Response .Payload )
185
183
if err != nil {
186
- return nil , fmt . Errorf ( "Error unmarshaling config block: %s" , err )
184
+ return nil , errors . WithMessage ( err , "error unmarshaling config block" )
187
185
}
188
186
189
187
envelopeConfig , err := putils .ExtractEnvelope (block , 0 )
190
188
if err != nil {
191
- return nil , fmt . Errorf ( "Error extracting config block envelope: %s" , err )
189
+ return nil , errors . WithMessage ( err , "error extracting config block envelope" )
192
190
}
193
191
bundle , err := channelconfig .NewBundleFromEnvelope (envelopeConfig )
194
192
if err != nil {
195
- return nil , fmt . Errorf ( "Error loadding config block: %s" , err )
193
+ return nil , errors . WithMessage ( err , "error loading config block" )
196
194
}
197
195
198
196
return bundle .ChannelConfig ().OrdererAddresses (), nil
@@ -203,7 +201,7 @@ func GetOrdererEndpointOfChain(chainID string, signer msp.SigningIdentity, endor
203
201
func SetLogLevelFromViper (module string ) error {
204
202
var err error
205
203
if module == "" {
206
- return fmt . Errorf ("log level not set, no module name provided" )
204
+ return errors . New ("log level not set, no module name provided" )
207
205
}
208
206
logLevelFromViper := viper .GetString ("logging." + module )
209
207
err = CheckLogLevel (logLevelFromViper )
@@ -218,7 +216,7 @@ func SetLogLevelFromViper(module string) error {
218
216
func CheckLogLevel (level string ) error {
219
217
_ , err := logging .LogLevel (level )
220
218
if err != nil {
221
- err = errors .ErrorWithCallstack ( "LOG" , "400" , "Invalid log level provided - %s" , level )
219
+ err = errors .Errorf ( "invalid log level provided - %s" , level )
222
220
}
223
221
return err
224
222
}
0 commit comments