This is an automated email from the ASF dual-hosted git repository. mrutkowski pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-openwhisk-wskdeploy.git
The following commit(s) were added to refs/heads/master by this push: new 75134fd Implement the trigger deletion in the correct order (#532) 75134fd is described below commit 75134fdba5e31d4bbbc9d011b134002e3a5975ef Author: Vincent <s...@us.ibm.com> AuthorDate: Thu Sep 21 15:22:20 2017 -0400 Implement the trigger deletion in the correct order (#532) So far we delete the trigger and then invoke the feed, which leads to error for sure, because we need to invoke the feed and then delete the trigger. This PR implements the trigger deletion in the correct order. --- deployers/servicedeployer.go | 67 ++++++++++++++++++++-------------------- wski18n/i18n_resources.go | 4 +-- wski18n/resources/en_US.all.json | 5 ++- 3 files changed, 40 insertions(+), 36 deletions(-) diff --git a/deployers/servicedeployer.go b/deployers/servicedeployer.go index c969931..6c8059e 100644 --- a/deployers/servicedeployer.go +++ b/deployers/servicedeployer.go @@ -881,40 +881,41 @@ func (deployer *ServiceDeployer) deleteFeedAction(trigger *whisk.Trigger, feedNa params = append(params, whisk.KeyValue{Key: "lifecycleEvent", Value: "DELETE"}) params = append(params, whisk.KeyValue{Key: "triggerName", Value: "/" + deployer.Client.Namespace + "/" + trigger.Name}) - trigger.Parameters = nil + parameters := make(map[string]interface{}) + for _, keyVal := range params { + parameters[keyVal.Key] = keyVal.Value + } + + qName, err := utils.ParseQualifiedName(feedName, deployer.ClientConfig.Namespace) + if err != nil { + return err + } + + namespace := deployer.Client.Namespace + deployer.Client.Namespace = qName.Namespace + _, _, err = deployer.Client.Actions.Invoke(qName.EntityName, parameters, true, true) + deployer.Client.Namespace = namespace + + if err != nil { + wskErr := err.(*whisk.WskError) + errString := wski18n.T("Failed to invoke the feed when deleting trigger feed with error message: {{.err}} and error code: {{.code}}.\n", + map[string]interface{}{"err": wskErr.Error(), "code": strconv.Itoa(wskErr.ExitCode)}) + whisk.Debug(whisk.DbgError, errString) + return utils.NewWhiskClientError(wskErr.Error(), wskErr.ExitCode) + + } else { + trigger.Parameters = nil + + _, _, err := deployer.Client.Triggers.Delete(trigger.Name) + if err != nil { + wskErr := err.(*whisk.WskError) + errString := wski18n.T("Got error deleting trigger with error message: {{.err}} and error code: {{.code}}.\n", + map[string]interface{}{"err": wskErr.Error(), "code": strconv.Itoa(wskErr.ExitCode)}) + whisk.Debug(whisk.DbgError, errString) + return utils.NewWhiskClientError(wskErr.Error(), wskErr.ExitCode) + } + } - _, _, err := deployer.Client.Triggers.Delete(trigger.Name) - if err != nil { - wskErr := err.(*whisk.WskError) - errString := wski18n.T("Got error deleting trigger with error message: {{.err}} and error code: {{.code}}.\n", - map[string]interface{}{"err": wskErr.Error(), "code": strconv.Itoa(wskErr.ExitCode)}) - whisk.Debug(whisk.DbgError, errString) - return utils.NewWhiskClientError(wskErr.Error(), wskErr.ExitCode) - } else { - parameters := make(map[string]interface{}) - for _, keyVal := range params { - parameters[keyVal.Key] = keyVal.Value - } - - qName, err := utils.ParseQualifiedName(feedName, deployer.ClientConfig.Namespace) - if err != nil { - return err - } - - namespace := deployer.Client.Namespace - deployer.Client.Namespace = qName.Namespace - _, _, err = deployer.Client.Actions.Invoke(qName.EntityName, parameters, true, true) - deployer.Client.Namespace = namespace - - if err != nil { - wskErr := err.(*whisk.WskError) - errString := wski18n.T("Got error deleting trigger feed with error message: {{.err}} and error code: {{.code}}.\n", - map[string]interface{}{"err": wskErr.Error(), "code": strconv.Itoa(wskErr.ExitCode)}) - whisk.Debug(whisk.DbgError, errString) - return utils.NewWhiskClientError(wskErr.Error(), wskErr.ExitCode) - - } - } return nil } diff --git a/wski18n/i18n_resources.go b/wski18n/i18n_resources.go index 7d3a7ea..ad153c6 100644 --- a/wski18n/i18n_resources.go +++ b/wski18n/i18n_resources.go @@ -114,7 +114,7 @@ func wski18nResourcesDe_deAllJson() (*asset, error) { return a, nil } -var _wski18nResourcesEn_usAllJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x59\x4d\x6f\xdb\x38\x13\xbe\xfb\x57\x0c\x72\xf1\x25\xd0\x7b\xef\x2d\xe8\x9b\x6d\x83\x6e\x93\x20\xc9\x6e\x11\x74\x0b\x84\x11\x47\x16\x1b\x8a\x14\x48\x2a\x85\x57\xf0\x7f\x5f\x50\x1f\xb6\x93\x90\x14\x25\x7f\xb4\x0b\xec\xcd\xb6\x38\xcf\xf3\x0c\x87\x9c\x0f\xf9\xeb\x0c\xa0\x9e\x01\x00\x9c\x30\x7a\xf2\x0e\x4e\x3e\x22\xe7\xf2\xe4\xb4\xfd\xc9\x28\x22\x34\x27\x86\x49\x61\x9f\x9d\x09\x38\xbb\xbe\x80\x5c\x6a\x03 [...] +var _wski18nResourcesEn_usAllJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x59\x4d\x6f\xdb\x38\x13\xbe\xfb\x57\x0c\x72\xf1\x25\xd0\x7b\xef\x2d\xe8\xdb\x6d\x83\x6e\xd3\x20\xcd\x6e\x51\x74\x0b\x84\x11\x47\x16\x6b\x8a\x14\x48\xca\x85\x57\xf0\x7f\x5f\x50\x1f\xb6\x93\x90\x14\x25\x7f\xb4\x0b\xec\xcd\xb6\x38\xcf\xf3\x0c\x87\x9c\x0f\xf9\xeb\x0c\xa0\x9e\x01\x00\x5c\x30\x7a\xf1\x0a\x2e\xde\x21\xe7\xf2\xe2\xb2\xfd\xc9\x28\x22\x34\x27\x86\x49\x61\x9f\x5d\x09\xb8\xba\xbd\x86\x5c\x6a\x03 [...] func wski18nResourcesEn_usAllJsonBytes() ([]byte, error) { return bindataRead( @@ -129,7 +129,7 @@ func wski18nResourcesEn_usAllJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "wski18n/resources/en_US.all.json", size: 10474, mode: os.FileMode(420), modTime: time.Unix(1505853001, 0)} + info := bindataFileInfo{name: "wski18n/resources/en_US.all.json", size: 10738, mode: os.FileMode(420), modTime: time.Unix(1506012886, 0)} a := &asset{bytes: bytes, info: info} return a, nil } diff --git a/wski18n/resources/en_US.all.json b/wski18n/resources/en_US.all.json index 70a3063..a4af4ba 100644 --- a/wski18n/resources/en_US.all.json +++ b/wski18n/resources/en_US.all.json @@ -270,7 +270,10 @@ { "id": "Action {{.action}} has been removed.\n", "translation": "Action {{.action}} has been removed.\n" + }, + { + "id": "Failed to invoke the feed when deleting trigger feed with error message: {{.err}} and error code: {{.code}}.\n", + "translation": "Failed to invoke the feed when deleting trigger feed with error message: {{.err}} and error code: {{.code}}.\n" } - ] -- To stop receiving notification emails like this one, please contact ['"commits@openwhisk.apache.org" <commits@openwhisk.apache.org>'].