0

我正在尝试以 YAML 格式组合 Puppet 螺栓计划。

我让它在 .pp 文件中工作,这是计划

plan profiles::chg123456(
  TargetSpec $nodes,
) {
  apply($nodes) {
    logrotate::rule {'proftpd':
      path          => ['/var/log/proftpd/*.log', '/var/log/xferlog', '/var/log/proftpd.system.log', '/var/log/sftp.log', '/var/log/sftp-xferlog',],
      maxsize       => '100m',
      rotate_every  => 'week',
      compress      => true,
      ifempty       => true,
      missingok     => true,
      sharedscripts => true,
      postrotate    => 'test -f /var/lock/subsys/proftpd && /usr/bin/killall -HUP proftpd || :'
    }
  }
}

/etc/logrotate.d/proftpd它使用所有正确的设置工作和创建。

现在我想转换为 YAML 格式,但不知道该怎么做。

这是我的猜测,但bolt plan show一直在说

$ bolt plan show
Parse error in step "chg123456":
 No valid action detected (file: C:/Users/puppet/msys64/home/puppet/.puppetlabs/bolt/modules/profiles/plans/chg123456.yaml)

我的 YAML 计划如下所示

parameters:
  nodes:
    type: TargetSpec

steps:
  - name: chg123456
    target: $nodes
    logrotate::rules:
      proftpd:
        path:
          - '/var/log/proftpd/*.log'
          - '/var/log/xferlog'
          - '/var/log/proftpd.system.log'
          - '/var/log/sftp.log'
          - '/var/log/sftp-xferlog'
        maxsize: '100m'
        compress: true
        ifempty: true
        missingok: true
        sharedscripts: true
        postrotate: 'test -f /var/lock/subsys/proftpd && /usr/bin/killall -HUP proftpd || :'

return: $chg123456

我究竟做错了什么?

谢谢

4

1 回答 1

1

您需要使用一个resources步骤,并列出您要在 yaml 中使用的资源(文档):

parameters:
  nodes:
    type: TargetSpec

steps:
  - name: chg123456
    target: $nodes
    resources:
      - logrotate::rules: proftpd
        parameters:
          path:
            - '/var/log/proftpd/*.log'
            - '/var/log/xferlog'
            - '/var/log/proftpd.system.log'
            - '/var/log/sftp.log'
            - '/var/log/sftp-xferlog'
          maxsize: '100m'
          compress: true
          ifempty: true
          missingok: true
          sharedscripts: true
          postrotate: 'test -f /var/lock/subsys/proftpd && /usr/bin/killall -HUP proftpd || :'

return: $chg123456

针对一个评论,bolt plan convert仅用于将 yaml 计划转换为 Puppet 计划,而不是相反。

于 2019-09-09T15:04:18.843 回答