Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable deployment on Python 3.7 systems #135

Open
wants to merge 6 commits into
base: master
from

Conversation

Projects
None yet
2 participants
@fnordahl
Copy link

commented Apr 15, 2019

The current wheelhouse pin set in layer-basic raises challenges when deploying to systems with Python 3.7 as the default Python interpreter.

The pinned version of pip does not have Python 3.7 support and newer versions of pip require newer versions of setuptools.

To be able to use newer versions of setuptools the charm needs to disable include_system_packages in layer.yaml.

To tackle all this I propose we flip the default of include_system_packages to false and unpin pip and setuptools.

@fnordahl

This comment has been minimized.

Copy link
Author

commented Apr 15, 2019

You can view the result of the Travis jobs run on a staged repository here: https://travis-ci.org/fnordahl/flux-capacitor/builds/520189327

@johnsca
Copy link
Member

left a comment

I'm overall +1 on this proposal, and I really like the idea of having tests for this layer against all the different series.

We should probably add an exclude rule to this layer's layer.yaml to keep the new files from ending up in every charm.

Show resolved Hide resolved tox.ini
Show resolved Hide resolved tests/charm-minimal/wheelhouse.txt
@@ -21,7 +21,7 @@ defines:
to help avoid conflicts with other charms or libraries on the machine.
include_system_packages:
type: boolean
default: true
default: false

This comment has been minimized.

Copy link
@johnsca

johnsca Apr 16, 2019

Member

I agree that false is a safer default, but the reason we chose true in the first place was to mitigate the impact of changing the default of use_venv to true. Probably it would be sufficient to simply be vocal about this change to let people know that it could impact them. I suspect the number of charms that would have an issue with this would be pretty small.

Show resolved Hide resolved test-requirements.txt

@fnordahl fnordahl force-pushed the fnordahl:enable-py37 branch from 677289d to a374035 May 2, 2019

@fnordahl fnordahl marked this pull request as ready for review May 2, 2019

fnordahl added some commits Apr 15, 2019

Flip default for ``include_system_packages`` to false
To support Python 3.7 we need to unpin ``pip``, recent versions of
``pip`` require recent versions of ``setuptools``.

To have the charm use the bundled version of ``setuptools``
``include_system_packages`` must be set to ``false``.
Unpin ``pip`` and ``setuptools``
When deploying on a system with Python 3.7 the currently pinned
``pip`` version will be overridden as the pin set does not
include a version of ``pip`` with Python 3.7 support.

@fnordahl fnordahl force-pushed the fnordahl:enable-py37 branch from a374035 to 1ec6794 May 2, 2019

@johnsca

This comment has been minimized.

Copy link
Member

commented May 2, 2019

I enabled this repo on Travis, but can't get it to trigger a build. Can you push a commit or perhaps close and re-open the PR to trigger the build?

Add ``wheel`` to wheelhouse
When building dependencies ``pip`` will want to source ``wheel``
from the wheelhouse.  Ref logs in LP: #1824112

@fnordahl fnordahl force-pushed the fnordahl:enable-py37 branch from 1ec6794 to 34a0079 May 2, 2019

fnordahl added some commits Jun 18, 2019

Remove ``trusty`` from functional test
Trusty went EOL April 2019 and the stable version of Juju does no
longer support deploying it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.