)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"965959302b03d9d62c77184a97d2cff5cefc7df3","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Kevin_Zheng \u003czhengzhenyu@huawei.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-03-14 14:48:12 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Send out notifications when instance tags chaned"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Tag instance was added in microversion 2.26, tags have a separate"},{"line_number":10,"context_line":"DB table and it is only related to the instance only by instance"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3a1ff146_64ef0ab1","line":7,"range":{"start_line":7,"start_character":42,"end_line":7,"end_character":48},"updated":"2017-03-14 15:21:59.000000000","message":"changed","commit_id":"0e9f7f9c78c8068b2348611c93638be4474417a9"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"965959302b03d9d62c77184a97d2cff5cefc7df3","unresolved":false,"context_lines":[{"line_number":10,"context_line":"DB table and it is only related to the instance only by instance"},{"line_number":11,"context_line":"uuid. Currently, when instance tag added, updated or deleted,no"},{"line_number":12,"context_line":"notification will be send out. Other services like Searchlight"},{"line_number":13,"context_line":"and Ceilometer have no way to know this information except call"},{"line_number":14,"context_line":"instance/detail API."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Since tags are designed to be used for filter instances, and"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3a1ff146_e4105aab","line":13,"range":{"start_line":13,"start_character":4,"end_line":13,"end_character":14},"updated":"2017-03-14 15:21:59.000000000","message":"I\u0027m not sure why ceilometer cares about instance tags, what do tags have to do with monitoring and billing?","commit_id":"0e9f7f9c78c8068b2348611c93638be4474417a9"}],"specs/pike/approved/send-tag-notification.rst":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"41e26e6c8be58683dd8b71064812a123fa3cdf51","unresolved":false,"context_lines":[{"line_number":45,"context_line":"* Tags.delete"},{"line_number":46,"context_line":"* Tags.delete_all"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Alternatives"},{"line_number":50,"context_line":"------------"},{"line_number":51,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da36d5c6_5fc0efe0","line":48,"updated":"2017-02-28 09:40:18.000000000","message":"Is this work depends on https://blueprints.launchpad.net/nova/+spec/additional-notification-fields-for-searchlight in any way? There it is proposed to  add tags to instance related notifications.","commit_id":"1f8751594fe5a28ea91e9e831327533806bf7987"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"fc141b02311da54b9e1d5004ff9c00f6e683a941","unresolved":false,"context_lines":[{"line_number":45,"context_line":"* Tags.delete"},{"line_number":46,"context_line":"* Tags.delete_all"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Alternatives"},{"line_number":50,"context_line":"------------"},{"line_number":51,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da36d5c6_18a048a5","line":48,"in_reply_to":"da36d5c6_5fc0efe0","updated":"2017-02-28 14:01:43.000000000","message":"Yeah, after reading the ML about PTG, I think the best solution will be send out Instance.update notifications(with tags field of cause) here, I will update the spec.","commit_id":"1f8751594fe5a28ea91e9e831327533806bf7987"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"41e26e6c8be58683dd8b71064812a123fa3cdf51","unresolved":false,"context_lines":[{"line_number":100,"context_line":"            \u0027disabled\u0027: fields.BooleanField(),"},{"line_number":101,"context_line":"            \u0027is_public\u0027: fields.BooleanField(),"},{"line_number":102,"context_line":"            \u0027extra_specs\u0027: fields.DictOfStringsField(),"},{"line_number":103,"context_line":"            \u0027projects\u0027: fields.ListOfStringsField(),"},{"line_number":104,"context_line":"        }"},{"line_number":105,"context_line":"        def __init__(self, flavor):"},{"line_number":106,"context_line":"            super(TagsPayload, self).__init__()"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da36d5c6_dfd77fbd","line":103,"updated":"2017-02-28 09:40:18.000000000","message":"This now looks like a FlavorPayload to me. Is this really what you want to send in case of some tag is added to an instance?","commit_id":"1f8751594fe5a28ea91e9e831327533806bf7987"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"fc141b02311da54b9e1d5004ff9c00f6e683a941","unresolved":false,"context_lines":[{"line_number":100,"context_line":"            \u0027disabled\u0027: fields.BooleanField(),"},{"line_number":101,"context_line":"            \u0027is_public\u0027: fields.BooleanField(),"},{"line_number":102,"context_line":"            \u0027extra_specs\u0027: fields.DictOfStringsField(),"},{"line_number":103,"context_line":"            \u0027projects\u0027: fields.ListOfStringsField(),"},{"line_number":104,"context_line":"        }"},{"line_number":105,"context_line":"        def __init__(self, flavor):"},{"line_number":106,"context_line":"            super(TagsPayload, self).__init__()"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da36d5c6_98e6f814","line":103,"in_reply_to":"da36d5c6_dfd77fbd","updated":"2017-02-28 14:01:43.000000000","message":"Ha, yes, this is is copied from flavor since this was a WIP spec I uploaded before holiday, and I will update this soon :)","commit_id":"1f8751594fe5a28ea91e9e831327533806bf7987"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6ab4ebe7d80ae3e9b5356e2440052a079b0a4995","unresolved":false,"context_lines":[{"line_number":41,"context_line":"versioned notification in:"},{"line_number":42,"context_line":"https://blueprints.launchpad.net/nova/+spec/additional-notification-fields-for-searchlight"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"This blueprint will then send out instance.update notifications for"},{"line_number":45,"context_line":"the following actions:"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"* Tags.update"},{"line_number":48,"context_line":"* Tags.update_all"},{"line_number":49,"context_line":"* Tags.delete"},{"line_number":50,"context_line":"* Tags.delete_all"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Alternatives"},{"line_number":53,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba2be162_02349047","line":50,"range":{"start_line":44,"start_character":0,"end_line":50,"end_character":17},"updated":"2017-03-06 12:22:28.000000000","message":"Let\u0027s be a bit more specific what API action will now emit a instance.update notification. I think the above list means the following API actions:\nPUT /servers/{server_id}/tags/{tag}\nPUT /servers/{server_id}/tags\nDELETE servers/{server_id}/tags/{tag}\nDELETE /servers/{server_id}/tags","commit_id":"375652a751695a5354b059e5125567f40f44a23c"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"c8cdae8a8186dcab19e25c1ed24836bffcd041eb","unresolved":false,"context_lines":[{"line_number":41,"context_line":"versioned notification in:"},{"line_number":42,"context_line":"https://blueprints.launchpad.net/nova/+spec/additional-notification-fields-for-searchlight"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"This blueprint will then send out instance.update notifications for"},{"line_number":45,"context_line":"the following actions:"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"* Tags.update"},{"line_number":48,"context_line":"* Tags.update_all"},{"line_number":49,"context_line":"* Tags.delete"},{"line_number":50,"context_line":"* Tags.delete_all"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Alternatives"},{"line_number":53,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a22e58a_cbfd2970","line":50,"range":{"start_line":44,"start_character":0,"end_line":50,"end_character":17},"in_reply_to":"ba2be162_02349047","updated":"2017-03-14 06:31:07.000000000","message":"Done","commit_id":"375652a751695a5354b059e5125567f40f44a23c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6ab4ebe7d80ae3e9b5356e2440052a079b0a4995","unresolved":false,"context_lines":[{"line_number":48,"context_line":"* Tags.update_all"},{"line_number":49,"context_line":"* Tags.delete"},{"line_number":50,"context_line":"* Tags.delete_all"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Alternatives"},{"line_number":53,"context_line":"------------"},{"line_number":54,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba2be162_428cc8d9","line":51,"updated":"2017-03-06 12:22:28.000000000","message":"As far as I understand Tags is designed in a way that the resource_id can be any kind of uuid not just instance uuid however currently only instance can be tagged in nova. If we send out the notification from the ServerTagsController from the nova-api then this solution will be specific for server tags. It seems OK now. I\u0027m just wondering what will happen if nova starts supporting tagging other than server objects. Will we always handle that case specific to the actual type of the resource_id in the Tag?","commit_id":"375652a751695a5354b059e5125567f40f44a23c"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"c8cdae8a8186dcab19e25c1ed24836bffcd041eb","unresolved":false,"context_lines":[{"line_number":48,"context_line":"* Tags.update_all"},{"line_number":49,"context_line":"* Tags.delete"},{"line_number":50,"context_line":"* Tags.delete_all"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Alternatives"},{"line_number":53,"context_line":"------------"},{"line_number":54,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a22e58a_ab7d4de9","line":51,"in_reply_to":"ba2be162_428cc8d9","updated":"2017-03-14 06:31:07.000000000","message":"I will keep this as an outstanding question and deal with the others first, we can discuss this more in up-coming patchsets.","commit_id":"375652a751695a5354b059e5125567f40f44a23c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6ab4ebe7d80ae3e9b5356e2440052a079b0a4995","unresolved":false,"context_lines":[{"line_number":57,"context_line":"-----------------"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"No database schema change is needed."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"REST API impact"},{"line_number":63,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba2be162_173a10e7","line":60,"updated":"2017-03-06 12:22:28.000000000","message":"Could you please state that no notification payload object change is needed besides the one already proposed in https://review.openstack.org/#/c/407228 ?","commit_id":"375652a751695a5354b059e5125567f40f44a23c"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"c8cdae8a8186dcab19e25c1ed24836bffcd041eb","unresolved":false,"context_lines":[{"line_number":57,"context_line":"-----------------"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"No database schema change is needed."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"REST API impact"},{"line_number":63,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a22e58a_ab08ed92","line":60,"in_reply_to":"ba2be162_173a10e7","updated":"2017-03-14 06:31:07.000000000","message":"Done","commit_id":"375652a751695a5354b059e5125567f40f44a23c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6ab4ebe7d80ae3e9b5356e2440052a079b0a4995","unresolved":false,"context_lines":[{"line_number":81,"context_line":"------------------"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"Notifications will be emitted if the versioned notification is enabled."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Other deployer impact"},{"line_number":86,"context_line":"---------------------"},{"line_number":87,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba2be162_9dfd41b3","line":84,"updated":"2017-03-06 12:22:28.000000000","message":"Every server tag manipulating API call loads the related instance from the db to check if it is in a valid state. So the notification payload generation in this case can be designed to reuse that already loaded instance object. This way the notification send only adds load to the db due to lazy loading some of the instance fields that are not loaded by default. However that can be again avoided in this case if we load the instance in the API with proper expected_attrs.","commit_id":"375652a751695a5354b059e5125567f40f44a23c"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"c8cdae8a8186dcab19e25c1ed24836bffcd041eb","unresolved":false,"context_lines":[{"line_number":81,"context_line":"------------------"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"Notifications will be emitted if the versioned notification is enabled."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Other deployer impact"},{"line_number":86,"context_line":"---------------------"},{"line_number":87,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a22e58a_8b033176","line":84,"in_reply_to":"ba2be162_9dfd41b3","updated":"2017-03-14 06:31:07.000000000","message":"Done","commit_id":"375652a751695a5354b059e5125567f40f44a23c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6ab4ebe7d80ae3e9b5356e2440052a079b0a4995","unresolved":false,"context_lines":[{"line_number":108,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"https://blueprints.launchpad.net/nova/+spec/additional-notification-fields-for-searchlight"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"Testing"},{"line_number":113,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":114,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba2be162_82b8802b","line":111,"updated":"2017-03-06 12:22:28.000000000","message":"So it means the tag parts of the above bp needs to be merged first. Which includes at least two patches [1][2] and optionally [3]\n\n[1]https://review.openstack.org/#/c/407228/\n[2]https://review.openstack.org/#/c/415298/\n[3]https://review.openstack.org/#/c/435146/","commit_id":"375652a751695a5354b059e5125567f40f44a23c"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"c8cdae8a8186dcab19e25c1ed24836bffcd041eb","unresolved":false,"context_lines":[{"line_number":108,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"https://blueprints.launchpad.net/nova/+spec/additional-notification-fields-for-searchlight"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"Testing"},{"line_number":113,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":114,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a22e58a_6bd8b51e","line":111,"in_reply_to":"ba2be162_82b8802b","updated":"2017-03-14 06:31:07.000000000","message":"Done","commit_id":"375652a751695a5354b059e5125567f40f44a23c"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"3bd45765c5a974ff10d4d91ec3ce8322b03d94bd","unresolved":false,"context_lines":[{"line_number":44,"context_line":"This blueprint will then send out instance.update notifications for"},{"line_number":45,"context_line":"the following actions:"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"* PUT /servers/{server_id}/tags/{tag}"},{"line_number":48,"context_line":"* PUT /servers/{server_id}/tags"},{"line_number":49,"context_line":"* DELETE servers/{server_id}/tags/{tag}"},{"line_number":50,"context_line":"* DELETE /servers/{server_id}/tags"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Alternatives"},{"line_number":53,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a22e58a_8ee89f18","line":50,"range":{"start_line":47,"start_character":1,"end_line":50,"end_character":34},"updated":"2017-03-14 06:54:13.000000000","message":"Gibi raised in patchset 2 that tags are designed in a way the resource_id could be any kind of uuid not just instance uuid. and was afraid to make this notification instance only:\nBalazs Gibizer\nMar 6 8:22 PM\nAs far as I understand Tags is designed in a way that the resource_id can be any kind of uuid not just instance uuid however currently only instance can be tagged in nova. If we send out the notification from the ServerTagsController from the nova-api then this solution will be specific for server tags. It seems OK now. I\u0027m just wondering what will happen if nova starts supporting tagging other than server objects. Will we always handle that case specific to the actual type of the resource_id in the Tag?","commit_id":"0e9f7f9c78c8068b2348611c93638be4474417a9"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"28bf3a147522f8f8f59abecf50445b1de80e5f3d","unresolved":false,"context_lines":[{"line_number":44,"context_line":"This blueprint will then send out instance.update notifications for"},{"line_number":45,"context_line":"the following actions:"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"* PUT /servers/{server_id}/tags/{tag}"},{"line_number":48,"context_line":"* PUT /servers/{server_id}/tags"},{"line_number":49,"context_line":"* DELETE servers/{server_id}/tags/{tag}"},{"line_number":50,"context_line":"* DELETE /servers/{server_id}/tags"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Alternatives"},{"line_number":53,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3a1ff146_731a6a70","line":50,"range":{"start_line":47,"start_character":1,"end_line":50,"end_character":34},"in_reply_to":"3a1ff146_7873294e","updated":"2017-03-14 15:29:56.000000000","message":"Thanks Matt for exploring the possibilities. It helped removing my remaining fear about the proposed solution.\n\nI agree that sending a simple tags.create/update/delete would create a really bad client experience as every client would need to implement a resource_id correlation mechanism. So let\u0027s just mention this in the Alternatives section as a bad alternative. :)\n\nAll I wanted with my original comment is to have awareness about the generality of the resource_id in the Tags table.\n\nI agree that we can live with the solution that emits instance.update on tags change.","commit_id":"0e9f7f9c78c8068b2348611c93638be4474417a9"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"965959302b03d9d62c77184a97d2cff5cefc7df3","unresolved":false,"context_lines":[{"line_number":44,"context_line":"This blueprint will then send out instance.update notifications for"},{"line_number":45,"context_line":"the following actions:"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"* PUT /servers/{server_id}/tags/{tag}"},{"line_number":48,"context_line":"* PUT /servers/{server_id}/tags"},{"line_number":49,"context_line":"* DELETE servers/{server_id}/tags/{tag}"},{"line_number":50,"context_line":"* DELETE /servers/{server_id}/tags"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Alternatives"},{"line_number":53,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3a1ff146_7873294e","line":50,"range":{"start_line":47,"start_character":1,"end_line":50,"end_character":34},"in_reply_to":"5a22e58a_0e72ef7c","updated":"2017-03-14 15:21:59.000000000","message":"It\u0027s true that the tags.resource_id field is free-form:\n\nhttps://github.com/openstack/nova/blob/edf51119fa59ff8a3337abb9107a06fa33d3c68f/nova/db/sqlalchemy/models.py#L1466\n\nThere is a foreign key backref from the instances table to the tags table for tags on a specific instance. That doesn\u0027t mean we couldn\u0027t have compute_nodes.tags in the future (something like that - even though that specific example would probably not happen because it\u0027s too close to traits on the resource providers in the placement API).\n\nSo I guess the question is should this go into the instance.update notification? What\u0027s the alternative? We could send something like:\n\n* instance.tags.create\n* instance.tags.update\n* instance.tags.delete\n\nor just:\n\n* tags.create/update/delete\n\nAnd then that notification payload would have the resource_id in it, but then it\u0027s up to the notification receiver to have to correlate what the resource_id is pointing to, which is bad (is this updated tag for an instance or some other table?).\n\nSince this blueprint is really about the /servers/server_id/tags API, I think it makes sense for the notification to be in the instance.update notification since it\u0027s modifying an attribute on the instance backref.\n\n^ might be good information to have in the \"Alternatives\" section to show that we\u0027ve thought about it.","commit_id":"0e9f7f9c78c8068b2348611c93638be4474417a9"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"cc17e4338bb7390fcd76749168ee0ed9b6450326","unresolved":false,"context_lines":[{"line_number":44,"context_line":"This blueprint will then send out instance.update notifications for"},{"line_number":45,"context_line":"the following actions:"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"* PUT /servers/{server_id}/tags/{tag}"},{"line_number":48,"context_line":"* PUT /servers/{server_id}/tags"},{"line_number":49,"context_line":"* DELETE servers/{server_id}/tags/{tag}"},{"line_number":50,"context_line":"* DELETE /servers/{server_id}/tags"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Alternatives"},{"line_number":53,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3a1ff146_6df9ad4d","line":50,"range":{"start_line":47,"start_character":1,"end_line":50,"end_character":34},"in_reply_to":"5a22e58a_0e72ef7c","updated":"2017-03-14 15:06:38.000000000","message":"Worst case we will need a refactoring effort when the second object becomes taggable in nova. This is fine by me.","commit_id":"0e9f7f9c78c8068b2348611c93638be4474417a9"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"5790c549ec69bc25de005224cd56449d4e4f82ad","unresolved":false,"context_lines":[{"line_number":44,"context_line":"This blueprint will then send out instance.update notifications for"},{"line_number":45,"context_line":"the following actions:"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"* PUT /servers/{server_id}/tags/{tag}"},{"line_number":48,"context_line":"* PUT /servers/{server_id}/tags"},{"line_number":49,"context_line":"* DELETE servers/{server_id}/tags/{tag}"},{"line_number":50,"context_line":"* DELETE /servers/{server_id}/tags"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Alternatives"},{"line_number":53,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a22e58a_0e72ef7c","line":50,"range":{"start_line":47,"start_character":1,"end_line":50,"end_character":34},"in_reply_to":"5a22e58a_8ee89f18","updated":"2017-03-14 06:57:37.000000000","message":"I don\u0027t know if it is true, but it looks to me that tags are pretty instance-only now, so I think it is OK with the current propose, and we can make it sending different notifications according to the resource types in the future if needed, seems not too complicated.","commit_id":"0e9f7f9c78c8068b2348611c93638be4474417a9"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"965959302b03d9d62c77184a97d2cff5cefc7df3","unresolved":false,"context_lines":[{"line_number":81,"context_line":"------------------"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"Notifications will be emitted if the versioned notification is enabled."},{"line_number":84,"context_line":"Every server tag manipulating API call loads the related instance from"},{"line_number":85,"context_line":"the db to check if it is in a valid state. So the notification payload"},{"line_number":86,"context_line":"generation in this case can be designed to reuse that already loaded"},{"line_number":87,"context_line":"instance object. This way the notification send only adds load to the"},{"line_number":88,"context_line":"db due to lazy loading some of the instance fields that are not loaded"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3a1ff146_f839d942","line":85,"range":{"start_line":84,"start_character":0,"end_line":85,"end_character":42},"updated":"2017-03-14 15:21:59.000000000","message":"nit: it would be nice to provide a reference to:\n\nhttps://github.com/openstack/nova/blob/edf51119fa59ff8a3337abb9107a06fa33d3c68f/nova/api/openstack/compute/server_tags.py#L54","commit_id":"0e9f7f9c78c8068b2348611c93638be4474417a9"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"965959302b03d9d62c77184a97d2cff5cefc7df3","unresolved":false,"context_lines":[{"line_number":86,"context_line":"generation in this case can be designed to reuse that already loaded"},{"line_number":87,"context_line":"instance object. This way the notification send only adds load to the"},{"line_number":88,"context_line":"db due to lazy loading some of the instance fields that are not loaded"},{"line_number":89,"context_line":"by default. However that can be again avoided in this case if we load"},{"line_number":90,"context_line":"the instance in the API with proper expected_attrs."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"Other deployer impact"},{"line_number":93,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3a1ff146_b81681a5","line":90,"range":{"start_line":89,"start_character":12,"end_line":90,"end_character":51},"updated":"2017-03-14 15:21:59.000000000","message":"Yes excellent point.","commit_id":"0e9f7f9c78c8068b2348611c93638be4474417a9"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"965959302b03d9d62c77184a97d2cff5cefc7df3","unresolved":false,"context_lines":[{"line_number":116,"context_line":""},{"line_number":117,"context_line":"https://blueprints.launchpad.net/nova/+spec/additional-notification-fields-for-searchlight"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"[2]https://review.openstack.org/#/c/407228/"},{"line_number":120,"context_line":"[3]https://review.openstack.org/#/c/415298/"},{"line_number":121,"context_line":"[4]https://review.openstack.org/#/c/435146/"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"Testing"},{"line_number":124,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3a1ff146_d8afbd7b","line":121,"range":{"start_line":119,"start_character":0,"end_line":121,"end_character":43},"updated":"2017-03-14 15:21:59.000000000","message":"These are all part of blueprint additional-notification-fields-for-searchlight so I think it\u0027s fine to just list the blueprint as the dependency. We don\u0027t need to call out the specific patches.","commit_id":"0e9f7f9c78c8068b2348611c93638be4474417a9"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"fc3345cf56fccb517251109603343bd1b3add3ba","unresolved":false,"context_lines":[{"line_number":116,"context_line":""},{"line_number":117,"context_line":"https://blueprints.launchpad.net/nova/+spec/additional-notification-fields-for-searchlight"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"[2]https://review.openstack.org/#/c/407228/"},{"line_number":120,"context_line":"[3]https://review.openstack.org/#/c/415298/"},{"line_number":121,"context_line":"[4]https://review.openstack.org/#/c/435146/"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"Testing"},{"line_number":124,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3a1ff146_3ff990c9","line":121,"range":{"start_line":119,"start_character":0,"end_line":121,"end_character":43},"in_reply_to":"3a1ff146_d8afbd7b","updated":"2017-03-14 17:51:23.000000000","message":"+1","commit_id":"0e9f7f9c78c8068b2348611c93638be4474417a9"}]}
