[wallaby][nova] Host Evacuate Instances
Hi, I am using openstack wallaby. I am testing to evacuate instances from failed host. The feature works fine. The instances on cinder backed shared storage rebuild on other host and their data is preserved. However the instances that are on local compute storage rebuild with fresh image on other host and data on root disk was lost. The question is, is it possible to evacuate all instances from failed host that are on shared storage only ? Ammad
On Tue, 27 Jul 2021 at 08:12, Ammad Syed <syedammad83@gmail.com> wrote:
Hi,
I am using openstack wallaby. I am testing to evacuate instances from failed host.
The feature works fine. The instances on cinder backed shared storage rebuild on other host and their data is preserved. However the instances that are on local compute storage rebuild with fresh image on other host and data on root disk was lost.
The question is, is it possible to evacuate all instances from failed host that are on shared storage only ?
Ammad
No but that's a valid feature request IMHO, the current API is defined below: https://docs.openstack.org/api-ref/compute/?expanded=evacuate-server-evacuat... Cheers, Lee
On Tue, 2021-07-27 at 10:29 +0100, Lee Yarwood wrote:
On Tue, 27 Jul 2021 at 08:12, Ammad Syed <syedammad83@gmail.com> wrote:
Hi,
I am using openstack wallaby. I am testing to evacuate instances from failed host.
The feature works fine. The instances on cinder backed shared storage rebuild on other host and their data is preserved. However the instances that are on local compute storage rebuild with fresh image on other host and data on root disk was lost.
yes so the evacutate api however should not be assumed to preserve data. orginally it did not unless you mounted the nova instnace dir on nfs, latter support for preserving cinder volumes was added to the libvirt driver but by defalut you shoudl assume that that instnace are rebuilt with a fresh image as that is the default behavior if virt drivers dont opt in to preserving it.
strictly speakign the libvirt virt driver could decide to reimage the cinder volumes if it chose too but that is more work and would be a worse user experence so we are never going to regess this but wether data is preserved is entirely dirver dependent.
The question is, is it possible to evacuate all instances from failed host that are on shared storage only ?
Ammad
No but that's a valid feature request IMHO, the current API is defined below:
https://docs.openstack.org/api-ref/compute/?expanded=evacuate-server-evacuat...
what woudl it look like. woudl we reust the old onSharedStorage flag in a new micorverion to mean evauate only if ion shared storage? i think it might be more useful to extend the server show to contain if the server is on shared sotrage and then leave it up to the client to evaucate the node or not. i dont really think we shoudl be extendeing the nova clinet host-evacuate commnad at this point since we are not gong to prot tha tot osc and evenutally the nova client cli should be removed. i dont think we have formally deprecated or feature frozen nova client yet but since stephen updated osc to have parity now i think we shoudl dicuss at the ptg is it time to deprecate it in yoga(just the cli part until sdk has partiy).
Cheers,
Lee
yes so the evacutate api however should not be assumed to preserve data. orginally it did not unless you mounted the nova instnace dir on nfs, latter support for preserving cinder volumes was added to the libvirt driver but by defalut you shoudl assume that that instnace are rebuilt with a fresh image as
Hi, that is the default behavior
if virt drivers dont opt in to preserving it.
strictly speakign the libvirt virt driver could decide to reimage the cinder volumes if it chose too but that is more work and would be a worse user experence so we are never going to regess this but wether data is preserved is entirely dirver dependent.
Got it. I am using cinder backed volumes for my instances only in production. But Openstack Trove deploy root volume of database instance on instance directory on compute host. I am looking the way to preserve its data. May b mounting it on NFS is a way. $ nova host-evacuate is the advised way to recover instances (cinder backed only) with preserving data from failed host or any other way ? Ammad On Tue, Jul 27, 2021 at 4:12 PM Sean Mooney <smooney@redhat.com> wrote:
On Tue, 27 Jul 2021 at 08:12, Ammad Syed <syedammad83@gmail.com> wrote:
Hi,
I am using openstack wallaby. I am testing to evacuate instances from
failed host.
The feature works fine. The instances on cinder backed shared storage
rebuild on other host and their data is preserved. However the instances
On Tue, 2021-07-27 at 10:29 +0100, Lee Yarwood wrote: that are on local compute storage rebuild with fresh image on other host and data on root disk was lost. yes so the evacutate api however should not be assumed to preserve data. orginally it did not unless you mounted the nova instnace dir on nfs, latter support for preserving cinder volumes was added to the libvirt driver but by defalut you shoudl assume that that instnace are rebuilt with a fresh image as that is the default behavior if virt drivers dont opt in to preserving it.
strictly speakign the libvirt virt driver could decide to reimage the cinder volumes if it chose too but that is more work and would be a worse user experence so we are never going to regess this but wether data is preserved is entirely dirver dependent.
The question is, is it possible to evacuate all instances from failed
host that are on shared storage only ?
Ammad
No but that's a valid feature request IMHO, the current API is defined below:
https://docs.openstack.org/api-ref/compute/?expanded=evacuate-server-evacuat...
what woudl it look like. woudl we reust the old onSharedStorage flag in a new micorverion to mean evauate only if ion shared storage? i think it might be more useful to extend the server show to contain if the server is on shared sotrage and then leave it up to the client to evaucate the node or not.
i dont really think we shoudl be extendeing the nova clinet host-evacuate commnad at this point since we are not gong to prot tha tot osc and evenutally the nova client cli should be removed. i dont think we have formally deprecated or feature frozen nova client yet but since stephen updated osc to have parity now i think we shoudl dicuss at the ptg is it time to deprecate it in yoga(just the cli part until sdk has partiy).
Cheers,
Lee
-- Regards, Syed Ammad Ali
On 27-07-21 12:12:29, Sean Mooney wrote:
On Tue, 27 Jul 2021 at 08:12, Ammad Syed <syedammad83@gmail.com> wrote:
Hi,
I am using openstack wallaby. I am testing to evacuate instances from failed host.
The feature works fine. The instances on cinder backed shared storage rebuild on other host and their data is preserved. However the instances that are on local compute storage rebuild with fresh image on other host and data on root disk was lost.
yes so the evacutate api however should not be assumed to preserve data. orginally it did not unless you mounted the nova instnace dir on nfs, latter support for preserving cinder volumes was added to the
On Tue, 2021-07-27 at 10:29 +0100, Lee Yarwood wrote: libvirt driver but by defalut you shoudl assume that that instnace are rebuilt with a fresh image as that is the default behavior if virt drivers dont opt in to preserving it.
strictly speakign the libvirt virt driver could decide to reimage the cinder volumes if it chose too but that is more work and would be a worse user experence so we are never going to regess this but wether data is preserved is entirely dirver dependent.
The question is, is it possible to evacuate all instances from failed host that are on shared storage only ?
Ammad
No but that's a valid feature request IMHO, the current API is defined below:
https://docs.openstack.org/api-ref/compute/?expanded=evacuate-server-evacuat...
what woudl it look like. woudl we reust the old onSharedStorage flag in a new micorverion to mean evauate only if ion shared storage? i think it might be more useful to extend the server show to contain if the server is on shared sotrage and then leave it up to the client to evaucate the node or not.
I was thinking this would be a new parameter with a new microversion for the caller to indicate that they don't want to preserve the original instance data. Requests asking for this would then fail if the instance wasn't on shared storage etc.
i dont really think we shoudl be extendeing the nova clinet host-evacuate commnad at this point since we are not gong to prot tha tot osc and evenutally the nova client cli should be removed. i dont think we have formally deprecated or feature frozen nova client yet but since stephen updated osc to have parity now i think we shoudl dicuss at the ptg is it time to deprecate it in yoga(just the cli part until sdk has partiy).
Yeah agreed. -- Lee Yarwood A5D1 9385 88CB 7E5F BE64 6618 BCA6 6E33 F672 2D76
participants (3)
-
Ammad Syed
-
Lee Yarwood
-
Sean Mooney