Merge "Add hash to auto security group name for uniqueness"

This commit is contained in:
Jenkins 2014-10-24 01:00:51 +00:00 committed by Gerrit Code Review
commit 6cd8318a8e
4 changed files with 8 additions and 23 deletions

View File

@ -312,13 +312,12 @@ class DirectEngine(e.Engine):
return instance_id return instance_id
def _create_auto_security_group(self, node_group): def _create_auto_security_group(self, node_group):
cluster = node_group.cluster name = g.generate_auto_security_group_name(node_group)
name = g.generate_auto_security_group_name(
cluster.name, node_group.name)
nova_client = nova.client() nova_client = nova.client()
security_group = nova_client.security_groups.create( security_group = nova_client.security_groups.create(
name, "Auto security group created by Sahara for Node Group '%s' " name, "Auto security group created by Sahara for Node Group '%s' "
"of cluster '%s'." % (node_group.name, cluster.name)) "of cluster '%s'." %
(node_group.name, node_group.cluster.name))
# ssh remote needs ssh port, agents are not implemented yet # ssh remote needs ssh port, agents are not implemented yet
nova_client.security_group_rules.create( nova_client.security_group_rules.create(

View File

@ -98,7 +98,6 @@ def check_all_configurations(data):
if data.get('node_groups'): if data.get('node_groups'):
check_duplicates_node_groups_names(data['node_groups']) check_duplicates_node_groups_names(data['node_groups'])
for ng in data['node_groups']: for ng in data['node_groups']:
check_auto_security_group(data['name'], ng)
check_node_group_basic_fields(data['plugin_name'], check_node_group_basic_fields(data['plugin_name'],
data['hadoop_version'], data['hadoop_version'],
ng, pl_confs) ng, pl_confs)
@ -202,16 +201,6 @@ def check_duplicates_node_groups_names(node_groups):
_("Duplicates in node group names are detected")) _("Duplicates in node group names are detected"))
def check_auto_security_group(cluster_name, nodegroup):
if nodegroup.get('auto_security_group'):
name = g.generate_auto_security_group_name(
cluster_name, nodegroup['name'])
if name in [security_group.name for security_group in
nova.client().security_groups.list()]:
raise ex.NameAlreadyExistsException(
_("Security group with name '%s' already exists") % name)
def check_availability_zone_exist(az): def check_availability_zone_exist(az):
az_list = nova.client().availability_zones.list(False) az_list = nova.client().availability_zones.list(False)
az_names = [a.zoneName for a in az_list] az_names = [a.zoneName for a in az_list]
@ -303,7 +292,6 @@ def check_node_groups_in_cluster_templates(cluster_name, plugin_name,
n_groups = c_t.to_wrapped_dict()['cluster_template']['node_groups'] n_groups = c_t.to_wrapped_dict()['cluster_template']['node_groups']
check_network_config(n_groups) check_network_config(n_groups)
for node_group in n_groups: for node_group in n_groups:
check_auto_security_group(cluster_name, node_group)
check_node_group_basic_fields(plugin_name, hadoop_version, node_group) check_node_group_basic_fields(plugin_name, hadoop_version, node_group)
check_cluster_hostnames_lengths(cluster_name, n_groups) check_cluster_hostnames_lengths(cluster_name, n_groups)
@ -373,7 +361,6 @@ def check_add_node_groups(cluster, add_node_groups):
check_node_group_basic_fields(cluster.plugin_name, check_node_group_basic_fields(cluster.plugin_name,
cluster.hadoop_version, ng, pl_confs) cluster.hadoop_version, ng, pl_confs)
check_auto_security_group(cluster.name, ng)
# Cinder # Cinder

View File

@ -132,8 +132,9 @@ def generate_instance_name(cluster_name, node_group_name, index):
return ("%s-%s-%03d" % (cluster_name, node_group_name, index)).lower() return ("%s-%s-%03d" % (cluster_name, node_group_name, index)).lower()
def generate_auto_security_group_name(cluster_name, node_group_name): def generate_auto_security_group_name(node_group):
return ("%s-%s" % (cluster_name, node_group_name)).lower() return ("%s-%s-%s" % (node_group.cluster.name, node_group.name,
node_group.id[:8])).lower()
def generate_aa_group_name(cluster_name): def generate_aa_group_name(cluster_name):

View File

@ -167,8 +167,7 @@ class ClusterTemplate(object):
def _serialize_auto_security_group(self, ng): def _serialize_auto_security_group(self, ng):
fields = { fields = {
'security_group_name': g.generate_auto_security_group_name( 'security_group_name': g.generate_auto_security_group_name(ng),
ng.cluster.name, ng.name),
'security_group_description': 'security_group_description':
"Auto security group created by Sahara for Node Group " "Auto security group created by Sahara for Node Group "
"'%s' of cluster '%s'." % (ng.name, ng.cluster.name), "'%s' of cluster '%s'." % (ng.name, ng.cluster.name),
@ -304,8 +303,7 @@ class ClusterTemplate(object):
return node_group.security_groups return node_group.security_groups
return (list(node_group.security_groups or []) + return (list(node_group.security_groups or []) +
[{"Ref": g.generate_auto_security_group_name( [{"Ref": g.generate_auto_security_group_name(node_group)}])
node_group.cluster.name, node_group.name)}])
def _serialize_aa_server_group(self): def _serialize_aa_server_group(self):
fields = {'server_group_name': _get_aa_group_name(self.cluster.name)} fields = {'server_group_name': _get_aa_group_name(self.cluster.name)}