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
This commit is contained in:
@@ -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')
|
||||
|
||||
@@ -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')
|
||||
|
||||
Reference in New Issue
Block a user