Exemplo n.º 1
0
MODEL_SCHEMA = validators.create_model_schema(
    server.ServerModel.MODEL_NAME, DATA_SCHEMA
)
MODEL_SCHEMA["properties"]["id"] = {"$ref": "#/definitions/dmidecode_uuid"}
"""Schema for the model with optional data fields."""

SERVER_DISCOVERY_SCHEMA = validators.create_data_schema(
    SERVER_DISCOVERY_DATA_SCHEMA
)
"""Schema for the server discovery."""

CONF = config.make_api_config()
"""Config."""

LOG = log.getLogger(__name__)
"""Logger."""


def require_create_server_authorization(func):
    """Special authorization decorator for server create."""

    normal_decorated_func = auth.AUTH.require_authorization(
        "api", "create_server")
    normal_decorated_func = normal_decorated_func(func)
    normal_decorated_func = auth.AUTH.require_authentication(
        normal_decorated_func)

    @functools.wraps(func)
    def decorator(*args, **kwargs):
        token_id = flask.request.headers.get("Authorization")
Exemplo n.º 2
0
using API. It has to be created after Ansible playbook invocation.
"""


import enum
import time
import uuid

from decapod_common import exceptions
from decapod_common import log
from decapod_common import retryutils
from decapod_common.models import generic
from decapod_common.models import properties


LOG = log.getLogger(__name__)
"""Logger."""


@enum.unique
class ServerState(enum.IntEnum):
    operational = 1
    off = 2
    maintenance_no_reconfig = 3
    maintenance_reconfig = 4


class ServerModel(generic.Model):
    """This is a model for the server.

    Server is a model, which presents physical servers in Decapod.