[openstack-dev] [nova] notification impact of moving the instance create to the conductor

Matt Riedemann mriedemos at gmail.com
Wed Feb 15 21:31:56 UTC 2017


On 2/15/2017 11:07 AM, Balazs Gibizer wrote:
> Hi,
>
> It seems that the Move instance creation to conductor commit [1] changed
> when and how the instance.delete notification is emitted for an
> unscheduled instance. Unfortunately the legacy notification doesn't have
> test coverage and the versioned notification coverage are still on
> review [2] for this case.
>
> Before [1] the instance.delete for an unscheduled instance is emitted
> from here [3]. But after [1] the execution of the same delete operation
> goes to a new direction [4] and never reaches [3].
> Before [1] the new test coverage in [2] was passing but now after [1] is
> merged the test_create_server_error fails as the instance.delete
> notification is not emitted.
>
> Is it an intentional change or a bug? If it is a bug could you give me
> some pointers how to restore the original notification behavior?
>
> Cheers,
> gibi
>
> [1] https://review.openstack.org/#/c/319379
> [2] https://review.openstack.org/#/c/410297
> [3] https://review.openstack.org/#/c/410297/9/nova/compute/api.py@1860
> [4] https://review.openstack.org/#/c/319379/84/nova/compute/api.py@1790
>
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

This isn't intentional, it was just missed. So please create a bug for 
tracking this and we'll have to backport that to stable/ocata.

I think we could send the notification here [1] if we have a build 
request and delete it.

Or here [2] if the build request is already deleted and we have to 
delete the instance in the cell.

The thing that is tricking me here is we might also need to handle it in 
conductor here [3].

Needless to say we're going to want a utility method probably so we 
don't have to duplicate the same notify_start/delete/notify_end block of 
code all over compute API and conductor.

[1] 
https://github.com/openstack/nova/blob/93bf6ba5186a3663606aa843a2f247709173f073/nova/compute/api.py#L1759
[2] 
https://github.com/openstack/nova/blob/93bf6ba5186a3663606aa843a2f247709173f073/nova/compute/api.py#L1790
[3] 
https://github.com/openstack/nova/blob/93bf6ba5186a3663606aa843a2f247709173f073/nova/conductor/manager.py#L963

-- 

Thanks,

Matt Riedemann



More information about the OpenStack-dev mailing list