On Mon, Apr 11, 2016 at 11:18:47AM +0200, Pierre-Yves Chibon wrote:
On Mon, Apr 11, 2016 at 10:41:44AM +0200, Michael Scherer wrote:
> Hi,
>
> so as people know, the ansible repository is quite old. Fedora was one
> of the first big public ansible user, and as such, has a rather huge repo.
>
> And going where no one has gone before has the downside of not being
> able to build on others people experience with the new tools, resulting in
> sometime less optimal solutions, or using older patterns, or just regular
> bitrot. And as people have seen on the list, I did sent a few patches
> for refactoring and cleaning things around as I did explore the repo,
> but I think it would be more efficient to work on that as a team.
>
> Therefor, I would like to know who would be interested by a hackfest during
> flock this year. The idea would be to focus on improving existing playbooks.
> And among the tasks, we could have:
> - convert tasks who are not to be roles (example, 2fa)
> - start using dependencies among roles (example, collectd, fedmsg)
> - move from yum modules to packages (to handle the yum to dnf change)
I had a discussion with Toshio on IRC a while ago and the package module isn't
actually *the* answer to all our use-cases. For the simplest cases it will work,
but for example if we want/need to interact with repo (for example adding
infra-testing) then it won't work.
So a playbook like the upgrade_package one, is not really convertible to the
packages module :(
My proposal is only to cover things along those lines:
https://infrastructure.fedoraproject.org/cgit/ansible.git/commit/?id=9cea...
ie, instead of having several variation on "package installation', just have one
so
playbooks are shorter and more idiomatic.
And looking on
https://docs.ansible.com/ansible/yum_module.html vs
https://docs.ansible.com/ansible/package_module.html show that indeed, there is
a bit more options in yum modules that the generic wrapper :)
That being said, for roles where we only install packages, porting
from yum/dnf
to packages should work,
> - remove things < F21 (or EL 6 when applicable)
> - move handlers, vars, files to role (or role arguments)
> - move cronjob declaration to cron module (since currently, cron is not reloaded,
> so changes are not picked)
>
> and I think that alone would keep us busy.
> That's most of the time small tasks, so that would scale well to any number of
participants,
> and with a low complexity, so open to everybody.
>
> I already did the proposal before the end of the Cfp, but I kinda
> forgot to send a email about it.
>
> Any people besides me interested ?
I think it's a good idea. Eventually we could tackle a few of these during
technical debt fighting weeks as well.
In a ideal world, we could also start to write some doc on the best practices,
or improve ansible-lint to push people to follow those guidelines.
Also, I can't really make sure I would be present for a technical debt fighting week,
while
I would be present for flock :)
--
Michael Scherer