Plone 4to5 (Python 2to3)
LBN engineered approach to getting from your (legacy) Plone 4 to Plone 5 (5.2+)
Plone 5.2 is the first release to get to Zope 4; and thus back to the head/latest releases of a large number of Python modules in the stack. Prior to this, we've had (say) 2.2.x for Plone 4 and 2.5.x for Plone 5; and it's been a complete nightmare.
Legacy Archetype-based products - while technically supported; are not included/tested within Plone 5 infrastructure (even the test case machinery is missing) - with obvious spectacular effect on ZODB migration. With a rather precipitous decline in company's/maintainers continuing to participate in this space, it is unlikely original maintainers will be upgrading these to play with Plone 5. The beauracracy around (whether it's even possible) you assuming maintainership and releasing onto PyPi for buildout-based deployments is - err zero.
Any python code (bytecode) within your ZODB needs to be identified and ported to Python 3 .
We ship/support the OpenStack toolchain, and have a decent Jenkins toolchain. We auto-generate JJB jobs to test Python/RPM packages out of KGS suite(s) as identified via classical buildout suites for example.
Because we ship via RPM, we have full lifecyle and patch management outside of what may be available on PyPi.