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")
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')
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')
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")