And here is the source of the assertion:
> /opt/stack/venvs/heat/local/lib/python2.7/site-packages/heat/engine/resource.py(421)physical_resource_name()
-> assert self.id is not None
(((Pdb))) list
420 def physical_resource_name(self):
421 -> assert self.id is not None
422
423 return '%s-%s-%s' % (self.stack.name,
424 self.name,
425 short_id.get_id(self.id))
426
Which we get into via resolve_runtime_data's transform.
/opt/stack/venvs/heat/local/lib/python2.7/site-packages/heat/engine/template.py(145)handle_resource_ref()
-> return resources[arg].FnGetRefId()
/opt/stack/venvs/heat/lib/python2.7/site-packages/heat/engine/resources/user.py(91)FnGetRefId()
-> return unicode(self.physical_resource_name())
> /opt/stack/venvs/heat/local/lib/python2.7/site-packages/heat/engine/resource.py(421)physical_resource_name()
-> assert self.id is not None
And here is the source of the assertion: venvs/heat/ local/lib/ python2. 7/site- packages/ heat/engine/ resource. py(421) physical_ resource_ name() resource_ name(self) : get_id( self.id) )
> /opt/stack/
-> assert self.id is not None
(((Pdb))) list
420 def physical_
421 -> assert self.id is not None
422
423 return '%s-%s-%s' % (self.stack.name,
424 self.name,
425 short_id.
426
Which we get into via resolve_ runtime_ data's transform. stack/venvs/ heat/local/ lib/python2. 7/site- packages/ heat/engine/ template. py(145) handle_ resource_ ref() arg].FnGetRefId () stack/venvs/ heat/lib/ python2. 7/site- packages/ heat/engine/ resources/ user.py( 91)FnGetRefId( ) self.physical_ resource_ name()) venvs/heat/ local/lib/ python2. 7/site- packages/ heat/engine/ resource. py(421) physical_ resource_ name()
/opt/
-> return resources[
/opt/
-> return unicode(
> /opt/stack/
-> assert self.id is not None
Where is self.id meant to be set?