puppetlabs/postgresql示例不起作用

puppetlabs/postgresql示例不起作用,puppet,Puppet,我正在尝试使用puppet模块puppetlabs/postgresql。我很困惑如何使用它。谁能给我举个例子?文档告诉我如何使用设置创建类,但我不确定在哪里创建类,我的印象是使用site.pp,但当我在site.pp中创建类时。安装模块后,我在site.pp中放置了以下块 node default { # This is where you can declare classes for all nodes. # Example: # class { 'my_class': }

我正在尝试使用puppet模块puppetlabs/postgresql。我很困惑如何使用它。谁能给我举个例子?文档告诉我如何使用设置创建类,但我不确定在哪里创建类,我的印象是使用site.pp,但当我在site.pp中创建类时。安装模块后,我在site.pp中放置了以下块

node default {
# This is where you can declare classes for all nodes.
# Example:
#   class { 'my_class': }

    include postgresql::server
    class { 'postgresql::server':
      config_hash => {
            'ip_mask_deny_postgres_user' => '0.0.0.0/32',
            'ip_mask_allow_all_users'    => '0.0.0.0/0',
            'listen_addresses'           => '*',
            'ipv4acls'                   => ['hostssl all johndoe 192.168.0.0/24 cert'],
            'manage_redhat_firewall'     => true,
            'manage_pg_hba_conf'         => false,
            'postgres_password'          => 'TPSrep0rt!',
      },
    }

    postgresql::db { 'testdb':
      user     => 'testdbuser',
      password => 'testdbuser'
    }

    postgresql::database_grant { 'testdbuser':
      privilege => 'ALL',
      db        => 'testdbuser',
      role      => 'dbo',
    }

 }
我犯了很多错误

err: Could not retrieve catalog from remote server: Error 400 on SERVER: Duplicate declaration: Class[Postgresql::Server] is already declared; cannot redeclare at /etc/puppetlabs/puppet/manifests/site.pp:55 on node caaers
warning: Not using cache on failed catalog
err: Could not retrieve catalog; skipping run
基本配置(安装模块后):

节点默认值{
包含postgresql::server
postgresql::db{'testdb':
user=>testdbuser',
密码=>'testdbuser',
}
}
是你的朋友:-)


Puppet博客上有一篇文章可能会有所帮助。

在您发布的代码中,您都包括并声明了类的使用:

include postgresql::server
class { 'postgresql::server':

您不需要同时执行这两项操作-因为您希望将配置应用于服务器,所以我将删除包含行。

请注意:config_hash{}结构已删除,并且是旧语法。请参阅:它不再是
postgresql::db
,而是已更改为
postgresql::server::db