X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_lcm%2FROclient.py;h=1fd5f95f0aba89c55f1c31e5c78c391560393810;hb=c2033f23c8111a172f70873beda52735e23f41a6;hp=73a1b13006b9fb8946b0a034887c602baa49b54d;hpb=ea0cc0a31db1de8fe518c421cc80d54214b23ece;p=osm%2FLCM.git diff --git a/osm_lcm/ROclient.py b/osm_lcm/ROclient.py index 73a1b13..1fd5f95 100644 --- a/osm_lcm/ROclient.py +++ b/osm_lcm/ROclient.py @@ -99,11 +99,11 @@ def remove_envelop(item, indata=None): class ROClient: headers_req = {'Accept': 'application/yaml', 'content-type': 'application/yaml'} client_to_RO = {'tenant': 'tenants', 'vim': 'datacenters', 'vim_account': 'datacenters', 'sdn': 'sdn_controllers', - 'vnfd': 'vnfs', 'nsd': 'scenarios', + 'vnfd': 'vnfs', 'nsd': 'scenarios', 'ns': 'instances'} mandatory_for_create = { 'tenant': ("name", ), - 'vnfd': ("name", "id", "connection-point", "vdu"), + 'vnfd': ("name", "id"), 'nsd': ("name", "id"), 'ns': ("name", "scenario", "datacenter"), 'vim': ("name", "vim_url"), @@ -353,7 +353,7 @@ class ROClient: """ ns_info = {} for vnf in ns_descriptor["vnfs"]: - if not vnf.get("ip_address"): + if not vnf.get("ip_address") and vnf.get("vms"): raise ROClientException("ns member_vnf_index '{}' has no IP address".format( vnf["member_vnf_index"]), http_code=409) vnfr_info = { @@ -757,7 +757,7 @@ class ROClient: async def create(self, item, descriptor=None, descriptor_format=None, **kwargs): """ Creates an item from its descriptor - :param item: can be 'tenant', 'vnfd', 'nsd', 'ns', 'vim', 'vim_account', 'sdn' + :param item: can be 'tenant', 'vnfd', 'nsd', 'ns', 'vim', 'vim_account', 'sdn', nstd :param descriptor: can be a dict, or a yaml/json text. Autodetect unless descriptor_format is provided :param descriptor_format: Can be 'json' or 'yaml' :param kwargs: Overrides descriptor with values as name, description, vim_url, vim_url_admin, vim_type