Clarification Needed on OpenStack 2024.1 Deployment with Ubuntu Noble's Default Python 3.12

Hello, Ubuntu Folks!

I’m reaching out to share some concerns and seek clarification regarding the upcoming Ubuntu Noble (24.04) release and its implications for deploying OpenStack 2024.1. As someone deeply interested in the technological advancements within the Ubuntu ecosystem and an OpenStack Ansible (OSA) user, I’ve been closely following the development cycles of both projects.

With Ubuntu Noble set to release this April 2024, it’s been noted that the default Python version is 3.12.2:

ubuntu@noble-test-1:~$ python --version
Python 3.12.2

This move, while indicative of Ubuntu’s forward-thinking and commitment to staying at the forefront of technology, raises compatibility concerns with OpenStack 2024.1 (Caracal), which, according to its Tested Runtimes documentation, has not been tested with Python 3.12.

It’s understood that Python 3.11 is still accessible on Noble and can be installed via apt-get install python3.11. However, when installing OpenStack components, such as nova-api, the package dependencies do not automatically include Python 3.11 or prompt for a specific Python version, leading to potential compatibility issues with the default Python 3.12.

Given this context, I am concerned about the decision to default to Python 3.12 in Noble, especially for those planning to deploy OpenStack 2024.1 using Ubuntu’s APT repositories. This setup seems to pose a significant risk for production environments. Hence, it appears prudent for new OpenStack 2024.1 deployments with Ubuntu to opt for Ubuntu 22.04 (Jammy) using the Ubuntu Cloud Archive (UCA), since it defaults to Python 3.11, and avoid deploying OpenStack with Noble until upstream OpenStack has matured Python 3.12 support.

Could the Ubuntu team provide some insights or guidance on how Canonical plans to support OpenStack 2024.1 with Python 3.12 in Noble? Is there an advised upgrade path for OpenStack operators, or specific steps being taken to ensure compatibility and stability for these deployments?

Your guidance would be invaluable for many in the community looking to navigate these updates responsibly. I believe a clear understanding of Canonical’s approach and any recommended practices would greatly assist in planning our technology roadmaps.

Thank you for your time and consideration.

OpenStack Technical Committee Governance Documents - Tested Runtimes for 2024.1

Ubuntu Noble Numbat Release Notes

Cheers!

Hey, folks!

Does anyone have information about this situation in Noble?

I’m seeing other issues regarding missing Python modules in my Noble environment with Ansible and Python 3.12 also at the remote (Noble) machines.

Thanks

Folks,

Here’s another example of weird Python issues in Noble:

# dpkg-reconfigure terminator
/usr/lib/python3/dist-packages/terminatorlib/plugins/maven.py:35: SyntaxWarning: invalid escape sequence '\-'
  maven_filters['apache_maven_plugin_artifact_id'] = 'maven\-(%(apache_maven_plugin_shortname)s)\-plugin' % maven_filters
/usr/lib/python3/dist-packages/terminatorlib/plugins/maven.py:36: SyntaxWarning: invalid escape sequence '\-'
  maven_filters['codehaus_maven_plugin_artifact_id'] = '(%(codehaus_maven_plugin_shortname)s)\-maven\-plugin' % maven_filters
/usr/lib/python3/dist-packages/terminatorlib/plugins/maven.py:37: SyntaxWarning: invalid escape sequence '\.'
  maven_filters['maven_plugin_version'] = '[a-zA-Z0-9\.-]+'
/usr/lib/python3/dist-packages/terminatorlib/plugins/url_handlers.py:16: SyntaxWarning: invalid escape sequence '\s'
  match = '\\b(lp|LP):?\s?#?[0-9]+(,\s*#?[0-9]+)*\\b'
/usr/lib/python3/dist-packages/terminatorlib/plugins/url_handlers.py:39: SyntaxWarning: invalid escape sequence '\+'
  match = '\\b((lp|LP):%(project)s(/%(series)s)?|(lp|LP):%(group)s/(%(project)s|\+junk)/%(branch)s)\\b' % lpfilters
/usr/lib/python3/dist-packages/terminatorlib/terminal.py:310: SyntaxWarning: invalid escape sequence '\['
  hostchars = "-A-Za-z0-9:\[\]"
/usr/lib/python3/dist-packages/terminatorlib/terminal.py:334: SyntaxWarning: invalid escape sequence '\.'
  "(www|ftp)[" + hostchars + "]*\.[" + hostchars +
/usr/lib/python3/dist-packages/terminatorlib/terminal.py:340: SyntaxWarning: invalid escape sequence '\.'
  "[a-zA-Z0-9-]*\.[a-zA-Z0-9][a-zA-Z0-9-]+" +
/usr/lib/python3/dist-packages/terminatorlib/terminal.py:345: SyntaxWarning: invalid escape sequence '\^'
  """news:[-A-Z\^_a-z{|}~!"#$%&'()*+,./0-9;:=?`]+@""" +

I’m seeing similar issues like the above example during an apt upgrade process in a wide range of packages.