X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osmclient%2Fv1%2Fns.py;h=3d638e14fcd9fc26a03b88b5e0fba68075cca664;hb=c4cd58f1fa79599a489730b41cda4cf43f552ecd;hp=fe62e3d437f3b19ca2596864ac9c9b0e078aeca9;hpb=c009e0adcaaa63f0a998f47020472679fd295d38;p=osm%2Fosmclient.git diff --git a/osmclient/v1/ns.py b/osmclient/v1/ns.py index fe62e3d..3d638e1 100644 --- a/osmclient/v1/ns.py +++ b/osmclient/v1/ns.py @@ -22,6 +22,7 @@ from osmclient.common import utils from osmclient.common.exceptions import ClientException from osmclient.common.exceptions import NotFound import uuid +import yaml class Ns(object): @@ -68,7 +69,7 @@ class Ns(object): ns_name, resp)) - def create(self, nsd_name, nsr_name, account, vim_network_prefix=None, + def create(self, nsd_name, nsr_name, account, config=None, ssh_keys=None, description='default description', admin_status='ENABLED'): postdata = {} @@ -112,11 +113,20 @@ class Ns(object): nsr['ssh-authorized-key'] = ssh_keys_format - if vim_network_prefix is not None: - for index, vld in enumerate(nsr['nsd']['vld']): - network_name = vld['name'] - nsr['nsd']['vld'][index]['vim-network-name'] = '{}-{}'.format( - vim_network_prefix, network_name) + ns_config = {} + + if config: + ns_config = yaml.load(config) + + if ns_config and 'vim-network-name' in ns_config: + for network in ns_config['vim-network-name']: + # now find this network + vld_name = network['name'] + # vim_vld_name = network['vim-network-name'] + + for index, vld in enumerate(nsr['nsd']['vld']): + if vld['name'] == vld_name: + nsr['nsd']['vld'][index]['vim-network-name'] = network['vim-network-name'] postdata['nsr'].append(nsr)