Beispiel #1
0
    def delete(self, req, gid, network_id):
        try:
            self._uuid_check(gid, network_id)
            context = req.environ['rack.context']
            network = db.network_get_by_network_id(context, gid, network_id)
            if network["processes"]:
                raise exception.NetworkInUse(network_id=network_id)

            self.manager.network_delete(context, network["neutron_network_id"],
                                        network["ext_router"])
            db.network_delete(context, gid, network_id)
        except exception.NotFound as e:
            raise webob.exc.HTTPNotFound(explanation=e.format_message())
        except exception.NetworkInUse as e:
            raise webob.exc.HTTPConflict(explanation=e.format_message())
Beispiel #2
0
    def delete(self, req, gid, network_id):
        def _validate(gid, network_id):
            self._check_gid(gid)
            if not uuidutils.is_uuid_like(network_id):
                raise exception.NetworkNotFound(network_id=network_id)

        try:
            context = req.environ['rack.context']
            _validate(gid, network_id)
            network = db.network_get_by_network_id(context, gid, network_id)
            if network["processes"]:
                raise exception.NetworkInUse(network_id=network_id)
            network = db.network_delete(context, gid, network_id)
            resourceoperator = self._get_resorceoperator(context)
            self.resourceoperator_rpcapi.network_delete(
                context, resourceoperator["host"],
                neutron_network_id=network["neutron_network_id"],
                ext_router=network["ext_router"])
        except exception.NotFound as e:
            raise webob.exc.HTTPNotFound(explanation=e.format_message())
        except exception.NetworkInUse as e:
            raise webob.exc.HTTPConflict(explanation=e.format_message())
        except Exception as e:
            LOG.exception(e)
            raise exception.NetworkDeleteFailed()
Beispiel #3
0
 def test_network_delete(self):
     create_values = {
         "network_id": self.network_id,
         "gid": self.gid,
         "neutron_network_id": "",
         "is_admin": True,
         "subnet": "10.0.0.0/24",
         "ext_router": "",
         "user_id": "user",
         "project_id": "user",
         "display_name": "net-" + self.network_id,
         "status": "BUILDING",
         "deleted": 0
     }
     db.network_create(self.ctxt, create_values)
     deleted_network = db.network_delete(
         self.ctxt, self.gid, self.network_id)
     self.assertEqual(deleted_network["deleted"], 1)
     network_list = db.network_get_all(self.ctxt, self.gid)
     self.assertEqual(network_list, [])