Skip to content

Orquesta - Unable to serialize list objects #4700

@nmaludy

Description

@nmaludy
SUMMARY

When running an Orquesta workflow and trying to use the to_yaml_string filter with a list object, an error is raised even though the object is valid JSON.

ISSUE TYPE
  • Bug Report
STACKSTORM VERSION
$ st2 --version
st2 3.0.0, on Python 2.7.5
OS / ENVIRONMENT / INSTALL METHOD
OS = Centos 7.6
Install = puppet-st2
STEPS TO REPRODUCE

/opt/stackstorm/packs/default/actions/orquesta_list_yaml_error.yaml

---
name: orquesta_list_yaml_error
description: A basic sequential workflow.
runner_type: orquesta
entry_point: workflows/orquesta_list_yaml_error.yaml
enabled: true
parameters: {}

/opt/stackstorm/packs/default/actions/workflows/orquesta_list_yaml_error.yaml

version: 1.0
  
description: A basic sequential workflow.

vars:
  - blah:
      - a
      - b
      - c

tasks:
  demo:
    action: core.local
    input:
      cmd: "echo '{{ ctx().blah | to_yaml_string }}'"
EXPECTED RESULTS

Workflow runs successfully

ACTUAL RESULTS
$ st2 run default.orquesta_list_yaml_error
.
id: 5cf5df6b9387ef5a16b63f71
action.ref: default.orquesta_list_yaml_error
parameters: None
status: failed
start_timestamp: Tue, 04 Jun 2019 03:03:07 UTC
end_timestamp: Tue, 04 Jun 2019 03:03:07 UTC
result: 
  errors:
  - message: 'JinjaEvaluationException: Unable to evaluate expression ''{{ ctx().blah | to_yaml_string }}''. RepresenterError: (''cannot represent an object'', [u''a'', u''b'', u''c''])'
    route: 0
    task_id: demo                                                                                                            
    type: error                                                                                                              
  output: null 

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions