krkn-chaos / krkn

Chaos and resiliency testing tool for Kubernetes with a focus on improving performance under failure conditions. A CNCF sandbox project.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Invalid scenario configuration file: scenarios/openshift/openshift-kube-apiserver.yml expected list, found dict

githubshekar opened this issue · comments

Kraken plugin_scenarios is faling with error invalid scenarios/openshift/openshift-kube-apiserver.yml file. kindly support to resolve this problem.

[root@97be754b9099 krkn]# python3.9 run_kraken.py -c /kraken/config/config_container.yaml
 _              _
| | ___ __ __ _| | _____ _ __
| |/ / '__/ _` | |/ / _ \ '_ \
|   <| | | (_| |   <  __/ | | |
|_|\_\_|  \__,_|_|\_\___|_| |_|


2022-10-11 06:46:57,782 [INFO] Starting kraken
2022-10-11 06:46:57,793 [INFO] Initializing client to talk to the Kubernetes cluster
2022-10-11 06:47:10,167 [INFO] Publishing kraken status at http://0.0.0.0:8081
2022-10-11 06:47:10,168 [INFO] Publishing kraken status at http://0.0.0.0:8081
2022-10-11 06:47:10,168 [INFO] Starting http server at http://0.0.0.0:8081

2022-10-11 06:47:10,169 [INFO] Fetching cluster info
2022-10-11 06:47:10,209 [INFO] Error while reconciling 4.10.26: the cluster operator ingress is degraded
2022-10-11 06:47:10,210 [INFO] Server URL: https://api.cluster736.slocp.net.com:6443
2022-10-11 06:47:10,210 [INFO] Generated a uuid for the run: 20906478-a725-469f-8eec-802c3eec2b3d
2022-10-11 06:47:10,210 [INFO] Daemon mode not enabled, will run through 1 iterations

2022-10-11 06:47:10,210 [INFO] Executing scenarios for iteration 0
2022-10-11 06:47:10,210 [INFO] connection set up
127.0.0.1 - - [11/Oct/2022 06:47:10] "GET / HTTP/1.1" 200 -
2022-10-11 06:47:10,212 [INFO] response RUN
2022-10-11 06:47:10,219 [ERROR] Error while running scenarios/openshift/openshift-kube-apiserver.yml: Invalid scenario configuration file: scenarios/openshift/openshift-kube-apiserver.yml expected list, found dict
2022-10-11 06:47:10,219 [INFO]
2022-10-11 06:47:10,220 [ERROR] Post scenarios are still failing at the end of all iterations


[root@97be754b9099 krkn]# cat /kraken/config/config_container.yaml
kraken:
    distribution: openshift                                # Distribution can be kubernetes or openshift
    kubeconfig_path: /root/.kube/config                    # Path to kubeconfig
    exit_on_failure: False                                 # Exit when a post action scenario fails
    port: 8081
    publish_kraken_status: True                            # Can be accessed at http://0.0.0.0:8081
    signal_state: RUN                                      # Will wait for the RUN signal when set to PAUSE before running the scenarios, refer docs/signal.md for more details
    litmus_version: v1.13.6                                # Litmus version to install
    litmus_uninstall: False                                # If you want to uninstall litmus if failure
    chaos_scenarios:                                       # List of policies/chaos scenarios to load
#        -   container_scenarios:                                 # List of chaos pod scenarios to load
#            - -    scenarios/openshift/container_etcd.yml
#        -   plugin_scenarios:
#            - scenarios/openshift/etcd.yml
#            - scenarios/openshift/regex_openshift_pod_kill.yml
        -   plugin_scenarios:
#            - scenarios/openshift/openshift-apiserver.yml
            - scenarios/openshift/openshift-kube-apiserver.yml

cerberus:
    cerberus_enabled: False                                # Enable it when cerberus is previously installed
    cerberus_url:                                          # When cerberus_enabled is set to True, provide the url where cerberus publishes go/no-go signal
    check_applicaton_routes: False                         # When enabled will look for application unavailability using the routes specified in the cerberus config and fails the run

performance_monitoring:
    deploy_dashboards: False                              # Install a mutable grafana and load the performance dashboards. Enable this only when running on OpenShift
    repo: "https://github.com/cloud-bulldozer/performance-dashboards.git"
    kube_burner_binary_url: "https://github.com/cloud-bulldozer/kube-burner/releases/download/v0.9.1/kube-burner-0.9.1-Linux-x86_64.tar.gz"
    capture_metrics: False
    config_path: config/kube_burner.yaml                  # Define the Elasticsearch url and index name in this config
    metrics_profile_path: config/metrics-aggregated.yaml
    prometheus_url:                                       # The prometheus url/route is automatically obtained in case of OpenShift, please set it when the distribution is Kubernetes.
    prometheus_bearer_token:                              # The bearer token is automatically obtained in case of OpenShift, please set it when the distribution is Kubernetes. This is needed to authenticate with prometheus.
    uuid:                                                 # uuid for the run is generated by default if not set
    enable_alerts: False                                  # Runs the queries specified in the alert profile and displays the info or exits 1 when severity=error
    alert_profile: config/alerts                          # Path to alert profile with the prometheus queries

tunings:
    wait_duration: 60                                      # Duration to wait between each chaos scenario
    iterations: 1                                          # Number of times to execute the scenarios
    daemon_mode: False                                     # Iterations are set to infinity which means that the kraken will cause chaos forever
[root@97be754b9099 krkn]#

Hi @githubshekar, the issue should be resolved in the latest config, please let us know if there are any issues. Thanks.