[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