Skip to content

Commit cabd99d

Browse files
committed
added headers in error logs
Signed-off-by: Ujjwal Kumar <[email protected]>
1 parent e75c6ee commit cabd99d

File tree

9 files changed

+127
-62
lines changed

9 files changed

+127
-62
lines changed

builder/ibmcloud/vpc/client.go

Lines changed: 40 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -208,9 +208,11 @@ func (client IBMCloudClient) isResourceDown(resourceID string, resourceType stri
208208
if resourceType == "instances" {
209209
options := &vpcv1.GetInstanceOptions{}
210210
options.SetID(resourceID)
211-
instance, _, err := vpcService.GetInstance(options)
211+
instance, response, err := vpcService.GetInstance(options)
212212
if err != nil {
213-
err := fmt.Errorf("[ERROR] Failed retrieving resource information. Error: %s", err)
213+
xRequestId := response.Headers["X-Request-Id"][0]
214+
xCorrelationId := response.Headers["X-Correlation-Id"][0]
215+
err := fmt.Errorf("[ERROR] Failed retrieving resource information. Error: %s \n X-Request-Id : %s \n X-Correlation-Id : %s", err, xRequestId, xCorrelationId)
214216
ui.Error(err.Error())
215217
log.Println(err.Error())
216218
return false, err
@@ -236,9 +238,11 @@ func (client IBMCloudClient) manageInstance(resourceID string, action string, st
236238
options := &vpcv1.CreateInstanceActionOptions{}
237239
options.SetInstanceID(resourceID)
238240
options.SetType(action)
239-
response, _, err := vpcService.CreateInstanceAction(options)
241+
response, res, err := vpcService.CreateInstanceAction(options)
240242
if err != nil {
241-
err := fmt.Errorf("[ERROR] Failed to perform %s action over instance. Error: %s", action, err)
243+
xRequestId := res.Headers["X-Request-Id"][0]
244+
xCorrelationId := res.Headers["X-Correlation-Id"][0]
245+
err := fmt.Errorf("[ERROR] Failed to perform %s action over instance. Error: %s \n X-Request-Id : %s \n X-Correlation-Id : %s", action, err, xRequestId, xCorrelationId)
242246
ui.Error(err.Error())
243247
log.Println(err.Error())
244248
return "", err
@@ -259,10 +263,12 @@ func (client IBMCloudClient) retrieveResource(resourceID string, state multistep
259263
}
260264
options := &vpcv1.GetInstanceOptions{}
261265
options.SetID(resourceID)
262-
instance, _, err := vpcService.GetInstance(options)
266+
instance, response, err := vpcService.GetInstance(options)
263267

264268
if err != nil {
265-
err := fmt.Errorf("[ERROR] Failed retrieving resource information. Error: %s", err)
269+
xRequestId := response.Headers["X-Request-Id"][0]
270+
xCorrelationId := response.Headers["X-Correlation-Id"][0]
271+
err := fmt.Errorf("[ERROR] Failed retrieving resource information. Error: %s \n X-Request-Id : %s \n X-Correlation-Id : %s", err, xRequestId, xCorrelationId)
266272
ui.Error(err.Error())
267273
log.Println(err.Error())
268274
return nil, err
@@ -297,9 +303,11 @@ func (client IBMCloudClient) createFloatingIP(state multistep.StateBag) (*vpcv1.
297303
ID: &instanceResourceGroupID,
298304
},
299305
})
300-
floatingIP, _, err := vpcService.CreateFloatingIP(options)
306+
floatingIP, response, err := vpcService.CreateFloatingIP(options)
301307
if err != nil {
302-
err := fmt.Errorf("[ERROR] Failed creating Floating IP Request. Error: %s", err)
308+
xRequestId := response.Headers["X-Request-Id"][0]
309+
xCorrelationId := response.Headers["X-Correlation-Id"][0]
310+
err := fmt.Errorf("[ERROR] Failed creating Floating IP Request. Error: %s \n X-Request-Id : %s \n X-Correlation-Id : %s", err, xRequestId, xCorrelationId)
303311
ui.Error(err.Error())
304312
log.Println(err.Error())
305313
return nil, err
@@ -316,9 +324,11 @@ func (client IBMCloudClient) GrabCredentials(instanceID string, state multistep.
316324
options := &vpcv1.GetInstanceInitializationOptions{
317325
ID: &instanceID,
318326
}
319-
instanceCredentials, _, err := vpcService.GetInstanceInitialization(options)
327+
instanceCredentials, response, err := vpcService.GetInstanceInitialization(options)
320328
if err != nil {
321-
err := fmt.Errorf("[ERROR] Failed getting instance initialization data. Error: %s", err)
329+
xRequestId := response.Headers["X-Request-Id"][0]
330+
xCorrelationId := response.Headers["X-Correlation-Id"][0]
331+
err := fmt.Errorf("[ERROR] Failed getting instance initialization data. Error: %s \n X-Request-Id : %s \n X-Correlation-Id : %s", err, xRequestId, xCorrelationId)
322332
ui.Error(err.Error())
323333
log.Println(err.Error())
324334
return "", "", err
@@ -400,9 +410,11 @@ func (client IBMCloudClient) createSSHKeyVPC(state multistep.StateBag) (*vpcv1.K
400410
vpcService = state.Get("vpcService").(*vpcv1.VpcV1)
401411
}
402412

403-
key, _, err := vpcService.CreateKey(options)
413+
key, response, err := vpcService.CreateKey(options)
404414
if err != nil {
405-
err := fmt.Errorf("[ERROR] Error sending the HTTP request that creates the SSH Key for VPC. Error: %s", err)
415+
xRequestId := response.Headers["X-Request-Id"][0]
416+
xCorrelationId := response.Headers["X-Correlation-Id"][0]
417+
err := fmt.Errorf("[ERROR] Error sending the HTTP request that creates the SSH Key for VPC. Error: %s \n X-Request-Id : %s \n X-Correlation-Id : %s", err, xRequestId, xCorrelationId)
406418
ui.Error(err.Error())
407419
log.Println(err.Error())
408420
return nil, err
@@ -417,9 +429,11 @@ func (client IBMCloudClient) getSecurityGroup(state multistep.StateBag, security
417429
vpcService = state.Get("vpcService").(*vpcv1.VpcV1)
418430
}
419431

420-
securityGroup, _, err := vpcService.GetSecurityGroup(&securityGroupData)
432+
securityGroup, response, err := vpcService.GetSecurityGroup(&securityGroupData)
421433
if err != nil {
422-
err := fmt.Errorf("[ERROR] Error getting the Security Group. Error: %s", err)
434+
xRequestId := response.Headers["X-Request-Id"][0]
435+
xCorrelationId := response.Headers["X-Correlation-Id"][0]
436+
err := fmt.Errorf("[ERROR] Error getting the Security Group. Error: %s \n X-Request-Id : %s \n X-Correlation-Id : %s", err, xRequestId, xCorrelationId)
423437
ui.Error(err.Error())
424438
log.Println(err.Error())
425439
return nil, err
@@ -434,9 +448,11 @@ func (client IBMCloudClient) createSecurityGroup(state multistep.StateBag, secur
434448
vpcService = state.Get("vpcService").(*vpcv1.VpcV1)
435449
}
436450

437-
securityGroup, _, err := vpcService.CreateSecurityGroup(&securityGroupData)
451+
securityGroup, response, err := vpcService.CreateSecurityGroup(&securityGroupData)
438452
if err != nil {
439-
err := fmt.Errorf("[ERROR] Error creating the Security Group. Error: %s", err)
453+
xRequestId := response.Headers["X-Request-Id"][0]
454+
xCorrelationId := response.Headers["X-Correlation-Id"][0]
455+
err := fmt.Errorf("[ERROR] Error creating the Security Group. Error: %s \n X-Request-Id : %s \n X-Correlation-Id : %s", err, xRequestId, xCorrelationId)
440456
ui.Error(err.Error())
441457
log.Println(err.Error())
442458
return nil, err
@@ -452,11 +468,13 @@ func (client IBMCloudClient) createRule(rule vpcv1.CreateSecurityGroupRuleOption
452468
vpcService = state.Get("vpcService").(*vpcv1.VpcV1)
453469
}
454470

455-
securityGroupRuleIntf, _, err := vpcService.CreateSecurityGroupRule(&rule)
471+
securityGroupRuleIntf, response, err := vpcService.CreateSecurityGroupRule(&rule)
456472
securityGroupRule := securityGroupRuleIntf.(*vpcv1.SecurityGroupRuleSecurityGroupRuleProtocolTcpudp)
457473

458474
if err != nil {
459-
err := fmt.Errorf("[ERROR] Error sending the HTTP request that creates a Security Group's rule. Error: %s", err)
475+
xRequestId := response.Headers["X-Request-Id"][0]
476+
xCorrelationId := response.Headers["X-Correlation-Id"][0]
477+
err := fmt.Errorf("[ERROR] Error sending the HTTP request that creates a Security Group's rule. Error: %s \n X-Request-Id : %s \n X-Correlation-Id : %s", err, xRequestId, xCorrelationId)
460478
ui.Error(err.Error())
461479
log.Println(err.Error())
462480
return nil, err
@@ -474,9 +492,11 @@ func (client IBMCloudClient) addNetworkInterfaceToSecurityGroup(securityGroupID
474492
securityGroupID,
475493
networkInterfaceID,
476494
)
477-
securityGroupTargetReferenceIntf, _, err := vpcService.CreateSecurityGroupTargetBinding(options)
495+
securityGroupTargetReferenceIntf, response, err := vpcService.CreateSecurityGroupTargetBinding(options)
478496
if err != nil {
479-
err := fmt.Errorf("[ERROR] Error sending the HTTP request that Add the VSI's network interface to the Security Group. Error: %s", err)
497+
xRequestId := response.Headers["X-Request-Id"][0]
498+
xCorrelationId := response.Headers["X-Correlation-Id"][0]
499+
err := fmt.Errorf("[ERROR] Error sending the HTTP request that Add the VSI's network interface to the Security Group. Error: %s \n X-Request-Id : %s \n X-Correlation-Id : %s", err, xRequestId, xCorrelationId)
480500
ui.Error(err.Error())
481501
log.Println(err.Error())
482502
return nil, err

builder/ibmcloud/vpc/step_capture_image.go

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,17 +88,21 @@ func (s *stepCaptureImage) Run(_ context.Context, state multistep.StateBag) mult
8888

8989
options.SetImagePrototype(imagePrototype)
9090

91-
imageData, _, err := vpcService.CreateImage(options)
91+
imageData, response, err := vpcService.CreateImage(options)
9292

9393
if err != nil {
94-
err := fmt.Errorf("[ERROR] Error sending the HTTP request that creates the image. Error: %s", err)
94+
xRequestId := response.Headers["X-Request-Id"][0]
95+
xCorrelationId := response.Headers["X-Correlation-Id"][0]
96+
err := fmt.Errorf("[ERROR] Error sending the HTTP request that creates the image. Error: %s \n X-Request-Id : %s \n X-Correlation-Id : %s", err, xRequestId, xCorrelationId)
9597
ui.Error(err.Error())
9698
log.Println(err.Error())
9799
return multistep.ActionHalt
98100
}
99101

100102
if err != nil {
101-
err := fmt.Errorf("[ERROR] Error creating the Image: %s", err)
103+
xRequestId := response.Headers["X-Request-Id"][0]
104+
xCorrelationId := response.Headers["X-Correlation-Id"][0]
105+
err := fmt.Errorf("[ERROR] Error creating the Image: %s \n X-Request-Id : %s \n X-Correlation-Id : %s", err, xRequestId, xCorrelationId)
102106
state.Put("error", err)
103107
ui.Error(err.Error())
104108
// log.Fatalf(err.Error())

builder/ibmcloud/vpc/step_create_instance.go

Lines changed: 40 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -130,10 +130,12 @@ func (step *stepCreateInstance) Run(_ context.Context, state multistep.StateBag)
130130
createInstanceOptions := vpcService.NewCreateInstanceOptions(
131131
instancePrototypeModel,
132132
)
133-
instanceData, _, err := vpcService.CreateInstance(createInstanceOptions)
133+
instanceData, response, err := vpcService.CreateInstance(createInstanceOptions)
134134
// End
135135
if err != nil {
136-
err := fmt.Errorf("[ERROR] Error creating the instance: %s", err)
136+
xRequestId := response.Headers["X-Request-Id"][0]
137+
xCorrelationId := response.Headers["X-Correlation-Id"][0]
138+
err := fmt.Errorf("[ERROR] Error creating the instance: %s \n X-Request-Id : %s \n X-Correlation-Id : %s", err, xRequestId, xCorrelationId)
137139
state.Put("error", err)
138140
ui.Error(err.Error())
139141
// log.Fatalf(err.Error())
@@ -151,10 +153,12 @@ func (step *stepCreateInstance) Run(_ context.Context, state multistep.StateBag)
151153

152154
options := &vpcv1.ListImagesOptions{}
153155
options.SetName(vsiBaseImageName)
154-
image, _, err := vpcService.ListImages(options)
156+
image, response, err := vpcService.ListImages(options)
155157

156158
if err != nil {
157-
err := fmt.Errorf("[ERROR] Error getting image with name: %s", err)
159+
xRequestId := response.Headers["X-Request-Id"][0]
160+
xCorrelationId := response.Headers["X-Correlation-Id"][0]
161+
err := fmt.Errorf("[ERROR] Error getting image with name: %s \n X-Request-Id : %s \n X-Correlation-Id : %s", err, xRequestId, xCorrelationId)
158162
state.Put("error", err)
159163
ui.Error(err.Error())
160164
return multistep.ActionHalt
@@ -230,10 +234,12 @@ func (step *stepCreateInstance) Run(_ context.Context, state multistep.StateBag)
230234
createInstanceOptions := vpcService.NewCreateInstanceOptions(
231235
instancePrototypeModel,
232236
)
233-
instanceData, _, err := vpcService.CreateInstance(createInstanceOptions)
237+
instanceData, response, err := vpcService.CreateInstance(createInstanceOptions)
234238
// End
235239
if err != nil {
236-
err := fmt.Errorf("[ERROR] Error creating the instance: %s", err)
240+
xRequestId := response.Headers["X-Request-Id"][0]
241+
xCorrelationId := response.Headers["X-Correlation-Id"][0]
242+
err := fmt.Errorf("[ERROR] Error creating the instance: %s \n X-Request-Id : %s \n X-Correlation-Id : %s", err, xRequestId, xCorrelationId)
237243
state.Put("error", err)
238244
ui.Error(err.Error())
239245
// log.Fatalf(err.Error())
@@ -297,10 +303,12 @@ func (step *stepCreateInstance) Run(_ context.Context, state multistep.StateBag)
297303
createInstanceOptions := vpcService.NewCreateInstanceOptions(
298304
instancePrototypeModel,
299305
)
300-
instanceData, _, err := vpcService.CreateInstance(createInstanceOptions)
306+
instanceData, response, err := vpcService.CreateInstance(createInstanceOptions)
301307
// End
302308
if err != nil {
303-
err := fmt.Errorf("[ERROR] Error creating the instance: %s", err)
309+
xRequestId := response.Headers["X-Request-Id"][0]
310+
xCorrelationId := response.Headers["X-Correlation-Id"][0]
311+
err := fmt.Errorf("[ERROR] Error creating the instance: %s \n X-Request-Id : %s \n X-Correlation-Id : %s", err, xRequestId, xCorrelationId)
304312
state.Put("error", err)
305313
ui.Error(err.Error())
306314
// log.Fatalf(err.Error())
@@ -363,10 +371,12 @@ func (step *stepCreateInstance) Run(_ context.Context, state multistep.StateBag)
363371
createInstanceOptions := vpcService.NewCreateInstanceOptions(
364372
instancePrototypeModel,
365373
)
366-
instanceData, _, err := vpcService.CreateInstance(createInstanceOptions)
374+
instanceData, response, err := vpcService.CreateInstance(createInstanceOptions)
367375
// End
368376
if err != nil {
369-
err := fmt.Errorf("[ERROR] Error creating the instance: %s", err)
377+
xRequestId := response.Headers["X-Request-Id"][0]
378+
xCorrelationId := response.Headers["X-Correlation-Id"][0]
379+
err := fmt.Errorf("[ERROR] Error creating the instance: %s \n X-Request-Id : %s \n X-Correlation-Id : %s", err, xRequestId, xCorrelationId)
370380
state.Put("error", err)
371381
ui.Error(err.Error())
372382
// log.Fatalf(err.Error())
@@ -398,9 +408,11 @@ func (step *stepCreateInstance) Cleanup(state multistep.StateBag) {
398408
floatingIPID := state.Get("floating_ip_id").(string)
399409

400410
options := vpcService.NewGetFloatingIPOptions(floatingIPID)
401-
floatingIPresponse, _, err := vpcService.GetFloatingIP(options)
411+
floatingIPresponse, response, err := vpcService.GetFloatingIP(options)
402412
if err != nil {
403-
err := fmt.Errorf("[ERROR] Error getting the Floating IP: %s", err)
413+
xRequestId := response.Headers["X-Request-Id"][0]
414+
xCorrelationId := response.Headers["X-Correlation-Id"][0]
415+
err := fmt.Errorf("[ERROR] Error getting the Floating IP: %s \n X-Request-Id : %s \n X-Correlation-Id : %s", err, xRequestId, xCorrelationId)
404416
state.Put("error", err)
405417
ui.Error(err.Error())
406418
// log.Fatalf(err.Error())
@@ -412,7 +424,9 @@ func (step *stepCreateInstance) Cleanup(state multistep.StateBag) {
412424
result, err := vpcService.DeleteFloatingIP(options)
413425

414426
if err != nil {
415-
err := fmt.Errorf("[ERROR] Error releasing the Floating IP. Please release it manually: %s", err)
427+
xRequestId := result.Headers["X-Request-Id"][0]
428+
xCorrelationId := result.Headers["X-Correlation-Id"][0]
429+
err := fmt.Errorf("[ERROR] Error releasing the Floating IP. Please release it manually: %s \n X-Request-Id : %s \n X-Correlation-Id : %s", err, xRequestId, xCorrelationId)
416430
state.Put("error", err)
417431
ui.Error(err.Error())
418432
// log.Fatalf(err.Error())
@@ -432,10 +446,12 @@ func (step *stepCreateInstance) Cleanup(state multistep.StateBag) {
432446

433447
options := &vpcv1.DeleteInstanceOptions{}
434448
options.SetID(instanceID)
435-
_, err := vpcService.DeleteInstance(options)
449+
response, err := vpcService.DeleteInstance(options)
436450

437451
if err != nil {
438-
err := fmt.Errorf("[ERROR] Error deleting the instance. Please delete it manually: %s", err)
452+
xRequestId := response.Headers["X-Request-Id"][0]
453+
xCorrelationId := response.Headers["X-Correlation-Id"][0]
454+
err := fmt.Errorf("[ERROR] Error deleting the instance. Please delete it manually: %s \n X-Request-Id : %s \n X-Correlation-Id : %s", err, xRequestId, xCorrelationId)
439455
state.Put("error", err)
440456
ui.Error(err.Error())
441457
// log.Fatalf(err.Error())
@@ -447,12 +463,14 @@ func (step *stepCreateInstance) Cleanup(state multistep.StateBag) {
447463
options.SetID(instanceID)
448464
instance, response, err := vpcService.GetInstance(options)
449465
if err != nil {
466+
xRequestId := response.Headers["X-Request-Id"][0]
467+
xCorrelationId := response.Headers["X-Correlation-Id"][0]
450468
if response != nil && response.StatusCode == 404 {
451469
ui.Say("Instance deleted Succesfully")
452470
instanceDeleted = true
453471
break
454472
}
455-
err := fmt.Errorf("[ERROR] Error getting the instance to check delete status. %s", err)
473+
err := fmt.Errorf("[ERROR] Error getting the instance to check delete status. %s \n X-Request-Id : %s \n X-Correlation-Id : %s", err, xRequestId, xCorrelationId)
456474
state.Put("error", err)
457475
ui.Error(err.Error())
458476
} else if instance != nil {
@@ -471,7 +489,9 @@ func (step *stepCreateInstance) Cleanup(state multistep.StateBag) {
471489
sgRuleResponse, sgRuleErr := vpcService.DeleteSecurityGroupRule(sgRuleOptions)
472490

473491
if sgRuleErr != nil {
474-
sgRuleErr := fmt.Errorf("[ERROR] Error deleting Security Group's rule %s. Please delete it manually: %s", ruleID, sgRuleErr)
492+
xRequestId := sgRuleResponse.Headers["X-Request-Id"][0]
493+
xCorrelationId := sgRuleResponse.Headers["X-Correlation-Id"][0]
494+
sgRuleErr := fmt.Errorf("[ERROR] Error deleting Security Group's rule %s. Please delete it manually: %s \n X-Request-Id : %s \n X-Correlation-Id : %s", ruleID, sgRuleErr, xRequestId, xCorrelationId)
475495
state.Put("error", sgRuleErr)
476496
ui.Error(err.Error())
477497
// log.Fatalf(err.Error())
@@ -494,7 +514,9 @@ func (step *stepCreateInstance) Cleanup(state multistep.StateBag) {
494514
sgOptions.SetID(securityGroupID)
495515
sgResponse, err := vpcService.DeleteSecurityGroup(sgOptions)
496516
if err != nil {
497-
err := fmt.Errorf("[ERROR] Error deleting Security Group %s. Please delete it manually: %s", securityGroupName, err)
517+
xRequestId := sgResponse.Headers["X-Request-Id"][0]
518+
xCorrelationId := sgResponse.Headers["X-Correlation-Id"][0]
519+
err := fmt.Errorf("[ERROR] Error deleting Security Group %s. Please delete it manually: %s \n X-Request-Id : %s \n X-Correlation-Id : %s", securityGroupName, err, xRequestId, xCorrelationId)
498520
state.Put("error", err)
499521
ui.Error(err.Error())
500522
// log.Fatalf(err.Error())

builder/ibmcloud/vpc/step_create_ssh_key_vpc.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,9 @@ func (s *stepCreateSshKeyVPC) Cleanup(state multistep.StateBag) {
5353
response, err := vpcService.DeleteKey(deleteKeyOptions)
5454

5555
if err != nil {
56-
err := fmt.Errorf("[ERROR] Error deleting SSH key for VPC %s. Please delete it manually: %s", state.Get("vpc_ssh_key_name").(string), err)
56+
xRequestId := response.Headers["X-Request-Id"][0]
57+
xCorrelationId := response.Headers["X-Correlation-Id"][0]
58+
err := fmt.Errorf("[ERROR] Error deleting SSH key for VPC %s. Please delete it manually: %s \n X-Request-Id : %s \n X-Correlation-Id : %s", state.Get("vpc_ssh_key_name").(string), err, xRequestId, xCorrelationId)
5759
state.Put("error", err)
5860
ui.Error(err.Error())
5961
// log.Fatalf(err.Error())

builder/ibmcloud/vpc/step_create_vpc_service_instance.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ func (step *StepCreateVPCServiceInstance) Run(_ context.Context, state multistep
1717
client := state.Get("client").(*IBMCloudClient)
1818
ui := state.Get("ui").(packer.Ui)
1919
config := state.Get("config").(Config)
20-
2120
ui.Say("Creating VPC service...")
2221

2322
options := &vpcv1.VpcV1Options{

builder/ibmcloud/vpc/step_get_base_image_id.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,12 @@ func (step *stepGetBaseImageID) Run(_ context.Context, state multistep.StateBag)
2626
options := &vpcv1.ListImagesOptions{
2727
Name: &config.VSIBaseImageName,
2828
}
29-
imageList, _, err := vpcService.ListImages(options)
29+
imageList, response, err := vpcService.ListImages(options)
3030

3131
if err != nil {
32-
err := fmt.Errorf("[ERROR] Error getting base-image ID: %s", err)
32+
xRequestId := response.Headers["X-Request-Id"][0]
33+
xCorrelationId := response.Headers["X-Correlation-Id"][0]
34+
err := fmt.Errorf("[ERROR] Error getting base-image ID: %s \n X-Request-Id : %s \n X-Correlation-Id : %s", err, xRequestId, xCorrelationId)
3335
state.Put("error", err)
3436
ui.Error(err.Error())
3537
return multistep.ActionHalt

0 commit comments

Comments
 (0)