当前位置: 首页>>代码示例>>Python>>正文


Python processutils.ProcessExecutionError方法代码示例

本文整理汇总了Python中oslo_concurrency.processutils.ProcessExecutionError方法的典型用法代码示例。如果您正苦于以下问题:Python processutils.ProcessExecutionError方法的具体用法?Python processutils.ProcessExecutionError怎么用?Python processutils.ProcessExecutionError使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在oslo_concurrency.processutils的用法示例。


在下文中一共展示了processutils.ProcessExecutionError方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: get_pci_resources

# 需要导入模块: from oslo_concurrency import processutils [as 别名]
# 或者: from oslo_concurrency.processutils import ProcessExecutionError [as 别名]
def get_pci_resources(self):
        addresses = []
        try:
            output, status = utils.execute('lspci', '-D', '-nnmm')
            lines = output.split('\n')
            for line in lines:
                if not line:
                    continue
                columns = line.split()
                address = columns[0]
                addresses.append(address)
        except processutils.ProcessExecutionError as e:
            raise exception.CommandError(cmd='lspci',
                                         error=str(e))

        pci_info = []
        for addr in addresses:
            pci_info.append(self._get_pci_dev_info(addr))

        return jsonutils.dumps(pci_info) 
开发者ID:openstack,项目名称:zun,代码行数:22,代码来源:host_capability.py

示例2: unplug_iovisor

# 需要导入模块: from oslo_concurrency import processutils [as 别名]
# 或者: from oslo_concurrency.processutils import ProcessExecutionError [as 别名]
def unplug_iovisor(self, instance, vif):
        """Unplug vif from IOvisor

        Offboard an interface and deletes port from IOvisor
        """
        if_local_name = 'tap%s' % vif['id'][:11]
        iface_id = vif['id']
        try:
            utils.execute('ifc_ctl', 'gateway', 'ifdown',
                          if_local_name, 'access_vm',
                          vif['network']['label'] + "_" + iface_id,
                          vif['address'], run_as_root=True)
            utils.execute('ifc_ctl', 'gateway', 'del_port', if_local_name,
                          run_as_root=True)
            linux_net.delete_net_dev(if_local_name)
        except processutils.ProcessExecutionError:
            LOG.exception("Failed while unplugging vif", instance=instance) 
开发者ID:openstack,项目名称:zun,代码行数:19,代码来源:vifs.py

示例3: ovs_appctl

# 需要导入模块: from oslo_concurrency import processutils [as 别名]
# 或者: from oslo_concurrency.processutils import ProcessExecutionError [as 别名]
def ovs_appctl(self, action, *parameters):
        """Run 'ovs-appctl' with the specified action

         Its possible the command may fail due to timing if, for example,
         the command affects an interface and it the prior ifup command
         has not completed.  So retry the command and if a failures still
         occurs save the error for later handling.

         :param action: The ovs-appctl action.
         :param parameters: Parameters to pass to ovs-appctl.
         """
        msg = 'Running ovs-appctl %s %s' % (action, parameters)
        try:
            self.execute(msg, '/bin/ovs-appctl', action, *parameters,
                         delay_on_retry=True, attempts=5)
        except processutils.ProcessExecutionError as e:
            self.errors.append(e) 
开发者ID:openstack,项目名称:os-net-config,代码行数:19,代码来源:__init__.py

示例4: get_pci_address

# 需要导入模块: from oslo_concurrency import processutils [as 别名]
# 或者: from oslo_concurrency.processutils import ProcessExecutionError [as 别名]
def get_pci_address(ifname, noop):
    # TODO(skramaja): Validate if the given interface supports dpdk
    if not noop:
        try:
            out, err = processutils.execute('ethtool', '-i', ifname)
            if not err:
                for item in out.split('\n'):
                    if 'bus-info' in item:
                        return item.split(' ')[1]
        except processutils.ProcessExecutionError:
            # If ifname is already bound, then ethtool will not be able to
            # list the device, in which case, binding is already done, proceed
            # with scripts generation.
            return

    else:
        logger.info('Fetch the PCI address of the interface %s using '
                    'ethtool' % ifname) 
开发者ID:openstack,项目名称:os-net-config,代码行数:20,代码来源:utils.py

示例5: _check_conf

# 需要导入模块: from oslo_concurrency import processutils [as 别名]
# 或者: from oslo_concurrency.processutils import ProcessExecutionError [as 别名]
def _check_conf(self):
        """Run gdnsd to check its configuration
        """
        try:
            out, err = utils.execute(
                cfg.CONF[CFG_GROUP_NAME].gdnsd_cmd_name,
                '-D', '-x', 'checkconf', '-c', self._confdir_path,
                run_as_root=False,
            )
        except ProcessExecutionError as e:
            LOG.error("Command output: %(out)r Stderr: %(err)r",
                      {
                          'out': e.stdout,
                          'err': e.stderr
                      })
            raise exceptions.Backend("Configuration check failed") 
开发者ID:openstack,项目名称:designate,代码行数:18,代码来源:impl_gdnsd.py

示例6: _real_umount

# 需要导入模块: from oslo_concurrency import processutils [as 别名]
# 或者: from oslo_concurrency.processutils import ProcessExecutionError [as 别名]
def _real_umount(self, mountpoint, rootwrap_helper):
        # Unmount and delete a mountpoint.
        # Return mount state after umount (i.e. True means still mounted)
        LOG.debug('Unmounting %(mountpoint)s', {'mountpoint': mountpoint})

        try:
            processutils.execute('umount', mountpoint, run_as_root=True,
                                 attempts=3, delay_on_retry=True,
                                 root_helper=rootwrap_helper)
        except processutils.ProcessExecutionError as ex:
            LOG.error(_LE("Couldn't unmount %(mountpoint)s: %(reason)s"),
                      {'mountpoint': mountpoint, 'reason': ex})

        if not os.path.ismount(mountpoint):
            try:
                os.rmdir(mountpoint)
            except Exception as ex:
                LOG.error(_LE("Couldn't remove directory %(mountpoint)s: "
                              "%(reason)s"),
                          {'mountpoint': mountpoint,
                           'reason': ex})
            return False

        return True 
开发者ID:openstack,项目名称:glance_store,代码行数:26,代码来源:fs_mount.py

示例7: is_luks

# 需要导入模块: from oslo_concurrency import processutils [as 别名]
# 或者: from oslo_concurrency.processutils import ProcessExecutionError [as 别名]
def is_luks(root_helper, device, execute=None):
    """Checks if the specified device uses LUKS for encryption.

    :param device: the device to check
    :returns: true if the specified device uses LUKS; false otherwise
    """
    try:
        # check to see if the device uses LUKS: exit status is 0
        # if the device is a LUKS partition and non-zero if not
        if execute is None:
            execute = priv_rootwrap.execute
        execute('cryptsetup', 'isLuks', '--verbose', device,
                run_as_root=True, root_helper=root_helper,
                check_exit_code=True)
        return True
    except putils.ProcessExecutionError as e:
        LOG.warning("isLuks exited abnormally (status %(exit_code)s): "
                    "%(stderr)s",
                    {"exit_code": e.exit_code, "stderr": e.stderr})
        return False 
开发者ID:openstack,项目名称:os-brick,代码行数:22,代码来源:luks.py

示例8: _is_crypt_device_available

# 需要导入模块: from oslo_concurrency import processutils [as 别名]
# 或者: from oslo_concurrency.processutils import ProcessExecutionError [as 别名]
def _is_crypt_device_available(self, dev_name):
        if not os.path.exists('/dev/mapper/%s' % dev_name):
            return False

        try:
            self._execute('cryptsetup', 'status', dev_name, run_as_root=True)
        except processutils.ProcessExecutionError as e:
            # If /dev/mapper/<dev_name> is a non-crypt block device (such as a
            # normal disk or multipath device), exit_code will be 1. In the
            # case, we will omit the warning message.
            if e.exit_code != 1:
                LOG.warning('cryptsetup status %(dev_name)s exited '
                            'abnormally (status %(exit_code)s): %(err)s',
                            {"dev_name": dev_name, "exit_code": e.exit_code,
                             "err": e.stderr})
            return False
        return True 
开发者ID:openstack,项目名称:os-brick,代码行数:19,代码来源:cryptsetup.py

示例9: deconfigure_scsi_device

# 需要导入模块: from oslo_concurrency import processutils [as 别名]
# 或者: from oslo_concurrency.processutils import ProcessExecutionError [as 别名]
def deconfigure_scsi_device(self, device_number, target_wwn, lun):
        """Write the LUN to the port's unit_remove attribute.

        If auto-discovery of LUNs is disabled on s390 platforms
        luns need to be removed from the configuration through the
        unit_remove interface
        """
        LOG.debug("Deconfigure lun for s390: "
                  "device_number=%(device_num)s "
                  "target_wwn=%(target_wwn)s target_lun=%(target_lun)s",
                  {'device_num': device_number,
                   'target_wwn': target_wwn,
                   'target_lun': lun})
        zfcp_device_command = ("/sys/bus/ccw/drivers/zfcp/%s/%s/unit_remove" %
                               (device_number, target_wwn))
        LOG.debug("unit_remove call for s390 execute: %s", zfcp_device_command)
        try:
            self.echo_scsi_command(zfcp_device_command, lun)
        except putils.ProcessExecutionError as exc:
            LOG.warning("unit_remove call for s390 failed exit %(code)s, "
                        "stderr %(stderr)s",
                        {'code': exc.exit_code, 'stderr': exc.stderr}) 
开发者ID:openstack,项目名称:os-brick,代码行数:24,代码来源:linuxfc.py

示例10: is_multipath_running

# 需要导入模块: from oslo_concurrency import processutils [as 别名]
# 或者: from oslo_concurrency.processutils import ProcessExecutionError [as 别名]
def is_multipath_running(enforce_multipath, root_helper, execute=None):
        try:
            if execute is None:
                execute = priv_rootwrap.execute
            cmd = ('multipathd', 'show', 'status')
            out, _err = execute(*cmd, run_as_root=True,
                                root_helper=root_helper)
            # There was a bug in multipathd where it didn't return an error
            # code and just printed the error message in stdout.
            if out and out.startswith('error receiving packet'):
                raise putils.ProcessExecutionError('', out, 1, cmd, None)
        except putils.ProcessExecutionError as err:
            LOG.error('multipathd is not running: exit code %(err)s',
                      {'err': err.exit_code})
            if enforce_multipath:
                raise
            return False

        return True 
开发者ID:openstack,项目名称:os-brick,代码行数:21,代码来源:linuxscsi.py

示例11: _get_system_uuid

# 需要导入模块: from oslo_concurrency import processutils [as 别名]
# 或者: from oslo_concurrency.processutils import ProcessExecutionError [as 别名]
def _get_system_uuid(self):
        # RSD requires system_uuid to let Cinder RSD Driver identify
        # Nova node for later RSD volume attachment.
        try:
            out, err = self._execute('cat', '/sys/class/dmi/id/product_uuid',
                                     root_helper=self._root_helper,
                                     run_as_root=True)
        except putils.ProcessExecutionError:
            try:
                out, err = self._execute('dmidecode', '-ssystem-uuid',
                                         root_helper=self._root_helper,
                                         run_as_root=True)
                if not out:
                    LOG.warning('dmidecode returned empty system-uuid')
            except putils.ProcessExecutionError as e:
                LOG.debug("Unable to locate dmidecode. For Cinder RSD Backend,"
                          " please make sure it is installed: %s", e)
                out = ""
        return out.strip() 
开发者ID:openstack,项目名称:os-brick,代码行数:21,代码来源:nvmeof.py

示例12: _try_disconnect_volume

# 需要导入模块: from oslo_concurrency import processutils [as 别名]
# 或者: from oslo_concurrency.processutils import ProcessExecutionError [as 别名]
def _try_disconnect_volume(self, conn_nqn, ignore_errors=False):
        cmd = [
            'nvme',
            'disconnect',
            '-n',
            conn_nqn]
        try:
            self._execute(
                *cmd,
                root_helper=self._root_helper,
                run_as_root=True)

        except putils.ProcessExecutionError:
            LOG.error(
                "Failed to disconnect from NVMe nqn "
                "%(conn_nqn)s", {'conn_nqn': conn_nqn})
            if not ignore_errors:
                raise 
开发者ID:openstack,项目名称:os-brick,代码行数:20,代码来源:nvmeof.py

示例13: check_valid_device

# 需要导入模块: from oslo_concurrency import processutils [as 别名]
# 或者: from oslo_concurrency.processutils import ProcessExecutionError [as 别名]
def check_valid_device(self, path, run_as_root=True):
        cmd = ('dd', 'if=%(path)s' % {"path": path},
               'of=/dev/null', 'count=1')
        out, info = None, None
        try:
            out, info = self._execute(*cmd, run_as_root=run_as_root,
                                      root_helper=self._root_helper)
        except putils.ProcessExecutionError as e:
            LOG.error("Failed to access the device on the path "
                      "%(path)s: %(error)s.",
                      {"path": path, "error": e.stderr})
            return False
        # If the info is none, the path does not exist.
        if info is None:
            return False
        return True 
开发者ID:openstack,项目名称:os-brick,代码行数:18,代码来源:base.py

示例14: test_connect_nvme_retry_success

# 需要导入模块: from oslo_concurrency import processutils [as 别名]
# 或者: from oslo_concurrency.processutils import ProcessExecutionError [as 别名]
def test_connect_nvme_retry_success(
            self, mock_sleep, mock_execute, mock_devices,
            mock_blk):
        connection_properties = {'target_portal': 'portal',
                                 'target_port': 1,
                                 'nqn': 'nqn.volume_123',
                                 'device_path': '',
                                 'transport_type': 'rdma'}
        mock_devices.side_effect = [
            ['/dev/nvme0n1'],
            ['/dev/nvme0n1', '/dev/nvme0n2']]
        mock_blk.return_value = True
        device_info = self.connector.connect_volume(
            connection_properties)
        mock_execute.side_effect = [
            putils.ProcessExecutionError,
            putils.ProcessExecutionError,
            None]
        self.assertEqual('/dev/nvme0n2', device_info['path'])
        self.assertEqual('block', device_info['type']) 
开发者ID:openstack,项目名称:os-brick,代码行数:22,代码来源:test_nvmeof.py

示例15: deactivate_lv

# 需要导入模块: from oslo_concurrency import processutils [as 别名]
# 或者: from oslo_concurrency.processutils import ProcessExecutionError [as 别名]
def deactivate_lv(self, name):
        lv_path = self.vg_name + '/' + self._mangle_lv_name(name)
        cmd = ['lvchange', '-a', 'n']
        cmd.append(lv_path)
        try:
            self._execute(*cmd,
                          root_helper=self._root_helper,
                          run_as_root=True)
        except putils.ProcessExecutionError as err:
            LOG.exception('Error deactivating LV')
            LOG.error('Cmd     :%s', err.cmd)
            LOG.error('StdOut  :%s', err.stdout)
            LOG.error('StdErr  :%s', err.stderr)
            raise

        # Wait until lv is deactivated to return in
        # order to prevent a race condition.
        self._wait_for_volume_deactivation(name) 
开发者ID:openstack,项目名称:os-brick,代码行数:20,代码来源:lvm.py


注:本文中的oslo_concurrency.processutils.ProcessExecutionError方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。