Re: [openstack-dev] [nova] about rebuild instance booted from volume

2018-03-23 Thread Matt Riedemann

On 3/21/2018 6:34 AM, 李杰 wrote:
So what should we do then about rebuild the volume backed server?Until 
the cinder could re-image a volume?


I've added the spec to the 'stuck reviews' section of the nova meeting 
agenda so it can at least get some discussion there next week.


https://wiki.openstack.org/wiki/Meetings/Nova#Agenda_for_next_meeting

--

Thanks,

Matt

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [nova] about rebuild instance booted from volume

2018-03-23 Thread Matt Riedemann

On 3/22/2018 10:47 PM, 李杰 wrote:
             This is the spec about  rebuild a instance booted from 
volume, anyone who is interested in
       booted from volume can help to review this. Any suggestion is 
welcome.Thank you very much!

       The link is here.
       Re:the rebuild spec:https://review.openstack.org/#/c/532407


Once again, there are already existing threads about this topic, please 
don't continue to try and start new threads or send new reminders about 
it. You can reply on the existing discussion thread if you have new info.


--

Thanks,

Matt

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [nova] about rebuild instance booted from volume

2018-03-21 Thread 李杰
So what should we do then about rebuild the volume backed server?Until the 
cinder could re-image a volume?
 
 
-- Original --
From: "Matt Riedemann"; 
Date: 2018年3月16日(星期五) 上午6:35
To: "OpenStack Developmen"; 
Subject: Re: [openstack-dev] [nova] about rebuild instance booted from volume

 
On 3/15/2018 5:29 PM, Dan Smith wrote:
> Yep, for sure. I think if there are snapshots, we have to refuse to do
> te thing. My comment was about the "does nova have authority to destroy
> the root volume during a rebuild" and I think it does, if
> delete_on_termination=True, and if there are no snapshots.

Agree with this.

Things do get a bit weird with delete_on_termination and if nova 'owns' 
the volume. delete_on_termination is False by default, even if you're 
doing boot from volume with source_type of 'image' or 'snapshot' where 
nova creates the volume for you.

If a user really cared about preserving the volume, they'd probably 
pre-create it (with their favorite volume type since you can't tell nova 
the volume type to use) and pass it to nova with 
delete_on_termination=False explicitly.

Given the defaults, I'm not sure how many people are going to specify 
delete_on_termination=True, thinking about the implications, which then 
means they can't rebuild their volume-backed instance later because nova 
can't / won't delete the volume.

If we can solve this without deleting the volume at all and just 
re-image it, then it's a non-issue.

-- 

Thanks,

Matt

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [nova] about rebuild instance booted from volume

2018-03-15 Thread Matt Riedemann

On 3/15/2018 5:29 PM, Dan Smith wrote:

Yep, for sure. I think if there are snapshots, we have to refuse to do
te thing. My comment was about the "does nova have authority to destroy
the root volume during a rebuild" and I think it does, if
delete_on_termination=True, and if there are no snapshots.


Agree with this.

Things do get a bit weird with delete_on_termination and if nova 'owns' 
the volume. delete_on_termination is False by default, even if you're 
doing boot from volume with source_type of 'image' or 'snapshot' where 
nova creates the volume for you.


If a user really cared about preserving the volume, they'd probably 
pre-create it (with their favorite volume type since you can't tell nova 
the volume type to use) and pass it to nova with 
delete_on_termination=False explicitly.


Given the defaults, I'm not sure how many people are going to specify 
delete_on_termination=True, thinking about the implications, which then 
means they can't rebuild their volume-backed instance later because nova 
can't / won't delete the volume.


If we can solve this without deleting the volume at all and just 
re-image it, then it's a non-issue.


--

Thanks,

Matt

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [nova] about rebuild instance booted from volume

2018-03-15 Thread Dan Smith
> Deleting all snapshots would seem dangerous though...
>
> 1. I want to reset my instance to how it was before
> 2. I'll just do a snapshot in case I need any data in the future
> 3. rebuild
> 4. oops

Yep, for sure. I think if there are snapshots, we have to refuse to do
te thing. My comment was about the "does nova have authority to destroy
the root volume during a rebuild" and I think it does, if
delete_on_termination=True, and if there are no snapshots.

--Dan

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [nova] about rebuild instance booted from volume

2018-03-15 Thread Tim Bell
Deleting all snapshots would seem dangerous though...

1. I want to reset my instance to how it was before
2. I'll just do a snapshot in case I need any data in the future
3. rebuild
4. oops

Tim

