799d24e13f
This is the code that will interface with the sahara library. This is part of the merging of the sahara dashboard into horizon. This code was originally from: https://github.com/openstack/sahara-dashboard Change-Id: Icdec326e276e1cfeedae6d2fd6047051725f9566 Partial-Implements: blueprint merge-sahara-dashboard Co-Authored-By: Nikita Konovalov <nkonovalov@mirantis.com> Co-Authored-By: Dmitry Mescheryakov <dmescheryakov@mirantis.com>
80 lines
2.7 KiB
Python
80 lines
2.7 KiB
Python
# Copyright 2012 United States Government as represented by the
|
|
# Administrator of the National Aeronautics and Space Administration.
|
|
# All Rights Reserved.
|
|
#
|
|
# Copyright 2012 Nebula, Inc.
|
|
#
|
|
# 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.
|
|
|
|
from cinderclient import exceptions as cinderclient
|
|
from glanceclient.common import exceptions as glanceclient
|
|
from heatclient import exc as heatclient
|
|
from keystoneclient import exceptions as keystoneclient
|
|
from neutronclient.common import exceptions as neutronclient
|
|
from novaclient import exceptions as novaclient
|
|
from saharaclient.api import base as saharaclient
|
|
from swiftclient import client as swiftclient
|
|
from troveclient import exceptions as troveclient
|
|
|
|
|
|
UNAUTHORIZED = (
|
|
keystoneclient.Unauthorized,
|
|
cinderclient.Unauthorized,
|
|
novaclient.Unauthorized,
|
|
glanceclient.Unauthorized,
|
|
neutronclient.Unauthorized,
|
|
heatclient.HTTPUnauthorized,
|
|
troveclient.Unauthorized,
|
|
)
|
|
|
|
|
|
NOT_FOUND = (
|
|
keystoneclient.NotFound,
|
|
cinderclient.NotFound,
|
|
novaclient.NotFound,
|
|
glanceclient.NotFound,
|
|
neutronclient.NetworkNotFoundClient,
|
|
neutronclient.PortNotFoundClient,
|
|
heatclient.HTTPNotFound,
|
|
troveclient.NotFound,
|
|
)
|
|
|
|
|
|
# NOTE(gabriel): This is very broad, and may need to be dialed in.
|
|
RECOVERABLE = (
|
|
keystoneclient.ClientException,
|
|
# AuthorizationFailure is raised when Keystone is "unavailable".
|
|
keystoneclient.AuthorizationFailure,
|
|
keystoneclient.Forbidden,
|
|
cinderclient.ClientException,
|
|
cinderclient.ConnectionError,
|
|
cinderclient.Forbidden,
|
|
novaclient.ClientException,
|
|
novaclient.Forbidden,
|
|
glanceclient.ClientException,
|
|
# NOTE(amotoki): Neutron exceptions other than the first one
|
|
# are recoverable in many cases (e.g., NetworkInUse is not
|
|
# raised once VMs which use the network are terminated).
|
|
neutronclient.Forbidden,
|
|
neutronclient.NeutronClientException,
|
|
neutronclient.NetworkInUseClient,
|
|
neutronclient.PortInUseClient,
|
|
neutronclient.AlreadyAttachedClient,
|
|
neutronclient.StateInvalidClient,
|
|
swiftclient.ClientException,
|
|
heatclient.HTTPForbidden,
|
|
heatclient.HTTPException,
|
|
troveclient.ClientException,
|
|
saharaclient.APIException,
|
|
)
|