Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 829ba85

Browse files
authoredJul 9, 2018
Updating trigger creation/deletion process (#958)
1 parent 755d4a4 commit 829ba85

File tree

2 files changed

+51
-58
lines changed

2 files changed

+51
-58
lines changed
 

‎deployers/servicedeployer.go

+50-57
Original file line numberDiff line numberDiff line change
@@ -910,38 +910,32 @@ func (deployer *ServiceDeployer) createFeedAction(trigger *whisk.Trigger, feedNa
910910

911911
var err error
912912
var response *http.Response
913+
if err = deployer.createTrigger(t); err != nil {
914+
return err
915+
}
916+
qName, err := utils.ParseQualifiedName(feedName, deployer.ClientConfig.Namespace)
917+
if err != nil {
918+
return err
919+
}
920+
921+
namespace := deployer.Client.Namespace
922+
deployer.Client.Namespace = qName.Namespace
913923
err = retry(DEFAULT_ATTEMPTS, DEFAULT_INTERVAL, func() error {
914-
_, response, err = deployer.Client.Triggers.Insert(t, true)
924+
_, response, err = deployer.Client.Actions.Invoke(qName.EntityName, params, true, false)
915925
return err
916926
})
917-
if err != nil {
918-
return createWhiskClientError(err.(*whisk.WskError), response, wski18n.TRIGGER_FEED, true)
919-
} else {
927+
deployer.Client.Namespace = namespace
920928

921-
qName, err := utils.ParseQualifiedName(feedName, deployer.ClientConfig.Namespace)
922-
if err != nil {
923-
return err
924-
}
929+
if err != nil {
930+
// Remove the created trigger
931+
deployer.Client.Triggers.Delete(trigger.Name)
925932

926-
namespace := deployer.Client.Namespace
927-
deployer.Client.Namespace = qName.Namespace
928-
err = retry(DEFAULT_ATTEMPTS, DEFAULT_INTERVAL, func() error {
929-
_, response, err = deployer.Client.Actions.Invoke(qName.EntityName, params, true, false)
933+
retry(DEFAULT_ATTEMPTS, DEFAULT_INTERVAL, func() error {
934+
_, _, err := deployer.Client.Triggers.Delete(trigger.Name)
930935
return err
931936
})
932-
deployer.Client.Namespace = namespace
933-
934-
if err != nil {
935-
// Remove the created trigger
936-
deployer.Client.Triggers.Delete(trigger.Name)
937-
938-
retry(DEFAULT_ATTEMPTS, DEFAULT_INTERVAL, func() error {
939-
_, _, err := deployer.Client.Triggers.Delete(trigger.Name)
940-
return err
941-
})
942937

943-
return createWhiskClientError(err.(*whisk.WskError), response, wski18n.TRIGGER_FEED, false)
944-
}
938+
return createWhiskClientError(err.(*whisk.WskError), response, wski18n.TRIGGER_FEED, false)
945939
}
946940

947941
displayPostprocessingInfo(wski18n.TRIGGER_FEED, trigger.Name, true)
@@ -1203,11 +1197,10 @@ func (deployer *ServiceDeployer) UnDeployTriggers(deployment *DeploymentProject)
12031197
if err != nil {
12041198
return err
12051199
}
1206-
} else {
1207-
err := deployer.deleteTrigger(trigger)
1208-
if err != nil {
1209-
return err
1210-
}
1200+
}
1201+
err := deployer.deleteTrigger(trigger)
1202+
if err != nil {
1203+
return err
12111204
}
12121205
}
12131206

@@ -1262,15 +1255,17 @@ func (deployer *ServiceDeployer) deleteTrigger(trigger *whisk.Trigger) error {
12621255

12631256
displayPreprocessingInfo(parsers.YAML_KEY_TRIGGER, trigger.Name, false)
12641257

1265-
var err error
1266-
var response *http.Response
1267-
err = retry(DEFAULT_ATTEMPTS, DEFAULT_INTERVAL, func() error {
1268-
_, response, err = deployer.Client.Triggers.Delete(trigger.Name)
1269-
return err
1270-
})
1258+
if _, _, ok := deployer.Client.Triggers.Get(trigger.Name); ok == nil {
1259+
var err error
1260+
var response *http.Response
1261+
err = retry(DEFAULT_ATTEMPTS, DEFAULT_INTERVAL, func() error {
1262+
_, response, err = deployer.Client.Triggers.Delete(trigger.Name)
1263+
return err
1264+
})
12711265

1272-
if err != nil {
1273-
return createWhiskClientError(err.(*whisk.WskError), response, parsers.YAML_KEY_TRIGGER, false)
1266+
if err != nil {
1267+
return createWhiskClientError(err.(*whisk.WskError), response, parsers.YAML_KEY_TRIGGER, false)
1268+
}
12741269
}
12751270

12761271
displayPostprocessingInfo(parsers.YAML_KEY_TRIGGER, trigger.Name, false)
@@ -1279,6 +1274,8 @@ func (deployer *ServiceDeployer) deleteTrigger(trigger *whisk.Trigger) error {
12791274

12801275
func (deployer *ServiceDeployer) deleteFeedAction(trigger *whisk.Trigger, feedName string) error {
12811276

1277+
displayPreprocessingInfo(parsers.YAML_KEY_FEED, trigger.Name, false)
1278+
12821279
params := make(whisk.KeyValueArr, 0)
12831280
// TODO() define keys and operations as const
12841281
params = append(params, whisk.KeyValue{Key: "authKey", Value: deployer.ClientConfig.AuthToken})
@@ -1295,6 +1292,11 @@ func (deployer *ServiceDeployer) deleteFeedAction(trigger *whisk.Trigger, feedNa
12951292
return err
12961293
}
12971294

1295+
if _, _, ok := deployer.Client.Triggers.Get(trigger.Name); ok != nil {
1296+
displayPostprocessingInfo(parsers.YAML_KEY_FEED, trigger.Name, false)
1297+
return nil
1298+
}
1299+
12981300
namespace := deployer.Client.Namespace
12991301
deployer.Client.Namespace = qName.Namespace
13001302
var response *http.Response
@@ -1312,35 +1314,26 @@ func (deployer *ServiceDeployer) deleteFeedAction(trigger *whisk.Trigger, feedNa
13121314
whisk.Debug(whisk.DbgError, errString)
13131315
return wskderrors.NewWhiskClientError(wskErr.Error(), wskErr.ExitCode, response)
13141316

1315-
} else {
1316-
trigger.Parameters = nil
1317-
var err error
1318-
err = retry(DEFAULT_ATTEMPTS, DEFAULT_INTERVAL, func() error {
1319-
_, response, err = deployer.Client.Triggers.Delete(trigger.Name)
1320-
return err
1321-
})
1322-
1323-
if err != nil {
1324-
return createWhiskClientError(err.(*whisk.WskError), response, parsers.YAML_KEY_TRIGGER, false)
1325-
}
13261317
}
1327-
1318+
displayPostprocessingInfo(parsers.YAML_KEY_FEED, trigger.Name, false)
13281319
return nil
13291320
}
13301321

13311322
func (deployer *ServiceDeployer) deleteRule(rule *whisk.Rule) error {
13321323

13331324
displayPreprocessingInfo(parsers.YAML_KEY_RULE, rule.Name, false)
13341325

1335-
var err error
1336-
var response *http.Response
1337-
err = retry(DEFAULT_ATTEMPTS, DEFAULT_INTERVAL, func() error {
1338-
response, err = deployer.Client.Rules.Delete(rule.Name)
1339-
return err
1340-
})
1326+
if _, _, ok := deployer.Client.Rules.Get(rule.Name); ok == nil {
1327+
var err error
1328+
var response *http.Response
1329+
err = retry(DEFAULT_ATTEMPTS, DEFAULT_INTERVAL, func() error {
1330+
response, err = deployer.Client.Rules.Delete(rule.Name)
1331+
return err
1332+
})
13411333

1342-
if err != nil {
1343-
return createWhiskClientError(err.(*whisk.WskError), response, parsers.YAML_KEY_RULE, false)
1334+
if err != nil {
1335+
return createWhiskClientError(err.(*whisk.WskError), response, parsers.YAML_KEY_RULE, false)
1336+
}
13441337
}
13451338
displayPostprocessingInfo(parsers.YAML_KEY_RULE, rule.Name, false)
13461339
return nil

‎utils/misc.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ import (
3434
)
3535

3636
const (
37-
DEFAULT_HTTP_TIMEOUT = 30
37+
DEFAULT_HTTP_TIMEOUT = 60
3838
DEFAULT_PROJECT_PATH = "."
3939
HTTP_FILE_EXTENSION = "http"
4040
// name of manifest and deployment files

0 commit comments

Comments
 (0)
Please sign in to comment.