X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=src%2Femuvim%2Fapi%2Fopenstack%2Fopenstack_dummies%2Fneutron_dummy_api.py;h=6f6d3dc958d901b71d1942a6d8ff8cd2522606f6;hb=refs%2Fchanges%2F26%2F6026%2F1;hp=3b1ceda0c167b5ec61d92d89fd797c05758cc962;hpb=ec3a23ed1a1dc21d511c49adbe1fe3d3ab8ff8c3;p=osm%2Fvim-emu.git diff --git a/src/emuvim/api/openstack/openstack_dummies/neutron_dummy_api.py b/src/emuvim/api/openstack/openstack_dummies/neutron_dummy_api.py index 3b1ceda..6f6d3dc 100755 --- a/src/emuvim/api/openstack/openstack_dummies/neutron_dummy_api.py +++ b/src/emuvim/api/openstack/openstack_dummies/neutron_dummy_api.py @@ -44,6 +44,10 @@ class NeutronDummyApi(BaseOpenstackDummy): super(NeutronDummyApi, self).__init__(ip, port) self.compute = compute + # create default networks (OSM usually assumes to have these pre-configured) + self.compute.create_network("mgmt") + self.compute.create_network("mgmtnet") + self.api.add_resource(NeutronListAPIVersions, "/") self.api.add_resource(NeutronShowAPIv2Details, "/v2.0") self.api.add_resource(NeutronListNetworks, "/v2.0/networks.json", "/v2.0/networks", @@ -224,14 +228,19 @@ class NeutronListNetworks(Resource): :rtype: :class:`flask.response` """ LOG.debug("API CALL: %s GET" % str(self.__class__.__name__)) + # LOG.debug("ARGS: {}".format(request.args)) try: if request.args.get('name'): tmp_network = NeutronShowNetwork(self.api) - return tmp_network.get_network(request.args.get('name'), True) + response = tmp_network.get_network(request.args.get('name'), True) + LOG.debug("{} RESPONSE (1): {}".format(self.__class__.__name__, response)) + return response id_list = request.args.getlist('id') if len(id_list) == 1: tmp_network = NeutronShowNetwork(self.api) - return tmp_network.get_network(request.args.get('id'), True) + response = tmp_network.get_network(request.args.get('id'), True) + LOG.debug("{} RESPONSE (2): {}".format(self.__class__.__name__, response)) + return response network_list = list() network_dict = dict() @@ -249,7 +258,7 @@ class NeutronListNetworks(Resource): network_list.append(tmp_network_dict) network_dict["networks"] = network_list - + LOG.debug("{} RESPONSE (3): {}".format(self.__class__.__name__, network_dict)) return Response(json.dumps(network_dict), status=200, mimetype='application/json') except Exception as ex: @@ -527,6 +536,7 @@ class NeutronCreateSubnet(Resource): net.subnet_name = subnet_dict["subnet"].get('name', str(net.name) + '-sub') if net.subnet_id is not None: + LOG.error("Only one subnet per network is supported: {}".format(net.subnet_id)) return Response('Only one subnet per network is supported\n', status=409, mimetype='application/json') if "id" in subnet_dict["subnet"]: @@ -627,6 +637,9 @@ class NeutronDeleteSubnet(Resource): for server in self.api.compute.computeUnits.values(): for port_name in server.port_names: port = self.api.compute.find_port_by_name_or_id(port_name) + if port is None: + LOG.warning("Port search for {} returned None.".format(port_name)) + continue if port.net_name == net.name: port.ip_address = None self.api.compute.dc.net.removeLink(