Backwards compatibility issue: when starting a workflow "params" can't be null now

Bug #1793651 reported by Renat Akhmerov
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mistral
Fix Released
High
Renat Akhmerov

Bug Description

We noticed a backward compatibility issue.
Maybe if “params” is null we get this error…

Please check.

Mistral API log:

2018-09-17 13:48:03.626 808 DEBUG mistral.api.controllers.v2.execution [req-c20e46cb-a488-426f-bae1-6136f5c06ab7 - CloudBandNetworkDirector - - -] Generated execut
ion id [exec_id=8db6838e-3734-4235-8aab-a0837093259d] post /usr/lib/python2.7/site-packages/mistral/api/controllers/v2/execution.py:233
2018-09-17 13:48:03.628 808 ERROR wsme.api [req-c20e46cb-a488-426f-bae1-6136f5c06ab7 - CloudBandNetworkDirector - - -] Server-side error: "decorator() argument after ** must be a mapping, not NoneType". Detail:
Traceback (most recent call last):

  File "/usr/lib/python2.7/site-packages/wsmeext/pecan.py", line 85, in callfunction
    result = f(self, *args, **kwargs)

  File "/usr/lib/python2.7/site-packages/mistral/api/controllers/v2/execution.py", line 277, in post
    **result_exec_dict.get('params', {})

TypeError: decorator() argument after ** must be a mapping, not NoneType

Outgoing HTTP request:

