On 04/10/2019 11:30 AM, Matt Riedemann wrote:
I wanted to get some wider attention on what I think will be a limitation in the rebuild from cell0 spec [1]. The main idea in that spec is the user tries to create a server which fails during scheduling to find a host and puts the instance into ERROR state and "buries" it in cell0. With a new microversion, the user can attempt to rebuild the server from cell0 and go through scheduling again. This is part of a bigger effort to support pre-emptible instances where scheduling fails during server create, an external reaper service tries to make room by destroying some pre-emptible instances, and then the server gets rebuilt.
The issue I've found is that if the server was created with personality files using microversion 2.1, fails, and then the user goes to rebuild it, their personality files will be lost because (1) we don't persist personality files anywhere, not even the RequestSpec and (2) microversion 2.57 deprecated the personality files parameter from the rebuild API [2]. Since you'll have to use a newer microversion > 2.57 to rebuild from cell0, you can't specify the personality files again.
Are we OK with this?
Ummm, yes. Yes, I am completely OK with this. -jay