[all] OpenStack versions that can't practically be run with Python 3 ?
Does anyone know the most recent OpenStack version that _can't_ easily be run with Python 3? I think the full answer to this may have to consider distro packaging, as well as the underlying code support. For example, I was just looking at switching an existing Queens setup, on Ubuntu Bionic, and it can't practically be done because all of the scripts - e.g. /usr/bin/nova-compute - have a hashbang line that says "python2". So IIUC Queens is a no for Python 3, at least in the Ubuntu packaging. Do you know if this is equally true for later versions than Queens? Or alternatively, if something systematic was done to address this problem in later releases? E.g. is there a global USE_PYTHON3 switch somewhere, or was the packaging for later releases changed to hardcode "python3" instead of "python2"? If so, when did that happen? Many thanks for any information around this! Best wishes, Neil
On 6/2/20 6:34 AM, Neil Jerram wrote:
Does anyone know the most recent OpenStack version that _can't_ easily be run with Python 3? I think the full answer to this may have to consider distro packaging, as well as the underlying code support.
For example, I was just looking at switching an existing Queens setup, on Ubuntu Bionic, and it can't practically be done because all of the scripts - e.g. /usr/bin/nova-compute - have a hashbang line that says "python2".
So IIUC Queens is a no for Python 3, at least in the Ubuntu packaging.
Do you know if this is equally true for later versions than Queens? Or alternatively, if something systematic was done to address this problem in later releases? E.g. is there a global USE_PYTHON3 switch somewhere, or was the packaging for later releases changed to hardcode "python3" instead of "python2"? If so, when did that happen?
Stein was the release where we had a cycle goal to get everyone using Python 3: https://governance.openstack.org/tc/goals/selected/stein/python3-first.html Part of the completion criteria for that goal was that all projects should, at a minimum, be running py3.6 unit tests. So a couple of caveats there - unit tests don't always identify issues that you can run in to actually running full functionality, and not every project was able to complete the cycle goal completely. Most did though. So I think Stein likely should work for you, but of course Train or Ussuri will have had more time to identify any missed issues and the like. I hope this helps. Sean
For me, Stein still had a lot of issues with python3 when I tried to use it, but I had tried the upgrade shortly after Stein had released so those issues may have been resolved by now. I ended up reverting back to Rocky and python2.7, My first real stable build with python3 was with the Train release on Ubuntu18.04, so I skipped the Stein release. Someone can correct me if I am wrong, but last I checked, CentOS 7 did not have the python3 packages in RDO. So if using CentOS 7; RDO does not have Ussuri and the latest release there is Train with python2.7. If using CentOS 8 and the Ussuri release; RDO released the python3 packages last week. I have not tried Ussuri on CentOS 8 yet. David On Tue, Jun 2, 2020 at 8:25 AM Sean McGinnis <sean.mcginnis@gmx.com> wrote:
On 6/2/20 6:34 AM, Neil Jerram wrote:
Does anyone know the most recent OpenStack version that _can't_ easily be run with Python 3? I think the full answer to this may have to consider distro packaging, as well as the underlying code support.
For example, I was just looking at switching an existing Queens setup, on Ubuntu Bionic, and it can't practically be done because all of the scripts - e.g. /usr/bin/nova-compute - have a hashbang line that says "python2".
So IIUC Queens is a no for Python 3, at least in the Ubuntu packaging.
Do you know if this is equally true for later versions than Queens? Or alternatively, if something systematic was done to address this problem in later releases? E.g. is there a global USE_PYTHON3 switch somewhere, or was the packaging for later releases changed to hardcode "python3" instead of "python2"? If so, when did that happen?
Stein was the release where we had a cycle goal to get everyone using Python 3:
https://governance.openstack.org/tc/goals/selected/stein/python3-first.html
Part of the completion criteria for that goal was that all projects should, at a minimum, be running py3.6 unit tests. So a couple of caveats there - unit tests don't always identify issues that you can run in to actually running full functionality, and not every project was able to complete the cycle goal completely. Most did though.
So I think Stein likely should work for you, but of course Train or Ussuri will have had more time to identify any missed issues and the like.
I hope this helps.
Sean
On Tue, Jun 2, 2020 at 4:06 PM David Ivey <david.j.ivey@gmail.com> wrote:
For me, Stein still had a lot of issues with python3 when I tried to use it, but I had tried the upgrade shortly after Stein had released so those issues may have been resolved by now. I ended up reverting back to Rocky and python2.7, My first real stable build with python3 was with the Train release on Ubuntu18.04, so I skipped the Stein release.
Someone can correct me if I am wrong, but last I checked, CentOS 7 did not have the python3 packages in RDO. So if using CentOS 7; RDO does not have Ussuri and the latest release there is Train with python2.7. If using CentOS 8 and the Ussuri release; RDO released the python3 packages last week.
CentOS 7 has some limited python3 support but at RDO we didn't do any release with python3 on CentOS 7. In RDO you have python3 packages for CentOS 8 for both Train and Ussuri.
I have not tried Ussuri on CentOS 8 yet.
David
On Tue, Jun 2, 2020 at 8:25 AM Sean McGinnis <sean.mcginnis@gmx.com> wrote:
On 6/2/20 6:34 AM, Neil Jerram wrote:
Does anyone know the most recent OpenStack version that _can't_ easily be run with Python 3? I think the full answer to this may have to consider distro packaging, as well as the underlying code support.
For example, I was just looking at switching an existing Queens setup, on Ubuntu Bionic, and it can't practically be done because all of the scripts - e.g. /usr/bin/nova-compute - have a hashbang line that says "python2".
So IIUC Queens is a no for Python 3, at least in the Ubuntu packaging.
Do you know if this is equally true for later versions than Queens? Or alternatively, if something systematic was done to address this problem in later releases? E.g. is there a global USE_PYTHON3 switch somewhere, or was the packaging for later releases changed to hardcode "python3" instead of "python2"? If so, when did that happen?
Stein was the release where we had a cycle goal to get everyone using Python 3:
https://governance.openstack.org/tc/goals/selected/stein/python3-first.html
Part of the completion criteria for that goal was that all projects should, at a minimum, be running py3.6 unit tests. So a couple of caveats there - unit tests don't always identify issues that you can run in to actually running full functionality, and not every project was able to complete the cycle goal completely. Most did though.
So I think Stein likely should work for you, but of course Train or Ussuri will have had more time to identify any missed issues and the like.
I hope this helps.
Sean
On Tue, Jun 2, 2020 at 3:22 PM Alfredo Moralejo Alonso <amoralej@redhat.com> wrote:
On Tue, Jun 2, 2020 at 4:06 PM David Ivey <david.j.ivey@gmail.com> wrote:
For me, Stein still had a lot of issues with python3 when I tried to use it, but I had tried the upgrade shortly after Stein had released so those issues may have been resolved by now. I ended up reverting back to Rocky and python2.7, My first real stable build with python3 was with the Train release on Ubuntu18.04, so I skipped the Stein release.
Someone can correct me if I am wrong, but last I checked, CentOS 7 did not have the python3 packages in RDO. So if using CentOS 7; RDO does not have Ussuri and the latest release there is Train with python2.7. If using CentOS 8 and the Ussuri release; RDO released the python3 packages last week.
CentOS 7 has some limited python3 support but at RDO we didn't do any release with python3 on CentOS 7.
In RDO you have python3 packages for CentOS 8 for both Train and Ussuri.
I have not tried Ussuri on CentOS 8 yet.
David
On Tue, Jun 2, 2020 at 8:25 AM Sean McGinnis <sean.mcginnis@gmx.com> wrote:
On 6/2/20 6:34 AM, Neil Jerram wrote:
Does anyone know the most recent OpenStack version that _can't_ easily be run with Python 3? I think the full answer to this may have to consider distro packaging, as well as the underlying code support.
For example, I was just looking at switching an existing Queens setup, on Ubuntu Bionic, and it can't practically be done because all of the scripts - e.g. /usr/bin/nova-compute - have a hashbang line that says "python2".
So IIUC Queens is a no for Python 3, at least in the Ubuntu packaging.
Do you know if this is equally true for later versions than Queens? Or alternatively, if something systematic was done to address this problem in later releases? E.g. is there a global USE_PYTHON3 switch somewhere, or was the packaging for later releases changed to hardcode "python3" instead of "python2"? If so, when did that happen?
Stein was the release where we had a cycle goal to get everyone using Python 3:
https://governance.openstack.org/tc/goals/selected/stein/python3-first.html
Part of the completion criteria for that goal was that all projects should, at a minimum, be running py3.6 unit tests. So a couple of caveats there - unit tests don't always identify issues that you can run in to actually running full functionality, and not every project was able to complete the cycle goal completely. Most did though.
So I think Stein likely should work for you, but of course Train or Ussuri will have had more time to identify any missed issues and the like.
I hope this helps.
Sean
Many thanks Sean, David and Alfredo. So, IIUC, with RDO and CentOS 8 it sounds like Train and Ussuri should be good. Stein should also be fine code-wise, but responses so far don't mention available packaging for that. Also if anyone can point to information about Debian/Ubuntu packaging for these releases with Python 3, that would be great. Best wishes, Neil
---- On Tue, 02 Jun 2020 09:02:18 -0500 David Ivey <david.j.ivey@gmail.com> wrote ----
For me, Stein still had a lot of issues with python3 when I tried to use it, but I had tried the upgrade shortly after Stein had released so those issues may have been resolved by now. I ended up reverting back to Rocky and python2.7, My first real stable build with python3 was with the Train release on Ubuntu18.04, so I skipped the Stein release.
We did migrate the upstream integration testing to Ubuntu 18.04 in Stein [1], so I feel stein should be fine on python3 until we are missing the scenario failing for you in our testing.
Someone can correct me if I am wrong, but last I checked, CentOS 7 did not have the python3 packages in RDO. So if using CentOS 7; RDO does not have Ussuri and the latest release there is Train with python2.7. If using CentOS 8 and the Ussuri release; RDO released the python3 packages last week. I have not tried Ussuri on CentOS 8 yet. David On Tue, Jun 2, 2020 at 8:25 AM Sean McGinnis <sean.mcginnis@gmx.com> wrote: On 6/2/20 6:34 AM, Neil Jerram wrote:
Does anyone know the most recent OpenStack version that _can't_ easily be run with Python 3? I think the full answer to this may have to consider distro packaging, as well as the underlying code support.
For example, I was just looking at switching an existing Queens setup, on Ubuntu Bionic, and it can't practically be done because all of the scripts - e.g. /usr/bin/nova-compute - have a hashbang line that says "python2".
So IIUC Queens is a no for Python 3, at least in the Ubuntu packaging.
Do you know if this is equally true for later versions than Queens? Or alternatively, if something systematic was done to address this problem in later releases? E.g. is there a global USE_PYTHON3 switch somewhere, or was the packaging for later releases changed to hardcode "python3" instead of "python2"? If so, when did that happen?
USE_PYTHON3 in devstack was switched to True by default in Ussuri cycle, but we moved (unit test as well as integration tests) on python3 by default: - Unit tests (same as Sean already mentioned)- https://governance.openstack.org/tc/goals/selected/stein/python3-first.html - [1] Integration testing: http://lists.openstack.org/pipermail/openstack-discuss/2019-April/004647.htm... If something is failing with Stein on python 3 then I will suggest reporting the bug and we can check if that can be fixed. -gmann
Stein was the release where we had a cycle goal to get everyone using Python 3:
https://governance.openstack.org/tc/goals/selected/stein/python3-first.html
Part of the completion criteria for that goal was that all projects should, at a minimum, be running py3.6 unit tests. So a couple of caveats there - unit tests don't always identify issues that you can run in to actually running full functionality, and not every project was able to complete the cycle goal completely. Most did though.
So I think Stein likely should work for you, but of course Train or Ussuri will have had more time to identify any missed issues and the like.
I hope this helps.
Sean
My apologies, I did not mean to make it sound like Stein did not support python 3. My issues were not necessarily bugs. It was more dependency issues I was working through and most of that is because I do not use typical deployment methods like TrippleO, Kolla-ansible, etc. as we build/maintain our own deployment tool. I just didn't have the time to work through them and ended up reverting due to time constraints. David On Tue, Jun 2, 2020 at 1:36 PM Ghanshyam Mann <gmann@ghanshyammann.com> wrote:
For me, Stein still had a lot of issues with python3 when I tried to use it, but I had tried the upgrade shortly after Stein had released so
---- On Tue, 02 Jun 2020 09:02:18 -0500 David Ivey < david.j.ivey@gmail.com> wrote ---- those issues may have been resolved by now. I ended up reverting back to Rocky and python2.7, My first real stable build with python3 was with the Train release on Ubuntu18.04, so I skipped the Stein release.
We did migrate the upstream integration testing to Ubuntu 18.04 in Stein [1], so I feel stein should be fine on python3 until we are missing the scenario failing for you in our testing.
Someone can correct me if I am wrong, but last I checked, CentOS 7 did not have the python3 packages in RDO. So if using CentOS 7; RDO does not have Ussuri and the latest release there is Train with python2.7. If using CentOS 8 and the Ussuri release; RDO released the python3 packages last week. I have not tried Ussuri on CentOS 8 yet. David On Tue, Jun 2, 2020 at 8:25 AM Sean McGinnis <sean.mcginnis@gmx.com> wrote: On 6/2/20 6:34 AM, Neil Jerram wrote:
Does anyone know the most recent OpenStack version that _can't_ easily be run with Python 3? I think the full answer to this may have to consider distro packaging, as well as the underlying code support.
For example, I was just looking at switching an existing Queens setup, on Ubuntu Bionic, and it can't practically be done because all of the scripts - e.g. /usr/bin/nova-compute - have a hashbang line that says "python2".
So IIUC Queens is a no for Python 3, at least in the Ubuntu packaging.
Do you know if this is equally true for later versions than Queens? Or alternatively, if something systematic was done to address this problem in later releases? E.g. is there a global USE_PYTHON3 switch somewhere, or was the packaging for later releases changed to hardcode "python3" instead of "python2"? If so, when did that happen?
USE_PYTHON3 in devstack was switched to True by default in Ussuri cycle, but we moved (unit test as well as integration tests) on python3 by default:
- Unit tests (same as Sean already mentioned)- https://governance.openstack.org/tc/goals/selected/stein/python3-first.html - [1] Integration testing: http://lists.openstack.org/pipermail/openstack-discuss/2019-April/004647.htm...
If something is failing with Stein on python 3 then I will suggest reporting the bug and we can check if that can be fixed.
-gmann
Stein was the release where we had a cycle goal to get everyone using Python 3:
https://governance.openstack.org/tc/goals/selected/stein/python3-first.html
Part of the completion criteria for that goal was that all projects should, at a minimum, be running py3.6 unit tests. So a couple of caveats there - unit tests don't always identify issues that you can run in to actually running full functionality, and not every project was able to complete the cycle goal completely. Most did though.
So I think Stein likely should work for you, but of course Train or Ussuri will have had more time to identify any missed issues and the
like.
I hope this helps.
Sean
W dniu 02.06.2020 o 13:34, Neil Jerram pisze:
Does anyone know the most recent OpenStack version that _can't_ easily be run with Python 3? I think the full answer to this may have to consider distro packaging, as well as the underlying code support.
My simple view of OpenStack suggestion: Stein: you can run py2 but should work on getting py3 running Train: you need to run py3 and can still run on py2 Ussuri: what is that py2 people ask about? So if you want py2 then Train is the last hope. Migration path for CentOS (in Kolla, RDO and TripleO) is: 1. upgrade to C7/Train 2. migrate to C8/Train 3. migrate to C8/Ussuri
participants (6)
-
Alfredo Moralejo Alonso
-
David Ivey
-
Ghanshyam Mann
-
Marcin Juszkiewicz
-
Neil Jerram
-
Sean McGinnis