Use - instead of . for physical_resource_name delim.

Avoiding using . means that instance hostnames are unique within the stack
(and within the tenant).

This solves 2 real-world use cases:
- tripleo issue, as described in bug: #1184713
- OpenShift template resorts to setting the hostname to ec2_instance_id

This may have an impact on users who are scripting to assume . delimiting,
however this will only affect newly created stacks after this change is
deployed.

Fixes bug: #1184713

Change-Id: I5a8eb358ea9c52162eb9263b9f9e6dcf750d787b
This commit is contained in:
Steve Baker 2013-06-06 09:41:44 +12:00
parent 1c29e67c29
commit bc6915260e
2 changed files with 2 additions and 2 deletions

View File

@ -403,7 +403,7 @@ class Resource(object):
self.state_set(self.UPDATE_COMPLETE)
def physical_resource_name(self):
return '%s.%s' % (self.stack.name, self.name)
return '%s-%s' % (self.stack.name, self.name)
def validate(self):
logger.info('Validating %s' % str(self))

View File

@ -80,4 +80,4 @@ class PhysName(object):
return not self.__eq__(physical_name)
def __repr__(self):
return '%s.%s' % (self.stack_name, self.resource_name)
return '%s-%s' % (self.stack_name, self.resource_name)