-Original Message-
From: Ben Nemec <openst...@nemebean.com>
Reply-To: "OpenStack Development Mailing List (not for usage questions)" 
<openstack-dev@lists.openstack.org>
Date: Thursday, 15 March 2018 at 20:42
To: Dan Smith <d...@danplanet.com>
Cc: "OpenStack Development Mailing List (not for usage questions)" 
<openstack-dev@lists.openstack.org>, openstack-operators 
<openstack-operat...@lists.openstack.org>
Subject: Re: [openstack-dev] [nova] about rebuild instance booted from volume



On 03/15/2018 09:46 AM, Dan Smith wrote:
>> Rather than overload delete_on_termination, could another flag like
>> delete_on_rebuild be added?
> 
> Isn't delete_on_termination already the field we want? To me, that field
> means "nova owns this". If that is true, then we should be able to
> re-image the volume (in-place is ideal, IMHO) and if not, we just
> fail. Is that reasonable?

If that's what the flag means then it seems reasonable.  I got the 
impression from the previous discussion that not everyone was seeing it 
that way though.

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [nova] about rebuild instance booted from volume

2018-03-15 Thread Ben Nemec



On 03/15/2018 09:46 AM, Dan Smith wrote:

Rather than overload delete_on_termination, could another flag like
delete_on_rebuild be added?


Isn't delete_on_termination already the field we want? To me, that field
means "nova owns this". If that is true, then we should be able to
re-image the volume (in-place is ideal, IMHO) and if not, we just
fail. Is that reasonable?


If that's what the flag means then it seems reasonable.  I got the 
impression from the previous discussion that not everyone was seeing it 
that way though.


__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [nova] about rebuild instance booted from volume

2018-03-15 Thread Dan Smith
> Rather than overload delete_on_termination, could another flag like
> delete_on_rebuild be added?

Isn't delete_on_termination already the field we want? To me, that field
means "nova owns this". If that is true, then we should be able to
re-image the volume (in-place is ideal, IMHO) and if not, we just
fail. Is that reasonable?

--Dan

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [nova] about rebuild instance booted from volume

2018-03-15 Thread Ben Nemec



On 03/14/2018 08:46 AM, Matt Riedemann wrote:

On 3/14/2018 3:42 AM, 李杰 wrote:


             This is the spec about  rebuild a instance booted from 
volume.In the spec,there is a
       question about if we should delete the old root_volume.Anyone 
who is interested in
       booted from volume can help to review this. Any suggestion is 
welcome.Thank you!

       The link is here.
       Re:the rebuild spec:https://review.openstack.org/#/c/532407/


Copying the operators list and giving some more context.

This spec is proposing to add support for rebuild with a new image for 
volume-backed servers, which today is just a 400 failure in the API 
since the compute doesn't support that scenario.


With the proposed solution, the backing root volume would be deleted and 
a new volume would be created from the new image, similar to how boot 
from volume works.


The question raised in the spec is whether or not nova should delete the 
root volume even if its delete_on_termination flag is set to False. The 
semantics get a bit weird here since that flag was not meant for this 
scenario, it's meant to be used when deleting the server to which the 
volume is attached. Rebuilding a server is not deleting it, but we would 
need to replace the root volume, so what do we do with the volume we're 
replacing?


Do we say that delete_on_termination only applies to deleting a server 
and not rebuild and therefore nova can delete the root volume during a 
rebuild?


If we don't delete the volume during rebuild, we could end up leaving a 
lot of volumes lying around that the user then has to clean up, 
otherwise they'll eventually go over quota.


We need user (and operator) feedback on this issue and what they would 
expect to happen.




As a developer who would also be a user of this functionality, I don't 
want the volume left around after rebuild.  To me the data loss of the 
root disk is inherent in the rebuild operation.  I guess the one gotcha 
might be that I always create the root volume as part of the initial 
instance creation, if someone manually created a volume and then pointed 
Nova at it there's probably a better chance they don't want Nova to 
delete it on them.


Rather than overload delete_on_termination, could another flag like 
delete_on_rebuild be added?


-Ben

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [nova] about rebuild instance booted from volume

2018-03-14 Thread Matthew Booth
On 14 March 2018 at 13:46, Matt Riedemann  wrote:

