我正在尝试在Windows Puppet Agent上设置App Fabric。我有以下配置:
我使用以下清单来确保安装App Fabric:
# This is the init.pp manifest file for the appfabric module
class appfabric {
# TODO: Get the setup path from Hiera
$setup_base_directory = 'D:/Setups/'
$setup_path = "${setup_base_directory}WindowsServerAppFabricSetup_x64.exe"
$hotfix_path = "${setup_base_directory}AppFabric1.1-KB2932678-x64-ENU.exe"
# Pull down the setup of AppFabric
file {$setup_path:
ensure => file,
source_permissions => ignore,
source => 'puppet:///modules/appfabric/WindowsServerAppFabricSetup_x64.exe',
}
->
# Pull down the setup of hotfix update 5
file {$hotfix_path:
ensure => file,
source_permissions => ignore,
source => 'puppet:///modules/appfabric/AppFabric1.1-KB2932678-x64-ENU.exe',
}
->
# Install AppFabric 1.1
package {'AppFabric 1.1 for Windows Server':
ensure => present,
source => $setup_path,
install_options => ['/i','/SkipUpdates'],
}
->
# Install Hotfix KB2932678
package {'AppFabric 1.1 HotFix install':
ensure => present,
source => $hotfix_path,
install_options => ['/q','/norestart'],
}
->
# Start the remote registry service
service {'Remote Registry Service':
ensure => running,
name => 'RemoteRegistry',
enable => true,
}
->
# Start the app fabric service
service {'App Fabric Service':
ensure => running,
name => 'AppFabricCachingService',
enable => true,
}
}
我面临以下问题:
我无法更改AppFabricCachingService
至NT Authority\System
(本地系统帐户)或任何其他特定用户的登录用户。
当我在Windows Puppet Agent上运行命令puppet agent --test
时,puppet会尝试每次都安装App Fabric 。我正在尝试编写清单,我可以确保在已经安装App Fabric的情况下,然后puppet不应该尝试重新安装。
我是Puppet配置管理的新手,任何帮助都会很棒。
提前致谢。
答案 0 :(得分:1)
对于第二个问题,请确保程序包的名称(在您的情况下,您指定" AppFabric 1.1 for Windows Server")与Windows Add \ Remove programs菜单中显示的名称相匹配。否则Puppet会每次都重新安装。
您可能需要查看Package on Windows文档页面。
根据该页面:
确定包的DisplayName的最简单方法是:
在示例系统上安装软件包。
运行puppet资源包以查看已安装软件包的列表。
找到刚刚安装的软件包,并复制puppet资源为其报告的名称。
如果您安装的软件未显示在程序列表中,我的建议是不使用package
。相反,使用exec
安装它并添加creates
子句以仅在未找到属于该软件的特定位置的文件时运行安装程序,或unless
执行免费-form check(注册表,尝试执行软件并检查版本等)