X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=src%2Femuvim%2Fapi%2Fsonata%2F__init__.py;h=44988d6ac8bb277a9a968ffcdcb2ab98be0496c1;hb=refs%2Ftags%2Fv4.0.0;hp=200337ae0ee7d5ef4b87c5fc088d7e20567bca4c;hpb=e26487ba6b33c22a1e3f5f843364df9f0efc07eb;p=osm%2Fvim-emu.git diff --git a/src/emuvim/api/sonata/__init__.py b/src/emuvim/api/sonata/__init__.py old mode 100644 new mode 100755 index 200337a..44988d6 --- a/src/emuvim/api/sonata/__init__.py +++ b/src/emuvim/api/sonata/__init__.py @@ -1,21 +1,52 @@ -""" -This module implements a simple REST API that behaves like SONATA's gatekeeper. - -It is only used to support the development of SONATA's SDK tools and to demonstrate -the year 1 version of the emulator until the integration with WP4's orchestrator is done. -""" - +# Copyright (c) 2015 SONATA-NFV and Paderborn University +# 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. +# +# Neither the name of the SONATA-NFV, Paderborn University +# nor the names of its contributors may be used to endorse or promote +# products derived from this software without specific prior written +# permission. +# +# This work has been performed in the framework of the SONATA project, +# funded by the European Commission under Grant number 671517 through +# the Horizon 2020 and 5G-PPP programmes. The authors would like to +# acknowledge the contributions of their colleagues of the SONATA +# partner consortium (www.sonata-nfv.eu). import logging import threading import dummygatekeeper as dgk class SonataDummyGatekeeperEndpoint(object): + """ + Creates and starts a REST API based on Flask in an + additional thread. + + Can connect this API to data centers defined in an emulator + topology. + """ - def __init__(self, listenip, port): + def __init__(self, listenip, port, deploy_sap=False, docker_management=False, + auto_deploy=False, auto_delete=False, sap_vnfd_path=None): self.dcs = {} self.ip = listenip self.port = port + dgk.DEPLOY_SAP = deploy_sap + dgk.USE_DOCKER_MGMT = docker_management + dgk.AUTO_DEPLOY = auto_deploy + dgk.AUTO_DELETE = auto_delete + dgk.SAP_VNFD = sap_vnfd_path logging.debug("Created API endpoint %s" % self) def __repr__(self): @@ -33,4 +64,4 @@ class SonataDummyGatekeeperEndpoint(object): logging.debug("Started API endpoint %s" % self) def _api_server_thread(self): - dgk.start_rest_api(self.ip, self.port) + dgk.start_rest_api(self.ip, self.port, self.dcs)