Skip to content

bug: Breaking conditional when using no CNI #361

@sestegra

Description

@sestegra

Summary

When setting rke_cni to none, I got broken conditionals.
ansible-role-rke2 version: 1.48.0

Issue Type

Bug Report

Ansible Version

ansible [core 2.19.2]
  config file = /ansible/ansible.cfg
  configured module search path = ['/home/ubuntu/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/ubuntu/.venv/lib/python3.12/site-packages/ansible
  ansible collection location = /ansible/collections
  executable location = /home/ubuntu/.venv/bin/ansible
  python version = 3.12.3 (main, Apr  9 2024, 08:09:14) [GCC 13.3.0] (/home/ubuntu/.venv/bin/python)
  jinja version = 3.1.6
  pyyaml version = 6.0.2 (with libyaml v0.2.5)

Steps to Reproduce

k8s_cluster:
  children:
    masters:
      hosts:
        training-node-1:
          ansible_host: '192.168.102.57'
        training-node-2:
          ansible_host: '192.168.102.118'
        training-node-3:
          ansible_host: '192.168.102.24'
      vars:
        rke2_type: server
    workers:
      hosts:
        training-node-4:
          ansible_host: '192.168.102.103'
        training-node-5:
          ansible_host: '192.168.102.67'
        training-node-6:
          ansible_host: '192.168.102.30'
      vars:
        rke2_type: agent
  vars:
    rke2_ha_mode: true
    rke2_ha_mode_keepalived: true
    rke2_ha_mode_kubevip: false
    rke2_api_ip: '192.168.102.144'
    rke2_version: v1.33.4+rke2r1
    rke2_cni: none

Expected Results

No error

Actual Results

TASK [lablabs.rke2 : Wait for the first server be ready - no CNI] ******************************************************
[ERROR]: Task failed: Conditional result (True) was derived from value of type 'str' at '/ansible/roles/lablabs.rke2/tasks/first_server.yml:133:7'. Conditionals must have a boolean result.

Task failed.
Origin: /ansible/roles/lablabs.rke2/tasks/first_server.yml:122:3

120     masked: true
121
122 - name: Wait for the first server be ready - no CNI
      ^ column 3

<<< caused by >>>

Conditional result (True) was derived from value of type 'str' at '/ansible/roles/lablabs.rke2/tasks/first_server.yml:133:7'. Conditionals must have a boolean result.
Origin: /ansible/roles/lablabs.rke2/tasks/first_server.yml:133:7

131     - '"kubelet has no disk pressure"  in node_status.stdout_lines'
132     - '"kubelet has sufficient PID available"  in node_status.stdout_lines'
133     - ('"cni plugin not initialized" in node_status.stdout' or '"kubelet is posting ready status." in node_status...
          ^ column 7

Broken conditionals can be temporarily allowed with the `ALLOW_BROKEN_CONDITIONALS` configuration option.

fatal: [training-node-1]: FAILED! => {"changed": false, "msg": "Task failed: Conditional result (True) was derived from value of type 'str' at '/ansible/roles/lablabs.rke2/tasks/first_server.yml:133:7'. Conditionals must have a boolean result."}

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions