コード例 #1
0
 def test_simple_paths(self, version):
     # We have a pile of trivial helpers to get directory and file
     # paths. We use these for consistency and ease of mocking.
     version.return_value = "9.9"
     self.assertEqual(postgresql.config_dir(), "/etc/postgresql/9.9/main")
     self.assertEqual(postgresql.data_dir(), "/var/lib/postgresql/9.9/main")
     self.assertEqual(postgresql.postgresql_conf_path(), "/etc/postgresql/9.9/main/postgresql.conf")
     self.assertEqual(postgresql.pg_hba_conf_path(), "/etc/postgresql/9.9/main/pg_hba.conf")
     self.assertEqual(postgresql.pg_ident_conf_path(), "/etc/postgresql/9.9/main/pg_ident.conf")
     self.assertEqual(postgresql.recovery_conf_path(), "/var/lib/postgresql/9.9/main/recovery.conf")
     self.assertEqual(postgresql.pg_ctl_path(), "/usr/lib/postgresql/9.9/bin/pg_ctl")
     self.assertEqual(postgresql.postgres_path(), "/usr/lib/postgresql/9.9/bin/postgres")
コード例 #2
0
 def test_simple_paths(self, version):
     # We have a pile of trivial helpers to get directory and file
     # paths. We use these for consistency and ease of mocking.
     version.return_value = '9.9'
     self.assertEqual(postgresql.config_dir(), '/etc/postgresql/9.9/main')
     self.assertEqual(postgresql.data_dir(), '/var/lib/postgresql/9.9/main')
     self.assertEqual(postgresql.postgresql_conf_path(),
                      '/etc/postgresql/9.9/main/postgresql.conf')
     self.assertEqual(postgresql.pg_hba_conf_path(),
                      '/etc/postgresql/9.9/main/pg_hba.conf')
     self.assertEqual(postgresql.pg_ident_conf_path(),
                      '/etc/postgresql/9.9/main/pg_ident.conf')
     self.assertEqual(postgresql.recovery_conf_path(),
                      '/var/lib/postgresql/9.9/main/recovery.conf')
     self.assertEqual(postgresql.pg_ctl_path(),
                      '/usr/lib/postgresql/9.9/bin/pg_ctl')
     self.assertEqual(postgresql.postgres_path(),
                      '/usr/lib/postgresql/9.9/bin/postgres')
コード例 #3
0
ファイル: service.py プロジェクト: stub42/postgresql-charm
def update_pg_ident_conf():
    '''Add the charm's required entry to pg_ident.conf'''
    entries = set([('root', 'postgres'),
                   ('postgres', 'postgres')])
    path = postgresql.pg_ident_conf_path()
    with open(path, 'r') as f:
        current_pg_ident = f.read()
    for sysuser, pguser in entries:
        if re.search(r'^\s*juju_charm\s+{}\s+{}\s*$'.format(sysuser, pguser),
                     current_pg_ident, re.M) is None:
            with open(path, 'a') as f:
                f.write('\njuju_charm {} {}'.format(sysuser, pguser))

    # Use @when_file_changed for this when Issue #44 is resolved.
    if (reactive.helpers.any_file_changed([path]) and
            reactive.is_state('postgresql.cluster.is_running')):
        hookenv.log('pg_ident.conf has changed. PostgreSQL needs reload.')
        reactive.set_state('postgresql.cluster.needs_reload')
コード例 #4
0
ファイル: service.py プロジェクト: stub42/postgresql-charm
def update_pg_ident_conf():
    """Add the charm's required entry to pg_ident.conf"""
    entries = set([("root", "postgres"), ("postgres", "postgres")])
    path = postgresql.pg_ident_conf_path()
    with open(path, "r") as f:
        current_pg_ident = f.read()
    for sysuser, pguser in entries:
        if (
            re.search(
                r"^\s*juju_charm\s+{}\s+{}\s*$".format(sysuser, pguser),
                current_pg_ident,
                re.M,
            )
            is None
        ):
            with open(path, "a") as f:
                f.write("\njuju_charm {} {}".format(sysuser, pguser))

    # Use @when_file_changed for this when Issue #44 is resolved.
    if reactive.helpers.any_file_changed([path]) and reactive.is_state("postgresql.cluster.is_running"):
        hookenv.log("pg_ident.conf has changed. PostgreSQL needs reload.")
        reactive.set_state("postgresql.cluster.needs_reload")