Skip to content

3.5 incompatability - Duplicate input parameters in actions #114

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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