Skip to content

Improve Amphora image registration logic#2258

Open
priteau wants to merge 1 commit intostackhpc/2025.1from
amphora-image-register-fixes
Open

Improve Amphora image registration logic#2258
priteau wants to merge 1 commit intostackhpc/2025.1from
amphora-image-register-fixes

Conversation

@priteau
Copy link
Copy Markdown
Member

@priteau priteau commented Apr 8, 2026

Group the image rename and registration tasks in a block to ensure both are skipped if the correct image is already present.

Use a more robust check using selectattr and checksum to determine if the image needs to be updated: with the old check there was no guarantee that the latest image would be the first element in the list.

Group the image rename and registration tasks in a block to ensure both
are skipped if the correct image is already present.

Use a more robust check using selectattr and checksum to determine if
the image needs to be updated: with the old check there was no guarantee
that the latest image would be the first element in the list.
@priteau priteau self-assigned this Apr 8, 2026
@priteau priteau requested a review from a team as a code owner April 8, 2026 07:43
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request refactors the Octavia Amphora image registration process by grouping the rename and registration tasks into a conditional block. The review feedback suggests simplifying the conditions by removing redundant name filters, as the image information is already filtered by name in a preceding task.

changed_when: true
environment: "{{ openstack_auth_env }}"
delegate_to: "{{ groups['controllers'][0] }}"
- when: image_info.images | selectattr("name", "equalto", "amphora-x64-haproxy") | selectattr("checksum", "equalto", image_checksum.stat.checksum) | list | length == 0
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The selectattr filter for the image name is redundant here because the openstack.cloud.image_info task at line 79 already filters the results by the name amphora-x64-haproxy. Removing it makes the condition more concise and easier to read.

    - when: image_info.images | selectattr("checksum", "equalto", image_checksum.stat.checksum) | list | length == 0

changed_when: true
environment: "{{ openstack_auth_env }}"
delegate_to: "{{ groups['controllers'][0] }}"
when: image_info.images | selectattr("name", "equalto", "amphora-x64-haproxy") | list | length == 1
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The name filter is redundant here as well, as the image_info results are already filtered by name. You can simplify this to check the length of the images list directly.

          when: image_info.images | length == 1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant