[Pkg-puppet-devel] Presenting dh-puppet
Jérôme Charaoui
jerome at riseup.net
Thu Mar 14 15:04:59 GMT 2024
Le 2024-03-06 à 04 h 17, Thomas Goirand a écrit :
>> * MODULE UPPER BOUNDS: [...] So, should we honor the upper bounds
>> for module dependencies?
>
> As with other languages: I don't think so. The upper bounds are for
> hypothetical breakages, which mostly never happen.
Agreed.
>> * PUPPET DEPENDENCY: Most module's metadata also declare a
>> dependency on Puppet itself, in the "requirements" key. However, in
>> the current state of affairs, only about 10% of the Puppet binary
>> packages include "puppet" or "puppet-agent" in their dependencies.
>> Should dh-puppet add puppet-agent to ${puppet:Depends} and if so,
>> should it also honor the declared version requirements?
>
> I don't mind if puppet-agent is in depends (I don't think it maters),
> but I do not really want the version to be honored. It's IMO the same
> type of breakage as the upper bound: it's useless and annoying.
I'm leaning towards this. We should rely on autopkgtests to learn
when/if the module breaks in a significant way. We can always revisit
this in dh-puppet later, if needed.
>> This dh-puppet project is only a beginning. If there's enthusiasm for
>> it, I'm also planning to work on autodep8 integration. This is where
>> it gets interesting, even for those of you who don't use module
>> packages at all. Having autopkgtests on these packages will be a great
>> help in identifying many Puppet module regressions in testing/sid. The
>> issues identified (often trivial, like package name changes) will help
>> us help module upstreams keep their modules compatible with the latest
>> Debian, and make it easier and more convenient to puppetize our own
>> testing/sid hosts.
>
> That would really help a lot to have autopkgtest in all modules indeed.
> I maintain maybe 90 puppet modules, and it's hard to know if one breaks
> with the new release. I currently don't run tests at all, I'd love to
> have them during the package build AND in autopkgtest. This would help a
> lot to find breakages early.
>
> Note that all OpenStack puppet module upstream have extensive unit
> testing, that hopefully, are Debian compatible.
Running integration/acceptance tests during the build isn't feasible
because of the nature of the modules which almost always require root,
and need to do stuff like install packages, manage services, etc. which
I don't think is appropriate in the build environment.
We might consider running the upstream unit tests as part of package
builds, but that's likely to involve significant packaging effort
because a lot of the bits (gems) needed for that aren't in Debian
currently, and I'm not sure the "return" on that effort would be really
worth it. At best it would help identify incompatibilities with our
version of puppet-agent during the build, but that's an overlap with the
goal of the autopkgtests.
Thanks,
-- Jérôme
More information about the Pkg-puppet-devel
mailing list