This message was deleted.
# bolt
s
This message was deleted.
c
Maybe by coincidence, but Facter 3 is no longer bundled or tested against Puppet 7. Puppet 6 included both Facter 3 and Facter 4. Puppet 7 switched to using Facter 4 exclusively.
b
On Arch Linux we build Puppet 7 with facter 3 (and facter team told us that's supposed to work but not officially supported). because facter 4 dropped arch linux support 😞
c
That's pretty far removed from behavior of the
puppet-agent
package on Windows though.
b
yeah 😄
I don't expect that combination, but it's possible
w
our puppet is this
Copy code
C:\Users\chengkai.liang>puppet --version
6.17.0
b
ah yeah that's quite old
w
I assume this is the problem?
b
mhm
I'm not sure how bolt tries to collect the facts. But it could be the old Puppet version or the combination of that + the different directory
w
so then we have to upgrade puppet agent or the puppet server
b
do you have a chance to get a dev machine and install puppet into the default dir and/or use a more modern puppet version?
w
I can give this a try. but probably will be a little late
b
that's worth testing before you upgrade all agents 😄
w
can we use bolt to push new puppet agent?
b
In general yes
w
so questsion, if I use bolt to install puppet agent will it upgrade the current agent in the same location or it will moe to c:\program files?
b
I guess that depends on how you convinced the installer to use that directory
c
In general, the
puppet-agent
installers are not re-targetable. They will expect to use use
/opt/puppetlabs
or
%SystemDrive%\Program Files
.
👍 1
w
so then custom location must be done via msiexec installer
I wonder if on windows the installer will check registry database and base on the finding to upgrade the binary
c
> In general, the
puppet-agent
installers are not re-targetable.
w
I didn't know that. But it seems my company have it installed in idfferent drive
c
Looks like there is an
INSTALLDIR
MSI property that can be used on Windows: https://www.puppet.com/docs/pe/2023.5/installing_windows_agents#msi_properties But. Install location is something that I highly recommend not customizing even if there is an option to do so as it always exacts more cost in unexpected broken behavior than it provides in benefit. The inability of the current installation to find
libfacter
during Bolt execution absolutely could be a result of using a non-standard install location.
w
I understand that. But I didn't take in charge of install agent. This probably already baked into VM image. My point is not to affect current installation location to confuse other team
but I will discuss this with my team to see if we can move this back to the default location
so from powershell script that handle agent install, the parameters,
String]$install_options = 'REINSTALLMODE="amus"',
can be use to direct install location. By the way, what does
amus
means. what would this be when target is windows node?
c
The docs page I linked above references the Microsoft documentation: https://learn.microsoft.com/en-us/windows/win32/msi/reinstallmode As far as I can tell,
REINSTALLMODE
has no effect on install location. The only difference in the mode string is the
a
flag which re-installs all files in the package vs. the MSI default of
o
which only re-installs files that are missing or at an older version.
w
thanks for the info. For [String]$install_options = 'REINSTALLMODE="amus"', what I meant is to append INSTALLDIR to it