mirror of
https://github.com/valitydev/salt.git
synced 2024-11-08 09:23:56 +00:00
zoneadm.install and zoneadm.uninstall
This commit is contained in:
parent
a2ef1e0b16
commit
945121449c
@ -15,7 +15,9 @@ Module for Solaris 10's zoneadm
|
||||
Not all subcommands are implemented.
|
||||
|
||||
These subcommands are missing:
|
||||
clone, install, and uninstall
|
||||
clone
|
||||
|
||||
UUID support is also not present
|
||||
|
||||
'''
|
||||
from __future__ import absolute_import
|
||||
@ -453,4 +455,70 @@ def move(zone, zonepath):
|
||||
|
||||
return ret
|
||||
|
||||
|
||||
def uninstall(zone):
|
||||
'''
|
||||
Uninstall the specified zone from the system.
|
||||
|
||||
zone : string
|
||||
name of the zone
|
||||
|
||||
.. warning::
|
||||
The -F flag is always used to avoid the prompts when uninstalling.
|
||||
|
||||
CLI Example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
salt '*' zoneadm.uninstall teddy
|
||||
'''
|
||||
ret = {'status': True}
|
||||
|
||||
## uninstall zone
|
||||
res = __salt__['cmd.run_all']('zoneadm -z {zone} uninstall -F'.format(
|
||||
zone=zone,
|
||||
))
|
||||
ret['status'] = res['retcode'] == 0
|
||||
ret['message'] = res['stdout'] if ret['status'] else res['stderr']
|
||||
ret['message'] = ret['message'].replace('zoneadm: ', '')
|
||||
if ret['message'] == '':
|
||||
del ret['message']
|
||||
|
||||
return ret
|
||||
|
||||
|
||||
def install(zone, nodataset=False, brand_opts=None):
|
||||
'''
|
||||
Install the specified zone from the system.
|
||||
|
||||
zone : string
|
||||
name of the zone
|
||||
nodataset : boolean
|
||||
do not create a ZFS file system
|
||||
brand_opts : string
|
||||
brand specific options to pass
|
||||
|
||||
CLI Example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
salt '*' zoneadm.install dolores
|
||||
salt '*' zoneadm.install teddy True
|
||||
'''
|
||||
ret = {'status': True}
|
||||
|
||||
## install zone
|
||||
res = __salt__['cmd.run_all']('zoneadm -z {zone} install{nodataset}{brand_opts}'.format(
|
||||
zone=zone,
|
||||
nodataset=' -x nodataset' if nodataset else '',
|
||||
brand_opts=' {0}'.format(brand_opts) if brand_opts else '',
|
||||
))
|
||||
ret['status'] = res['retcode'] == 0
|
||||
ret['message'] = res['stdout'] if ret['status'] else res['stderr']
|
||||
ret['message'] = ret['message'].replace('zoneadm: ', '')
|
||||
if ret['message'] == '':
|
||||
del ret['message']
|
||||
|
||||
return ret
|
||||
|
||||
# vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4
|
||||
|
Loading…
Reference in New Issue
Block a user