> On 3/14/2018 3:42 AM, 李杰 wrote:
>
>>
>>  This is the spec about  rebuild a instance booted from
>> volume.In the spec,there is a
>>question about if we should delete the old root_volume.Anyone who
>> is interested in
>>booted from volume can help to review this. Any suggestion is
>> welcome.Thank you!
>>The link is here.
>>Re:the rebuild spec:https://review.openstack.org/#/c/532407/
>>
>
> Copying the operators list and giving some more context.
>
> This spec is proposing to add support for rebuild with a new image for
> volume-backed servers, which today is just a 400 failure in the API since
> the compute doesn't support that scenario.
>
> With the proposed solution, the backing root volume would be deleted and a
> new volume would be created from the new image, similar to how boot from
> volume works.
>
> The question raised in the spec is whether or not nova should delete the
> root volume even if its delete_on_termination flag is set to False. The
> semantics get a bit weird here since that flag was not meant for this
> scenario, it's meant to be used when deleting the server to which the
> volume is attached. Rebuilding a server is not deleting it, but we would
> need to replace the root volume, so what do we do with the volume we're
> replacing?
>
> Do we say that delete_on_termination only applies to deleting a server and
> not rebuild and therefore nova can delete the root volume during a rebuild?
>
> If we don't delete the volume during rebuild, we could end up leaving a
> lot of volumes lying around that the user then has to clean up, otherwise
> they'll eventually go over quota.
>
> We need user (and operator) feedback on this issue and what they would
> expect to happen.
>

My 2c was to overwrite, not delete the volume[1]. I believe this preserves
both sets of semantics: the server is rebuilt, and the volume is not
deleted. The user will still lose their data, of course, but that's implied
by the rebuild they explicitly requested. The volume id will remain the
same.

[1] I suspect this would require new functionality in cinder to
re-initialize from image.

Matt
-- 
Matthew Booth
Red Hat OpenStack Engineer, Compute DFG

Phone: +442070094448 (UK)
__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [nova] about rebuild instance booted from volume

2018-03-14 Thread Blair Bethwaite
Please do not default to deleting it, otherwise someone will eventually be
back here asking why an irate user has just lost data. The better scenario
is that the rebuild will fail (early - before impact to the running
instance) with a quota error.

Cheers,

On Thu., 15 Mar. 2018, 00:46 Matt Riedemann,  wrote:

> On 3/14/2018 3:42 AM, 李杰 wrote:
> >
> >  This is the spec about  rebuild a instance booted from
> > volume.In the spec,there is a
> >question about if we should delete the old root_volume.Anyone who
> > is interested in
> >booted from volume can help to review this. Any suggestion is
> > welcome.Thank you!
> >The link is here.
> >Re:the rebuild spec:https://review.openstack.org/#/c/532407/
>
> Copying the operators list and giving some more context.
>
> This spec is proposing to add support for rebuild with a new image for
> volume-backed servers, which today is just a 400 failure in the API
> since the compute doesn't support that scenario.
>
> With the proposed solution, the backing root volume would be deleted and
> a new volume would be created from the new image, similar to how boot
> from volume works.
>
> The question raised in the spec is whether or not nova should delete the
> root volume even if its delete_on_termination flag is set to False. The
> semantics get a bit weird here since that flag was not meant for this
> scenario, it's meant to be used when deleting the server to which the
> volume is attached. Rebuilding a server is not deleting it, but we would
> need to replace the root volume, so what do we do with the volume we're
> replacing?
>
> Do we say that delete_on_termination only applies to deleting a server
> and not rebuild and therefore nova can delete the root volume during a
> rebuild?
>
> If we don't delete the volume during rebuild, we could end up leaving a
> lot of volumes lying around that the user then has to clean up,
> otherwise they'll eventually go over quota.
>
> We need user (and operator) feedback on this issue and what they would
> expect to happen.
>
> --
>
> Thanks,
>
> Matt
>
> __
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [nova] about rebuild instance booted from volume

2018-03-14 Thread Jay S Bryant


On 3/14/2018 9:10 AM, Tim Bell wrote:

Matt,

