【问题标题】:Puppet bolt plan in yaml formatyaml 格式的木偶螺栓计划
【发布时间】:2019-07-23 05:34:39
【问题描述】:

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

我让它在 .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

我做错了什么?

谢谢

【问题讨论】:

  • bolt plan convert C:/Users/puppet/msys64/home/puppet/.puppetlabs/bolt/modules/profiles/plans/chg123456.yaml 会生成什么?
  • @azbarcea Parse error in step "chg123456": No valid action detected

标签: yaml puppet puppet-bolt


【解决方案1】:

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

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 计划,而不是相反。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-03
    • 2016-01-05
    • 2014-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-23
    相关资源
    最近更新 更多