-
-
Notifications
You must be signed in to change notification settings - Fork 164
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
Drop Python 2, implement Python 3, replace virtualenv with native python 3 implementation, drop EPEL parameter #292
Conversation
thanks for all the work! I already fixed all the linter fails in another PR: #288 I'm not sure what's the best way to bring both PRs together. Do you want to cherry-pick my commits into your branch? Otherwise I can cherry-pick your changes into mine as soon as the acceptance tests pass. |
Thanks for the review! Currently I'm unable to get the CentOS tests passing. This is due to this fix installs puppetdb so that puppetboard can talk to it. Without a working puppetdb, puppetboard throws a 500 errors. You will notice most of the other tests don't test for connection, maybe this is the case. On a dockerized CentOS I am unable to get systemd to work properly to start puppetdb properly, it errors out with
There are two choices:
Do you have any ideas? |
in the past we had strange issues with centos and systemd in docker. using an older version of the container fixed that. Can you use |
crosses fingers for the centos tests |
I noticed the modulesync change removed |
you can probably let the linter fix the new violations with |
yes, that's now set by a gem we require, voxpupuli-acceptance: https://github.com/voxpupuli/voxpupuli-acceptance/blob/master/lib/voxpupuli/acceptance/spec_helper_acceptance.rb#L5 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I opened #293 to convert to voxpupuli-acceptance. Entirely untested, but that's probably a good base. If that works, I'd suggest to rebase on that. Also keep the PR focused and not include a full modulesync for easier review.
looks like both ubuntu1604-64 and centos7-64{image=centos:7.6.1810} have problems starting services via systemd. Any ideas how to fix them? |
I will rebase this on our master |
e827f8d
to
432306c
Compare
crosses fingers |
cef82c4
to
fff86e0
Compare
Hi. i did a lot of debugging to figure out why the virtualenv command isnt found during the tests. My internet just died and I will continue tomorrow |
So I've debugged a few different docker images
I think at this point in time we are debugging systemd/docker issues, not puppetboard/puppet-puppetboard issues. I'm not sure what is the best way forward. Hoping someone with systemd and docker experience can help? |
I would start with (at least locally) testing with vagrant_libvirt. Real VMs at least allow you to exclude failures due to Docker. There's moby/moby#38749 which causes a lot of these issues. Sadly, it's pretty much the only CI we have. I have thought about using podman (which is supposed to be a lot more friendly to systemd inside container) but haven't gotten around to playing with that. |
I currently use the following command to test on centos7 with virtualbox/vagrant:
this currently fails with:
which should be virtualenv-3. I assume this is a bug in the puppet-python module. I'm currently debugging this and also considering, at least for testing, to switch to pyvenv instead. We already use that in two other modules with python3 on centos 7 so we know it's working. |
virtualenv should be retired, since python3.6 it's no longer needed |
e9693a3
to
d86bd2b
Compare
To support python3, we have to introduce a few new variables to support this creation of a py3 virtualenv, and also to set wsgi python-home [1] it. Just using activate_this.py didn't work. In test, we also choose to use a separate virtualenv `virtenv3-puppetboard` because `virtenv-puppetboard' will be created as a py2 virtualenv by the other tests. [1]: https://modwsgi.readthedocs.io/en/develop/user-guides/virtual-environments.html
Puppetboard requires Python 3.6 or newer to run. CentOS 7 has that, but without a wsgi module to setup apache. CentOS 8 support isn't yet implemented in voxpupuli/python so we cannot support this version here.
We've no working acceptance tests and no suitable data in params.pp for SLES.
Puppet 5 only have packages for Debian 7, 8, 9 https://puppet.com/docs/puppet/5.5/puppet_platform.html
d86bd2b
to
526b484
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would change the title of the PR for the changelog. It ended up also improving docs, add a parameter for daemon opts, use python::pyvenv
.
Thanks @bastelfreak, @ekohl and all for your help! Can we have a version released for this please? We are keen to use it. |
i want to get #302 in before we do a release |
Suse support was dropped from metadata.json in voxpupuli#292 commit 77ea67b due to lack of working tests.
Suse support was dropped from metadata.json in voxpupuli#292 commit 77ea67b due to lack of working tests.
Suse support was dropped from metadata.json in voxpupuli#292 commit 77ea67b due to lack of working tests.
Suse support was dropped from metadata.json in voxpupuli#292 commit 77ea67b due to lack of working tests.
Suse support was dropped from metadata.json in voxpupuli#292 commit 77ea67b due to lack of working tests.
Suse support was dropped from metadata.json in voxpupuli#292 commit 77ea67b due to lack of working tests.
Pull Request (PR) description
This PR attempts to fix tests that have been failing and blocking all PR from being merged.
To support python3, we have to introduce a few new variables to support
this creation of a py3 virtualenv, and also to set wsgi python-home 1
it. Just using activate_this.py didn't work.
In test, we also choose to use a separate virtualenv
virtenv3-puppetboard
because `virtenv-puppetboard' will be created asa py2 virtualenv by the other tests.
This Pull Request (PR) fixes the following issues
Fixes #287