Make EC2 update_instance() only update updatable_fields, rather than all
fields. Patch courtesy of Vladimir Popovski.
This commit is contained in:
commit
a854d4e172
@ -974,7 +974,8 @@ class CloudController(object):
|
||||
changes[field] = kwargs[field]
|
||||
if changes:
|
||||
instance_id = ec2utils.ec2_id_to_id(instance_id)
|
||||
self.compute_api.update(context, instance_id=instance_id, **kwargs)
|
||||
self.compute_api.update(context, instance_id=instance_id,
|
||||
**changes)
|
||||
return True
|
||||
|
||||
@staticmethod
|
||||
|
@ -544,7 +544,9 @@ class CloudTestCase(test.TestCase):
|
||||
|
||||
def test_update_of_instance_wont_update_private_fields(self):
|
||||
inst = db.instance_create(self.context, {})
|
||||
self.cloud.update_instance(self.context, inst['id'],
|
||||
ec2_id = ec2utils.id_to_ec2_id(inst['id'])
|
||||
self.cloud.update_instance(self.context, ec2_id,
|
||||
display_name='c00l 1m4g3',
|
||||
mac_address='DE:AD:BE:EF')
|
||||
inst = db.instance_get(self.context, inst['id'])
|
||||
self.assertEqual(None, inst['mac_address'])
|
||||
|
Loading…
Reference in New Issue
Block a user