Skip to content

Conversation

@bernhardkaindl
Copy link
Contributor

@bernhardkaindl bernhardkaindl commented Oct 31, 2025

See #158 (comment) for my justification for proposing this switch of xen-bugtool from Python2 to Python3 on XS8 (no change on XS9: XS9 is Python3-only)

Reviewer's Guide

Switch the Python shebang to use Python3 on XS 8.4 as well and update README.md

This PR transitions xen-bugtool to Python3 on XenServer 8.4 by updating its shebang, and refreshes the README to describe Python3-only support, stability guarantees, and updated FAQs.

File-Level Changes

Change Details Files
Switch script execution to Python3
  • Update the shebang line to use /usr/bin/env python3
xen-bugtool
Revise README to reflect Python3-only support
  • Remove references to Python2 compatibility and subtasks
  • Add FAQs on Python3 stability, dropping Python2 support, and benefits
  • Document the implementation steps for shebang, CI, and RPM packaging
README.md

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 transitions xen-bugtool to Python3 on XenServer 8.4 by updating the shebang line and revising the README to reflect Python3-only support. The changes remove references to Python2 compatibility and provide updated FAQs about Python3 stability and implementation details.

  • Updates the xen-bugtool shebang to use Python3 instead of Python
  • Revises README to document Python3 stability, remove Python2 compatibility references, and add implementation details

Reviewed Changes

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

File Description
xen-bugtool Updates shebang from python to python3 to ensure Python3 execution
README.md Comprehensive update removing Python2 references and adding Python3-focused FAQs and implementation guidance

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@chunjiez
Copy link
Contributor

chunjiez commented Nov 3, 2025

Hi @bernhardkaindl ,

XS 8.4 has been released, is there any risk if we do some package upgrade?

@bernhardkaindl
Copy link
Contributor Author

bernhardkaindl commented Nov 3, 2025

@chunjiez, in reply to your question:

XS 8.4 has been released, is there any risk if we do some package upgrade?

Brief Intro

The last Python3 bugs in xen-bugtool were fixed also in March 2024, with no Python3 issues in xen-bugtool in XS9 since. With this, I think that we have good confidence in the Python3 support of xen-bugtool.

Complete explanation

My proposal with this PR is to switch xen-bugtool to Python3 on XS8.

My justifications for proposing this change for XS8 are:

  • Since April 2024, we have 18 months of use of xen-bugtool with Python3 on XS9, with no further Python3 bugs found since March 2024.

  • By switching XS8 to Python 3 as well, we can reduce the risk of breaking Python 2 support in edge cases that our tests might miss.

    • Example: The fix Ensure we collect system logs #156 to fix size constraint of system-logs exceeded is relatively simple, but it is a good example where, potentially, there could be a corner case where Python2 could behave differently than we'd expect from dev-testing it under XS9.
    • With this proposal, I would like to reduce the risk of breaking Python 2 support in corner cases that our tests may not cover well enough, by intentionally switching XS8 to Python 3 as well.
  • Yangtze is EOL now, so we don't need a test-bed for Python2 code for backports to Yangtze (which was the other reason I kept Python2 CI tests alive until now, until I merged CI: Consolidate CI to Python 3 and remove obsolete Python2 tests #157)

  • PS: The only reason why I held back switching xen-bugtool to Python3 for the XS8 GA was that I expected that there were a few Python3 bugs still in it, but we found and fixed these Python3 bugs at the time of the XS8 GA in March 2024 (so those build would have been in the XS8 GA release, which I why I was holding back). However, with no further bugs appearing over the last 18 months, the likelihood of bugs with this switch should be very low now.

  • PPS: There is no urgency in making the decision; I merely wanted to give a heads-up to this. But, if we decide to keep xen-bugtool on Python2 for XS8 for now, we should merge a PR that re-enables Python2 CI testing, which I disabled now by merging CI: Consolidate CI to Python 3 and remove obsolete Python2 tests #157 (before I saw your question)

@bernhardkaindl bernhardkaindl merged commit 8928d4b into xenserver:master Nov 24, 2025
3 checks passed
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