To add another scenario and make things even more difficult (sorry (), if the 
original volume has snapshots, I don't think you can delete it.

Tim

Tim,

You are correct.  You can't delete volumes with snapshots.

Jay




-Original Message-
From: Matt Riedemann <mriede...@gmail.com>
Reply-To: "OpenStack Development Mailing List (not for usage questions)" 
<openstack-dev@lists.openstack.org>
Date: Wednesday, 14 March 2018 at 14:55
To: "openstack-dev@lists.openstack.org" <openstack-dev@lists.openstack.org>, 
openstack-operators <openstack-operat...@lists.openstack.org>
Subject: Re: [openstack-dev] [nova] about rebuild instance booted from volume

 On 3/14/2018 3:42 AM, 李杰 wrote:
 >
 >  This is the spec about  rebuild a instance booted from
 > volume.In the spec,there is a
 >question about if we should delete the old root_volume.Anyone who
 > is interested in
 >booted from volume can help to review this. Any suggestion is
 > welcome.Thank you!
 >The link is here.
 >Re:the rebuild spec:https://review.openstack.org/#/c/532407/
 
 Copying the operators list and giving some more context.
 
 This spec is proposing to add support for rebuild with a new image for

 volume-backed servers, which today is just a 400 failure in the API
 since the compute doesn't support that scenario.
 
 With the proposed solution, the backing root volume would be deleted and

 a new volume would be created from the new image, similar to how boot
 from volume works.
 
 The question raised in the spec is whether or not nova should delete the

 root volume even if its delete_on_termination flag is set to False. The
 semantics get a bit weird here since that flag was not meant for this
 scenario, it's meant to be used when deleting the server to which the
 volume is attached. Rebuilding a server is not deleting it, but we would
 need to replace the root volume, so what do we do with the volume we're
 replacing?
 
 Do we say that delete_on_termination only applies to deleting a server

 and not rebuild and therefore nova can delete the root volume during a
 rebuild?
 
 If we don't delete the volume during rebuild, we could end up leaving a

 lot of volumes lying around that the user then has to clean up,
 otherwise they'll eventually go over quota.
 
 We need user (and operator) feedback on this issue and what they would

 expect to happen.
 
 --
 
 Thanks,
 
 Matt
 
 __

 OpenStack Development Mailing List (not for usage questions)
 Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
 


__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev



__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [nova] about rebuild instance booted from volume

2018-03-14 Thread Tim Bell
Matt,

To add another scenario and make things even more difficult (sorry (), if the 
original volume has snapshots, I don't think you can delete it.

Tim


-Original Message-
From: Matt Riedemann <mriede...@gmail.com>
Reply-To: "OpenStack Development Mailing List (not for usage questions)" 
<openstack-dev@lists.openstack.org>
Date: Wednesday, 14 March 2018 at 14:55
To: "openstack-dev@lists.openstack.org" <openstack-dev@lists.openstack.org>, 
openstack-operators <openstack-operat...@lists.openstack.org>
Subject: Re: [openstack-dev] [nova] about rebuild instance booted from volume

On 3/14/2018 3:42 AM, 李杰 wrote:
> 
>  This is the spec about  rebuild a instance booted from 
> volume.In the spec,there is a
>question about if we should delete the old root_volume.Anyone who 
> is interested in
>booted from volume can help to review this. Any suggestion is 
> welcome.Thank you!
>The link is here.
>Re:the rebuild spec:https://review.openstack.org/#/c/532407/

Copying the operators list and giving some more context.

This spec is proposing to add support for rebuild with a new image for 
volume-backed servers, which today is just a 400 failure in the API 
since the compute doesn't support that scenario.

With the proposed solution, the backing root volume would be deleted and 
a new volume would be created from the new image, similar to how boot 
from volume works.

The question raised in the spec is whether or not nova should delete the 
root volume even if its delete_on_termination flag is set to False. The 
semantics get a bit weird here since that flag was not meant for this 
scenario, it's meant to be used when deleting the server to which the 
volume is attached. Rebuilding a server is not deleting it, but we would 
need to replace the root volume, so what do we do with the volume we're 
replacing?

Do we say that delete_on_termination only applies to deleting a server 
and not rebuild and therefore nova can delete the root volume during a 
rebuild?

If we don't delete the volume during rebuild, we could end up leaving a 
lot of volumes lying around that the user then has to clean up, 
otherwise they'll eventually go over quota.

We need user (and operator) feedback on this issue and what they would 
expect to happen.

-- 

Thanks,

Matt

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [nova] about rebuild instance booted from volume

2018-03-14 Thread Matt Riedemann

On 3/14/2018 3:42 AM, 李杰 wrote:


             This is the spec about  rebuild a instance booted from 
volume.In the spec,there is a
       question about if we should delete the old root_volume.Anyone who 
is interested in
       booted from volume can help to review this. Any suggestion is 
welcome.Thank you!

       The link is here.
       Re:the rebuild spec:https://review.openstack.org/#/c/532407/


Copying the operators list and giving some more context.

This spec is proposing to add support for rebuild with a new image for 
volume-backed servers, which today is just a 400 failure in the API 
since the compute doesn't support that scenario.


With the proposed solution, the backing root volume would be deleted and 
a new volume would be created from the new image, similar to how boot 
from volume works.


The question raised in the spec is whether or not nova should delete the 
root volume even if its delete_on_termination flag is set to False. The 
semantics get a bit weird here since that flag was not meant for this 
scenario, it's meant to be used when deleting the server to which the 
volume is attached. Rebuilding a server is not deleting it, but we would 
need to replace the root volume, so what do we do with the volume we're 
replacing?


Do we say that delete_on_termination only applies to deleting a server 
and not rebuild and therefore nova can delete the root volume during a 
rebuild?


If we don't delete the volume during rebuild, we could end up leaving a 
lot of volumes lying around that the user then has to clean up, 
otherwise they'll eventually go over quota.


We need user (and operator) feedback on this issue and what they would 
expect to happen.


--

Thanks,

Matt

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev