Skip to content

Conversation

@MaxBed4d
Copy link
Contributor

@MaxBed4d MaxBed4d commented Oct 3, 2025

Simple update of the upper constraint file from 2024.1 to 2025.1

@MaxBed4d MaxBed4d requested a review from a team as a code owner October 3, 2025 09:38
@gemini-code-assist
Copy link

Summary of Changes

Hello @MaxBed4d, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request aims to synchronize the project's Python dependency management with the latest OpenStack release cycle. By updating the upper constraints file to 2025.1, it ensures that all related Ansible roles and their associated Python environments will install dependencies that are compatible with the most recent stable OpenStack release, promoting stability and access to the latest features and bug fixes.

Highlights

  • Dependency Constraints Update: The pull request updates the OpenStack upper constraints file version from 2024.1 to 2025.1 across multiple Ansible roles.
  • Scope of Change: This change affects the default configuration for os_container_clusters, os_deploy_templates, os_images, os_networks, os_openstackclient, os_openstacksdk, os_projects, os_ratings, and os_volumes roles, as well as an example in the os_projects README.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@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 correctly updates the OpenStack upper constraints version from 2024.1 to 2025.1 across multiple roles. My review focuses on improving maintainability by addressing the repeated hardcoding of the constraints URL. I've suggested using a common Ansible variable to define the URL in a single place, which will simplify future updates. I also found an outdated code comment that should be updated.

os_container_clusters_templates: []
# Upper constraints file for installation of python dependencies.
os_container_clusters_upper_constraints_file: https://releases.openstack.org/constraints/upper/2024.1
os_container_clusters_upper_constraints_file: https://releases.openstack.org/constraints/upper/2025.1

Choose a reason for hiding this comment

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

medium

