Merge "Freeze rsrc_defn base on properties.data when restore"
This commit is contained in:
commit
a8c4a155bb
|
@ -26,6 +26,7 @@ from heat.common.i18n import _
|
|||
from heat.common.i18n import _LI
|
||||
from heat.engine import attributes
|
||||
from heat.engine import constraints
|
||||
from heat.engine import function
|
||||
from heat.engine import properties
|
||||
from heat.engine import resource
|
||||
from heat.engine.resources.openstack.neutron import subnet
|
||||
|
@ -1465,10 +1466,7 @@ class Server(stack_user.StackUser):
|
|||
|
||||
def handle_restore(self, defn, restore_data):
|
||||
image_id = restore_data['resource_data']['snapshot_image_id']
|
||||
props = dict(
|
||||
(key, value) for (key, value) in
|
||||
six.iteritems(defn.properties(self.properties_schema))
|
||||
if value is not None)
|
||||
props = function.resolve(self.properties.data)
|
||||
props[self.IMAGE] = image_id
|
||||
return defn.freeze(properties=props)
|
||||
|
||||
|
|
|
@ -3172,6 +3172,10 @@ class ServersTest(common.HeatTestCase):
|
|||
|
||||
def test_server_restore(self):
|
||||
t = template_format.parse(wp_template)
|
||||
# create server with network id
|
||||
sp = t['Resources']['WebServer']['Properties']
|
||||
sp['networks'] = [{'network': 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa'}]
|
||||
|
||||
tmpl = template.Template(t)
|
||||
stack = parser.Stack(utils.dummy_context(), "server_restore", tmpl)
|
||||
stack.store()
|
||||
|
@ -3186,9 +3190,10 @@ class ServersTest(common.HeatTestCase):
|
|||
self.fc.servers.create(
|
||||
image=744, flavor=3, key_name='test',
|
||||
name=utils.PhysName("server_restore", "WebServer"),
|
||||
nics=[{'net-id': 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa'}],
|
||||
security_groups=[],
|
||||
userdata=mox.IgnoreArg(), scheduler_hints=None,
|
||||
meta=None, nics=None, availability_zone=None,
|
||||
meta=None, availability_zone=None,
|
||||
block_device_mapping=None, block_device_mapping_v2=None,
|
||||
config_drive=None, disk_config=None, reservation_id=None,
|
||||
files={}, admin_pass=None).AndReturn(return_server)
|
||||
|
@ -3199,6 +3204,10 @@ class ServersTest(common.HeatTestCase):
|
|||
glance.GlanceClientPlugin.get_image_id(
|
||||
'CentOS 5.2').MultipleTimes().AndReturn(1)
|
||||
|
||||
self.patchobject(neutron.NeutronClientPlugin, 'resolve_network',
|
||||
return_value='aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa')
|
||||
self.stub_NetworkConstraint_validate()
|
||||
|
||||
self.m.ReplayAll()
|
||||
|
||||
scheduler.TaskRunner(stack.create)()
|
||||
|
|
Loading…
Reference in New Issue