Exemplo n.º 1
0
    'occi.epa.pop': 'immutable',
    'occi.epa.timestamp': 'immutable'
}

EPA_RESOURCES_ATTRIBUTES_WO_HOSTNAME = {
    'occi.epa.name': 'immutable',
    'occi.epa.resource_type': 'immutable',
    'occi.epa.category': 'immutable',
    'occi.epa.attributes': 'immutable',
    'occi.epa.pop_id': 'immutable',
    'occi.epa.pop': 'immutable',
    'occi.epa.timestamp': 'immutable'
}

STACK = core_model.Kind('http://schemas.ogf.org/occi/epa#', 'stack',
                        [core_model.Resource.kind], [], 'Stack',
                        EPA_RESOURCES_ATTRIBUTES, '/stack/')

EPA_LINK_ATTRIBUTES = {'occi.epa.label': 'immutable'}

STACK_LINK = core_model.Kind('http://schemas.ogf.org/occi/epa#', 'stacklink',
                             [core_model.Link.kind], [],
                             'Link between a stack and its resources',
                             EPA_LINK_ATTRIBUTES, '/stack/link/')

VM = core_model.Kind('http://schemas.ogf.org/occi/epa#', 'vm',
                     [core_model.Resource.kind], [], 'Virtual Machine',
                     EPA_RESOURCES_ATTRIBUTES, '/vm/')

VM_LINK = core_model.Kind('http://schemas.ogf.org/occi/epa#', 'vmlink',
                          [core_model.Link.kind], [],
Exemplo n.º 2
0
from occi import backend
from occi import core_model
from occi import wsgi

SCHEME = 'http://schemas.mobile-cloud-networking.eu/occi/service#'

DEPLOY_ACTION = core_model.Action(SCHEME, 'deploy')

PROVISION_ACTION = core_model.Action(SCHEME, 'provision')

ATTRS = {'occi.mcn.stack.state': 'immutable', 'occi.mcn.stack.id': 'immutable'}

ORCHESTRATOR = core_model.Kind(SCHEME,
                               'orchestrator',
                               related=[core_model.Resource.kind],
                               attributes=ATTRS,
                               actions=[DEPLOY_ACTION, PROVISION_ACTION])


class Application(wsgi.Application):
    """
    A OCCI Application.
    """
    def __call__(self, environ, response):
        """
        Pass in token.
        """
        if 'HTTP_X_AUTH_TOKEN' not in environ:
            status = '403 Forbidden'
            headers = [('Content-type', 'text/plain')]
Exemplo n.º 3
0
Set of extensions to get OCCI work with OpenStack.
"""

#pylint: disable=W0232,R0912,R0201,R0903

from occi import core_model

# Network security rule extension to specify firewall rules
_SEC_RULE_ATTRIBUTES = {
    'occi.network.security.protocol': '',
    'occi.network.security.to': '',
    'occi.network.security.from': '',
    'occi.network.security.range': '',
}
SEC_RULE = core_model.Kind(
    'http://schemas.openstack.org/occi/infrastructure/network/security#',
    'rule', [core_model.Resource.kind], None, 'Network security rule kind',
    _SEC_RULE_ATTRIBUTES, '/network/security/rule/')

# Network security rule group
SEC_GROUP = core_model.Mixin(
    'http://schemas.ogf.org/occi/infrastructure/security#',
    'group',
    attributes=None)

# OS change adminstrative password action
_OS_CHG_PWD_ATTRIBUTES = {
    'org.openstack.credentials.admin_pwd': '',
}
OS_CHG_PWD = core_model.Action('http://schemas.openstack.org/instance/action#',
                               'chg_pwd', 'Changes Admin password.',
                               _OS_CHG_PWD_ATTRIBUTES)
Exemplo n.º 4
0
 def test_init_for_success(self):
     occi_ext.Application(_MyBackend())
     occi_ext.Application(
         _MyBackend(),
         backends={core_model.Kind('foo', 'bar'): _MyBackend()})