diff --git a/tackerclient/tacker/v1_0/nfvo/vnffgd.py b/tackerclient/tacker/v1_0/nfvo/vnffgd.py index add54a80..d65fb184 100644 --- a/tackerclient/tacker/v1_0/nfvo/vnffgd.py +++ b/tackerclient/tacker/v1_0/nfvo/vnffgd.py @@ -16,6 +16,7 @@ import yaml from oslo_serialization import jsonutils +from tackerclient.common import utils from tackerclient.i18n import _ from tackerclient.tacker import v1_0 as tackerV10 @@ -43,7 +44,7 @@ class CreateVNFFGD(tackerV10.CreateCommand): def add_known_arguments(self, parser): group = parser.add_mutually_exclusive_group(required=True) group.add_argument('--vnffgd-file', help=_('Specify VNFFGD file')) - group.add_argument('--vnffgd', help=_('Specify VNFFGD')) + group.add_argument('--vnffgd', help=_('Specify VNFFGD (DEPRECATED)')) parser.add_argument( 'name', metavar='NAME', help=_('Set a name for the VNFFGD')) @@ -58,6 +59,11 @@ class CreateVNFFGD(tackerV10.CreateCommand): vnffgd = yaml.safe_load(f.read()) body[self.resource]['template'] = {'vnffgd': vnffgd} if parsed_args.vnffgd: + # TODO(sridhar_ram): Only file based input supported starting + # Ocata, remove all direct inputs in Pike + utils.deprecate_warning(what="Direct VNFFGD template input", + as_of="O", + remove_in=1) body[self.resource]['template'] = { 'vnffgd': yaml.safe_load(parsed_args.vnffgd)} tackerV10.update_dict(parsed_args, body[self.resource], diff --git a/tackerclient/tacker/v1_0/vnfm/vnf.py b/tackerclient/tacker/v1_0/vnfm/vnf.py index 74b196e4..c6e6cb11 100644 --- a/tackerclient/tacker/v1_0/vnfm/vnf.py +++ b/tackerclient/tacker/v1_0/vnfm/vnf.py @@ -78,7 +78,7 @@ class CreateVNF(tackerV10.CreateCommand): help=_('YAML file with VNF configuration')) parser.add_argument( '--config', - help=_('Specify config yaml data')) + help=_('Specify config yaml data (DEPRECATED)')) parser.add_argument( '--param-file', help=_('Specify parameter yaml file')) @@ -93,14 +93,16 @@ class CreateVNF(tackerV10.CreateCommand): config_yaml = f.read() config = yaml.load( config_yaml, Loader=yaml.SafeLoader) + if parsed_args.config: + # TODO(sridhar_ram): Only file based input supported starting + # Ocata, remove all direct inputs in Pike + utils.deprecate_warning(what="Direct config YAML input", as_of="O", + remove_in=1) config = parsed_args.config - if isinstance(config, str): + if isinstance(config, str) or isinstance(config, unicode): config_str = parsed_args.config.decode('unicode_escape') config = yaml.load(config_str, Loader=yaml.SafeLoader) - utils.deprecate_warning(what='yaml as string', as_of='N', - in_favor_of='yaml as dictionary') - if config: args['attributes']['config'] = config if parsed_args.vim_region_name: @@ -161,11 +163,9 @@ class UpdateVNF(tackerV10.UpdateCommand): config = yaml.load(config_yaml, Loader=yaml.SafeLoader) if parsed_args.config: config = parsed_args.config - if isinstance(parsed_args.config, str): + if isinstance(config, str) or isinstance(config, unicode): config_str = parsed_args.config.decode('unicode_escape') config = yaml.load(config_str, Loader=yaml.SafeLoader) - utils.deprecate_warning(what='yaml as string', as_of='N', - in_favor_of='yaml as dictionary') if config: body[self.resource]['attributes'] = {'config': config} tackerV10.update_dict(parsed_args, body[self.resource], ['tenant_id']) diff --git a/tackerclient/tacker/v1_0/vnfm/vnfd.py b/tackerclient/tacker/v1_0/vnfm/vnfd.py index 2d4d1ee4..ef6cfb40 100644 --- a/tackerclient/tacker/v1_0/vnfm/vnfd.py +++ b/tackerclient/tacker/v1_0/vnfm/vnfd.py @@ -67,7 +67,7 @@ class CreateVNFD(tackerV10.CreateCommand): def add_known_arguments(self, parser): group = parser.add_mutually_exclusive_group(required=True) group.add_argument('--vnfd-file', help=_('Specify VNFD file')) - group.add_argument('--vnfd', help=_('Specify VNFD')) + group.add_argument('--vnfd', help=_('Specify VNFD (DEPRECATED)')) parser.add_argument( 'name', metavar='NAME', help=_('Set a name for the VNFD')) @@ -83,12 +83,15 @@ class CreateVNFD(tackerV10.CreateCommand): vnfd = f.read() vnfd = yaml.load(vnfd, Loader=yaml.SafeLoader) if parsed_args.vnfd: - vnfd = parsed_args.vnfd - if isinstance(vnfd, str): - vnfd = yaml.load(vnfd, Loader=yaml.SafeLoader) - utils.deprecate_warning(what='yaml as string', - as_of='N', - in_favor_of='yaml as dictionary') + # TODO(sridhar_ram): Only file based input supported starting + # Ocata, remove all direct inputs in Pike + utils.deprecate_warning(what="Direct VNFD template input", + as_of="O", + remove_in=1) + vnfd = parsed_args.vnfd + if isinstance(vnfd, str) or isinstance(vnfd, unicode): + vnfd = yaml.load(vnfd, Loader=yaml.SafeLoader) + if vnfd: body[self.resource]['attributes'] = {'vnfd': vnfd}