Skip to content

Failed parsing YAML experiment: while parsing a flow sequence #146

Open
@antonionovaesjr

Description

@antonionovaesjr

Description:
When I use configuration values ​​inside a list, such as tags or subnets_ids from the chasaws addon, json parse error occurs

python -V:
Python 3.11.7

chaos.exe info core:
NAME VERSION
CLI 1.18.0
Core library 1.41.0

chaos info extensions
NAME VERSION LICENSE DESCRIPTION
chaostoolkit-aws 0.31.1 Apache License Version 2.0 AWS
chaostoolkit-kubernetes 0.34.1 Apache License Version 2.0 Kubernetes
chaostoolkit-reporting 0.17.1 Apache License Version 2.0 Chaos engineering toolkit reporting library

Experiment 01:

version: 1.0.0
title: aws-01 Minha aplcicação com 3 replicas e hpa no eks é resiliente a término inesperado de 1 instância
description: Validar o conceito de que 3 replicas com hpa suporta bem o fim de 1 instância
contributions:
  availability: high
  reliability: high
  security: none
  scalability: medium
tags:
- eks
- aws
configuration:
  nodegroup-name: 'app-20240213133021650200000017'
  #  vault_addr:
  #    type: env
  #    key: VAULT_ADDR
steady-state-hypothesis:
  title: Services are all available and healthy
  probes:
  - type: probe
    name: application-must-respond-normally
    tolerance: [200]
    provider:
      type: http
      url: http://cloud.xpto.com.br/python
      timeout: 5
method:
- type: action
  name: terminate-random-instances
  provider:
    func: terminate_random_instances
    module: chaosaws.asg.actions
    type: python
    arguments:
       tags:
        - Key: 'eks:nodegroup-name'
          Value: ${nodegroup-name}
       instance_count: 1

Experiment 02:

---
version: 1.0.0
title: My application is resilient to fail 1 zones
description: Can my application maintain its minimum resources?
contributions:
  availability: high
  reliability: high
  security: none
  scalability: medium
tags:
- eks
- aws
configuration:
  http_endpoint_check: http://cloud.xpto.com.br/python/health
  subnet01 : subnet-27b4b111
  subnet02: subnet-3d69a712
  subnet03: subnet-7d778713
  nodegroup_infra: eks-infra-20240213133021650200000019-28c6d154-a654-37e1-826c-75cd21af88c1
  nodegroup_app: eks-app-20240213133021650200000017-c0c6d154-a653-153c-30c0-aa783937441c
steady-state-hypothesis:
  title: Services are all available and healthy
  probes:
  - type: probe
    name: application-must-respond-normally
    tolerance: [200]
    provider:
      type: http
      url: ${http_endpoint_check}
      timeout: 5
method:
- type: action
  name: change-subnets-asg
  provider:
    arguments:
      subnets: [ ${subnet01} , ${subnet02} ]
      asg_names: [${nodegroup_infra},${ nodegroup_app}]
    func: change_subnets
    module: chaosaws.asg.actions
    type: python
- type: action
  name: change-subnets-elb
  provider:
    arguments:
      load_balancer_names: [eks-public-lb]
      subnet_ids: [${subnet01},${subnet02}]
    func: set_subnets
    module: chaosaws.elbv2.actions
    type: python
  pauses:
    before: 0
    after: 30
rollbacks:
- type: action
  name: rollback-change-subnets-asg
  provider:
    arguments:
      subnets:
      - ${subnet01}
      - ${subnet02}
      - ${subnet03}
      asg_names: [${nodegroup_infra},${ nodegroup_app}]
    func: change_subnets
    module: chaosaws.asg.actions
    type: python
  pauses:
    before: 180
    after: 0
- type: action
  name: rollback-set-subnets-elb
  provider:
    arguments:
      load_balancer_names: [eks-public-lb]
      subnet_ids: [${subnet01},${subnet02},${subnet03}]
    func: set_subnets
    module: chaosaws.elbv2.actions
    type: python
  pauses:
    before: 180
    after: 0

Error msg:

$ chaos.exe validate experiments/expermiment-aws-02.yaml
[2024-02-13 14:15:38 ERROR] Failed parsing YAML experiment: while parsing a flow sequence
      in "experiments/expermiment-aws-02.yaml", line 30, column 16
    expected ',' or ']', but got '{'
      in "experiments/expermiment-aws-02.yaml", line 30, column 19

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingquestionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions