Okay, I can reproduce this problem now. It has nothing to do with his image; it happens with every image.
The problem/reason I couldn't reproduce it before is because it was unclear to me what the OP meant by "reboot". Reboot
what? The host or the guest? So I tried doing both, but I always tried rebooting the guest
first, and
then rebooting the host. If you do that, the problem doesn't happen.
The
only way the problem happens is if you import your image with the "Enabled" checkbox checked (or with 'disabled=no' on the CLI), so that it starts up immediately after import, and then you immediately reboot the host after the import is done. When you do that, the RAM for the guest will indeed be reset to 16MB when the host next boots up.
However, if you import the image with 'disabled=yes', enable the image, and then reboot the host, the problem doesn't happen. Or if you import with 'disabled=no', then manually disable and re-enable the guest, and then reboot the host, the problem doesn't happen. Or if you import it with 'disabled=no', then go in and change the RAM on the guest and then reboot the host, the problem doesn't happen.
In short, the problem
only happens if you import with 'disabled=no' and then immediately reboot the host. If you touch the settings on the guest in any way, shape, or form after import and before rebooting the host (even if it is a simple disable/re-enable), the problem doesn't occur.
So, simple solution: import with the guest disabled, then immediately enable it after import is complete. Problem solved.
Not to belittle the bug or the reporter: it is a legitimate bug. But the bug only happens under such a specific set of circumstances that it is easy to work around, and I never ran into it myself because I was apparently always triggering the workaround even without knowing it!
-- Nathan
P.S. -- There is another strange manifestation of the bug that I just ran into: If you import with the guest disabled and then reboot the host without enabling the guest, when the host boots back up, the guest is enabled (even though it was disabled before reboot) and is set to 16MB of RAM (even if I set it differently during import). If I import the new guest disabled, then enable the guest, and then reboot the host, the RAM is correct. So the problem appears to be that if you don't touch the guest's settings at all after import, it will forget any custom settings you tried to set during import (disabled=yes, memory-size=32MiB) and will revert to the default settings (disabled=no, memory-size=16MiB). But if you simply disable or enable the guest after import, or touch its memory settings, all of the settings will be properly saved and remembered after the host reboots.