summaryrefslogtreecommitdiff
path: root/saharaclient
diff options
context:
space:
mode:
authorAndrey Pavlov <apavlov@mirantis.com>2015-09-25 17:41:35 +0300
committerAndrey Pavlov <apavlov@mirantis.com>2015-09-25 17:41:35 +0300
commit1fa10e091ba6a02cfec3d9c9dd6684c26ab4900e (patch)
tree659fb7d28e28a0c7aeec2f303496fd08c6d5c0bf /saharaclient
parent9300a22969406a977a967c2a52a59b8c724a67de (diff)
downloadpython-saharaclient-1fa10e091ba6a02cfec3d9c9dd6684c26ab4900e.tar.gz
Fixing cluster and node group template updates
Changes: * volume(s)_* fields now can be updated without updating volumes_per_node field * ngt now can be updated without node_processes field * arguments of update methods (except of id) changed to optional Change-Id: I3549cb98f1c15d303cdc13bbd3875a85b43f29b8 Closes-bug: #1499730 Closes-bug: #1499732
Diffstat (limited to 'saharaclient')
-rw-r--r--saharaclient/api/cluster_templates.py51
-rw-r--r--saharaclient/api/node_group_templates.py72
2 files changed, 54 insertions, 69 deletions
diff --git a/saharaclient/api/cluster_templates.py b/saharaclient/api/cluster_templates.py
index 38e4d4b..2cea233 100644
--- a/saharaclient/api/cluster_templates.py
+++ b/saharaclient/api/cluster_templates.py
@@ -23,11 +23,11 @@ class ClusterTemplate(base.Resource):
class ClusterTemplateManager(base.ResourceManager):
resource_class = ClusterTemplate
- def _assign_field(self, name, plugin_name, hadoop_version,
- description=None, cluster_configs=None, node_groups=None,
- anti_affinity=None, net_id=None, default_image_id=None,
- use_autoconfig=None, shares=None, is_public=None,
- is_protected=None):
+ def create(self, name, plugin_name, hadoop_version, description=None,
+ cluster_configs=None, node_groups=None, anti_affinity=None,
+ net_id=None, default_image_id=None, use_autoconfig=None,
+ shares=None, is_public=None, is_protected=None):
+
data = {
'name': name,
'plugin_name': plugin_name,
@@ -45,30 +45,29 @@ class ClusterTemplateManager(base.ResourceManager):
shares=shares,
is_public=is_public,
is_protected=is_protected)
- return data
-
- def create(self, name, plugin_name, hadoop_version, description=None,
- cluster_configs=None, node_groups=None, anti_affinity=None,
- net_id=None, default_image_id=None, use_autoconfig=None,
- shares=None, is_public=None, is_protected=None):
- data = self._assign_field(name, plugin_name, hadoop_version,
- description, cluster_configs, node_groups,
- anti_affinity, net_id, default_image_id,
- use_autoconfig, shares, is_public,
- is_protected)
return self._create('/cluster-templates', data, 'cluster_template')
- def update(self, cluster_template_id, name, plugin_name, hadoop_version,
- description=None, cluster_configs=None, node_groups=None,
- anti_affinity=None, net_id=None, default_image_id=None,
- use_autoconfig=None, shares=None, is_public=None,
- is_protected=None):
- data = self._assign_field(name, plugin_name, hadoop_version,
- description, cluster_configs, node_groups,
- anti_affinity, net_id, default_image_id,
- use_autoconfig, shares, is_public,
- is_protected)
+ def update(self, cluster_template_id, name=None, plugin_name=None,
+ hadoop_version=None, description=None, cluster_configs=None,
+ node_groups=None, anti_affinity=None, net_id=None,
+ default_image_id=None, use_autoconfig=None, shares=None,
+ is_public=None, is_protected=None):
+
+ data = {}
+ self._copy_if_defined(data, name=name,
+ plugin_name=plugin_name,
+ hadoop_version=hadoop_version,
+ description=description,
+ cluster_configs=cluster_configs,
+ node_groups=node_groups,
+ anti_affinity=anti_affinity,
+ neutron_management_network=net_id,
+ default_image_id=default_image_id,
+ use_autoconfig=use_autoconfig,
+ shares=shares,
+ is_public=is_public,
+ is_protected=is_protected)
return self._update('/cluster-templates/%s' % cluster_template_id,
data, 'cluster_template')
diff --git a/saharaclient/api/node_group_templates.py b/saharaclient/api/node_group_templates.py
index 2cc0be8..e936b95 100644
--- a/saharaclient/api/node_group_templates.py
+++ b/saharaclient/api/node_group_templates.py
@@ -23,15 +23,14 @@ class NodeGroupTemplate(base.Resource):
class NodeGroupTemplateManager(base.ResourceManager):
resource_class = NodeGroupTemplate
- 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,
- security_groups=None, auto_security_group=None,
- availability_zone=None, volumes_availability_zone=None,
- volume_type=None, image_id=None, is_proxy_gateway=None,
- volume_local_to_instance=None, use_autoconfig=None,
- shares=None, is_public=None, is_protected=None):
+ 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,
+ security_groups=None, auto_security_group=None,
+ availability_zone=None, volumes_availability_zone=None,
+ volume_type=None, image_id=None, is_proxy_gateway=None,
+ volume_local_to_instance=None, use_autoconfig=None,
+ shares=None, is_public=None, is_protected=None):
data = {
'name': name,
@@ -68,49 +67,36 @@ class NodeGroupTemplateManager(base.ResourceManager):
data.update(
{"volume_local_to_instance": volume_local_to_instance})
- 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,
- security_groups=None, auto_security_group=None,
- availability_zone=None, volumes_availability_zone=None,
- volume_type=None, image_id=None, is_proxy_gateway=None,
- volume_local_to_instance=None, use_autoconfig=None,
- shares=None, is_public=None, is_protected=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, security_groups,
- auto_security_group, availability_zone,
- volumes_availability_zone, volume_type,
- image_id, is_proxy_gateway,
- volume_local_to_instance, use_autoconfig,
- shares, is_public, is_protected)
-
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, security_groups=None,
+ def update(self, ng_template_id, name=None, plugin_name=None,
+ hadoop_version=None, flavor_id=None, description=None,
+ volumes_per_node=None, volumes_size=None, node_processes=None,
+ node_configs=None, floating_ip_pool=None, security_groups=None,
auto_security_group=None, availability_zone=None,
volumes_availability_zone=None, volume_type=None,
image_id=None, is_proxy_gateway=None,
volume_local_to_instance=None, use_autoconfig=None,
shares=None, is_public=None, is_protected=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, security_groups,
- auto_security_group, availability_zone,
- volumes_availability_zone, volume_type,
- image_id, is_proxy_gateway,
- volume_local_to_instance, use_autoconfig,
- shares, is_public, is_protected)
+ data = {}
+ self._copy_if_defined(
+ data, name=name, plugin_name=plugin_name,
+ hadoop_version=hadoop_version, flavor_id=flavor_id,
+ description=description, volumes_per_node=volumes_per_node,
+ volumes_size=volumes_size, node_processes=node_processes,
+ node_configs=node_configs, floating_ip_pool=floating_ip_pool,
+ security_groups=security_groups,
+ auto_security_group=auto_security_group,
+ availability_zone=availability_zone,
+ volumes_availability_zone=volumes_availability_zone,
+ volume_type=volume_type, image_id=image_id,
+ is_proxy_gateway=is_proxy_gateway,
+ volume_local_to_instance=volume_local_to_instance,
+ use_autoconfig=use_autoconfig, shares=shares,
+ is_public=is_public, is_protected=is_protected
+ )
return self._update('/node-group-templates/%s' % ng_template_id, data,
'node_group_template')