Не удалось оценить: ошибка при оценке предложения - PullRequest
0 голосов
/ 28 марта 2019

Я пытаюсь добавить пользователя «replica» на свой сервер postgres, хотя и кукольный, чтобы я мог использовать его в своем кластере master-salve.

, когда я делаю это вручную («CREATE ROLE replica ENCRYPTED PASSWORD» 123'; ") это работает, но по какой-то причине не работает с марионеткой.

Из марионетки я получаю ошибку:

Ошибка: / Stage [main]/ Role :: Ofir_testing / Postgresql :: Server :: Role [replica] / Postgresql_psql [CREATE ROLE replica ENCRYPTED PASSWORD ****]: Не удалось оценить: ошибка при оценке ', если' предложение 'не вернул pid 2064 exit 1:' '*

Примечание: / Stage [main] / Role :: Ofir_testing / Postgresql :: Server :: Role [replica] / Postgresql_psql [ALTER ROLE "replica" NOSUPERUSER]: Зависимость Postgresql_psql [СОЗДАТЬ РОЛЬ реплики *** ENCRYPED*] есть ошибки: true

Это мой pp-файл:

class { 'postgresql::globals':
  manage_package_repo => true,
  version  => $pg_version,
}

class { 'postgresql::server':
  ip_mask_deny_postgres_user => '0.0.0.0/32',
  ip_mask_allow_all_users    => '0.0.0.0/0',
  listen_addresses           => "localhost,${master_IP_address}",
}

postgresql::server::config_entry { 'archive_mode':
  value => 'on',
}
postgresql::server::config_entry { 'archive_command':
  value => "cp %p /var/lib/postgresql/${pg_version}/main/archive/%f",
}

postgresql::server::config_entry { 'wal_level':
  value => 'hot_standby',
}

postgresql::server::config_entry { 'synchronous_commit':
  value => 'local',
}

postgresql::server::config_entry { 'max_wal_senders':
  value => '2',
}

postgresql::server::config_entry { 'wal_keep_segments':
  value => '10',
}

file { "/var/lib/postgresql/${pg_version}/main/archive/":
  ensure  => 'directory',
  owner   => 'postgres',
  group   => 'postgres',
  mode    => '700',
  recurse =>  true,
}

postgresql::server::pg_hba_rule { "Allow ${user} a replication connection from Localhost":
  description => 'Open up access from 127.0.0.1/32',
  type        => 'host',
  database    => 'replication',
  user        => 'replica',
  address     => '127.0.0.1/32',
  auth_method => 'md5',
  }

postgresql::server::pg_hba_rule { "Allow ${user} replication connection from Master":
  description => 'Open up access from master',
  type        => 'host',
  database    => 'replication',
  user        => 'replica',
  address     => "${master_IP_address}/32",
  auth_method => 'md5',
}

postgresql::server::pg_hba_rule { "Allow ${user} replication connection from Slave":
  description => 'Open up access from slave',
  type        => 'host',
  database    => 'replication',
  user        => 'replica',
  address     => "${slave_IP_address}/32",
  auth_method => 'md5',
}

postgresql::server::role { "${user}":
  password_hash      => postgresql_password("${user}", "${password}"),
  replication        => true,
  connection_limit   => 1,
}

Ошибка в роли.я пытался добавить

  user                       => 'postgres',
  group                      => 'postgres',

к 'postgresql :: server', но это не помогло.

Единственное, что помогло, это удаление "manage_package_repo => true" из'postgresql :: globals', но возникают проблемы при попытке установить версию postgres, которая не является версией по умолчанию.

1 Ответ

0 голосов
/ 31 марта 2019

Я исправил это, проблема была из-за применения postgresql :: server :: role до создания сервера.это решение, благодаря Eimhin https://tickets.puppetlabs.com/browse/MODULES-8824

...