Actions
Bug #27857
closedcerts' privkey type doesn't require parent paths
Status:
Closed
Priority:
Normal
Assignee:
Category:
Foreman modules
Target version:
-
Difficulty:
Triaged:
Yes
Pull request:
Description
puppet-certs' privkey type (and others that inherit from common) have a path parameter and autorequire a file with that path, but don't require the parent. When it tries to write the file without the parent, it fails even it the catalog does include the parent. The log shows this (note the timestamps):
[ERROR 2019-09-14T04:58:09 main] Could not set 'present' on ensure: No such file or directory @ rb_sysopen - /etc/pki/katello/private/katello-apache.key (file: /usr/share/foreman-installer/modules/certs/manifests/keypair.pp, line: 18)
[ WARN 2019-09-14T04:58:25 main] /Stage[main]/Certs::Config/File[/etc/pki/katello/private]/ensure: created
Autorequiring all parents all the way to the root should solve this.
Added by Ewoud Kohl van Wijngaarden over 5 years ago
Actions
Fixes #27857 - autorequire parent paths in types
Before the patch only the path itself was autorequired but this copies
the autorequire from Puppet's file which autorequires all parts of the
path to the root. This ensures that the parent directory exists before
the provider attempts to write the file and fixes errors like:
[ERROR 2019-09-14T04:58:09 main] Could not set 'present' on ensure: No such file or directory @ rb_sysopen - /etc/pki/katello/private/katello-apache.key (file: /usr/share/foreman-installer/modules/certs/manifests/keypair.pp, line: 18)
[ WARN 2019-09-14T04:58:25 main] /Stage[main]/Certs::Config/File[/etc/pki/katello/private]/ensure: created