本文整理汇总了Python中solaris_install.Popen.check_call方法的典型用法代码示例。如果您正苦于以下问题:Python Popen.check_call方法的具体用法?Python Popen.check_call怎么用?Python Popen.check_call使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类solaris_install.Popen
的用法示例。
在下文中一共展示了Popen.check_call方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: set
# 需要导入模块: from solaris_install import Popen [as 别名]
# 或者: from solaris_install.Popen import check_call [as 别名]
def set(self, propname, propvalue, dry_run):
""" method to set a property for the pool
"""
cmd = [ZPOOL, "set", "%s=%s" % (propname, propvalue), self.name]
if not dry_run:
Popen.check_call(cmd, stdout=Popen.STORE, stderr=Popen.STORE,
logger=ILN)
示例2: _write_loader
# 需要导入模块: from solaris_install import Popen [as 别名]
# 或者: from solaris_install.Popen import check_call [as 别名]
def _write_loader(self, devname, data_root):
"""Invoked by the MenuLstBootLoaderMixIn.
Invoke installboot to write the bootblk to disk."""
args = ['/sbin/installboot', '-F', 'zfs']
# If a version is present, try to use it during installation
if self.version is not None:
args += ['-u', self.version]
args += [data_root + (ZFSBootLoader.BOOTBLK_PATH %
{'platformname': platform_name()}),
devname]
self._debug('_write_loader: Invoking command: ' + ' '.join(args))
try:
Popen.check_call(args, stdout=Popen.STORE, stderr=Popen.STORE)
except CalledProcessError as cpe:
self._debug('_write_loader: Return code = %d' % cpe.returncode)
if cpe.returncode != ZFSBootLoader.INSTALLBOOT_NOUPDT:
output = ''
if cpe.popen is not None and cpe.popen.stderr is not None:
output = '\nOutput was:\n' + cpe.popen.stderr
raise BootLoaderInstallError('installboot failed for '
'device ' + devname + ': Return code ' +
str(cpe.returncode) + output)
except OSError as ose:
raise BootLoaderInstallError('Error while trying to '
'invoke installboot for '
'device ' + devname + ': ' + str(ose))
示例3: do_unconfigure
# 需要导入模块: from solaris_install import Popen [as 别名]
# 或者: from solaris_install.Popen import check_call [as 别名]
def do_unconfigure(sub_cmd, options):
'''Performs the requested unconfigure operations'''
try:
create_config_profiles(sub_cmd, options)
except IOError:
print _("IO error creating profile")
sys.exit(SU_FATAL_ERR)
if not options.alt_root:
try:
apply_profiles([CONFIG_PROFILE_DEST, UNCONFIG_PROFILE_DEST])
except:
print _("Unable to apply the unconfigure parameters to the image")
sys.exit(SU_FATAL_ERR)
# system-unconfig is an SMF milestone. Bring the
# system down to the milestone.
cmd = [SVCADM, "milestone", "unconfig"]
try:
Popen.check_call(cmd, stderr=Popen.PIPE,
check_result=(Popen.STDERR_EMPTY, 0))
except CalledProcessError as err:
print err.popen.stderr
print _("Unable to initiate unconfiguration process.")
sys.exit(SU_FATAL_ERR)
示例4: tearDown
# 需要导入模块: from solaris_install import Popen [as 别名]
# 或者: from solaris_install.Popen import check_call [as 别名]
def tearDown(self):
'''Delete test instance of dhcp SMF service'''
cmd = [dhcp.SVCCFG, "delete", self.dhcp_srv_inst]
Popen.check_call(cmd)
dhcp.DHCP_SERVER_IPV4_SVC = self.dhcp_srv_orig
if os.path.exists(self.dhcp_dir):
shutil.rmtree(self.dhcp_dir)
示例5: create
# 需要导入模块: from solaris_install import Popen [as 别名]
# 或者: from solaris_install.Popen import check_call [as 别名]
def create(self, dry_run, options=[]):
""" method to create the zpool from the vdevs
options - optional list of pool and/or dataset options to pass to the
create flag
"""
cmd = [ZPOOL, "create", "-f"]
if options:
cmd.extend(options)
# add the mountpoint if specified
if self.mountpoint is not None:
cmd.append("-m")
cmd.append(self.mountpoint)
cmd.append(self.name)
if None in self.vdev_list:
raise RuntimeError("Invalid entry in vdev_list: " + \
str(self.vdev_list))
# add the vdev_list to the cmd to preserve the format Popen needs
cmd += self.vdev_list
if not dry_run:
Popen.check_call(cmd, stdout=Popen.STORE, stderr=Popen.STORE,
logger=ILN)
示例6: execute
# 需要导入模块: from solaris_install import Popen [as 别名]
# 或者: from solaris_install.Popen import check_call [as 别名]
def execute(self, dry_run=False):
'''
The AbstractCheckpoint class requires this method
in sub-classes.
Execute in a subprocess the following command:
/usr/sbin/bootadm update-archive -R target_directory
Parameters:
- the dry_run keyword paramater. The default value is False.
If set to True, the log message describes the checkpoint tasks.
Returns:
- Nothing
On failure, errors raised are managed by the engine.
'''
self.logger.debug('ICT current task: updating the boot archive')
# parse_doc populates variables necessary to execute the checkpoint
self.parse_doc()
# Run bootadm
#XXX This should probably eventually be migrated once libbootmgt
#goes back
cmd = [ICT.BOOTADM, 'update-archive', '-R', self.target_dir]
if dry_run:
self.logger.debug('Executing: %s', cmd)
if not dry_run:
Popen.check_call(cmd, stdout=Popen.STORE, stderr=Popen.STORE,
logger=self.logger)
示例7: unmount
# 需要导入模块: from solaris_install import Popen [as 别名]
# 或者: from solaris_install.Popen import check_call [as 别名]
def unmount(self, dry_run):
""" method to unmount the ramdisk
"""
if self.mounted:
cmd = [UMOUNT, "-f", self.mountpoint]
if not dry_run:
Popen.check_call(cmd, stdout=Popen.STORE, stderr=Popen.STORE,
logger=ILN)
self.mounted = False
示例8: create_ramdisk
# 需要导入模块: from solaris_install import Popen [as 别名]
# 或者: from solaris_install.Popen import check_call [as 别名]
def create_ramdisk(self, dry_run):
""" create_ramdisk - method to create the ramdisk, if needed
"""
if not self.exists:
# create the file first
cmd = [MKFILE, "%dk" % self.size, self.ramdisk]
if not dry_run:
Popen.check_call(cmd, stdout=Popen.STORE, stderr=Popen.STORE,
logger=ILN)
示例9: rollback
# 需要导入模块: from solaris_install import Popen [as 别名]
# 或者: from solaris_install.Popen import check_call [as 别名]
def rollback(self, to_snapshot, recursive=False):
""" rollback - method to rollback a ZFS filesystem to a given
checkpoint
"""
cmd = [ZFS, "rollback"]
if recursive:
cmd.append("-r")
cmd.append(self.snapname(to_snapshot))
Popen.check_call(cmd, stdout=Popen.STORE, stderr=Popen.STORE,
logger=ILN)
示例10: unpack
# 需要导入模块: from solaris_install import Popen [as 别名]
# 或者: from solaris_install.Popen import check_call [as 别名]
def unpack(cls, iso, targetdir):
'''Unpacks an AI ISO into targetdir, and returns an InstalladmImage
object representing the unpacked image.
'''
cmd = [com.SETUP_IMAGE_SCRIPT, com.IMAGE_CREATE, iso, targetdir]
Popen.check_call(cmd, stderr=Popen.STORE)
iso_img = cls(targetdir)
iso_img.verify()
iso_img._prep_ai_webserver()
return iso_img
示例11: check_install_SMF
# 需要导入模块: from solaris_install import Popen [as 别名]
# 或者: from solaris_install.Popen import check_call [as 别名]
def check_install_SMF():
''' Check if install/server SMF services is available.
returning True if available and False if not.
'''
# Ensure system/install/server SMF service is available
cmd = ["/usr/bin/svcs", "svc:/system/install/server"]
try:
Popen.check_call(cmd, stdout=Popen.DEVNULL, stderr=Popen.DEVNULL)
except CalledProcessError:
# This system does not have the service so skip the test
raise SkipTest("svc:/system/install/server not installed")
示例12: apply_profiles
# 需要导入模块: from solaris_install import Popen [as 别名]
# 或者: from solaris_install.Popen import check_call [as 别名]
def apply_profiles(profile_list):
'''Apply config profiles to the SMF repository.'''
for profile in profile_list:
cmd = [SVCCFG, "apply", profile]
try:
Popen.check_call(cmd, stderr=Popen.PIPE,
check_result=(Popen.STDERR_EMPTY, 0))
except CalledProcessError as err:
print err.popen.stderr
print _("Unable to apply SMF profile %s." % profile)
raise
示例13: reboot
# 需要导入模块: from solaris_install import Popen [as 别名]
# 或者: from solaris_install.Popen import check_call [as 别名]
def reboot(is_x86):
'''Reboot the machine, attempting fast reboot first if available'''
cmds = _reboot_cmds(is_x86)
for cmd in cmds:
try:
Popen.check_call(cmd, stdout=Popen.STORE, stderr=Popen.STORE,
logger=LOGGER)
except (CalledProcessError):
LOGGER.warn("Reboot failed:\n\t'%s'", " ".join(cmd))
else:
LOGGER.warn("Reboot failed:\n\t'%s'.\nWill attempt"
" standard reboot", " ".join(cmd))
示例14: destroy
# 需要导入模块: from solaris_install import Popen [as 别名]
# 或者: from solaris_install.Popen import check_call [as 别名]
def destroy(self, dry_run, force=False):
""" method to destroy the zpool
"""
if self.exists:
cmd = [ZPOOL, "destroy"]
if force:
cmd.append("-f")
cmd.append(self.name)
if not dry_run:
Popen.check_call(cmd, stdout=Popen.STORE, stderr=Popen.STORE,
logger=ILN)
示例15: test_overlay_1
# 需要导入模块: from solaris_install import Popen [as 别名]
# 或者: from solaris_install.Popen import check_call [as 别名]
def test_overlay_1(self):
'''
Put original manifest together from pieces, and verify it.
'''
mim = ManifestInput(self.AIM_MANIFEST_FILE)
mim.load(self.TARGET_XML, not self.OVERLAY)
mim.load(self.ADD_DRIVER_XML, self.OVERLAY)
mim.load(self.SOFTWARE_XML, self.OVERLAY)
mim.commit()
TestOverlayA.strip_blank_lines(self.AIM_MANIFEST_FILE)
# Raises an exception if diff command finds differences from original.
Popen.check_call([self.DIFF, self.FULL_XML, self.AIM_MANIFEST_FILE])