mirror of
https://github.com/saltstack/salt.git
synced 2025-04-17 10:10:20 +00:00
renamed postgres.db to postgres.maintenance_db and all postgres module function arguments from db to maintenance_db
made default maintenance_db "postgres" and also made default postgres/psql runas local-server only
This commit is contained in:
parent
f2c7a4ccce
commit
54f7055a38
2 changed files with 112 additions and 93 deletions
|
@ -19143,16 +19143,19 @@ postgres.host: \(aqlocalhost\(aq
|
|||
postgres.port: \(aq5432\(aq
|
||||
postgres.user: \(aqpostgres\(aq
|
||||
postgres.pass: \(aq\(aq
|
||||
postgres.db: \(aqpostgres\(aq
|
||||
postgres.maintenance_db: \(aqpostgres\(aq
|
||||
.ft P
|
||||
.fi
|
||||
.sp
|
||||
The default for the maintenance_db is 'postgres' and in most cases it can
|
||||
be left at the default setting.
|
||||
.sp
|
||||
This data can also be passed into pillar. Options passed into opts will
|
||||
overwrite options passed into pillar
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B salt.modules.postgres.db_create(name, user=None, host=None, port=None, db=None, password=None, tablespace=None, encoding=None, locale=None, lc_collate=None, lc_ctype=None, owner=None, template=None, runas=None)
|
||||
.B salt.modules.postgres.db_create(name, user=None, host=None, port=None, maintenance_db=None, password=None, tablespace=None, encoding=None, locale=None, lc_collate=None, lc_ctype=None, owner=None, template=None, runas=None)
|
||||
Adds a databases to the Postgres server.
|
||||
.sp
|
||||
CLI Example:
|
||||
|
@ -19167,7 +19170,7 @@ salt \(aq*\(aq postgres.db_create \(aqdbname\(aq template=template_postgis
|
|||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B salt.modules.postgres.db_exists(name, user=None, host=None, port=None, db=None, password=None, runas=None)
|
||||
.B salt.modules.postgres.db_exists(name, user=None, host=None, port=None, maintenance_db=None, password=None, runas=None)
|
||||
Checks if a database exists on the Postgres server.
|
||||
.sp
|
||||
CLI Example:
|
||||
|
@ -19180,7 +19183,7 @@ salt \(aq*\(aq postgres.db_exists \(aqdbname\(aq
|
|||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B salt.modules.postgres.db_list(user=None, host=None, port=None, db=None, password=None, runas=None)
|
||||
.B salt.modules.postgres.db_list(user=None, host=None, port=None, maintenance_db=None, password=None, runas=None)
|
||||
Return a list of databases of a Postgres server using the output
|
||||
from the \fBpsql \-l\fP query.
|
||||
.sp
|
||||
|
@ -19194,7 +19197,7 @@ salt \(aq*\(aq postgres.db_list
|
|||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B salt.modules.postgres.db_remove(name, user=None, host=None, port=None, db=None, password=None, runas=None)
|
||||
.B salt.modules.postgres.db_remove(name, user=None, host=None, port=None, maintenance_db=None, password=None, runas=None)
|
||||
Removes a databases from the Postgres server.
|
||||
.sp
|
||||
CLI Example:
|
||||
|
@ -19207,7 +19210,7 @@ salt \(aq*\(aq postgres.db_remove \(aqdbname\(aq
|
|||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B salt.modules.postgres.group_create(groupname, user=None, host=None, port=None, db=None, password=None, createdb=False, createuser=False, encrypted=False, superuser=False, replication=False, rolepassword=None, groups=None, runas=None)
|
||||
.B salt.modules.postgres.group_create(groupname, user=None, host=None, port=None, maintenance_db=None, password=None, createdb=False, createuser=False, encrypted=False, superuser=False, replication=False, rolepassword=None, groups=None, runas=None)
|
||||
Creates a Postgres group. A group is postgres is similar to a user, but
|
||||
cannot login.
|
||||
.sp
|
||||
|
@ -19221,7 +19224,7 @@ salt \(aq*\(aq postgres.group_create \(aqgroupname\(aq user=\(aquser\(aq host=\(
|
|||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B salt.modules.postgres.group_remove(groupname, user=None, host=None, port=None, db=None, password=None, runas=None)
|
||||
.B salt.modules.postgres.group_remove(groupname, user=None, host=None, port=None, maintenance_db=None, password=None, runas=None)
|
||||
Removes a group from the Postgres server.
|
||||
.sp
|
||||
CLI Example:
|
||||
|
@ -19234,7 +19237,7 @@ salt \(aq*\(aq postgres.group_remove \(aqgroupname\(aq
|
|||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B salt.modules.postgres.group_update(groupname, user=None, host=None, port=None, db=None, password=None, createdb=False, createuser=False, encrypted=False, replication=False, rolepassword=None, groups=None, runas=None)
|
||||
.B salt.modules.postgres.group_update(groupname, user=None, host=None, port=None, maintenance_db=None, password=None, createdb=False, createuser=False, encrypted=False, replication=False, rolepassword=None, groups=None, runas=None)
|
||||
Updated a postgres group
|
||||
.sp
|
||||
CLI Examples:
|
||||
|
@ -19247,7 +19250,7 @@ salt \(aq*\(aq postgres.group_update \(aqusername\(aq user=\(aquser\(aq host=\(a
|
|||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B salt.modules.postgres.user_create(username, user=None, host=None, port=None, db=None, password=None, createdb=False, createuser=False, encrypted=False, superuser=False, replication=False, rolepassword=None, groups=None, runas=None)
|
||||
.B salt.modules.postgres.user_create(username, user=None, host=None, port=None, maintenance_db=None, password=None, createdb=False, createuser=False, encrypted=False, superuser=False, replication=False, rolepassword=None, groups=None, runas=None)
|
||||
Creates a Postgres user.
|
||||
.sp
|
||||
CLI Examples:
|
||||
|
@ -19260,7 +19263,7 @@ salt \(aq*\(aq postgres.user_create \(aqusername\(aq user=\(aquser\(aq host=\(aq
|
|||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B salt.modules.postgres.user_exists(name, user=None, host=None, port=None, db=None, password=None, runas=None)
|
||||
.B salt.modules.postgres.user_exists(name, user=None, host=None, port=None, maintenance_db=None, password=None, runas=None)
|
||||
Checks if a user exists on the Postgres server.
|
||||
.sp
|
||||
CLI Example:
|
||||
|
@ -19273,7 +19276,7 @@ salt \(aq*\(aq postgres.user_exists \(aqusername\(aq
|
|||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B salt.modules.postgres.user_list(user=None, host=None, port=None, db=None, password=password, runas=None)
|
||||
.B salt.modules.postgres.user_list(user=None, host=None, port=None, maintenance_db=None, password=password, runas=None)
|
||||
Return a list of users of a Postgres server.
|
||||
.sp
|
||||
CLI Example:
|
||||
|
@ -19286,7 +19289,7 @@ salt \(aq*\(aq postgres.user_list
|
|||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B salt.modules.postgres.user_remove(username, user=None, host=None, port=None, db=None, password=None, runas=None)
|
||||
.B salt.modules.postgres.user_remove(username, user=None, host=None, port=None, maintenance_db=None, password=None, runas=None)
|
||||
Removes a user from the Postgres server.
|
||||
.sp
|
||||
CLI Example:
|
||||
|
@ -19299,7 +19302,7 @@ salt \(aq*\(aq postgres.user_remove \(aqusername\(aq
|
|||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B salt.modules.postgres.user_update(username, user=None, host=None, port=None, db=None, password=None, createdb=False, createuser=False, encrypted=False, replication=False, rolepassword=None, groups=None, runas=None)
|
||||
.B salt.modules.postgres.user_update(username, user=None, host=None, port=None, maintenance_db=None, password=None, createdb=False, createuser=False, encrypted=False, replication=False, rolepassword=None, groups=None, runas=None)
|
||||
Creates a Postgres user.
|
||||
.sp
|
||||
CLI Examples:
|
||||
|
|
|
@ -9,8 +9,10 @@ Module to provide Postgres compatibility to salt.
|
|||
postgres.port: '5432'
|
||||
postgres.user: 'postgres'
|
||||
postgres.pass: ''
|
||||
postgres.db: 'postgres'
|
||||
postgres.maintenance_db: 'postgres'
|
||||
|
||||
The default for the maintenance_db is 'postgres' and in most cases it can
|
||||
be left at the default setting.
|
||||
This data can also be passed into pillar. Options passed into opts will
|
||||
overwrite options passed into pillar
|
||||
'''
|
||||
|
@ -22,7 +24,6 @@ import logging
|
|||
|
||||
# Import salt libs
|
||||
import salt.utils
|
||||
from salt.exceptions import CommandNotFoundError
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
@ -36,25 +37,28 @@ def __virtual__():
|
|||
return False
|
||||
|
||||
|
||||
def _get_runas(runas=None):
|
||||
'''
|
||||
Returns the default runas user for this platform
|
||||
'''
|
||||
if runas is not None:
|
||||
return runas
|
||||
|
||||
if 'FreeBSD' in __grains__['os_family']:
|
||||
return 'pgsql'
|
||||
else:
|
||||
return 'postgres'
|
||||
|
||||
|
||||
def _run_psql(cmd, runas=None, password=None, run_cmd="cmd.run_all"):
|
||||
def _run_psql(cmd, runas=None, password=None, host=None,
|
||||
run_cmd="cmd.run_all"):
|
||||
'''
|
||||
Helper function to call psql, because the password requirement
|
||||
makes this too much code to be repeated in each function below
|
||||
'''
|
||||
kwargs = {"runas": _get_runas(runas)}
|
||||
kwargs = {}
|
||||
if runas is None:
|
||||
if not host:
|
||||
host = __salt__['config.option']('postgres.host')
|
||||
if host is None or \
|
||||
host == '' or \
|
||||
host == 'localhost' or \
|
||||
host[0] == '/' or \
|
||||
host == '127.0.0.1':
|
||||
if 'FreeBSD' in __grains__['os_family']:
|
||||
runas = 'pgsql'
|
||||
else:
|
||||
runas = 'postgres'
|
||||
|
||||
if runas is not None:
|
||||
kwargs["runas"] = runas
|
||||
|
||||
if not password:
|
||||
password = __salt__['config.option']('postgres.pass')
|
||||
|
@ -69,8 +73,8 @@ def _run_psql(cmd, runas=None, password=None, run_cmd="cmd.run_all"):
|
|||
return __salt__[run_cmd](cmd, **kwargs)
|
||||
|
||||
|
||||
def version(user=None, host=None, port=None, db=None, password=None,
|
||||
runas=None):
|
||||
def version(user=None, host=None, port=None, maintenance_db=None,
|
||||
password=None, runas=None):
|
||||
'''
|
||||
Return the version of a Postgres server.
|
||||
|
||||
|
@ -80,15 +84,16 @@ def version(user=None, host=None, port=None, db=None, password=None,
|
|||
'''
|
||||
query = 'SELECT setting FROM pg_catalog.pg_settings ' \
|
||||
'WHERE name = \'server_version\''
|
||||
cmd = _psql_cmd('-c', query, '-t',
|
||||
host=host, user=user, port=port, db=db, password=password)
|
||||
ret = _run_psql(cmd, runas=runas, password=password)
|
||||
cmd = _psql_cmd('-c', query, '-t', host=host, user=user,
|
||||
port=port, maintenance_db=maintenance_db,
|
||||
password=password)
|
||||
ret = _run_psql(cmd, runas=runas, password=password, host=host)
|
||||
|
||||
for line in ret['stdout'].splitlines():
|
||||
return line
|
||||
|
||||
|
||||
def _connection_defaults(user=None, host=None, port=None, db=None,
|
||||
def _connection_defaults(user=None, host=None, port=None, maintenance_db=None,
|
||||
password=None):
|
||||
'''
|
||||
Returns a tuple of (user, host, port, db) with config, pillar, or default
|
||||
|
@ -100,12 +105,12 @@ def _connection_defaults(user=None, host=None, port=None, db=None,
|
|||
host = __salt__['config.option']('postgres.host')
|
||||
if not port:
|
||||
port = __salt__['config.option']('postgres.port')
|
||||
if not db:
|
||||
db = __salt__['config.option']('postgres.db')
|
||||
if not maintenance_db:
|
||||
maintenance_db = __salt__['config.option']('postgres.maintenance_db')
|
||||
if not password:
|
||||
password = __salt__['config.option']('postgres.pass')
|
||||
|
||||
return (user, host, port, db, password)
|
||||
return (user, host, port, maintenance_db, password)
|
||||
|
||||
|
||||
def _psql_cmd(*args, **kwargs):
|
||||
|
@ -115,11 +120,11 @@ def _psql_cmd(*args, **kwargs):
|
|||
Accept optional keyword arguments: user, host and port as well as any
|
||||
number or positional arguments to be added to the end of command.
|
||||
'''
|
||||
(user, host, port, db, password) = _connection_defaults(
|
||||
(user, host, port, maintenance_db, password) = _connection_defaults(
|
||||
kwargs.get('user'),
|
||||
kwargs.get('host'),
|
||||
kwargs.get('port'),
|
||||
kwargs.get('db'),
|
||||
kwargs.get('maintenance_db'),
|
||||
kwargs.get('password'))
|
||||
|
||||
cmd = [salt.utils.which('psql'),
|
||||
|
@ -133,8 +138,9 @@ def _psql_cmd(*args, **kwargs):
|
|||
cmd += ['--host', host]
|
||||
if port:
|
||||
cmd += ['--port', port]
|
||||
if db:
|
||||
cmd += ['--dbname', db]
|
||||
if maintenance_db is None:
|
||||
maintenance_db = "postgres"
|
||||
cmd += ['--dbname', maintenance_db]
|
||||
cmd += args
|
||||
cmdstr = ' '.join(map(pipes.quote, cmd))
|
||||
return cmdstr
|
||||
|
@ -142,7 +148,7 @@ def _psql_cmd(*args, **kwargs):
|
|||
|
||||
# Database related actions
|
||||
|
||||
def db_list(user=None, host=None, port=None, db=None,
|
||||
def db_list(user=None, host=None, port=None, maintenance_db=None,
|
||||
password=None, runas=None):
|
||||
'''
|
||||
Return dictionary with information about databases of a Postgres server.
|
||||
|
@ -166,10 +172,10 @@ def db_list(user=None, host=None, port=None, db=None,
|
|||
'datacl as "Access privileges" FROM pg_database pgd, ' \
|
||||
'pg_roles pga WHERE pga.oid = pgd.datdba'
|
||||
|
||||
cmd = _psql_cmd('-c', query, '-t',
|
||||
host=host, user=user, port=port, db=db, password=password)
|
||||
cmd = _psql_cmd('-c', query, '-t', host=host, user=user, port=port,
|
||||
maintenance_db=maintenance_db, password=password)
|
||||
|
||||
cmdret = _run_psql(cmd, runas=runas, password=password)
|
||||
cmdret = _run_psql(cmd, runas=runas, password=password, host=host)
|
||||
|
||||
if cmdret['retcode'] > 0:
|
||||
return ret
|
||||
|
@ -184,8 +190,8 @@ def db_list(user=None, host=None, port=None, db=None,
|
|||
return ret
|
||||
|
||||
|
||||
def db_exists(name, user=None, host=None, port=None, db=None, password=None,
|
||||
runas=None):
|
||||
def db_exists(name, user=None, host=None, port=None, maintenance_db=None,
|
||||
password=None, runas=None):
|
||||
'''
|
||||
Checks if a database exists on the Postgres server.
|
||||
|
||||
|
@ -194,7 +200,8 @@ def db_exists(name, user=None, host=None, port=None, db=None, password=None,
|
|||
salt '*' postgres.db_exists 'dbname'
|
||||
'''
|
||||
|
||||
databases = db_list(user=user, host=host, port=port, db=db,
|
||||
databases = db_list(user=user, host=host, port=port,
|
||||
maintenance_db=maintenance_db,
|
||||
password=password, runas=runas)
|
||||
return name in databases
|
||||
|
||||
|
@ -203,7 +210,7 @@ def db_create(name,
|
|||
user=None,
|
||||
host=None,
|
||||
port=None,
|
||||
db=None,
|
||||
maintenance_db=None,
|
||||
password=None,
|
||||
tablespace=None,
|
||||
encoding=None,
|
||||
|
@ -248,14 +255,15 @@ def db_create(name,
|
|||
query += ' '.join(with_chunks)
|
||||
|
||||
# Execute the command
|
||||
cmd = _psql_cmd('-c', query, user=user, host=host, port=port, db=db,
|
||||
cmd = _psql_cmd('-c', query, user=user, host=host, port=port,
|
||||
maintenance_db=maintenance_db,
|
||||
password=password)
|
||||
ret = _run_psql(cmd, runas=runas, password=password)
|
||||
ret = _run_psql(cmd, runas=runas, password=password, host=host)
|
||||
|
||||
return ret['retcode'] == 0
|
||||
|
||||
|
||||
def db_remove(name, user=None, host=None, port=None, db=None,
|
||||
def db_remove(name, user=None, host=None, port=None, maintenance_db=None,
|
||||
password=None, runas=None):
|
||||
'''
|
||||
Removes a databases from the Postgres server.
|
||||
|
@ -267,15 +275,15 @@ def db_remove(name, user=None, host=None, port=None, db=None,
|
|||
|
||||
# db doesnt exist, proceed
|
||||
query = 'DROP DATABASE {0}'.format(name)
|
||||
cmd = _psql_cmd('-c', query, user=user, host=host, port=port, db=db,
|
||||
password=password)
|
||||
ret = _run_psql(cmd, runas=runas, password=password)
|
||||
cmd = _psql_cmd('-c', query, user=user, host=host, port=port,
|
||||
maintenance_db=maintenance_db, password=password)
|
||||
ret = _run_psql(cmd, runas=runas, password=password, host=host)
|
||||
return ret['retcode'] == 0
|
||||
|
||||
|
||||
# User related actions
|
||||
|
||||
def user_list(user=None, host=None, port=None, db=None,
|
||||
def user_list(user=None, host=None, port=None, maintenance_db=None,
|
||||
password=None, runas=None):
|
||||
'''
|
||||
Return a dict with information about users of a Postgres server.
|
||||
|
@ -301,7 +309,7 @@ def user_list(user=None, host=None, port=None, db=None,
|
|||
ver = version(user=user,
|
||||
host=host,
|
||||
port=port,
|
||||
db=db,
|
||||
maintenance_db=maintenance_db,
|
||||
password=password,
|
||||
runas=runas).split('.')
|
||||
if len(ver) >= 2 and int(ver[0]) >= 9 and int(ver[1]) >= 1:
|
||||
|
@ -318,10 +326,10 @@ def user_list(user=None, host=None, port=None, db=None,
|
|||
'rolconnlimit, rolvaliduntil::timestamp(0), rolconfig '
|
||||
'FROM pg_roles'
|
||||
)
|
||||
cmd = _psql_cmd('-c', query, '-t',
|
||||
host=host, user=user, port=port, db=db, password=password)
|
||||
cmd = _psql_cmd('-c', query, '-t', host=host, user=user, port=port,
|
||||
maintenace_db=maintenance_db, password=password)
|
||||
|
||||
cmdret = _run_psql(cmd, runas=runas, password=password)
|
||||
cmdret = _run_psql(cmd, runas=runas, password=password, host=host)
|
||||
|
||||
if cmdret['retcode'] > 0:
|
||||
return ret
|
||||
|
@ -350,7 +358,7 @@ def user_list(user=None, host=None, port=None, db=None,
|
|||
return ret
|
||||
|
||||
|
||||
def user_exists(name, user=None, host=None, port=None, db=None,
|
||||
def user_exists(name, user=None, host=None, port=None, maintenance_db=None,
|
||||
password=None, runas=None):
|
||||
'''
|
||||
Checks if a user exists on the Postgres server.
|
||||
|
@ -363,7 +371,7 @@ def user_exists(name, user=None, host=None, port=None, db=None,
|
|||
return name in user_list(user=user,
|
||||
host=host,
|
||||
port=port,
|
||||
db=db,
|
||||
maintenance_db=maintenance_db,
|
||||
password=password,
|
||||
runas=runas)
|
||||
|
||||
|
@ -373,7 +381,7 @@ def _role_create(name,
|
|||
user=None,
|
||||
host=None,
|
||||
port=None,
|
||||
db=None,
|
||||
maintenance_db=None,
|
||||
password=None,
|
||||
createdb=False,
|
||||
createuser=False,
|
||||
|
@ -394,7 +402,8 @@ def _role_create(name,
|
|||
create_type = 'ROLE'
|
||||
|
||||
# check if role exists
|
||||
if user_exists(name, user, host, port, db, password=password, runas=runas):
|
||||
if user_exists(name, user, host, port, maintenance_db,
|
||||
password=password, runas=runas):
|
||||
log.info('{0} \'{1}\' already exists'.format(create_type, name,))
|
||||
return False
|
||||
|
||||
|
@ -418,16 +427,17 @@ def _role_create(name,
|
|||
if sub_cmd.endswith('WITH'):
|
||||
sub_cmd = sub_cmd.replace(' WITH', '')
|
||||
|
||||
cmd = _psql_cmd('-c', sub_cmd, host=host, user=user, port=port, db=db,
|
||||
password=password)
|
||||
return _run_psql(cmd, runas=runas, password=password, run_cmd="cmd.run")
|
||||
cmd = _psql_cmd('-c', sub_cmd, host=host, user=user, port=port,
|
||||
maintenance_db=maintenance_db, password=password)
|
||||
return _run_psql(cmd, runas=runas, password=password, host=host,
|
||||
run_cmd="cmd.run")
|
||||
|
||||
|
||||
def user_create(username,
|
||||
user=None,
|
||||
host=None,
|
||||
port=None,
|
||||
db=None,
|
||||
maintenance_db=None,
|
||||
password=None,
|
||||
createdb=False,
|
||||
createuser=False,
|
||||
|
@ -449,7 +459,7 @@ def user_create(username,
|
|||
user,
|
||||
host,
|
||||
port,
|
||||
db,
|
||||
maintenance_db,
|
||||
password,
|
||||
createdb,
|
||||
createuser,
|
||||
|
@ -465,7 +475,7 @@ def _role_update(name,
|
|||
user=None,
|
||||
host=None,
|
||||
port=None,
|
||||
db=None,
|
||||
maintenance_db=None,
|
||||
password=None,
|
||||
createdb=False,
|
||||
createuser=False,
|
||||
|
@ -479,7 +489,8 @@ def _role_update(name,
|
|||
'''
|
||||
|
||||
# check if user exists
|
||||
if not user_exists(name, user, host, port, db, password, runas=runas):
|
||||
if not user_exists(name, user, host, port, maintenance_db, password,
|
||||
runas=runas):
|
||||
log.info('User \'{0}\' does not exist'.format(name,))
|
||||
return False
|
||||
|
||||
|
@ -502,16 +513,17 @@ def _role_update(name,
|
|||
for group in groups.split(','):
|
||||
sub_cmd = '{0}; GRANT {1} TO {2}'.format(sub_cmd, group, name)
|
||||
|
||||
cmd = _psql_cmd('-c', sub_cmd, host=host, user=user, port=port, db=db,
|
||||
password=password)
|
||||
return _run_psql(cmd, runas=runas, password=password, run_cmd="cmd.run")
|
||||
cmd = _psql_cmd('-c', sub_cmd, host=host, user=user, port=port,
|
||||
maintenance_db=maintenance_db, password=password)
|
||||
return _run_psql(cmd, runas=runas, password=password, host=host,
|
||||
run_cmd="cmd.run")
|
||||
|
||||
|
||||
def user_update(username,
|
||||
user=None,
|
||||
host=None,
|
||||
port=None,
|
||||
db=None,
|
||||
maintenance_db=None,
|
||||
password=None,
|
||||
createdb=False,
|
||||
createuser=False,
|
||||
|
@ -531,7 +543,7 @@ def user_update(username,
|
|||
user,
|
||||
host,
|
||||
port,
|
||||
db,
|
||||
maintenance_db,
|
||||
password,
|
||||
createdb,
|
||||
createuser,
|
||||
|
@ -542,24 +554,26 @@ def user_update(username,
|
|||
runas)
|
||||
|
||||
|
||||
def _role_remove(name, user=None, host=None, port=None, db=None,
|
||||
def _role_remove(name, user=None, host=None, port=None, maintenance_db=None,
|
||||
password=None, runas=None):
|
||||
'''
|
||||
Removes a role from the Postgres Server
|
||||
'''
|
||||
|
||||
# check if user exists
|
||||
if not user_exists(name, user, host, port, db, password=password,
|
||||
runas=runas):
|
||||
if not user_exists(name, user, host, port, maintenance_db,
|
||||
password=password, runas=runas):
|
||||
log.info('User \'{0}\' does not exist'.format(name,))
|
||||
return False
|
||||
|
||||
# user exists, proceed
|
||||
sub_cmd = 'DROP ROLE {0}'.format(name)
|
||||
cmd = _psql_cmd('-c', sub_cmd, host=host, user=user, port=port, db=db,
|
||||
password=password)
|
||||
_run_psql(cmd, runas=runas, password=password, run_cmd="cmd.run")
|
||||
if not user_exists(name, user, host, port, db, password=password, runas=runas):
|
||||
cmd = _psql_cmd('-c', sub_cmd, host=host, user=user, port=port,
|
||||
maintenance_db=maintenance_db, password=password)
|
||||
_run_psql(cmd, runas=runas, password=password, host=host,
|
||||
run_cmd="cmd.run")
|
||||
if not user_exists(name, user, host, port, maintenance_db,
|
||||
password=password, runas=runas):
|
||||
return True
|
||||
else:
|
||||
log.info('Failed to delete user \'{0}\'.'.format(name, ))
|
||||
|
@ -569,7 +583,7 @@ def user_remove(username,
|
|||
user=None,
|
||||
host=None,
|
||||
port=None,
|
||||
db=None,
|
||||
maintenance_db=None,
|
||||
password=None,
|
||||
runas=None):
|
||||
'''
|
||||
|
@ -579,7 +593,8 @@ def user_remove(username,
|
|||
|
||||
salt '*' postgres.user_remove 'username'
|
||||
'''
|
||||
return _role_remove(username, user, host, port, db, password, runas)
|
||||
return _role_remove(username, user, host, port, maintenance_db,
|
||||
password, runas)
|
||||
|
||||
|
||||
# Group related actions
|
||||
|
@ -588,7 +603,7 @@ def group_create(groupname,
|
|||
user=None,
|
||||
host=None,
|
||||
port=None,
|
||||
db=None,
|
||||
maintenance_db=None,
|
||||
password=None,
|
||||
createdb=False,
|
||||
createuser=False,
|
||||
|
@ -611,7 +626,7 @@ def group_create(groupname,
|
|||
user,
|
||||
host,
|
||||
port,
|
||||
db,
|
||||
maintenance_db,
|
||||
password,
|
||||
createdb,
|
||||
createuser,
|
||||
|
@ -627,7 +642,7 @@ def group_update(groupname,
|
|||
user=None,
|
||||
host=None,
|
||||
port=None,
|
||||
db=None,
|
||||
maintenance_db=None,
|
||||
password=None,
|
||||
createdb=False,
|
||||
createuser=False,
|
||||
|
@ -647,7 +662,7 @@ def group_update(groupname,
|
|||
user,
|
||||
host,
|
||||
port,
|
||||
db,
|
||||
maintenance_db,
|
||||
password,
|
||||
createdb,
|
||||
createuser,
|
||||
|
@ -662,7 +677,7 @@ def group_remove(groupname,
|
|||
user=None,
|
||||
host=None,
|
||||
port=None,
|
||||
db=None,
|
||||
maintenance_db=None,
|
||||
password=None,
|
||||
runas=None):
|
||||
'''
|
||||
|
@ -672,4 +687,5 @@ def group_remove(groupname,
|
|||
|
||||
salt '*' postgres.group_remove 'groupname'
|
||||
'''
|
||||
return _role_remove(groupname, user, host, port, db, password, runas)
|
||||
return _role_remove(groupname, user, host, port, maintenance_db,
|
||||
password, runas)
|
||||
|
|
Loading…
Add table
Reference in a new issue