X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2Fvim-emu.git;a=blobdiff_plain;f=src%2Femuvim%2Fapi%2Fopenstack%2Fopenstack_api_endpoint.py;h=b6347eb66cbf8e7224150b09ca04482adc5f5ed4;hp=e340a3ae907fc9e8aa90aa8815d48fe8df823607;hb=72f09885db3935e77901c3dee132cb176b927c7b;hpb=3e16acbebd2c6669c1bbe5a7e3bb313aa1494e20 diff --git a/src/emuvim/api/openstack/openstack_api_endpoint.py b/src/emuvim/api/openstack/openstack_api_endpoint.py index e340a3a..b6347eb 100755 --- a/src/emuvim/api/openstack/openstack_api_endpoint.py +++ b/src/emuvim/api/openstack/openstack_api_endpoint.py @@ -1,36 +1,39 @@ -""" -Copyright (c) 2017 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. +# 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). +from manage import OpenstackManage -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. +from openstack_dummies.glance_dummy_api import GlanceDummyApi +from openstack_dummies.heat_dummy_api import HeatDummyApi +from openstack_dummies.keystone_dummy_api import KeystoneDummyApi +from openstack_dummies.neutron_dummy_api import NeutronDummyApi +from openstack_dummies.nova_dummy_api import NovaDummyApi -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). -""" -from manage import OpenstackManage -from openstack_dummies import * import logging import threading import compute -import requests import socket import time @@ -47,11 +50,16 @@ class OpenstackApiEndpoint(): self.port = port self.compute = compute.OpenstackCompute() self.openstack_endpoints = dict() - self.openstack_endpoints['keystone'] = KeystoneDummyApi(self.ip, self.port) - self.openstack_endpoints['neutron'] = NeutronDummyApi(self.ip, self.port + 4696, self.compute) - self.openstack_endpoints['nova'] = NovaDummyApi(self.ip, self.port + 3774, self.compute) - self.openstack_endpoints['heat'] = HeatDummyApi(self.ip, self.port + 3004, self.compute) - self.openstack_endpoints['glance'] = GlanceDummyApi(self.ip, self.port + 4242, self.compute) + self.openstack_endpoints['keystone'] = KeystoneDummyApi( + self.ip, self.port) + self.openstack_endpoints['neutron'] = NeutronDummyApi( + self.ip, self.port + 4696, self.compute) + self.openstack_endpoints['nova'] = NovaDummyApi( + self.ip, self.port + 3774, self.compute) + self.openstack_endpoints['heat'] = HeatDummyApi( + self.ip, self.port + 3004, self.compute) + self.openstack_endpoints['glance'] = GlanceDummyApi( + self.ip, self.port + 4242, self.compute) self.rest_threads = list() self.manage = OpenstackManage() @@ -69,8 +77,8 @@ class OpenstackApiEndpoint(): self.compute.dc = dc for ep in self.openstack_endpoints.values(): ep.manage = self.manage - logging.info \ - ("Connected DC(%s) to API endpoint %s(%s:%d)" % (dc.label, self.__class__.__name__, self.ip, self.port)) + logging.info("Connected DC(%s) to API endpoint %s(%s:%d)" % + (dc.label, self.__class__.__name__, self.ip, self.port)) def connect_dc_network(self, dc_network): """ @@ -97,14 +105,14 @@ class OpenstackApiEndpoint(): c.server_thread.start() if wait_for_port: self._wait_for_port(c.ip, c.port) - + def stop(self): """ Stop all connected OpenStack endpoints that are connected to this API endpoint. """ for c in self.openstack_endpoints.values(): c.stop() - #for c in self.openstack_endpoints.values(): + # for c in self.openstack_endpoints.values(): # if c.server_thread: # print("Waiting for WSGIServers to be stopped ...") # c.server_thread.join() @@ -117,5 +125,6 @@ class OpenstackApiEndpoint(): if r == 0: break # port is open proceed else: - logging.warning("Waiting for {}:{} ... ({}/10)".format(ip, port, i + 1)) + logging.warning( + "Waiting for {}:{} ... ({}/10)".format(ip, port, i + 1)) time.sleep(1)