diff options
| author | Armando Migliaccio <armando.migliaccio@eu.citrix.com> | 2012-01-13 16:46:37 +0000 |
|---|---|---|
| committer | Armando Migliaccio <armando.migliaccio@eu.citrix.com> | 2012-01-17 18:47:56 +0000 |
| commit | b76cc2f4426aef4422c5a4a6ad0a412a2cc4cbc3 (patch) | |
| tree | 96f532ed1b80e2a7839a21224d12abee067d26fe /nova/exception.py | |
| parent | 61b0c08b7cfe68ca3d567e05dd0bc333658cdc77 (diff) | |
| download | nova-b76cc2f4426aef4422c5a4a6ad0a412a2cc4cbc3.tar.gz nova-b76cc2f4426aef4422c5a4a6ad0a412a2cc4cbc3.tar.xz nova-b76cc2f4426aef4422c5a4a6ad0a412a2cc4cbc3.zip | |
blueprint host-aggregates
This is the first of a series of commits that add the host-aggregates capability,
as described on the blueprint page.
This commit, more precisely, introduces changes to the Nova model: model classes
related to aggregates have been added, as well as DB API methods to interact with
the model; a sqlalchemy migration script plus a bunch of tests are also part of
this changeset.
Commits that will follow are going to add:
- Extensions to OSAPI Admin, and related python_novaclient mappings
- Implementation of the XenAPI virt layer
- Integration of OSAPI and virt layer, via the compute_api
- smoketests
- openstack-manuals documentation
These commits will be pushed for review not necessarily in this exact order.
Change-Id: Iceb27609dc53bf4305c02d7cbc436fba4c4a7256
Diffstat (limited to 'nova/exception.py')
| -rw-r--r-- | nova/exception.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/nova/exception.py b/nova/exception.py index 6e60642f6..23bcf46f4 100644 --- a/nova/exception.py +++ b/nova/exception.py @@ -884,3 +884,28 @@ class WillNotSchedule(NovaException): class QuotaError(ApiError): """Quota Exceeded.""" pass + + +class AggregateNotFound(NotFound): + message = _("Aggregate %(aggregate_id)s could not be found.") + + +class AggregateNameExists(Duplicate): + message = _("Aggregate %(aggregate_name)s already exists.") + + +class AggregateHostNotFound(NotFound): + message = _("Aggregate %(aggregate_id)s has no host %(host)s.") + + +class AggregateMetadataNotFound(NotFound): + message = _("Aggregate %(aggregate_id)s has no metadata with " + "key %(metadata_key)s.") + + +class AggregateHostConflict(Duplicate): + message = _("Host %(host)s already member of another aggregate.") + + +class AggregateHostExists(Duplicate): + message = _("Aggregate %(aggregate_id)s already has host %(host)s.") |
