From f68c64b13f5fcce3c754ef136b3b688482f78bbb Mon Sep 17 00:00:00 2001 From: Mina Park Date: Mon, 16 Dec 2013 10:54:31 +0900 Subject: [PATCH] Adding the ability to modify node group templates - Added function for update node group template Implements : blueprint modifying-node-group-template Change-Id: Ic217885efe8d4098b12bccb01995d77d2f91b5a9 --- savannaclient/api/node_group_templates.py | 32 ++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/savannaclient/api/node_group_templates.py b/savannaclient/api/node_group_templates.py index e20cdd25..2c388977 100644 --- a/savannaclient/api/node_group_templates.py +++ b/savannaclient/api/node_group_templates.py @@ -23,9 +23,11 @@ class NodeGroupTemplate(base.Resource): class NodeGroupTemplateManager(base.ResourceManager): resource_class = NodeGroupTemplate - def create(self, name, plugin_name, hadoop_version, flavor_id, - description=None, volumes_per_node=None, volumes_size=None, - node_processes=None, node_configs=None, floating_ip_pool=None): + def _assign_field(self, name, plugin_name, hadoop_version, flavor_id, + description=None, + volumes_per_node=None, volumes_size=None, + node_processes=None, node_configs=None, + floating_ip_pool=None): data = { 'name': name, @@ -44,9 +46,33 @@ class NodeGroupTemplateManager(base.ResourceManager): data.update({"volumes_per_node": volumes_per_node, "volumes_size": volumes_size}) + return data + + def create(self, name, plugin_name, hadoop_version, flavor_id, + description=None, volumes_per_node=None, volumes_size=None, + node_processes=None, node_configs=None, floating_ip_pool=None): + + data = self._assign_field(name, plugin_name, hadoop_version, flavor_id, + description, volumes_per_node, volumes_size, + node_processes, node_configs, + floating_ip_pool) + return self._create('/node-group-templates', data, 'node_group_template') + def update(self, ng_template_id, name, plugin_name, hadoop_version, + flavor_id, description=None, volumes_per_node=None, + volumes_size=None, node_processes=None, + node_configs=None, floating_ip_pool=None): + + data = self._assign_field(name, plugin_name, hadoop_version, flavor_id, + description, volumes_per_node, + volumes_size, node_processes, + node_configs, floating_ip_pool) + + return self._update('/node-group-templates/%s' % ng_template_id, data, + 'node_group_template') + def list(self): return self._list('/node-group-templates', 'node_group_templates')