Skip to content

Conversation

@jcapphelix
Copy link
Contributor

@jcapphelix jcapphelix commented Aug 11, 2025

Description

This PR fixes jenkins build of edxops/xqueue:latest image.

Reason of breaking

There are 2 reasons of why this build was broken.

  1. Python version was updated in Xqueue from 3.8 to 3.11 (see configruation repo PR and xqueue repo PR)
  2. Virtualenv for docker image build was not able to perform the task i.e (build virtualenv with python3.11)

Fixes

While this PR was able to fix python 3.8 to 3.11 issue, the issue for virtualenv still persisted and the task was failing, mostly because of version issue for virtualenv.

As a solution I've installed virtualenv and pip separately when docker image is being built.

NOTE: This is only needed docker image is built and tasks are written with that condition, this is done to avoid having version conflicts with other services. Another thing to note is that the task only breaks when docker images are being built, which means that while in use with other services the virtualenv works properly, mostly because it'll get installed properly via common tasks.

Jira link


  • Have a Site Reliability Engineer review the PR if you don't own all of the services impacted.
  • If you are adding any new default values that need to be overridden when this change goes live, update internal repos and add an entry to the top of the CHANGELOG. // (New values are added but there's no need to override them as they are written in that manner)
  • Performed the appropriate testing. // Created sandbox with this branch and tested

@UsamaSadiq UsamaSadiq marked this pull request as ready for review August 11, 2025 11:13
Copilot AI review requested due to automatic review settings August 11, 2025 11:13
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR fixes the Jenkins build failure for the edxops/xqueue:latest Docker image by addressing virtualenv installation issues with Python 3.11. The build was broken due to the Python version upgrade from 3.8 to 3.11 and virtualenv compatibility problems during Docker image builds.

  • Adds conditional installation of pip and virtualenv specifically for Docker builds using Python 3.11
  • Introduces a new flag xqueue_image_building to control Docker-specific tasks
  • Ensures virtualenv installation works properly during Docker image builds without affecting other services

Reviewed Changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

File Description
playbooks/roles/xqueue/tasks/main.yml Adds Docker-specific pip and virtualenv installation tasks for Python 3.11
playbooks/roles/xqueue/defaults/main.yml Introduces xqueue_image_building flag with default value false
docker/build/xqueue/ansible_overrides.yml Sets xqueue_image_building to true for Docker builds

@srathod-apphelix srathod-apphelix merged commit 9bb4eaf into edx:master Aug 11, 2025
3 checks passed
@jcapphelix jcapphelix deleted the fix-xqueue-build branch August 11, 2025 11:48
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.

3 participants