2018-09-17T23:37:02.624+0300 | pool-2-thread-1 | DEBUG | org.apache.http.headers:135 | http-outgoing-1587 >> POST /v2/executions HTTP/1.1
2018-09-17T23:37:02.624+0300 | pool-2-thread-1 | DEBUG | org.apache.http.headers:138 | http-outgoing-1587 >> Accept: application/json
2018-09-17T23:37:02.624+0300 | pool-2-thread-1 | DEBUG | org.apache.http.headers:138 | http-outgoing-1587 >> Content-Type: application/json
2018-09-17T23:37:02.624+0300 | pool-2-thread-1 | DEBUG | org.apache.http.headers:138 | http-outgoing-1587 >> user-agent: AbstractProxyClient/MistralClient
2018-09-17T23:37:02.625+0300 | pool-2-thread-1 | DEBUG | org.apache.http.headers:138 | http-outgoing-1587 >> x-auth-token: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJGSjg2R2NGM2pUYk5MT2NvNE52WmtVQ0lVbWZZQ3FvcXRPUWVNZmJoTmxFIn0.eyJqdGkiOiIwNGU4MmI1Ni01NGU1LTRjZGMtYjQ4OS0zOWY4NThiNDUxNTciLCJleHAiOjE1MzcyMTk4MDEsIm5iZiI6MCwiaWF0IjoxNTM3MjA1NDAxLCJpc3MiOiJodHRwczovLzEwLjUuMTQ2LjE0NDo3NDQzL2F1dGgvcmVhbG1zL0Nsb3VkQmFuZE5ldHdvcmtEaXJlY3RvciIsImF1ZCI6ImNibmQiLCJzdWIiOiIzZGQ3NTQ2OC1hOWVmLTRiZjYtYmYzYi1hY2FhMGFjMTVjZmMiLCJ0eXAiOiJCZWFyZXIiLCJhenAiOiJjYm5kIiwiYXV0aF90aW1lIjowLCJzZXNzaW9uX3N0YXRlIjoiMDFjNjBiOTItMzkxYi00NGUwLWI1OGEtNGMwZTQxMWIzZTlkIiwiYWNyIjoiMSIsImFsbG93ZWQtb3JpZ2lucyI6WyJodHRwczovLzEwLjUuMTQ2LjE0NDo0NDMiLCJodHRwczovLzE5Mi4xNjguMS4xMjo5NDQzIiwiaHR0cHM6Ly8xMC41LjE0Ni4xNDQ6ODAwMCIsImh0dHBzOi8vMTkyLjE2OC4xLjEyOjQ0MyIsImh0dHBzOi8vMTAuNS4xNDYuMTQ0Ojk0NDMiXSwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbIkNVRF9OUyIsIkNVRF9BbGFybXMiLCJDVURfU3lzdGVtX1NldHRpbmdzIiwidW1hX2F1dGhvcml6YXRpb24iLCJDVURfUG9saWN5IiwiQ1VEX1Jlc291cmNlcyIsIkNVRF9FeGVjdXRpb25zIiwiQ1VEX0NhdGFsb2ciXX0sInJlc291cmNlX2FjY2VzcyI6eyJyZWFsbS1tYW5hZ2VtZW50Ijp7InJvbGVzIjpbInZpZXctaWRlbnRpdHktcHJvdmlkZXJzIiwidmlldy1yZWFsbSIsIm1hbmFnZS1pZGVudGl0eS1wcm92aWRlcnMiLCJpbXBlcnNvbmF0aW9uIiwicmVhbG0tYWRtaW4iLCJjcmVhdGUtY2xpZW50IiwibWFuYWdlLXVzZXJzIiwicXVlcnktcmVhbG1zIiwidmlldy1hdXRob3JpemF0aW9uIiwicXVlcnktY2xpZW50cyIsInF1ZXJ5LXVzZXJzIiwibWFuYWdlLWV2ZW50cyIsIm1hbmFnZS1yZWFsbSIsInZpZXctZXZlbnRzIiwidmlldy11c2VycyIsInZpZXctY2xpZW50cyIsIm1hbmFnZS1hdXRob3JpemF0aW9uIiwibWFuYWdlLWNsaWVudHMiLCJxdWVyeS1ncm91cHMiXX19LCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJjYm5kYWRtaW4ifQ.MxBwBv7htyXQzUas8ohBRCmt7HfQ_8V8S0KhIJFUa0hiFRLcdEav66FwE4IAYynnrE-pgnM4LFy5Aic4vZmc4usm7UDrs8pHVq3jrrXXg6S4c42EHVUdx2FWJZyvGanMhuchENlf1sUh5gXpUd8E70iYOTiH1uL36Kgc2g10LR8
2018-09-17T23:37:02.625+0300 | pool-2-thread-1 | DEBUG | org.apache.http.headers:138 | http-outgoing-1587 >> x-client-request-id: be14c08c-24ef-4b1c-bc50-003c21f12969
2018-09-17T23:37:02.625+0300 | pool-2-thread-1 | DEBUG | org.apache.http.headers:138 | http-outgoing-1587 >> Content-Length: 101
2018-09-17T23:37:02.625+0300 | pool-2-thread-1 | DEBUG | org.apache.http.headers:138 | http-outgoing-1587 >> Host: 10.5.146.144:8989
2018-09-17T23:37:02.625+0300 | pool-2-thread-1 | DEBUG | org.apache.http.headers:138 | http-outgoing-1587 >> Connection: Keep-Alive
2018-09-17T23:37:02.625+0300 | pool-2-thread-1 | DEBUG | org.apache.http.headers:138 | http-outgoing-1587 >> Accept-Encoding: gzip,deflate
2018-09-17T23:37:02.626+0300 | pool-2-thread-1 | DEBUG | org.apache.http.wire:72 | http-outgoing-1587 >> "POST /v2/executions HTTP/1.1[\r][\n]"
2018-09-17T23:37:02.626+0300 | pool-2-thread-1 | DEBUG | org.apache.http.wire:72 | http-outgoing-1587 >> "Accept: application/json[\r][\n]"
2018-09-17T23:37:02.626+0300 | pool-2-thread-1 | DEBUG | org.apache.http.wire:72 | http-outgoing-1587 >> "Content-Type: application/json[\r][\n]"
2018-09-17T23:37:02.626+0300 | pool-2-thread-1 | DEBUG | org.apache.http.wire:72 | http-outgoing-1587 >> "user-agent: AbstractProxyClient/MistralClient[\r][\n]"
2018-09-17T23:37:02.626+0300 | pool-2-thread-1 | DEBUG | org.apache.http.wire:72 | http-outgoing-1587 >> "x-auth-token: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJGSjg2R2NGM2pUYk5MT2NvNE52WmtVQ0lVbWZZQ3FvcXRPUWVNZmJoTmxFIn0.eyJqdGkiOiIwNGU4MmI1Ni01NGU1LTRjZGMtYjQ4OS0zOWY4NThiNDUxNTciLCJleHAiOjE1MzcyMTk4MDEsIm5iZiI6MCwiaWF0IjoxNTM3MjA1NDAxLCJpc3MiOiJodHRwczovLzEwLjUuMTQ2LjE0NDo3NDQzL2F1dGgvcmVhbG1zL0Nsb3VkQmFuZE5ldHdvcmtEaXJlY3RvciIsImF1ZCI6ImNibmQiLCJzdWIiOiIzZGQ3NTQ2OC1hOWVmLTRiZjYtYmYzYi1hY2FhMGFjMTVjZmMiLCJ0eXAiOiJCZWFyZXIiLCJhenAiOiJjYm5kIiwiYXV0aF90aW1lIjowLCJzZXNzaW9uX3N0YXRlIjoiMDFjNjBiOTItMzkxYi00NGUwLWI1OGEtNGMwZTQxMWIzZTlkIiwiYWNyIjoiMSIsImFsbG93ZWQtb3JpZ2lucyI6WyJodHRwczovLzEwLjUuMTQ2LjE0NDo0NDMiLCJodHRwczovLzE5Mi4xNjguMS4xMjo5NDQzIiwiaHR0cHM6Ly8xMC41LjE0Ni4xNDQ6ODAwMCIsImh0dHBzOi8vMTkyLjE2OC4xLjEyOjQ0MyIsImh0dHBzOi8vMTAuNS4xNDYuMTQ0Ojk0NDMiXSwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbIkNVRF9OUyIsIkNVRF9BbGFybXMiLCJDVURfU3lzdGVtX1NldHRpbmdzIiwidW1hX2F1dGhvcml6YXRpb24iLCJDVURfUG9saWN5IiwiQ1VEX1Jlc291cmNlcyIsIkNVRF9FeGVjdXRpb25zIiwiQ1VEX0NhdGFsb2ciXX0sInJlc291cmNlX2FjY2VzcyI6eyJyZWFsbS1tYW5hZ2VtZW50Ijp7InJvbGVzIjpbInZpZXctaWRlbnRpdHktcHJvdmlkZXJzIiwidmlldy1yZWFsbSIsIm1hbmFnZS1pZGVudGl0eS1wcm92aWRlcnMiLCJpbXBlcnNvbmF0aW9uIiwicmVhbG0tYWRtaW4iLCJjcmVhdGUtY2xpZW50IiwibWFuYWdlLXVzZXJzIiwicXVlcnktcmVhbG1zIiwidmlldy1hdXRob3JpemF0aW9uIiwicXVlcnktY2xpZW50cyIsInF1ZXJ5LXVzZXJzIiwibWFuYWdlLWV2ZW50cyIsIm1hbmFnZS1yZWFsbSIsInZpZXctZXZlbnRzIiwidmlldy11c2VycyIsInZpZXctY2xpZW50cyIsIm1hbmFnZS1hdXRob3JpemF0aW9uIiwibWFuYWdlLWNsaWVudHMiLCJxdWVyeS1ncm91cHMiXX19LCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJjYm5kYWRtaW4ifQ.MxBwBv7htyXQzUas8ohBRCmt7HfQ_8V8S0KhIJFUa0hiFRLcdEav66FwE4IAYynnrE-pgnM4LFy5Aic4vZmc4usm7UDrs8pHVq3jrrXXg6S4c42EHVUdx2FWJZyvGanMhuchENlf1sUh5gXpUd8E70iYOTiH1uL36Kgc2g10LR8[\r][\n]"
2018-09-17T23:37:02.627+0300 | pool-2-thread-1 | DEBUG | org.apache.http.wire:72 | http-outgoing-1587 >> "x-client-request-id: be14c08c-24ef-4b1c-bc50-003c21f12969[\r][\n]"
2018-09-17T23:37:02.627+0300 | pool-2-thread-1 | DEBUG | org.apache.http.wire:72 | http-outgoing-1587 >> "Content-Length: 101[\r][\n]"
2018-09-17T23:37:02.627+0300 | pool-2-thread-1 | DEBUG | org.apache.http.wire:72 | http-outgoing-1587 >> "Host: 10.5.146.144:8989[\r][\n]"
2018-09-17T23:37:02.627+0300 | pool-2-thread-1 | DEBUG | org.apache.http.wire:72 | http-outgoing-1587 >> "Connection: Keep-Alive[\r][\n]"
2018-09-17T23:37:02.627+0300 | pool-2-thread-1 | DEBUG | org.apache.http.wire:72 | http-outgoing-1587 >> "Accept-Encoding: gzip,deflate[\r][\n]"
2018-09-17T23:37:02.628+0300 | pool-2-thread-1 | DEBUG | org.apache.http.wire:72 | http-outgoing-1587 >> "[\r][\n]"
2018-09-17T23:37:02.628+0300 | pool-2-thread-1 | DEBUG | org.apache.http.wire:86 | http-outgoing-1587 >> "{"input":null,"description":"","params":null,"workflow_name":"invalidName","workflow_namespace":null}"
2018-09-17T23:37:02.672+0300 | pool-2-thread-1 | DEBUG | org.apache.http.wire:72 | http-outgoing-1587 << "HTTP/1.1 500 Internal Server Error[\r][\n]"
2018-09-17T23:37:02.673+0300 | pool-2-thread-1 | DEBUG | org.apache.http.wire:72 | http-outgoing-1587 << "Server: nginx[\r][\n]"
2018-09-17T23:37:02.673+0300 | pool-2-thread-1 | DEBUG | org.apache.http.wire:72 | http-outgoing-1587 << "Date: Mon, 17 Sep 2018 20:37:02 GMT[\r][\n]"
2018-09-17T23:37:02.673+0300 | pool-2-thread-1 | DEBUG | org.apache.http.wire:72 | http-outgoing-1587 << "Content-Type: application/json[\r][\n]"
2018-09-17T23:37:02.673+0300 | pool-2-thread-1 | DEBUG | org.apache.http.wire:72 | http-outgoing-1587 << "Content-Length: 122[\r][\n]"
2018-09-17T23:37:02.673+0300 | pool-2-thread-1 | DEBUG | org.apache.http.wire:72 | http-outgoing-1587 << "Connection: keep-alive[\r][\n]"
2018-09-17T23:37:02.674+0300 | pool-2-thread-1 | DEBUG | org.apache.http.wire:72 | http-outgoing-1587 << "[\r][\n]"
2018-09-17T23:37:02.674+0300 | pool-2-thread-1 | DEBUG | org.apache.http.wire:86 | http-outgoing-1587 << "{"debuginfo": null, "faultcode": "Server", "faultstring": "decorator() argument after ** must be a mapping, not NoneType"}"
2018-09-17T23:37:02.674+0300 | pool-2-thread-1 | DEBUG | org.apache.http.headers:124 | http-outgoing-1587 << HTTP/1.1 500 Internal Server Error
2018-09-17T23:37:02.674+0300 | pool-2-thread-1 | DEBUG | org.apache.http.headers:127 | http-outgoing-1587 << Server: nginx
2018-09-17T23:37:02.674+0300 | pool-2-thread-1 | DEBUG | org.apache.http.headers:127 | http-outgoing-1587 << Date: Mon, 17 Sep 2018 20:37:02 GMT
2018-09-17T23:37:02.675+0300 | pool-2-thread-1 | DEBUG | org.apache.http.headers:127 | http-outgoing-1587 << Content-Type: application/json
2018-09-17T23:37:02.675+0300 | pool-2-thread-1 | DEBUG | org.apache.http.headers:127 | http-outgoing-1587 << Content-Length: 122
2018-09-17T23:37:02.675+0300 | pool-2-thread-1 | DEBUG | org.apache.http.headers:127 | http-outgoing-1587 << Connection: keep-alive
2018-09-17T23:37:02.675+0300 | pool-2-thread-1 | DEBUG | org.apache.http.impl.execchain.MainClientExec:284 | Connection can be kept alive indefinitely
2018-09-17T23:37:02.675+0300 | pool-2-thread-1 | DEBUG | org.apache.http.impl.conn.PoolingHttpClientConnectionManager:314 | Connection [id: 1499][route: {s}->https://10.5.146.144:8989] can be kept alive indefinitely
2018-09-17T23:37:02.676+0300 | pool-2-thread-1 | DEBUG | org.apache.http.impl.conn.PoolingHttpClientConnectionManager:320 | Connection released: [id: 1499][route: {s}->https://10.5.146.144:8989][total kept alive: 1; route allocated: 1 of 20; total allocated: 1 of 20]
2018-09-17T23:37:02.677+0300 | pool-2-thread-1 | ERROR | org.jbehave.core.steps.StepCreatorInterceptor:103 | STEP [Then execute workflow name invalidName]: Actual exception message of expected [com.nokia.cb.nfvo.mistral.client.exception.MistralHttpException] is [MistralErrorResponse{debuginfo='null', faultcode='Server', faultstring='decorator() argument after ** must be a mapping, not NoneType'} com.nokia.cb.nfvo.mistral.client.model.MistralErrorResponse (HTTP status code 500)] and does not contain expected [Workflow not found]

Changed in mistral:
milestone: none → stein-1
Changed in mistral:
importance: Undecided → High
tags: added: backport rocky
Dougal Matthews (d0ugal)
Changed in mistral:
status: New → Confirmed
Changed in mistral:
assignee: nobody → Adriano Petrich (apetrich)
Changed in mistral:
assignee: Adriano Petrich (apetrich) → Renat Akhmerov (rakhmerov)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to mistral (master)

Fix proposed to branch: master
Review: https://review.openstack.org/616549

Changed in mistral:
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to mistral (master)

Reviewed: https://review.openstack.org/616549
Committed: https://git.openstack.org/cgit/openstack/mistral/commit/?id=b413aa087eb89dc17812fe2d70f23b9db5ca0fa8
Submitter: Zuul
Branch: master

commit b413aa087eb89dc17812fe2d70f23b9db5ca0fa8
Author: Renat Akhmerov <email address hidden>
Date: Thu Nov 8 20:53:24 2018 +0700

    Allow None for 'params' when starting a workflow execution

    Change-Id: Ic28352d9acbe9e3f53a9d33a4ff0a5f99261f53f
    Closes-Bug: #1793651

Changed in mistral:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to mistral (stable/rocky)

Fix proposed to branch: stable/rocky
Review: https://review.openstack.org/616948

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to mistral (stable/rocky)

Reviewed: https://review.openstack.org/616948
Committed: https://git.openstack.org/cgit/openstack/mistral/commit/?id=5d128805728f8e9794d155fe8cd34e556461f213
Submitter: Zuul
Branch: stable/rocky

commit 5d128805728f8e9794d155fe8cd34e556461f213
Author: Renat Akhmerov <email address hidden>
Date: Thu Nov 8 20:53:24 2018 +0700

    Allow None for 'params' when starting a workflow execution

    Change-Id: Ic28352d9acbe9e3f53a9d33a4ff0a5f99261f53f
    Closes-Bug: #1793651
    (cherry picked from commit b413aa087eb89dc17812fe2d70f23b9db5ca0fa8)

tags: added: in-stable-rocky
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/mistral 8.0.0.0b1

This issue was fixed in the openstack/mistral 8.0.0.0b1 development milestone.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/mistral 7.1.0

This issue was fixed in the openstack/mistral 7.1.0 release.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.