diff options
author | Andrey Pavlov <apavlov@mirantis.com> | 2015-09-25 17:41:35 +0300 |
---|---|---|
committer | Andrey Pavlov <apavlov@mirantis.com> | 2015-09-25 17:41:35 +0300 |
commit | 1fa10e091ba6a02cfec3d9c9dd6684c26ab4900e (patch) | |
tree | 659fb7d28e28a0c7aeec2f303496fd08c6d5c0bf /saharaclient | |
parent | 9300a22969406a977a967c2a52a59b8c724a67de (diff) | |
download | python-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.py | 51 | ||||
-rw-r--r-- | saharaclient/api/node_group_templates.py | 72 |
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') |