Skip to content

Commit 8489e0b

Browse files
stevefulme1claude
andauthored
fix(vm_collect,vm_hot_plug): fix label selector and memory bugs (#8)
* fix(vm_collect, vm_hot_plug): fix copy-paste bugs breaking label selector queries and memory hotplug Three bugs fixed: 1. vm_collect: task name referenced vm_backup_restore_collect_obj and collect_obj_default_kind (leftover from backup_restore role), causing undefined variable errors when using label_selectors. Fixed to use vm_collect_obj and vm_collect_obj_default_kind. 2. vm_collect: set_fact in the label_selectors block referenced vm_collect_no_label_selectors_response (the loop_var from the other block) instead of vm_collect_label_selectors_response. This caused VMs queried via label_selectors to never be added to the collection, resulting in an empty VM list downstream. 3. vm_hot_plug: compute_patch.yml.j2 checked for 'cpu' instead of 'memory' when deciding whether to patch domain/memory/guest. Memory- only hotplug was silently skipped; cpu-only hotplug would fail trying to render an undefined memory value. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: add missing allowlist_externals for tox-ansible environments * fix: let tox-ansible manage test commands instead of overriding * fix: add distlib to testenv deps for galaxy/sanity manifest support * fix: remove testenv overrides — only set allowlist_externals, let tox-ansible manage deps/commands * fix: add distlib to galaxy tox env for manifest support * fix: restore original testenv config, only add allowlist_externals --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
1 parent f54510c commit 8489e0b

2 files changed

Lines changed: 3 additions & 3 deletions

File tree

roles/vm_collect/tasks/main.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
- "(lookup('ansible.builtin.vars', vm_collect_vms_var, default=[]) | map(attribute='response_obj') | list) | selectattr('metadata.namespace', 'equalto', vm_collect_no_label_selectors_response.metadata.namespace) | list | selectattr('metadata.name', 'equalto', vm_collect_no_label_selectors_response.metadata.name) | list | length == 0" # noqa: yaml[line-length]
4646
- "('namespace' in vm_collect_request_instance and 'names' in vm_collect_request_instance and vm_collect_no_label_selectors_response.metadata.name in vm_collect_request_instance['names']) or ('namespace' in vm_collect_request_instance and 'names' not in vm_collect_request_instance) or ('namespace' not in vm_collect_request_instance)" # noqa: yaml[line-length]
4747

48-
- name: "Query Using Label Selector - {{ vm_backup_restore_collect_obj | default(collect_obj_default_kind) }}"
48+
- name: "Query Using Label Selector - {{ vm_collect_obj | default(vm_collect_obj_default_kind) }}"
4949
when: "'label_selectors' in vm_collect_request_instance"
5050
block:
5151
- name: "Query (With Label Selector) - {{ vm_collect_obj | default(vm_collect_obj_default_kind) }}"
@@ -61,7 +61,7 @@
6161

6262
- name: "Add (With Label Selector) - {{ vm_collect_obj | default(vm_collect_obj_default_kind) }}"
6363
ansible.builtin.set_fact:
64-
"{{ vm_collect_vms_var }}": "{{ lookup('ansible.builtin.vars', vm_collect_vms_var, default=[]) + [{'response_obj': vm_collect_no_label_selectors_response} | ansible.builtin.combine(vm_collect_request_instance, recursive=True)] }}" # noqa: var-naming[no-jinja] # noqa: yaml[line-length]
64+
"{{ vm_collect_vms_var }}": "{{ lookup('ansible.builtin.vars', vm_collect_vms_var, default=[]) + [{'response_obj': vm_collect_label_selectors_response} | ansible.builtin.combine(vm_collect_request_instance, recursive=True)] }}" # noqa: var-naming[no-jinja] # noqa: yaml[line-length]
6565
loop: "{{ vm_collect_label_selectors_responses['resources'] if 'resources' in vm_collect_label_selectors_responses else [] }}" # noqa: yaml[line-length]
6666
loop_control:
6767
loop_var: vm_collect_label_selectors_response

roles/vm_hot_plug/templates/compute_patch.yml.j2

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
path: /spec/template/spec/domain/cpu
1111
value: {{ vm_hot_plug_vm.response_obj.spec.template.spec.domain.cpu | ansible.builtin.combine((vm_hot_plug_compute['cpu']), recursive=true) | from_yaml }}
1212
{% endif %}
13-
{% if 'cpu' in vm_hot_plug_compute and vm_hot_plug_compute['cpu'] is not none %}
13+
{% if 'memory' in vm_hot_plug_compute and vm_hot_plug_compute['memory'] is not none %}
1414
- op: replace
1515
path: /spec/template/spec/domain/memory/guest
1616
value: {{ vm_hot_plug_compute['memory'] }}

0 commit comments

Comments
 (0)