CentOS 7 / Windows 2012 R2
Describe your issue in as much detail as possible...
Setting `puppet_agent::source` to use puppet-master requires the prefix https://master.domain.local:8140/packages. This setting works well for Linux but causes issues on Windows clients.
1. install.pp and windows/install.pp having different logic:
- puppet_agent::source is a "prefix" for linux but a full path for windows since it overrides $_http_source. To keep things consistent it should be a prefix as well appending the same way the linux installer does.
2. merging windows/install.pp -> install.pp would probably cleanup this inconsistent behavior which is seen when trying to apply the same class with source in homogeneous environment.
3. msiexec.exe doesn't support self-signed ssl so will fail on master. Linux however will use the puppet/ssl/ certificates. install_puppet.bat would require retweak to use powershell to download the package and then msiexec.exe to install the package.
4. By using powershell to download the package it might be possible to fix the issue that MSI failures aren't caught on puppet run... or at least the download failure would be seen rather than every run being successful even though it wasn't working.
Use same puppet_agent::source pointing at master packages url to download platform agnostic.
Need to setup 2 classification groups or logic in puppet manifest to specify a source for linux and no source parameter if osfamily == 'windows'