Jump to: navigation, search

Difference between revisions of "Nova/VersionedNotificationTransformation"

m (Tasks)
 
(11 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 +
= This work has been completed =
 +
 +
The information below is kept here for historical reasons
 +
 
== Goal ==
 
== Goal ==
 
Transform every legacy notification to the new versioned notification framework.
 
Transform every legacy notification to the new versioned notification framework.
Line 4: Line 8:
 
== How to do it ==
 
== How to do it ==
 
* Check the notification devref that describes the new framework:  http://docs.openstack.org/developer/nova/notifications.html
 
* Check the notification devref that describes the new framework:  http://docs.openstack.org/developer/nova/notifications.html
* Check the existing new versioned notification example: https://review.openstack.org/#/c/245678/
+
* Check the existing transformation patches  that are merged: http://burndown.peermore.com/nova-notification/
* Check the example transformation patch: https://review.openstack.org/#/c/313654/ or any other notification that is already transformed
+
* Select a transformation from the table on http://burndown.peermore.com/nova-notification/ You can take a patch with status TODO or you can check if a patch that is INPROGRESS needs help.  
* Select a task for the below table and add your IRC handle to table. (Please take only one at a time)
 
 
* Propose a transformation patch based on the examples.
 
* Propose a transformation patch based on the examples.
 
** Make sure that you create a new sample file under doc/notificaiton_samples/
 
** Make sure that you create a new sample file under doc/notificaiton_samples/
 
** Make sure that you add a notification sample test under nova/tests/functional/notification_sample_test/
 
** Make sure that you add a notification sample test under nova/tests/functional/notification_sample_test/
* If you got stuck you can ask questions from rlrossit and gibi on IRC or join the weekly notification subteam meeting https://wiki.openstack.org/wiki/Meetings/NovaNotification
+
* If you got stuck you can ask questions from gibi on IRC or join the weekly notification subteam meeting https://wiki.openstack.org/wiki/Meetings/NovaNotification
  
 
== Tasks ==
 
== Tasks ==
  
'''<big><big>The master is now open for Ocata so work can continue.
+
Please use the https://review.openstack.org/#/q/topic:bp/versioned-notification-transformation-rocky topic for the transformation commits
</big></big>
 
'''
 
 
 
Please use the https://review.openstack.org/#/q/topic:bp/versioned-notification-transformation-ocata topic for the transformation commits
 
 
 
 
 
The easy ones that uses the same payload as instance.delete:
 
  
{| class="wikitable"
 
|-
 
! event type !! status !! taken by !! review !! comments
 
|-
 
| instance.shutdown || in progress || siva_krishnan || https://review.openstack.org/#/c/329214  ||
 
|-
 
| instance.create_ip || move to Ocata  || antal || https://review.openstack.org/#/c/332876/ || renamed to add_fixed_ip to be more precise
 
|-
 
| instance.snapshot || move to Ocata || syjulian || https://review.openstack.org/#/c/330128/ ||
 
|-
 
| instance.reboot || move to Ocata || macsz || https://review.openstack.org/#/c/330224/ ||
 
|-
 
| instance.power_off || move to Ocata || xenogear || https://review.openstack.org/#/c/330761/ ||
 
|-
 
| instance.scheduled || in progress || jl7351 ||  ||
 
|-
 
| instance.delete_ip || open || ||  || rename it to remove_fixed_ip
 
|-
 
| instance.evacuate || open ||  ||  ||
 
|-
 
| instance.migration || open || ||  ||
 
|-
 
| instance.unpause || in progress || MikeG451 || https://review.openstack.org/380668 ||
 
|-
 
| instance.reboot.error || open ||  ||  ||
 
|-
 
| instance.shelve_offload || in progress ||vancsics ||  https://review.openstack.org/#/c/377239/ ||
 
|-
 
| instance.unshelve || open || stewie925 ||  ||
 
|-
 
| instance.soft_delete || open ||  ||  ||
 
|-
 
| instance.resume || in progress || stewie925  || https://review.openstack.org/#/c/375784/ ||
 
|-
 
| instance.trigger_crash_dump || open ||  ||  ||
 
|-
 
| instance.unrescue || open ||  ||  ||
 
|-
 
| instance.create || open ||  ||  || Some of the instance.create.<phase> notifications has extra payload
 
|-
 
| instance.rebuild || in progress || xavvior  ||  ||
 
|-
 
| instance.rebuild.scheduled || open ||  ||  || we might need to change the event_type
 
|-
 
| instance.resize.error || open ||  || ||
 
|-
 
| instance.resize.prep || open ||  ||  || we might need to change the event_type
 
|-
 
| instance.finish_resize || open ||  ||  || we might want to change the even_type
 
|-
 
| instance.resize.confirm || in progress || MikeG451 ||  ||
 
|-
 
| instance.resize.revert || open ||  ||  ||
 
|-
 
| instance.live.migration.abort || open ||  ||  || we might need to change the even_type to make it consistent
 
|-
 
| instance.live_migration.pre || open ||  ||  || we might want to change the event_type
 
|-
 
| instance.live_migration.rollback.dest || open  ||  ||  || we might want to change the event_type
 
|-
 
| instance.live_migration._rollback || open ||  ||  || we might want to change the event_type
 
|-
 
| instance.live_migration._post || open ||  ||  || we might want to change the even_type
 
|-
 
| instance.live_migration.post.dest || open ||  ||  || we might want to change the event_type
 
|-
 
| instance.delete || merged || gibi || https://review.openstack.org/#/c/313654  || This shall be the base of for the other instance.<action> transformation
 
|-
 
| instance.pause || merged || sneti  || https://review.openstack.org/#/c/329141/ ||
 
|-
 
| instance.power_on || merged || zhs || https://review.openstack.org/#/c/329746/ ||
 
|-
 
| instance.shelve || merged || vancsics  || https://review.openstack.org/#/c/332696/ ||
 
|-
 
| instance.suspend || merged || pumaranikar || https://review.openstack.org/#/c/329089  ||
 
|-
 
| instance.restore || merged || zhs || https://review.openstack.org/#/c/331972/ ||
 
|-
 
| instance.resize || merged || aunnam || https://review.openstack.org/#/c/329255/ ||
 
|}
 
  
The complex instance.<action> notifications that needs payload extension.
+
<big> [http://burndown.peermore.com/nova-notification/ The burndown chart is updated hourly from gerrit. ] </big>
{| class="wikitable"
+
You can see what to transform and what to review there.
|-
 
! event type !! status !! taken by !! review !! comments
 
|-
 
| instance.update || merged || gibi || https://review.openstack.org/#/c/325923/ || This shall be the example for creating instance.<action> notification with extended InstancePayload
 
|-
 
| instance.exists || open ||  ||  ||
 
|-
 
| instance.rescue || open ||  ||  ||
 
|-
 
| instance.volume.attach || open ||  ||  ||
 
|}
 
  
The rest:
 
  
{| class="wikitable"
+
There are three types of transformations:
|-
+
* category: instance-payload: The easy ones that uses the same payload as instance.delete
! event type !! status !! taken by !! review !! comments
+
* category: extended-instance-payload: The complex instance.<action> notifications that needs payload extension.
|-
+
* category: specific-payload: The rest that needs specific payload
| compute.exception || merged || laszloh ||  https://review.openstack.org/#/c/310700 ||
 
|-
 
| aggregate.addhost || open ||  ||  ||
 
|-
 
| aggregate.create || open ||  ||  ||
 
|-
 
| aggregate.delete || open ||  ||  ||
 
|-
 
| aggregate.removehost || open ||  ||  ||
 
|-
 
| aggregate.updatemetadata || open ||  ||  ||
 
|-
 
| aggregate.updateprop || open ||  ||  ||
 
|-
 
| api.fault || open ||  ||  ||
 
|-
 
| libvirt.error || open ||  ||  ||
 
|-
 
| compute_task.build_instances || open ||  ||  ||
 
|-
 
| compute_task.migrate_server || open ||  ||  ||
 
|-
 
| compute_task.rebuild_server || open ||  ||  ||
 
|-
 
| HostAPI.power_action || open ||  ||  ||
 
|-
 
| HostAPI.set_enabled || open ||  ||  ||
 
|-
 
| HostAPI.set_maintenance || open ||  ||  ||
 
|-
 
| keypair.create || spec exists ||  h-eguchi ||  spec: https://review.openstack.org/#/c/300942 ||
 
|-
 
| keypair.delete || spec exists ||  h-eguchi ||  spec: https://review.openstack.org/#/c/300942 ||
 
|-
 
| keypair.import || spec exists ||  h-eguchi ||  spec: https://review.openstack.org/#/c/300942 ||
 
|-
 
| network.floating_ip.allocate || open ||  ||  ||
 
|-
 
| network.floating_ip.associate || open ||  ||  ||
 
|-
 
| network.floating_ip.deallocate || open ||  ||  ||
 
|-
 
| network.floating_ip.disassociate || open ||  ||  ||
 
|-
 
| scheduler.select_destinations || open ||  ||  ||
 
|-
 
| servergroup.addmember || open ||  ||  ||
 
|-
 
| servergroup.create || open ||  ||  ||
 
|-
 
| servergroup.delete || open ||  ||  ||
 
|-
 
| volume.usage || open ||  ||  ||
 
|-
 
| metrics.update || open || sudipto  ||  ||
 
|}
 
  
  
=== Follow up tasks ===
+
If something doesn't show up on the burndown then please ping gibi on IRC.
* syjulian will solve security issue in wrap_exception notification see the comments in https://review.openstack.org/#/c/310700/19/nova/compute/utils.py and https://review.openstack.org/#/c/310700/19/nova/exception_wrapper.py
 
** Proposed in https://review.openstack.org/#/c/336284/
 
* syjulian to refactor out the additional notify_about_instance_action() calls see comments in https://review.openstack.org/#/c/313654/37/nova/compute/manager.py
 
** Proposed in https://review.openstack.org/#/c/344990/
 
* after the json schema patch is merged in ovo and a new ovo lib version is released we can add a tool to nova generate the json schemas for the versioned notifications.
 

Latest revision as of 09:21, 10 December 2018

This work has been completed

The information below is kept here for historical reasons

Goal

Transform every legacy notification to the new versioned notification framework.

How to do it

Tasks

Please use the https://review.openstack.org/#/q/topic:bp/versioned-notification-transformation-rocky topic for the transformation commits


The burndown chart is updated hourly from gerrit. You can see what to transform and what to review there.


There are three types of transformations:

  • category: instance-payload: The easy ones that uses the same payload as instance.delete
  • category: extended-instance-payload: The complex instance.<action> notifications that needs payload extension.
  • category: specific-payload: The rest that needs specific payload


If something doesn't show up on the burndown then please ping gibi on IRC.