Closed devster31 closed 1 year ago
I see two possible pending points:
* the inclusion of a separate role for snap setup and installation (e.g. `don_rumata.ansible_role_install_snap`) instead of including tasks in this role * the addition of `community.general` to `meta/requirements.yml`; the role now uses `community.general.snap` and the molecule tests use `community.general.docker_network`.
To be honest, I would prefer NOT include the snap setup in the role itself (it's fine in the molecule testing though). This is similar to the experience we have with selinux or many other necessary tools. What I mean by this, is that we should document that for snap usage, the user should ensure all the snap requirements are setup, if necessary highlight how we've done it in our molecule testing. However, the role should not require other roles to be used.
I am fine to introduce a community general in meta requirements, as it seems it's the general tendency anyway. This role was refreshed recently, and we removed some old backwards compatibility, so i think it's a good time to do so now.
I moved most of the snap
setuo in the converge.yml
playbook.
I also tried something different with https://github.com/evrardjp/ansible-keepalived/pull/161/commits/ff2d15d9f9a8002be04fea57c7f75826ab67e0a5 but it introduces dependencies on community.general.json_query
and the pip
package jmespath
instead of community.general.snap
.
I think ff2d15d is fine, but I want to really document why we do this before merging.
Do you want me to add the "why" into this PR, so we can merge it?
Sorry, missed the last message.
Sure, I commented above on the why I used the command
, some snaps have "services" which are difficult to customize and not managed by a systemd
file.
I haven't found an alternative to stop/disable these kind of daemons provided by snap besides my last attempt.
I find snap a useful installation method for some binaries as it allows consistent, up-to-date versions across distribution and it's a bit easier to use than a container, hence this proposal. I added this option to the role and a simple molecule scenario which should behave exactly like the default installation but use the snap binary. I see two possible pending points:
don_rumata.ansible_role_install_snap
) instead of including tasks in this rolecommunity.general
tometa/requirements.yml
; the role now usescommunity.general.snap
and the molecule tests usecommunity.general.docker_network
.