To improve maintainability and adhere to the DRY (Don't Repeat Yourself) principle, this hardcoded URL can be made overridable by a common variable. This centralizes the configuration and simplifies future updates.

os_container_clusters_upper_constraints_file: "{{ os_upper_constraints_file | default('https://releases.openstack.org/constraints/upper/2025.1') }}"


# Upper constraints file for installation of Python dependencies.
os_deploy_templates_upper_constraints_file: https://releases.openstack.org/constraints/upper/2024.1
os_deploy_templates_upper_constraints_file: https://releases.openstack.org/constraints/upper/2025.1

Choose a reason for hiding this comment

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

medium

To improve maintainability and adhere to the DRY (Don't Repeat Yourself) principle, this hardcoded URL can be made overridable by a common variable. This centralizes the configuration and simplifies future updates.

os_deploy_templates_upper_constraints_file: "{{ os_upper_constraints_file | default('https://releases.openstack.org/constraints/upper/2025.1') }}"


# Use Caracal upper constraints
os_images_upper_constraints_file: https://releases.openstack.org/constraints/upper/2024.1
os_images_upper_constraints_file: https://releases.openstack.org/constraints/upper/2025.1

Choose a reason for hiding this comment

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

medium

The comment on the preceding line (15), # Use Caracal upper constraints, is now outdated. The 2024.1 release corresponded to Caracal, but this has been updated to 2025.1. To prevent confusion, please update this comment. Using a more generic description like Upper constraints file for installation of Python dependencies. would be more robust for future updates.


# Use Caracal upper constraints
os_images_upper_constraints_file: https://releases.openstack.org/constraints/upper/2024.1
os_images_upper_constraints_file: https://releases.openstack.org/constraints/upper/2025.1

Choose a reason for hiding this comment

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

medium

To improve maintainability and adhere to the DRY (Don't Repeat Yourself) principle, this hardcoded URL can be made overridable by a common variable. This centralizes the configuration and simplifies future updates.

os_images_upper_constraints_file: "{{ os_upper_constraints_file | default('https://releases.openstack.org/constraints/upper/2025.1') }}"


# Upper constraints file for installation of Python dependencies.
os_networks_upper_constraints_file: https://releases.openstack.org/constraints/upper/2024.1
os_networks_upper_constraints_file: https://releases.openstack.org/constraints/upper/2025.1

Choose a reason for hiding this comment

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

medium

To improve maintainability and adhere to the DRY (Don't Repeat Yourself) principle, this hardcoded URL can be made overridable by a common variable. This centralizes the configuration and simplifies future updates.

os_networks_upper_constraints_file: "{{ os_upper_constraints_file | default('https://releases.openstack.org/constraints/upper/2025.1') }}"

os_openstacksdk_version:
# Upper constraints file for installation of openstacksdk.
os_openstacksdk_upper_constraints_file: https://releases.openstack.org/constraints/upper/2024.1
os_openstacksdk_upper_constraints_file: https://releases.openstack.org/constraints/upper/2025.1

Choose a reason for hiding this comment

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

medium

To improve maintainability and adhere to the DRY (Don't Repeat Yourself) principle, this hardcoded URL can be made overridable by a common variable. This centralizes the configuration and simplifies future updates.

os_openstacksdk_upper_constraints_file: "{{ os_upper_constraints_file | default('https://releases.openstack.org/constraints/upper/2025.1') }}"

- role: stackhpc.openstack.os_projects
os_projects_venv: "~/os-projects-venv"
os_projects_upper_constraints_file: "https://releases.openstack.org/constraints/upper/2024.1"
os_projects_upper_constraints_file: "https://releases.openstack.org/constraints/upper/2025.1"

Choose a reason for hiding this comment

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

medium

This example hardcodes the upper constraints URL. To align with best practices for maintainability (as suggested for the role defaults), consider updating this example to use a variable for the URL. This demonstrates a more robust configuration pattern to users.

For example:

- name: Ensure OpenStack projects are registered
  hosts: localhost
  vars:
    upper_constraints_url: "https://releases.openstack.org/constraints/upper/2025.1"
  roles:
    - role: stackhpc.openstack.os_projects
      os_projects_venv: "~/os-projects-venv"
      os_projects_upper_constraints_file: "{{ upper_constraints_url }}"
      # ... rest of the config

# 'quotas': Optional dict mapping quota names to their values.
os_projects: [] # noqa var-naming[no-role-prefix]
os_projects_upper_constraints_file: https://releases.openstack.org/constraints/upper/2024.1
os_projects_upper_constraints_file: https://releases.openstack.org/constraints/upper/2025.1

Choose a reason for hiding this comment

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

medium

To improve maintainability and adhere to the DRY (Don't Repeat Yourself) principle, this hardcoded URL can be made overridable by a common variable. This centralizes the configuration and simplifies future updates.

os_projects_upper_constraints_file: "{{ os_upper_constraints_file | default('https://releases.openstack.org/constraints/upper/2025.1') }}"

os_ratings_venv:
# Upper constraints file for installation of Python dependencies.
os_ratings_upper_constraints_file: https://releases.openstack.org/constraints/upper/2024.1
os_ratings_upper_constraints_file: https://releases.openstack.org/constraints/upper/2025.1

Choose a reason for hiding this comment

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

medium

To improve maintainability and adhere to the DRY (Don't Repeat Yourself) principle, this hardcoded URL can be made overridable by a common variable. This centralizes the configuration and simplifies future updates.

os_ratings_upper_constraints_file: "{{ os_upper_constraints_file | default('https://releases.openstack.org/constraints/upper/2025.1') }}"


# A file or URL containing Python upper constraints.
os_volumes_upper_constraints_file: https://releases.openstack.org/constraints/upper/2024.1
os_volumes_upper_constraints_file: https://releases.openstack.org/constraints/upper/2025.1

Choose a reason for hiding this comment

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

medium

To improve maintainability and adhere to the DRY (Don't Repeat Yourself) principle, this hardcoded URL can be made overridable by a common variable. This centralizes the configuration and simplifies future updates.

os_volumes_upper_constraints_file: "{{ os_upper_constraints_file | default('https://releases.openstack.org/constraints/upper/2025.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.

2 participants