Skip to content

3.5 incompatability - Duplicate input parameters in actions #114

@amanda11

Description

@amanda11

Duplicate input parameters in action defintion
st2ctl reload --register-all
to fail on upgrade to 3.5 dev if AWS pack has previously been installed with errors similar to:

2021-06-15 15:55:00,353 WARNING [-] Failed to register actions: Failed to register action "/opt/stackstorm/packs/aws/actions/apigateway_test_invoke_method.yaml" from pack "aws": found duplicate key "headers"
Traceback (most recent call last):
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/st2common/bootstrap/actionsregistrar.py", line 222, in _register_actions_from_pack
    self._register_action(pack=pack, action=action)
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/st2common/bootstrap/actionsregistrar.py", line 127, in _register_action
    content = self._meta_loader.load(action)
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/st2common/content/loader.py", line 252, in load
    result = self._load(PARSER_FUNCS[file_ext], file_path)
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/st2common/content/loader.py", line 264, in _load
    return parser_func(fd)
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/st2common/constants/meta.py", line 53, in yaml_safe_load
    return yaml.load(stream, Loader=YamlSafeLoader)
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/yaml/__init__.py", line 114, in load
    return loader.get_single_data()
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/yaml/constructor.py", line 51, in get_single_data
    return self.construct_document(node)
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/yaml/constructor.py", line 55, in construct_document
    data = self.construct_object(node)
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/yaml/constructor.py", line 100, in construct_object
    data = constructor(self, node)
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/orquesta/utils/yml.py", line 52, in construct_mapping
    value = self.construct_object(value_node, deep=deep)
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/yaml/constructor.py", line 100, in construct_object
    data = constructor(self, node)
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/orquesta/utils/yml.py", line 51, in construct_mapping
    raise constructor.ConstructorError('found duplicate key "%s"' % key_node.value)
yaml.constructor.ConstructorError: found duplicate key "headers"

There appear to be a few actions that have duplicated the headers definition:

  • apigateway_test_invoke_method.yaml
    -apigateway_test_invoke_authorizer.yaml

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions