Files
nova-powervm/nova_powervm/virt/powervm/exception.py
Matthew Edmonds a1cbe7c08b fix copyright dates
Found some copyrights that were not updated the last time the
file was changed. Updating copyright dates to reflect the most
recent change.

Change-Id: Ib6f545db10b77cc7a0b2295a21e824b63974bda5
2018-01-25 13:57:59 -05:00

145 lines
5.1 KiB
Python

# Copyright 2015, 2017 IBM Corp.
#
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
"""Exceptions specific to the powervm nova driver."""
import abc
from nova import exception as nex
import six
from nova_powervm.virt.powervm.i18n import _
@six.add_metaclass(abc.ABCMeta)
class AbstractMediaException(nex.NovaException):
pass
@six.add_metaclass(abc.ABCMeta)
class AbstractDiskException(nex.NovaException):
pass
class NoMediaRepoVolumeGroupFound(AbstractMediaException):
msg_fmt = _("Unable to locate the volume group %(vol_grp)s to store the "
"virtual optical media within. Unable to create the "
"media repository.")
class NoDiskDiscoveryException(nex.NovaException):
"""Failed to discover any disk."""
msg_fmt = _("Having scanned SCSI bus %(bus)x on the management partition, "
"disk with UDID %(udid)s failed to appear after %(polls)d "
"polls over %(timeout)d seconds.")
class UniqueDiskDiscoveryException(nex.NovaException):
"""Expected to discover exactly one disk, but discovered >1."""
msg_fmt = _("Expected to find exactly one disk on the management "
"partition at %(path_pattern)s; found %(count)d.")
class DeviceDeletionException(nex.NovaException):
"""Expected to delete a disk, but the disk is still present afterward."""
msg_fmt = _("Device %(devpath)s is still present on the management "
"partition after attempting to delete it. Polled %(polls)d "
"times over %(timeout)d seconds.")
class InstanceDiskMappingFailed(AbstractDiskException):
msg_fmt = _("Failed to map boot disk of instance %(instance_name)s to "
"the management partition from any Virtual I/O Server.")
class NewMgmtMappingNotFoundException(nex.NovaException):
"""Just created a mapping to the mgmt partition, but can't find it."""
msg_fmt = _("Failed to find newly-created mapping of storage element "
"%(stg_name)s from Virtual I/O Server %(vios_name)s to the "
"management partition.")
class VGNotFound(AbstractDiskException):
msg_fmt = _("Unable to locate the volume group '%(vg_name)s' for this "
"operation.")
class ClusterNotFoundByName(AbstractDiskException):
msg_fmt = _("Unable to locate the Cluster '%(clust_name)s' for this "
"operation.")
class NoConfigNoClusterFound(AbstractDiskException):
msg_fmt = _('Unable to locate any Cluster for this operation.')
class TooManyClustersFound(AbstractDiskException):
msg_fmt = _("Unexpectedly found %(clust_count)d Clusters "
"matching name '%(clust_name)s'.")
class NoConfigTooManyClusters(AbstractDiskException):
msg_fmt = _("No cluster_name specified. Refusing to select one of the "
"%(clust_count)d Clusters found.")
class VolumeAttachFailed(nex.NovaException):
msg_fmt = _("Unable to attach storage (id: %(volume_id)s) to virtual "
"machine %(instance_name)s. %(reason)s")
class VolumeExtendFailed(nex.NovaException):
msg_fmt = _("Unable to extend volume (id: %(volume_id)s) on virtual "
"machine %(instance_name)s.")
class VolumeDetachFailed(nex.NovaException):
msg_fmt = _("Unable to detach volume (id: %(volume_id)s) from virtual "
"machine %(instance_name)s. %(reason)s")
class VolumePreMigrationFailed(nex.NovaException):
msg_fmt = _("Unable to perform pre live migration steps on volume (id: "
"%(volume_id)s) from virtual machine %(instance_name)s.")
class PowerVMAPIFailed(nex.NovaException):
msg_fmt = _("PowerVM API failed to complete for instance=%(inst_name)s."
"%(reason)s")
class ViosNotAvailable(nex.NovaException):
msg_fmt = _("No Virtual I/O Servers are available. The driver attempted "
"to wait for a VIOS to become active for %(wait_time)d "
"seconds. The compute agent is not able to start if no "
"Virtual I/O Servers are available. Please check the RMC "
"connectivity between the PowerVM NovaLink and the Virtual "
"I/O Servers and then restart the Nova Compute Agent.")
class NoActiveViosForFeedTask(nex.NovaException):
msg_fmt = _("There are no active Virtual I/O Servers available.")
class InvalidRebuild(nex.NovaException):
msg_fmt = _("Unable to rebuild virtual machine on new host. Error is "
"%(error)s")
class OptRequiredIfOtherOptValue(nex.NovaException):
msg_fmt = _("The %(then_opt)s option is required if %(if_opt)s is "
"specified as '%(if_value)s'.")