Puppet 多次运行应用目录或未完全应用

Puppet 多次运行应用目录或未完全应用

我有一个 Win (Server 2012 R2) 代理盒,上面安装了 Active Directory。我现在正尝试在其中创建 OU。

[root@myhost] cat create_organizational_unit.pp
class infra::ad::create_organizational_unit (
    $ou_data = $infra::params::ou_data,
) inherits infra::params {
    each($ou_data) |$ou_name, $ou_dc_path| {
       windows_ad::organisationalunit { "$ou_name":
           ensure => present,
           path   => $ou_dc_path,
           ouName => $ou_name,
       }
    }
}

[root@myhost] cat params.pp
$ou_data = {
    'Support'       => 'DC=TEST,DC=COM',
    'DBA'           => 'DC=TEST,DC=COM',
    'SFTP'          => 'DC=TEST,DC=COM',
    'PROD'          => 'OU=SFTP,DC=TEST,DC=COM',
    'Users'         => 'OU=PROD,OU=SFTP,DC=TEST,DC=COM',
    'Groups'        => 'OU=PROD,OU=SFTP,DC=TEST,DC=COM',
},

我现在面临的问题是,当我通过在代理上运行应用目录时puppet agent -t,我看到任何一个以下行为:

1)我必须多次运行上述命令,因为它不能一次性应用目录。

2)无论我运行上述命令多少次,它都不会应用完整的目录。

为什么会这样?这不是我第一次看到这种情况。虽然不常见,但有时确实会发生。

更新:在调试模式下运行也没有提供任何有用的信息。尝试运行 powershell 脚本来创建相同的 OU 层次结构,它工作得很好。我正在使用windows_ad模块。我发现这个模块没有积极的开发。所以想尝试一下维纳德它处于活动状态,但是当尝试获取目录时,我收到以下错误:

Error: Could not retrieve catalog from remote server: Error 500 on SERVER: {"message":"Server Error: Evaluation Error: Error while eval
uating a Resource Statement, Could not autoload puppet/type/winad_ou: no such file to load -- puppet/util/validator at /etc/puppetlabs/
code/environments/automation/modules/infra/manifests/ad/create_organizational_unit.pp:5:9 on node abc.temp.com","issue_kind":"RUN
TIME_ERROR"}
Warning: Not using cache on failed catalog

Puppet代理版本:

C:\>puppet --version
4.5.2

相关内容