Bug 1024357 - cloud-init: Use Python 3 instead of Python 2
cloud-init: Use Python 3 instead of Python 2
Product: Fedora
Classification: Fedora
Component: cloud-init (Show other bugs)
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Garrett Holmstrom
Fedora Extras Quality Assurance
Depends On: 988304 1024363 1024365 1195004
Blocks: F23PYTHON3 1194577
  Show dependency treegraph
Reported: 2013-10-29 09:59 EDT by Miro Hrončok
Modified: 2015-03-12 13:50 EDT (History)
7 users (show)

See Also:
Fixed In Version: cloud-init-0.7.6-4.20140218bzr1060.fc23
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2015-03-12 13:50:19 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

External Trackers
Tracker ID Priority Status Summary Last Updated
Launchpad 1247132 None None None Never

  None (edit)
Description Miro Hrončok 2013-10-29 09:59:14 EDT
Hi, we would like to use Python 3 on the default installation instead of Python 2 on Fedora 22.


According to FESCo, we should firstly focus on the cloud image.

From that perspective, your package is considered as IMPORTANT - that means, is has to be updated to Python 3, for our intention come true.

The goal here is, that for F22 you should use Python 3 instead of Python 2 in this package.

Please, help us update to Python 3 flawlessly.

Check if upstream already support Python 3, if yes, use it and add the support to the package.

If upstream doesn't support Python 3 yet, encourage it to do so by sending patches and offering your help.

When upstream is dead or unwilling to support Python 3, say so and we can solve the problem together.

Chances are, that you ARE the upstream. In that case, everything is easier, just do it yourself.

There is a table on wiki, that should list your package. Chances are, that you can see an upstream link that covers the problem. Anyway, please update the table with information you know.


I offer my help with this task, so if you have no idea, how to work on this, or it is just not your priority, don't hesitate to ask for help.

(As you've already realized, this is a bulk text, so if something is not quite exact about your package, sorry for that, just ask)
Comment 1 Miro Hrončok 2013-11-01 10:35:16 EDT
Comment 2 Miro Hrončok 2015-02-18 09:50:44 EST
Hi Garrett, for our Python 3 as default feature, we would really need cloud-init to use Python 3 in rawhide (F22) by 24.2.

Upstream already merged the patches, but didn't yet made a release. Would you please take what is in upstream bazaar and package it as a pre-release, so we can make it in time? I'm almost sure next release will hit use before the release of Fedora 22, so we can ship a non pre-release package for it once available.

I'm also willing to do the packaging if you let me.
Comment 3 Miro Hrončok 2015-02-18 09:51:25 EST
s/hit use/hit us/
Comment 4 Garrett Holmstrom 2015-02-19 20:43:28 EST
Upstream's python3 work is still very much ongoing, so while this may be okay for rawhide, I am reluctant to simply dump code that is this unstable into F22 because it carries such a high risk of breaking cloud image testing completely.  Cloud-init updates have historically been quite conservative because we can't update a cloud image once it has shipped.  A few people are working on a system for shipping updated images, but that isn't ready yet.

There are a couple ways we could work on that without breaking F22, though:

    1.  Build against python3 in rawhide and update F22 if ready before beta.
    2.  Build against python3 in a COPR and update F22 if ready before beta.

Either way, this should definitely go into rawhide, and a COPR shouldn't be too much work.  What do you think?
Comment 5 Bohuslav "Slavek" Kabrda 2015-02-20 02:39:24 EST
Would it make sense to switch to Python 3 now and if some serious bugs are introduced, then switch back to Python 2 before Beta? At this point, so many packages have been switched that I'd say switching them back would mean more work for us than helping you fix cloud-init if it breaks.
But of course it's your decision and I understand your POV, so we'll help you no matter which way you choose.
Comment 6 Garrett Holmstrom 2015-02-22 16:14:45 EST
After updating the package to cloud-init's current mainline code I grabbed the latest F22 cloud base image out of koji, updated cloud-init, updated libselinux-python3 with a fix for bug 1195004, and installed dhcp-client, which was, for whatever reason, missing.  At that point I had something I could boot and log into on EC2.  Looks like we've got our starting point.  8^)
Comment 7 Miro Hrončok 2015-02-22 16:33:08 EST
Note: All that, running on Python 3 powered cloud-inid
Comment 8 Miro Hrončok 2015-02-23 04:44:27 EST
BTW the specfile is here: https://github.com/gholms/cloud-init-rpmspec
Comment 9 Bohuslav "Slavek" Kabrda 2015-02-23 07:25:19 EST
Ok, so it seems that we'll have to revert after all for F22 [1]. Please only build this for F23 (so this doesn't need to be built today). Thanks.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1194577#c4
Comment 10 Garrett Holmstrom 2015-02-23 17:55:25 EST
I built this in rawhide for now.  Let's stick with stable cloud-init in F22 until libselinux-python3 works well enough to not break things.
Comment 11 Jaroslav Reznik 2015-03-03 12:18:23 EST
This bug appears to have been reported against 'rawhide' during the Fedora 22 development cycle.
Changing version to '22'.

More information and reason for this action is here:

Note You need to log in before you can comment on or make changes to this bug.