Comment 1 for bug 1613488

Revision history for this message
Chris Friesen (cbf123) wrote :

Where this gets really problematic in the case of PciDevice is that the older compute node preserves 'parent_addr' as a changed field and includes it as such the next time it calls device.save(). On the nova-conductor side in PciDevice.save() we then call updates = self.obj_get_changes(), which does this:

        for key in self.obj_what_changed():
            changes[key] = getattr(self, key)

but in this code 'parent_addr' is listed in self.obj_what_changed(), but the attribute isn't actually set. This results in the following exception:

NotImplementedError: Cannot load 'parent_addr' in the base class