update_vnf: support config as yaml file
Change-Id: I8f594a35f0e9b6478f0b0292196bd99f3c6dacfa
This commit is contained in:
@@ -123,6 +123,7 @@ COMMAND_V1 = {
|
|||||||
'vnfd-show': vnfd.ShowVNFD,
|
'vnfd-show': vnfd.ShowVNFD,
|
||||||
|
|
||||||
'vnf-create': vnf.CreateVNF,
|
'vnf-create': vnf.CreateVNF,
|
||||||
|
'vnf-update': vnf.UpdateVNF,
|
||||||
'vnf-delete': vnf.DeleteVNF,
|
'vnf-delete': vnf.DeleteVNF,
|
||||||
'vnf-list': vnf.ListVNF,
|
'vnf-list': vnf.ListVNF,
|
||||||
'vnf-show': vnf.ShowVNF,
|
'vnf-show': vnf.ShowVNF,
|
||||||
|
@@ -19,8 +19,6 @@
|
|||||||
#
|
#
|
||||||
# @author: Isaku Yamahata, Intel
|
# @author: Isaku Yamahata, Intel
|
||||||
|
|
||||||
from tackerclient.common import exceptions
|
|
||||||
from tackerclient.openstack.common.gettextutils import _
|
|
||||||
from tackerclient.tacker import v1_0 as tackerV10
|
from tackerclient.tacker import v1_0 as tackerV10
|
||||||
|
|
||||||
|
|
||||||
@@ -80,25 +78,20 @@ class UpdateVNF(tackerV10.UpdateCommand):
|
|||||||
|
|
||||||
def add_known_arguments(self, parser):
|
def add_known_arguments(self, parser):
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
'--configs',
|
'--config-file',
|
||||||
metavar='<key>=<value>',
|
help='specify config yaml file')
|
||||||
action='append',
|
parser.add_argument(
|
||||||
dest='configs',
|
'--config',
|
||||||
default=[],
|
help='specify config yaml file')
|
||||||
help='vnf specific config')
|
|
||||||
|
|
||||||
def args2body(self, parsed_args):
|
def args2body(self, parsed_args):
|
||||||
body = {self.resource: {}}
|
body = {self.resource: {}}
|
||||||
if parsed_args.configs:
|
if parsed_args.config_file:
|
||||||
try:
|
with open(parsed_args.config_file) as f:
|
||||||
configs = dict(key_value.split('=', 1)
|
config_yaml = f.read()
|
||||||
for key_value in parsed_args.attributes)
|
body[self.resource]['config'] = config_yaml
|
||||||
except ValueError:
|
if parsed_args.config:
|
||||||
msg = (_('invalid argument for --configs %s') %
|
body[self.resource]['config'] = parsed_args.config
|
||||||
parsed_args.configs)
|
|
||||||
raise exceptions.TackerCLIError(msg)
|
|
||||||
if configs:
|
|
||||||
body[self.resource]['configs'] = configs
|
|
||||||
tackerV10.update_dict(parsed_args, body[self.resource], ['tenant_id'])
|
tackerV10.update_dict(parsed_args, body[self.resource], ['tenant_id'])
|
||||||
return body
|
return body
|
||||||
|
|
||||||
|
@@ -480,9 +480,9 @@ class Client(ClientBase):
|
|||||||
@APIParamsCall
|
@APIParamsCall
|
||||||
def update_vnf(self, vnf, body=None):
|
def update_vnf(self, vnf, body=None):
|
||||||
args = body[self._VNF]
|
args = body[self._VNF]
|
||||||
args_ = {'tenant_id': args['tenant_id']}
|
args_ = {}
|
||||||
if 'configs' in args:
|
if 'config' in args:
|
||||||
args_['attributes'] = args['configs']
|
args_['attributes'] = {'config': args['config']}
|
||||||
body_ = {self._DEVICE: body[self._VNF]}
|
body_ = {self._DEVICE: args_}
|
||||||
ret = self.update_device(vnf, body_)
|
ret = self.update_device(vnf, body_)
|
||||||
return {self._VNF: ret[self._DEVICE]}
|
return {self._VNF: ret[self._DEVICE]}
|
||||||
|
Reference in New Issue
Block a user