operator-sdk-ansible-util
operator-sdk-ansible-util copied to clipboard
AttributeError: 'NoneType' object has no attribute 'items' when trying to delete a status field using "k8s_status"
trafficstars
When trying to delete the old_stuff field from this CR status:
status:
old_stuff:
used: no_longer
progress: 0%
using this task
- name: Update CR status
operator_sdk.util.k8s_status:
api_version: acme.com/v1beta1
kind: Acme
name: "{{ ansible_operator_meta.name }}"
namespace: "{{ ansible_operator_meta.namespace }}"
status: "{{ cr_status }}"
replace_lists: true
vars:
cr_status:
old_stuff: null
progress: 5%
I am getting this error:
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: AttributeError: 'NoneType' object has no attribute 'items'
fatal: [localhost]: FAILED! => changed=false
attempts: 3
module_stderr: |-
Traceback (most recent call last):
File "/home/vagrant/.ansible/tmp/ansible-tmp-1730324118.6925457-2890578-67628908416081/AnsiballZ_k8s_status.py", line 107, in <module>
_ansiballz_main()
File "/home/vagrant/.ansible/tmp/ansible-tmp-1730324118.6925457-2890578-67628908416081/AnsiballZ_k8s_status.py", line 99, in _ansiballz_main
invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)
File "/home/vagrant/.ansible/tmp/ansible-tmp-1730324118.6925457-2890578-67628908416081/AnsiballZ_k8s_status.py", line 47, in invoke_module
runpy.run_module(mod_name='ansible_collections.operator_sdk.util.plugins.modules.k8s_status', init_globals=dict(_module_fqn='ansible_collections.operator_sdk.util.plugins.modules.k8s_status', _modlib_path
=modlib_path),
File "<frozen runpy>", line 226, in run_module
File "<frozen runpy>", line 98, in _run_module_code
File "<frozen runpy>", line 88, in _run_code
File "/tmp/ansible_operator_sdk.util.k8s_status_payload_qu2kn4fk/ansible_operator_sdk.util.k8s_status_payload.zip/ansible_collections/operator_sdk/util/plugins/modules/k8s_status.py", line 451, in <module>
File "/tmp/ansible_operator_sdk.util.k8s_status_payload_qu2kn4fk/ansible_operator_sdk.util.k8s_status_payload.zip/ansible_collections/operator_sdk/util/plugins/modules/k8s_status.py", line 214, in main
File "/tmp/ansible_operator_sdk.util.k8s_status_payload_qu2kn4fk/ansible_operator_sdk.util.k8s_status_payload.zip/ansible_collections/operator_sdk/util/plugins/modules/k8s_status.py", line 339, in execute_m
odule
File "/tmp/ansible_operator_sdk.util.k8s_status_payload_qu2kn4fk/ansible_operator_sdk.util.k8s_status_payload.zip/ansible_collections/operator_sdk/util/plugins/modules/k8s_status.py", line 368, in patch
File "/tmp/ansible_operator_sdk.util.k8s_status_payload_qu2kn4fk/ansible_operator_sdk.util.k8s_status_payload.zip/ansible_collections/operator_sdk/util/plugins/modules/k8s_status.py", line 439, in object_co
ntains
File "/tmp/ansible_operator_sdk.util.k8s_status_payload_qu2kn4fk/ansible_operator_sdk.util.k8s_status_payload.zip/ansible_collections/operator_sdk/util/plugins/modules/k8s_status.py", line 417, in dict_is_s
ubset
File "/tmp/ansible_operator_sdk.util.k8s_status_payload_qu2kn4fk/ansible_operator_sdk.util.k8s_status_payload.zip/ansible_collections/operator_sdk/util/plugins/modules/k8s_status.py", line 418, in <genexpr>
File "/tmp/ansible_operator_sdk.util.k8s_status_payload_qu2kn4fk/ansible_operator_sdk.util.k8s_status_payload.zip/ansible_collections/operator_sdk/util/plugins/modules/k8s_status.py", line 423, in dict_is_s
ubset
AttributeError: 'NoneType' object has no attribute 'items'
This is because subset is None here in this scenario.