projects
/
osm
/
NBI.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix issue for k8scluster on action "kdu_name" instead 'vdu_name'
[osm/NBI.git]
/
osm_nbi
/
descriptor_topics.py
diff --git
a/osm_nbi/descriptor_topics.py
b/osm_nbi/descriptor_topics.py
index
b63e5d2
..
58efa55
100644
(file)
--- a/
osm_nbi/descriptor_topics.py
+++ b/
osm_nbi/descriptor_topics.py
@@
-20,8
+20,8
@@
import json
from hashlib import md5
from osm_common.dbbase import DbException, deep_update_rfc7396
from http import HTTPStatus
from hashlib import md5
from osm_common.dbbase import DbException, deep_update_rfc7396
from http import HTTPStatus
-from validation import ValidationError, pdu_new_schema, pdu_edit_schema
-from base_topic import BaseTopic, EngineException, get_iterable
+from
osm_nbi.
validation import ValidationError, pdu_new_schema, pdu_edit_schema
+from
osm_nbi.
base_topic import BaseTopic, EngineException, get_iterable
from osm_im.vnfd import vnfd as vnfd_im
from osm_im.nsd import nsd as nsd_im
from osm_im.nst import nst as nst_im
from osm_im.vnfd import vnfd as vnfd_im
from osm_im.nsd import nsd as nsd_im
from osm_im.nst import nst as nst_im
@@
-33,8
+33,8
@@
__author__ = "Alfonso Tierno <alfonso.tiernosepulveda@telefonica.com>"
class DescriptorTopic(BaseTopic):
class DescriptorTopic(BaseTopic):
- def __init__(self, db, fs, msg):
- BaseTopic.__init__(self, db, fs, msg)
+ def __init__(self, db, fs, msg
, auth
):
+ BaseTopic.__init__(self, db, fs, msg
, auth
)
def check_conflict_on_edit(self, session, final_content, edit_content, _id):
super().check_conflict_on_edit(session, final_content, edit_content, _id)
def check_conflict_on_edit(self, session, final_content, edit_content, _id):
super().check_conflict_on_edit(session, final_content, edit_content, _id)
@@
-117,10
+117,13
@@
class DescriptorTopic(BaseTopic):
:param indata: data to be inserted
:param kwargs: used to override the indata descriptor
:param headers: http request headers
:param indata: data to be inserted
:param kwargs: used to override the indata descriptor
:param headers: http request headers
- :return: _id
: identity of the inserted data.
+ :return: _id
, None: identity of the inserted data; and None as there is not any operation
"""
try:
"""
try:
+ # Check Quota
+ self.check_quota(session)
+
# _remove_envelop
if indata:
if "userDefinedData" in indata:
# _remove_envelop
if indata:
if "userDefinedData" in indata:
@@
-136,7
+139,8
@@
class DescriptorTopic(BaseTopic):
self.format_on_new(content, session["project_id"], make_public=session["public"])
_id = self.db.create(self.topic, content)
rollback.append({"topic": self.topic, "_id": _id})
self.format_on_new(content, session["project_id"], make_public=session["public"])
_id = self.db.create(self.topic, content)
rollback.append({"topic": self.topic, "_id": _id})
- return _id
+ self._send_msg("created", {"_id": _id})
+ return _id, None
except ValidationError as e:
raise EngineException(e, HTTPStatus.UNPROCESSABLE_ENTITY)
except ValidationError as e:
raise EngineException(e, HTTPStatus.UNPROCESSABLE_ENTITY)
@@
-261,7
+265,7
@@
class DescriptorTopic(BaseTopic):
indata = json.load(content)
else:
error_text = "Invalid yaml format "
indata = json.load(content)
else:
error_text = "Invalid yaml format "
- indata = yaml.load(content)
+ indata = yaml.load(content
, Loader=yaml.SafeLoader
)
current_desc["_admin"]["storage"] = storage
current_desc["_admin"]["onboardingState"] = "ONBOARDED"
current_desc["_admin"]["storage"] = storage
current_desc["_admin"]["onboardingState"] = "ONBOARDED"
@@
-281,7
+285,7
@@
class DescriptorTopic(BaseTopic):
self.fs.dir_rename(temp_folder, _id)
indata["_id"] = _id
self.fs.dir_rename(temp_folder, _id)
indata["_id"] = _id
- self._send_msg("
crea
ted", indata)
+ self._send_msg("
edi
ted", indata)
# TODO if descriptor has changed because kwargs update content and remove cached zip
# TODO if zip is not present creates one
# TODO if descriptor has changed because kwargs update content and remove cached zip
# TODO if zip is not present creates one
@@
-394,8
+398,8
@@
class VnfdTopic(DescriptorTopic):
topic = "vnfds"
topic_msg = "vnfd"
topic = "vnfds"
topic_msg = "vnfd"
- def __init__(self, db, fs, msg):
- DescriptorTopic.__init__(self, db, fs, msg)
+ def __init__(self, db, fs, msg
, auth
):
+ DescriptorTopic.__init__(self, db, fs, msg
, auth
)
@staticmethod
def _remove_envelop(indata=None):
@staticmethod
def _remove_envelop(indata=None):
@@
-652,8
+656,8
@@
class NsdTopic(DescriptorTopic):
topic = "nsds"
topic_msg = "nsd"
topic = "nsds"
topic_msg = "nsd"
- def __init__(self, db, fs, msg):
- DescriptorTopic.__init__(self, db, fs, msg)
+ def __init__(self, db, fs, msg
, auth
):
+ DescriptorTopic.__init__(self, db, fs, msg
, auth
)
@staticmethod
def _remove_envelop(indata=None):
@staticmethod
def _remove_envelop(indata=None):
@@
-791,8
+795,8
@@
class NstTopic(DescriptorTopic):
topic = "nsts"
topic_msg = "nst"
topic = "nsts"
topic_msg = "nst"
- def __init__(self, db, fs, msg):
- DescriptorTopic.__init__(self, db, fs, msg)
+ def __init__(self, db, fs, msg
, auth
):
+ DescriptorTopic.__init__(self, db, fs, msg
, auth
)
@staticmethod
def _remove_envelop(indata=None):
@staticmethod
def _remove_envelop(indata=None):
@@
-854,7
+858,7
@@
class NstTopic(DescriptorTopic):
return
# Get Network Slice Template from Database
_filter = self._get_project_filter(session)
return
# Get Network Slice Template from Database
_filter = self._get_project_filter(session)
- _filter["nst-id"] = _id
+ _filter["
_admin.
nst-id"] = _id
if self.db.get_list("nsis", _filter):
raise EngineException("there is at least one Netslice Instance using this descriptor",
http_code=HTTPStatus.CONFLICT)
if self.db.get_list("nsis", _filter):
raise EngineException("there is at least one Netslice Instance using this descriptor",
http_code=HTTPStatus.CONFLICT)
@@
-866,8
+870,8
@@
class PduTopic(BaseTopic):
schema_new = pdu_new_schema
schema_edit = pdu_edit_schema
schema_new = pdu_new_schema
schema_edit = pdu_edit_schema
- def __init__(self, db, fs, msg):
- BaseTopic.__init__(self, db, fs, msg)
+ def __init__(self, db, fs, msg
, auth
):
+ BaseTopic.__init__(self, db, fs, msg
, auth
)
@staticmethod
def format_on_new(content, project_id=None, make_public=False):
@staticmethod
def format_on_new(content, project_id=None, make_public=False):