Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Puppet PostgresQL管理,错误:Puppet::Parser::AST::_Postgresql_Vagrant_Puppet_Provisioning - Fatal编程技术网

Puppet PostgresQL管理,错误:Puppet::Parser::AST::

Puppet PostgresQL管理,错误:Puppet::Parser::AST::,postgresql,vagrant,puppet,provisioning,Postgresql,Vagrant,Puppet,Provisioning,我正在使用Vagrant,我正在尝试使用puppet提供VM。在Vagrant文件中,我将VM db配置如下: config.vm.define "db" do |db| db.vm.hostname = "db" db.vm.network "private_network", ip: "10.11.1.201", virtualbox__intnet: true db.vm.provider "virtualbox" do |v| v.memory =

我正在使用Vagrant,我正在尝试使用puppet提供VM。在Vagrant文件中,我将VM db配置如下:

config.vm.define "db" do |db|   
  db.vm.hostname = "db"    
  db.vm.network "private_network", ip: "10.11.1.201", virtualbox__intnet: true
  db.vm.provider "virtualbox" do |v| 
      v.memory = 1024 
  end 

  db.vm.network "forwarded_port", guest: 22, host: 2221, id: 'ssh', auto_correct: true
    db.vm.network "forwarded_port", guest: 5432, host: 2222
  db.ssh.forward_agent = true

       config.vm.provision :shell do |shell|
 shell.inline = "mkdir -p /etc/puppet/modules;
                 puppet module install puppetlabs-postgresql"

  end
       config.vm.provision :puppet do |puppet|
    puppet.manifests_path = "puppet/manifests"
    puppet.manifest_file = "site.pp"
    puppet.module_path = "puppet/modules"
  end
    end
end
正如您所看到的,我在puppet provisioner运行之前使用vagrant shell命令设置模块的下载。通过这种方式,我从puppet实验室下载了puppetlabs postgresql模块。我不想通过在/puppet/manifests/site.pp中的site.pp文件中创建类来管理数据库。我想在/puppet/modules/database中有一个模块调用数据库。到目前为止,我所做的是在/puppet/modules/database中创建一个init.pp文件。以下是我的init.pp文件的内容:

class database {
   class { 'postgresql::server':
  ip_mask_allow_all_users    => '0.0.0.0/0',
  listen_addresses           => '*',
  ipv4acls                   => ['hostssl all johndoe 192.168.0.0/24 cert'],
  postgres_password          => 'TPSrep0rt!',
}
}    
然后在我的/puppet/manifests/site.pp文件中,我包含了数据库类,如下所示:

node 'db' {
    include database
}
在执行“vagrant up”命令后,我得到一个错误:

Error: Puppet::Parser::AST::Resource failed with error ArgumentError: Could not find declared class postgresql::server at /tmp/vagrant-puppet/modules-d1208595f982e4ac16b287f9bd398c89/database/manifests/init.pp:8 on node db.lan

==> db: Wrapped exception:

==> db: Could not find declared class postgresql::server

==> db: Error: Puppet::Parser::AST::Resource failed with error ArgumentError: Could not find declared class postgresql::server at /tmp/vagrant-puppet/modules-d1208595f982e4ac16b287f9bd398c89/database/manifests/init.pp:8 on node db.lan

使用postgresql类的正确方法是什么?

阅读代码,尤其是类数据库部分,感觉很奇怪

能否为puppet模块设置hieradata模板
postgresql

比如:

postgresql::server:
    ip_mask_allow_all_users: '0.0.0.0/0'
    listen_addresses: '*'
    ipv4acls: 
      - 'hostssl all johndoe 192.168.0.0/24 cert'
    postgres_password: 'TPSrep0rt!'
在节点定义中

node 'db' {
    include postgresql::server
}

直接管理
pp
文件中的因素不是好做法

阅读代码,尤其是类数据库部分,感觉很奇怪

能否为puppet模块设置hieradata模板
postgresql

比如:

postgresql::server:
    ip_mask_allow_all_users: '0.0.0.0/0'
    listen_addresses: '*'
    ipv4acls: 
      - 'hostssl all johndoe 192.168.0.0/24 cert'
    postgres_password: 'TPSrep0rt!'
在节点定义中

node 'db' {
    include postgresql::server
}

直接管理
pp
文件中的因素不是好做法

我不知道在哪里放置postgresql::server:ip_mask_allow_all_user:'0.0.0/0'侦听地址:'*'IPV4ACL:-'hostssl all johndoe 192.168.0.0/24 cert'postgres_密码:'TPSrep0rt!'我不知道在哪里放置postgresql::server:ip_mask_allow_all_user:'0.0.0/0'侦听地址:'*'IPV4ACL:-'hostssl all johndoe 192.168.0.0/24 cert'postgres_密码:'TPSrep0rt!'你能ls你的/puppet/modules/database目录吗?你能ls你的/puppet/modules/database目录吗?