如何确保在Windows Puppet Agent

时间:2015-09-12 09:39:52

标签: deployment puppet appfabric

我正在尝试在Windows Puppet Agent上设置App Fabric。我有以下配置:

  • Linux Puppet Master(CentOS 6.5)
  • Windows Puppet Agent(Windows Server 2008 R2)
  • Puppet version 3.8.2

我使用以下清单来确保安装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,
    }
}

我面临以下问题:

  1. 我无法更改AppFabricCachingServiceNT Authority\System(本地系统帐户)或任何其他特定用户的登录用户。

  2. 当我在Windows Puppet Agent上运行命令puppet agent --test时,puppet会尝试每次都安装App Fabric 。我正在尝试编写清单,我可以确保在已经安装App Fabric的情况下,然后puppet不应该尝试重新安装。

  3. 我是Puppet配置管理的新手,任何帮助都会很棒。

    提前致谢。

1 个答案:

答案 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(注册表,尝试执行软件并检查版本等)