Optionally disable some listener events
Nova sends a lot of events on power operations - typically two updates and two suspend (or resume) events. We currently do not listen to 'suspend' or 'resume' events (see https:/
Processing from notification alone would be fine; hitting the API 2 or 4 times is probably not. The suggestion is to in a general sense allow a configuration option to ignore certain events, and in a more specific case for nova notifications to avoid the transitionary events (such as updates where the state_description indicates a power state change). The general case i think is reasonably simple and useful; the specific case is maybe a little complicated (I don't know if localization can affect things, and making logic decisions based on payload might be a bit dodgy).
Text from related bug that I (TravT) just closed in favor of this BP.
https:/
Initial indexing is done on demand, but keeping the index up-to-date is dependent on notifications from the various services. Right now there are gaps in the data provided by Nova notifications. We hope to solve this with versioned notifications, but even as we move towards versioned notifications, they may not be supported in legacy deployments.
In best case scenarios, Nova can move through a provisioning request in only a few seconds. This would disable API calls for intermediate states in Nova instance actions, or at least make that a configuration option to disable those callbacks in cases where searchlight indexing callbacks are a problem.
Blueprint information
- Status:
- Complete
- Approver:
- Travis Tripp
- Priority:
- Essential
- Drafter:
- Steve McLellan
- Direction:
- Approved
- Assignee:
- Steve McLellan
- Definition:
- Approved
- Series goal:
- Accepted for newton
- Implementation:
- Implemented
- Milestone target:
- newton-2
- Started by
- Travis Tripp
- Completed by
- Travis Tripp
Related branches
Related bugs
Sprints
Whiteboard
[TravT] I think this should be done in conjunction with any efforts to improve notifications, potentially even use versioned notifications from nova: https:/
The full list and payload of events on a successful nova boot (neutron networking) is in http://
The relevant events and fields:
# Registers the id, image, flavor etc
compute.
# Comes after the scheduler reservation_id is assigned but before a compute host is assigned
compute.
# Still no host
compute.
# Host assigned
compute.
# Networking starts
compute.
# Disks, still no IP information
compute.
# Actually spin up the VM
compute.
# Networking notifications
port.create.start @ 2016-05-12 20:44:41.673135
port.create.end @ 2016-05-12 20:44:42.700366
# Glance notifications
image.send @ 2016-05-12 20:44:42.700366
image.send @ 2016-05-12 20:44:45.444854
# VM finished init. No networking information here
compute.
compute.
A failed boot (no compute hosts available) is in http://
Delete also issues a lot of events: http://
Gerrit topic: https:/
Addressed by: https:/
Reduce number of API calls on nova boot