Puppet Enterprise 2018.01 Windows Agent报错及控制台无法运行求助
Alright, let's tackle your two Puppet Agent issues on Windows step by step:
1. Fixing the "creates must be a fully qualified path" Catalog Error
This error pops up because the pe_repo module is trying to use a Linux-style path (/opt/...) on a Windows node, which doesn't recognize that path format. Here's how to resolve it:
- Check node classification in PE Console: First, confirm your Windows node isn't assigned a Linux-specific
pe_repoclass. Head to the Node Manager in your PE Console, locate the Windows node, and remove any Linux-targetedpe_repoclasses from its classification. This is the most common root cause—accidentally applying Linux-focused modules to Windows nodes. - Adjust the Exec resource path (if you've customized the module): If you modified the
pe_repomodule, open/opt/puppetlabs/puppet/modules/pe_repo/manifests/init.ppon your Puppet Master, jump to line 61, and update thecreatesparameter to use a Windows-compatible absolute path. For cross-platform reliability, use Puppet's built-in variables instead of hardcoding paths, like:creates => "${settings::modulepath}/pe_repo/<your-target-directory>", - Test the fix: On your Windows node, run the agent manually to confirm the error is gone:
puppet agent -t
2. Enabling "Run Puppet" in PE Console (Connection Issue)
The "Run Puppet has been disabled" message means the Node Manager can't communicate with your Windows agent. Try these troubleshooting steps:
- Verify Puppet Agent service status: On the Windows node, open the Services manager (press
Win + R, typeservices.msc), find the Puppet Agent service, and make sure it's running and set to start automatically. If it's stopped, start it and recheck. - Check agent configuration: Open the
puppet.conffile on Windows (located atC:\ProgramData\PuppetLabs\puppet\etc\puppet.conf) and confirm theserverparameter points to your PE Master's correct hostname or IP. Also, test network connectivity between the Windows node and Master:# Ping the Master to confirm basic connectivity ping <pe-master-hostname> # Test Puppet's default port (8140) Test-NetConnection <pe-master-hostname> -Port 8140 - Validate Master-side services: On your PE Master (Linux-based), check if the orchestration services are running:
If the service isn't active, restart it withsystemctl status pe-orchestration-servicessystemctl restart pe-orchestration-services. - Trigger a manual agent run: On the Windows node, run
puppet agent -tto force a catalog apply. Once this completes, refresh the PE Console node page—you should now be able to use the "Run Puppet" option. - Confirm certificate status: Double-check that the Windows node's certificate is fully signed on the Master:
Look for your Windows node's name with apuppet cert list --all+prefix (e.g.,+ windows-node.example.com), which confirms the certificate is valid and trusted.
内容的提问来源于stack exchange,提问作者YongSiang
相关产品推荐
相关产品推荐

