Merge "Add hash to auto security group name for uniqueness"
This commit is contained in:
commit
6cd8318a8e
@ -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(
|
||||||
|
@ -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
|
||||||
|
@ -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):
|
||||||
|
@ -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)}
|
||||||
|
Loading…
Reference in New Issue
Block a user