)]}'
{"specs/ocata/approved/hypervisor-notification.rst":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"082ef3d79ca965b510caebc446fcf96f5a51da90","unresolved":false,"context_lines":[{"line_number":39,"context_line":"* ComputeNode.save"},{"line_number":40,"context_line":"* ComputeNode.destroy"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":".. note:: Notification will be sent only if any of the specified fields("},{"line_number":43,"context_line":"          \"vcpus\", \"memory_mb\", \"local_gb\", \"vcpus_used\", \"local_gb_used\","},{"line_number":44,"context_line":"          \"hypervisor_hostname\", \"disk_available_least\", \"running_vms\","},{"line_number":45,"context_line":"          \"current_workload\") changed to avoid unnecessary notifications"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa6399be_e16215ad","line":42,"updated":"2016-10-10 23:22:14.000000000","message":"There is more than just these fields in the payload though, why wouldn\u0027t you send the update notification if any of the payload fields changed? I realize this could mean an update notification for all compute nodes every 60 seconds by default because of the update_available_resource periodic task.","commit_id":"98df986a6c29f84c8ac6fae657df87a19431f200"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"72e82e48f3bcde1f815880c716ae5acf906f8a4a","unresolved":false,"context_lines":[{"line_number":39,"context_line":"* ComputeNode.save"},{"line_number":40,"context_line":"* ComputeNode.destroy"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":".. note:: Notification will be sent only if any of the specified fields("},{"line_number":43,"context_line":"          \"vcpus\", \"memory_mb\", \"local_gb\", \"vcpus_used\", \"local_gb_used\","},{"line_number":44,"context_line":"          \"hypervisor_hostname\", \"disk_available_least\", \"running_vms\","},{"line_number":45,"context_line":"          \"current_workload\") changed to avoid unnecessary notifications"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa6399be_e1ad1185","line":42,"in_reply_to":"fa6399be_4f719175","updated":"2016-10-14 02:55:03.000000000","message":"Sorry i didn\u0027t note this clear, the note is only for the save action, so a create notification will be sent first when a hypervisor node first comes online, and then update notification will be sent if these values changed.\n\nThe notifications are sent by nova-conductor","commit_id":"98df986a6c29f84c8ac6fae657df87a19431f200"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"48835c3da21de16a23f95c8be57f606c41b8dfb2","unresolved":false,"context_lines":[{"line_number":39,"context_line":"* ComputeNode.save"},{"line_number":40,"context_line":"* ComputeNode.destroy"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":".. note:: Notification will be sent only if any of the specified fields("},{"line_number":43,"context_line":"          \"vcpus\", \"memory_mb\", \"local_gb\", \"vcpus_used\", \"local_gb_used\","},{"line_number":44,"context_line":"          \"hypervisor_hostname\", \"disk_available_least\", \"running_vms\","},{"line_number":45,"context_line":"          \"current_workload\") changed to avoid unnecessary notifications"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa6399be_4f719175","line":42,"in_reply_to":"fa6399be_e16215ad","updated":"2016-10-13 20:48:44.000000000","message":"I admit to being confused here too.\n\nA change to these values does not imply a create. That would be an update. So wouldn\u0027t we send a create when a hypervisor node first comes online, and then send an update if these values changed?\n\nIn fact, where in the code are these being send from? Nova compute? The scheduler?","commit_id":"98df986a6c29f84c8ac6fae657df87a19431f200"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"72e82e48f3bcde1f815880c716ae5acf906f8a4a","unresolved":false,"context_lines":[{"line_number":39,"context_line":"* ComputeNode.save"},{"line_number":40,"context_line":"* ComputeNode.destroy"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":".. note:: Notification will be sent only if any of the specified fields("},{"line_number":43,"context_line":"          \"vcpus\", \"memory_mb\", \"local_gb\", \"vcpus_used\", \"local_gb_used\","},{"line_number":44,"context_line":"          \"hypervisor_hostname\", \"disk_available_least\", \"running_vms\","},{"line_number":45,"context_line":"          \"current_workload\") changed to avoid unnecessary notifications"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa6399be_03284de1","line":42,"in_reply_to":"fa6399be_e16215ad","updated":"2016-10-14 02:55:03.000000000","message":"Yeah, it\u0027s reasonable to include the other fields in payload also.","commit_id":"98df986a6c29f84c8ac6fae657df87a19431f200"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"23a2c99f5b00457bab4fc28a5b02370461be872e","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Alternatives"},{"line_number":49,"context_line":"------------"},{"line_number":50,"context_line":"None"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Data model impact"},{"line_number":53,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa6399be_2187ad10","line":50,"updated":"2016-10-10 23:29:59.000000000","message":"Why does nova need to emit these notifications when you could monitor them with something like sensu?\n\nhttps://github.com/sensu-plugins/sensu-plugins-openstack/blob/master/bin/nova/nova-hypervisor-metrics.py\n\nGranted ^ is only whatever is available in the os-hypervisors API, and might not have changed between calls from the sensu monitor.","commit_id":"98df986a6c29f84c8ac6fae657df87a19431f200"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"72e82e48f3bcde1f815880c716ae5acf906f8a4a","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Alternatives"},{"line_number":49,"context_line":"------------"},{"line_number":50,"context_line":"None"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Data model impact"},{"line_number":53,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa6399be_41887dc5","line":50,"in_reply_to":"fa6399be_2187ad10","updated":"2016-10-14 02:55:03.000000000","message":"in order to get the up to date data and not to increase the API pressure, notification is a better way for external system like Searchlight.","commit_id":"98df986a6c29f84c8ac6fae657df87a19431f200"}],"specs/pike/approved/compute-node-notification.rst":[{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"90bd2306a229caad048401cc6aeb969c6f255134","unresolved":false,"context_lines":[{"line_number":42,"context_line":".. note:: Notification will be sent only if any of the specified fields("},{"line_number":43,"context_line":"          \"vcpus\", \"memory_mb\", \"local_gb\", \"vcpus_used\", \"local_gb_used\","},{"line_number":44,"context_line":"          \"hypervisor_hostname\", \"disk_available_least\", \"running_vms\","},{"line_number":45,"context_line":"          \"current_workload\") changed to avoid unnecessary notifications"},{"line_number":46,"context_line":"          with the same content."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":5,"id":"dfeb2761_f0344995","line":45,"updated":"2017-04-04 15:41:20.000000000","message":"and memory_mb_used, right?","commit_id":"e02950e638c864dd128364f322418aeec0403a72"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"1140818646a02c1edbd82bd66c55a36ea2eb3e57","unresolved":false,"context_lines":[{"line_number":42,"context_line":".. note:: Notification will be sent only if any of the specified fields("},{"line_number":43,"context_line":"          \"vcpus\", \"memory_mb\", \"local_gb\", \"vcpus_used\", \"local_gb_used\","},{"line_number":44,"context_line":"          \"hypervisor_hostname\", \"disk_available_least\", \"running_vms\","},{"line_number":45,"context_line":"          \"current_workload\") changed to avoid unnecessary notifications"},{"line_number":46,"context_line":"          with the same content."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":5,"id":"dfeb2761_4135578e","line":45,"in_reply_to":"dfeb2761_f0344995","updated":"2017-04-05 01:30:11.000000000","message":"yes..","commit_id":"e02950e638c864dd128364f322418aeec0403a72"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"23ba643523e40ef0a5ff240b66ae1df25adf2b69","unresolved":false,"context_lines":[{"line_number":78,"context_line":"            \u0027local_gb\u0027: (\u0027compute_node\u0027, \u0027local_gb\u0027),"},{"line_number":79,"context_line":"            \u0027vcpus_used\u0027: (\u0027compute_node\u0027, \u0027vcpus_used\u0027),"},{"line_number":80,"context_line":"            \u0027memory_mb_used\u0027: (\u0027compute_node\u0027, \u0027memory_mb_used\u0027),"},{"line_number":81,"context_line":"            \u0027local_gb_used\u0027: (\u0027compute_node\u0027, \u0027local_gb_used\u0027),"},{"line_number":82,"context_line":"            \u0027hypervisor_type\u0027: (\u0027compute_node\u0027, \u0027hypervisor_type\u0027),"},{"line_number":83,"context_line":"            \u0027hypervisor_version\u0027: (\u0027compute_node\u0027, \u0027hypervisor_version\u0027),"},{"line_number":84,"context_line":"            \u0027hypervisor_hostname\u0027: (\u0027compute_node\u0027, \u0027hypervisor_hostname\u0027),"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ffe62b97_4abfb2af","line":81,"updated":"2017-03-28 09:38:42.000000000","message":"Does the resources related data also modeled in the resource_provider data model? If yes then would it be better to emit resource related notification from that more generic place?","commit_id":"e02950e638c864dd128364f322418aeec0403a72"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"46429c0d8a8b5cd259f9ba242e5a34d081664ff7","unresolved":false,"context_lines":[{"line_number":78,"context_line":"            \u0027local_gb\u0027: (\u0027compute_node\u0027, \u0027local_gb\u0027),"},{"line_number":79,"context_line":"            \u0027vcpus_used\u0027: (\u0027compute_node\u0027, \u0027vcpus_used\u0027),"},{"line_number":80,"context_line":"            \u0027memory_mb_used\u0027: (\u0027compute_node\u0027, \u0027memory_mb_used\u0027),"},{"line_number":81,"context_line":"            \u0027local_gb_used\u0027: (\u0027compute_node\u0027, \u0027local_gb_used\u0027),"},{"line_number":82,"context_line":"            \u0027hypervisor_type\u0027: (\u0027compute_node\u0027, \u0027hypervisor_type\u0027),"},{"line_number":83,"context_line":"            \u0027hypervisor_version\u0027: (\u0027compute_node\u0027, \u0027hypervisor_version\u0027),"},{"line_number":84,"context_line":"            \u0027hypervisor_hostname\u0027: (\u0027compute_node\u0027, \u0027hypervisor_hostname\u0027),"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ffe62b97_0d207dab","line":81,"in_reply_to":"ffe62b97_4abfb2af","updated":"2017-03-29 01:41:07.000000000","message":"I\u0027m not familiar with the resource_provider related code, but didn\u0027t find related data here: https://github.com/openstack/nova/blob/master/nova/objects/resource_provider.py","commit_id":"e02950e638c864dd128364f322418aeec0403a72"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"23ba643523e40ef0a5ff240b66ae1df25adf2b69","unresolved":false,"context_lines":[{"line_number":91,"context_line":"        }"},{"line_number":92,"context_line":"        VERSION \u003d \u00271.0\u0027"},{"line_number":93,"context_line":"        fields \u003d {"},{"line_number":94,"context_line":"            \u0027id\u0027: fields.IntegerField(),"},{"line_number":95,"context_line":"            \u0027uuid\u0027: fields.UUIDField(),"},{"line_number":96,"context_line":"            \u0027host\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":97,"context_line":"            \u0027vcpus\u0027: fields.IntegerField(),"},{"line_number":98,"context_line":"            \u0027memory_mb\u0027: fields.IntegerField(),"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ffe62b97_ca3d022c","line":95,"range":{"start_line":94,"start_character":0,"end_line":95,"end_character":39},"updated":"2017-03-28 09:38:42.000000000","message":"Why do we need both id and uuid? I guess id is some db primary key and as such we should not expose it.","commit_id":"e02950e638c864dd128364f322418aeec0403a72"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"46429c0d8a8b5cd259f9ba242e5a34d081664ff7","unresolved":false,"context_lines":[{"line_number":91,"context_line":"        }"},{"line_number":92,"context_line":"        VERSION \u003d \u00271.0\u0027"},{"line_number":93,"context_line":"        fields \u003d {"},{"line_number":94,"context_line":"            \u0027id\u0027: fields.IntegerField(),"},{"line_number":95,"context_line":"            \u0027uuid\u0027: fields.UUIDField(),"},{"line_number":96,"context_line":"            \u0027host\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":97,"context_line":"            \u0027vcpus\u0027: fields.IntegerField(),"},{"line_number":98,"context_line":"            \u0027memory_mb\u0027: fields.IntegerField(),"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ffe62b97_d0a6ac0f","line":95,"range":{"start_line":94,"start_character":0,"end_line":95,"end_character":39},"in_reply_to":"ffe62b97_ca3d022c","updated":"2017-03-29 01:41:07.000000000","message":"The API is exposing id instead uuid, may be issue left by history? need the id field consistent with the API from the external system(searchlight) point.","commit_id":"e02950e638c864dd128364f322418aeec0403a72"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"1140818646a02c1edbd82bd66c55a36ea2eb3e57","unresolved":false,"context_lines":[{"line_number":91,"context_line":"        }"},{"line_number":92,"context_line":"        VERSION \u003d \u00271.0\u0027"},{"line_number":93,"context_line":"        fields \u003d {"},{"line_number":94,"context_line":"            \u0027id\u0027: fields.IntegerField(),"},{"line_number":95,"context_line":"            \u0027uuid\u0027: fields.UUIDField(),"},{"line_number":96,"context_line":"            \u0027host\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":97,"context_line":"            \u0027vcpus\u0027: fields.IntegerField(),"},{"line_number":98,"context_line":"            \u0027memory_mb\u0027: fields.IntegerField(),"}],"source_content_type":"text/x-rst","patch_set":5,"id":"dfeb2761_e17fcb12","line":95,"range":{"start_line":94,"start_character":0,"end_line":95,"end_character":39},"in_reply_to":"ffe62b97_ca3d022c","updated":"2017-04-05 01:30:11.000000000","message":"updated to use uuid only since this spec merged http://specs.openstack.org/openstack/nova-specs/specs/pike/approved/service-hyper-uuid-in-api.html","commit_id":"e02950e638c864dd128364f322418aeec0403a72"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"23ba643523e40ef0a5ff240b66ae1df25adf2b69","unresolved":false,"context_lines":[{"line_number":130,"context_line":"    class ComputeNodeDeletePayload(notification.NotificationPayloadBase):"},{"line_number":131,"context_line":"        # Version 1.0: Initial version"},{"line_number":132,"context_line":"        SCHEMA \u003d {"},{"line_number":133,"context_line":"            \u0027id\u0027: (\u0027compute_node\u0027, \u0027id\u0027),"},{"line_number":134,"context_line":"            \u0027uuid\u0027: (\u0027compute_node\u0027, \u0027uuid\u0027),"},{"line_number":135,"context_line":"        }"},{"line_number":136,"context_line":"        VERSION \u003d \u00271.0\u0027"},{"line_number":137,"context_line":"        fields \u003d {"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ffe62b97_ca262216","line":134,"range":{"start_line":133,"start_character":0,"end_line":134,"end_character":45},"updated":"2017-03-28 09:38:42.000000000","message":"do we need both?","commit_id":"e02950e638c864dd128364f322418aeec0403a72"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"1140818646a02c1edbd82bd66c55a36ea2eb3e57","unresolved":false,"context_lines":[{"line_number":130,"context_line":"    class ComputeNodeDeletePayload(notification.NotificationPayloadBase):"},{"line_number":131,"context_line":"        # Version 1.0: Initial version"},{"line_number":132,"context_line":"        SCHEMA \u003d {"},{"line_number":133,"context_line":"            \u0027id\u0027: (\u0027compute_node\u0027, \u0027id\u0027),"},{"line_number":134,"context_line":"            \u0027uuid\u0027: (\u0027compute_node\u0027, \u0027uuid\u0027),"},{"line_number":135,"context_line":"        }"},{"line_number":136,"context_line":"        VERSION \u003d \u00271.0\u0027"},{"line_number":137,"context_line":"        fields \u003d {"}],"source_content_type":"text/x-rst","patch_set":5,"id":"dfeb2761_618cdb35","line":134,"range":{"start_line":133,"start_character":0,"end_line":134,"end_character":45},"in_reply_to":"ffe62b97_ca262216","updated":"2017-04-05 01:30:11.000000000","message":"updated to use uuid only","commit_id":"e02950e638c864dd128364f322418aeec0403a72"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"9781f624ad7f805f18e2b56e4b6386091ba8c69e","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Versioned notifications will be added for the following actions:"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"* host.create"},{"line_number":39,"context_line":"* host.update"},{"line_number":40,"context_line":"* host.delete"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":".. note:: Notification will be sent only if any of the specified fields("},{"line_number":43,"context_line":"          \"vcpus\", \"memory_mb\", \"memory_mb_used\", \"local_gb\", \"vcpus_used\","}],"source_content_type":"text/x-rst","patch_set":6,"id":"7f515b1d_9cd36001","line":40,"range":{"start_line":38,"start_character":0,"end_line":40,"end_character":13},"updated":"2017-10-03 11:53:06.000000000","message":"I agree with Sean\u0027s earlier comment that os-host is deprecated in favor of os-services so if you need notification about the generic host state then I think you need to listen to the service.update notification. I also proposed to add service.create to signal deployment expansion cases[1]. \n\n[1]https://blueprints.launchpad.net/nova/+spec/emit-service-create-notification","commit_id":"d3264540ddd80b283cb9eb9b4fe3d0fc923e2b1a"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"76a066114a98d543447459a18e9de7d95fa06cba","unresolved":false,"context_lines":[{"line_number":43,"context_line":"          \"vcpus\", \"memory_mb\", \"memory_mb_used\", \"local_gb\", \"vcpus_used\","},{"line_number":44,"context_line":"\t  \"local_gb_used\", \"hypervisor_hostname\", \"disk_available_least\","},{"line_number":45,"context_line":"          \"running_vms\", \"current_workload\") changed to avoid unnecessary"},{"line_number":46,"context_line":"          notifications with the same content."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Alternatives"},{"line_number":49,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5f2577a7_746d1e03","line":46,"updated":"2017-09-12 17:46:34.000000000","message":"So you\u0027re ready to accept flows of notifications every period (which is defaulted to 60secs) for getting information about the compute inventories ?\n\nNot sure I see a real interest, and looks rather like trying to do a Nagios-like notifications-based tooling system.\n\nI can totally get the interest for create and delete tho but I do wonder if Searchlight shouldn\u0027t rather index using the Placement API if they really need to.","commit_id":"d3264540ddd80b283cb9eb9b4fe3d0fc923e2b1a"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"9781f624ad7f805f18e2b56e4b6386091ba8c69e","unresolved":false,"context_lines":[{"line_number":86,"context_line":"            \u0027current_workload\u0027: (\u0027compute_node\u0027, \u0027current_workload\u0027),"},{"line_number":87,"context_line":"            \u0027running_vms\u0027: (\u0027compute_node\u0027, \u0027running_vms\u0027),"},{"line_number":88,"context_line":"            \u0027disk_available_least\u0027: (\u0027compute_node\u0027, \u0027disk_available_least\u0027),"},{"line_number":89,"context_line":"            \u0027host_ip\u0027: (\u0027compute_node\u0027, \u0027host_ip\u0027),"},{"line_number":90,"context_line":"        }"},{"line_number":91,"context_line":"        VERSION \u003d \u00271.0\u0027"},{"line_number":92,"context_line":"        fields \u003d {"}],"source_content_type":"text/x-rst","patch_set":6,"id":"7f515b1d_dc52f866","line":89,"updated":"2017-10-03 11:53:06.000000000","message":"I feel that signaling resource inventory and allocation changes could be done in a generic way from placement API. So if you need notification about these kind of changes then I suggest to push the bp https://blueprints.launchpad.net/nova/+spec/placement-notifications forward instead.","commit_id":"d3264540ddd80b283cb9eb9b4fe3d0fc923e2b1a"}],"specs/pike/approved/hypervisor-notification.rst":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2d3bbc86d9737fe3d34ce188bf743c3c989dd50c","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Add notifications for hypervisor"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/hypervisor-notification"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Currently, no notification will be sent for compute node state change,"},{"line_number":14,"context_line":"so it is not possible for external system to get notifications when"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ffe62b97_550e5132","line":11,"updated":"2017-03-27 18:39:55.000000000","message":"A compute node in Nova does not necessarily equal a hypervisor. An Ironic node is a compute node in Nova as well.","commit_id":"7d7e8c7d4ea88298ec829c6c0c44095c5c5162cd"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"e7d36322ef140a97876cff28ed11be36bbe5d8e0","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Add notifications for hypervisor"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/hypervisor-notification"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Currently, no notification will be sent for compute node state change,"},{"line_number":14,"context_line":"so it is not possible for external system to get notifications when"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ffe62b97_8f26facd","line":11,"in_reply_to":"ffe62b97_550e5132","updated":"2017-03-28 02:17:06.000000000","message":"changed to compute node:)","commit_id":"7d7e8c7d4ea88298ec829c6c0c44095c5c5162cd"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2d3bbc86d9737fe3d34ce188bf743c3c989dd50c","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"* ComputeNode.create"},{"line_number":39,"context_line":"* ComputeNode.save"},{"line_number":40,"context_line":"* ComputeNode.destroy"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":".. note:: Notification will be sent only if any of the specified fields("},{"line_number":43,"context_line":"          \"vcpus\", \"memory_mb\", \"local_gb\", \"vcpus_used\", \"local_gb_used\","}],"source_content_type":"text/x-rst","patch_set":3,"id":"ffe62b97_fa4c349f","line":40,"updated":"2017-03-27 18:39:55.000000000","message":"To align with other notification events, these should be:\n\n * host.create\n * host.update\n * host.delete\n\nhttps://github.com/openstack/nova/tree/master/doc/notification_samples\n\nI use the term \"host\" instead of \"node\" or \"compute_node\" because that\u0027s really what is being operated against here and \"node\" is something the Ironic project uses in its public API (Nova doesn\u0027t, we refer to them as hosts in the public API: https://developer.openstack.org/api-ref/compute/#hosts-os-hosts)","commit_id":"7d7e8c7d4ea88298ec829c6c0c44095c5c5162cd"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"e7d36322ef140a97876cff28ed11be36bbe5d8e0","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"* ComputeNode.create"},{"line_number":39,"context_line":"* ComputeNode.save"},{"line_number":40,"context_line":"* ComputeNode.destroy"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":".. note:: Notification will be sent only if any of the specified fields("},{"line_number":43,"context_line":"          \"vcpus\", \"memory_mb\", \"local_gb\", \"vcpus_used\", \"local_gb_used\","}],"source_content_type":"text/x-rst","patch_set":3,"id":"ffe62b97_5248995a","line":40,"in_reply_to":"ffe62b97_fa4c349f","updated":"2017-03-28 02:17:06.000000000","message":"Done","commit_id":"7d7e8c7d4ea88298ec829c6c0c44095c5c5162cd"}]}
