)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9c2b6a1378bfc643230b5374920b339bb721f73f","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     chenke \u003cchen.ke14@zte.com.cn\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-05-21 16:47:38 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Remove redundant key \u0027hostname\u0027"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"And keep the meaning of field \u0027human_id\u0027 the same as creating datamodel"},{"line_number":10,"context_line":"when updating datamodel from nova\u0027s notfication."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"bfb3d3c7_828ff921","line":7,"updated":"2019-05-22 15:21:13.000000000","message":"name (display_name) and hostname on the server resource are not necessarily the same value, see this nova api code:\n\nhttps://github.com/openstack/nova/blob/2e85453879533af0b4d0e1178797d26f026a9423/nova/compute/api.py#L1643\n\nThe main thing is the hostname can be truncated:\n\nhttps://github.com/openstack/nova/blob/2e85453879533af0b4d0e1178797d26f026a9423/nova/utils.py#L488\n\nSo based on that, the human_id (name) and hostname could be different. Therefore I don\u0027t think this change should probably be made, unless there is some better reason to do this that isn\u0027t clear to me in this commit message.","commit_id":"4249a55bee2ee2515855cb97cea0d41b571a5230"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"32225c89197926b9678fb4739b217e494e07bf8c","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     chenke \u003cchen.ke14@zte.com.cn\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-05-21 16:47:38 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Remove redundant key \u0027hostname\u0027"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"And keep the meaning of field \u0027human_id\u0027 the same as creating datamodel"},{"line_number":10,"context_line":"when updating datamodel from nova\u0027s notfication."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"bfb3d3c7_662c4e99","line":7,"in_reply_to":"bfb3d3c7_828ff921","updated":"2019-05-23 01:34:35.000000000","message":"Hi Matt Riedemann, Do you know which field should correspond in the payload[1] to the name of the instance when using cmd \u0027nova show XXX_server\u0027?\n\n[1]. https://github.com/openstack/watcher/blob/master/watcher/decision_engine/model/notification/nova.py#L216","commit_id":"4249a55bee2ee2515855cb97cea0d41b571a5230"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9c2b6a1378bfc643230b5374920b339bb721f73f","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"The value of \u0027human_id\u0027 is the same as instance.name because that novaclient"},{"line_number":13,"context_line":"made a sync. see the docs:"},{"line_number":14,"context_line":"https://github.com/openstack/python-novaclient/blob/master/novaclient/base.py#L152"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"When updating datamodel from nova\u0027s notification, the \u0027host_name\u0027 correspends"},{"line_number":17,"context_line":"instance\u0027s name."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"bfb3d3c7_420fc1e0","line":14,"range":{"start_line":14,"start_character":52,"end_line":14,"end_character":58},"updated":"2019-05-22 15:21:13.000000000","message":"use a tag or git hash since this line number will change over time","commit_id":"4249a55bee2ee2515855cb97cea0d41b571a5230"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"32225c89197926b9678fb4739b217e494e07bf8c","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"The value of \u0027human_id\u0027 is the same as instance.name because that novaclient"},{"line_number":13,"context_line":"made a sync. see the docs:"},{"line_number":14,"context_line":"https://github.com/openstack/python-novaclient/blob/master/novaclient/base.py#L152"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"When updating datamodel from nova\u0027s notification, the \u0027host_name\u0027 correspends"},{"line_number":17,"context_line":"instance\u0027s name."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"bfb3d3c7_c613ba5b","line":14,"range":{"start_line":14,"start_character":52,"end_line":14,"end_character":58},"in_reply_to":"bfb3d3c7_420fc1e0","updated":"2019-05-23 01:34:35.000000000","message":"Yes, thanks.","commit_id":"4249a55bee2ee2515855cb97cea0d41b571a5230"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"292613b2ecc89fd284b0de5bf0ffc4b3f4801d29","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add name for instance in Watcher datamodel"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"name is the original key to identify instance except uuid and id,"},{"line_number":10,"context_line":"which can be got by nova show command. It\u0027s indepentent with"},{"line_number":11,"context_line":"host_name and display_name [1]."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9fb8cfa7_040d6234","line":9,"range":{"start_line":9,"start_character":12,"end_line":9,"end_character":45},"updated":"2019-06-20 15:27:46.000000000","message":"Do you mean original key in watcher or something else?\n\nThat name referenced in the nova data model is not actually persisted and could be volatile if the instance_name_template config changes (note the server\u0027s display_name could also change by the user updating it).\n\nThe name you\u0027re referring to is the OS-EXT-SRV-ATTR:instance_name parameter from the API, so yes it\u0027s at least exposed from the REST API and the user can\u0027t change it (but if the config changes underneath the name could change which is a problem - although people shouldn\u0027t be modifying that config option once they have instances). As the config option help says:\n\nhttps://docs.openstack.org/nova/latest/configuration/config.html#DEFAULT.instance_name_template\n\n\"If you already have instances in your deployment when you change this, your deployment will break.\"","commit_id":"2dd15c60675f914f5646be09d08533182ddc681f"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"8bcff7533ca8b30c064c1f34b728ae185c08631a","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add name for instance in Watcher datamodel"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"name is the original key to identify instance except uuid and id,"},{"line_number":10,"context_line":"which can be got by nova show command. It\u0027s indepentent with"},{"line_number":11,"context_line":"host_name and display_name [1]."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9fb8cfa7_347d276e","line":9,"range":{"start_line":9,"start_character":12,"end_line":9,"end_character":45},"in_reply_to":"9fb8cfa7_040d6234","updated":"2019-06-21 06:34:15.000000000","message":"the original key refers to the name specified when the user creates the virtual machine, such as the command \"nova boot --name[1]\", which also refers to the name created by the user stored in the nova database[2], and also refers to the name corresponding to the notification[3]. The values of these three should be consistent. This is the field that Watcher wants when creating the datamodel and updating the datamodel.\nBut so far, Watcher\u0027s datamodel uses human_id, and its value does not correspond to when it is created.\nTherefore, we intend to abandon this field, which is very confusing, adding a field \u0027name\u0027 to maintain the consistency of the values.\n[1]. \u0027nova show ...\u0027 RESP BODY: {\"server\": {...\"OS-EXT-SRV-ATTR:instance_name\": \"instance-0000000b\",\"OS-EXT-SRV-ATTR:hostname\": test888-vm--heihei-2\", \"OS-EXT-STS:power_state\": 1, \"OS-EXT-AZ:availability_zone\": \"nova\", \"metadata\": {}, \"status\": \"ACTIVE\", \"OS-EXT-SRV-ATTR:host\": \"host-172-16-1-209\", \"OS-EXT-SRV-ATTR:hypervisor_hostname\": \"host-172-16-1-209\",....}\n[2]. https://github.com/openstack/nova/blob/master/nova/api/openstack/compute/servers.py#L685\n[3]. https://github.com/openstack/nova/blob/master/nova/notifications/objects/instance.py#L31\n\nBy see the links above, Maybe you will understand \u0027name\u0027 is equal with \u0027display_name\u0027.","commit_id":"2dd15c60675f914f5646be09d08533182ddc681f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0a834f123f8409714b8d801c92908d14befd81f8","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add name for instance in Watcher datamodel"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"name is the original key to identify instance except uuid and id,"},{"line_number":10,"context_line":"which can be got by nova show command. It\u0027s indepentent with"},{"line_number":11,"context_line":"host_name and display_name [1]."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9fb8cfa7_a2a674c0","line":9,"range":{"start_line":9,"start_character":12,"end_line":9,"end_character":45},"in_reply_to":"9fb8cfa7_347d276e","updated":"2019-06-26 12:56:29.000000000","message":"The display_name can also be changed by the user when updating the server:\n\nhttps://developer.openstack.org/api-ref/compute/?expanded\u003dupdate-server-detail#update-server\n\nThat should result in an instance.update notification that watcher can process and update the name used in the nova CDM. I just want to make sure that we\u0027re not relying on display_name as being unique or immutable.","commit_id":"2dd15c60675f914f5646be09d08533182ddc681f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"292613b2ecc89fd284b0de5bf0ffc4b3f4801d29","unresolved":false,"context_lines":[{"line_number":15,"context_line":"In novaclient, human_id have a little different with instance.name"},{"line_number":16,"context_line":"which will do a Case conversion [3]."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"When update datamodel, Watcher user the data from notification in"},{"line_number":19,"context_line":"which content only contains display_name and host_name. Both of them"},{"line_number":20,"context_line":"have been processed, which is different from the original name [4]."},{"line_number":21,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9fb8cfa7_046482e4","line":18,"range":{"start_line":18,"start_character":31,"end_line":18,"end_character":35},"updated":"2019-06-20 15:27:46.000000000","message":"uses","commit_id":"2dd15c60675f914f5646be09d08533182ddc681f"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"8bcff7533ca8b30c064c1f34b728ae185c08631a","unresolved":false,"context_lines":[{"line_number":15,"context_line":"In novaclient, human_id have a little different with instance.name"},{"line_number":16,"context_line":"which will do a Case conversion [3]."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"When update datamodel, Watcher user the data from notification in"},{"line_number":19,"context_line":"which content only contains display_name and host_name. Both of them"},{"line_number":20,"context_line":"have been processed, which is different from the original name [4]."},{"line_number":21,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9fb8cfa7_5480db46","line":18,"range":{"start_line":18,"start_character":31,"end_line":18,"end_character":35},"in_reply_to":"9fb8cfa7_046482e4","updated":"2019-06-21 06:34:15.000000000","message":"ok. Thanks.","commit_id":"2dd15c60675f914f5646be09d08533182ddc681f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"292613b2ecc89fd284b0de5bf0ffc4b3f4801d29","unresolved":false,"context_lines":[{"line_number":20,"context_line":"have been processed, which is different from the original name [4]."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"In summary, when creating datamodel, use the key name. When updating"},{"line_number":23,"context_line":"datamodel, use uuid query name from nova-api, and then update the name."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"References:"},{"line_number":26,"context_line":"[1]. https://github.com/openstack/nova/blob/master/nova/db/sqlalchemy/models.py#L231"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9fb8cfa7_04f322e9","line":23,"range":{"start_line":23,"start_character":46,"end_line":23,"end_character":71},"updated":"2019-06-20 15:27:46.000000000","message":"As noted inline, why do we update the human_id when updating the instance node - meaning, why not be consistent and use display_name for human_id in both create and update?","commit_id":"2dd15c60675f914f5646be09d08533182ddc681f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"292613b2ecc89fd284b0de5bf0ffc4b3f4801d29","unresolved":false,"context_lines":[{"line_number":20,"context_line":"have been processed, which is different from the original name [4]."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"In summary, when creating datamodel, use the key name. When updating"},{"line_number":23,"context_line":"datamodel, use uuid query name from nova-api, and then update the name."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"References:"},{"line_number":26,"context_line":"[1]. https://github.com/openstack/nova/blob/master/nova/db/sqlalchemy/models.py#L231"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9fb8cfa7_e4728e7c","line":23,"range":{"start_line":23,"start_character":11,"end_line":23,"end_character":44},"updated":"2019-06-20 15:27:46.000000000","message":"I\u0027m not sure what this means.","commit_id":"2dd15c60675f914f5646be09d08533182ddc681f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"292613b2ecc89fd284b0de5bf0ffc4b3f4801d29","unresolved":false,"context_lines":[{"line_number":23,"context_line":"datamodel, use uuid query name from nova-api, and then update the name."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"References:"},{"line_number":26,"context_line":"[1]. https://github.com/openstack/nova/blob/master/nova/db/sqlalchemy/models.py#L231"},{"line_number":27,"context_line":"[2]. https://github.com/openstack/watcher/blob/master/watcher/decision_engine/model/collector/nova.py#L347"},{"line_number":28,"context_line":"[3]. https://github.com/openstack/python-novaclient/blob/master/novaclient/base.py#L152"},{"line_number":29,"context_line":"[4]. https://github.com/openstack/nova/blob/fef4696e005b12c2316e652d17d2310d573dd0e7/nova/utils.py#L488"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9fb8cfa7_a17fa8a9","line":26,"range":{"start_line":26,"start_character":44,"end_line":26,"end_character":50},"updated":"2019-06-20 15:27:46.000000000","message":"Use commit hash or tag here since this line number will change over time (same for the other code references).","commit_id":"2dd15c60675f914f5646be09d08533182ddc681f"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"8bcff7533ca8b30c064c1f34b728ae185c08631a","unresolved":false,"context_lines":[{"line_number":23,"context_line":"datamodel, use uuid query name from nova-api, and then update the name."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"References:"},{"line_number":26,"context_line":"[1]. https://github.com/openstack/nova/blob/master/nova/db/sqlalchemy/models.py#L231"},{"line_number":27,"context_line":"[2]. https://github.com/openstack/watcher/blob/master/watcher/decision_engine/model/collector/nova.py#L347"},{"line_number":28,"context_line":"[3]. https://github.com/openstack/python-novaclient/blob/master/novaclient/base.py#L152"},{"line_number":29,"context_line":"[4]. https://github.com/openstack/nova/blob/fef4696e005b12c2316e652d17d2310d573dd0e7/nova/utils.py#L488"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9fb8cfa7_b4903797","line":26,"range":{"start_line":26,"start_character":44,"end_line":26,"end_character":50},"in_reply_to":"9fb8cfa7_a17fa8a9","updated":"2019-06-21 06:34:15.000000000","message":"Yep.","commit_id":"2dd15c60675f914f5646be09d08533182ddc681f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"292613b2ecc89fd284b0de5bf0ffc4b3f4801d29","unresolved":false,"context_lines":[{"line_number":27,"context_line":"[2]. https://github.com/openstack/watcher/blob/master/watcher/decision_engine/model/collector/nova.py#L347"},{"line_number":28,"context_line":"[3]. https://github.com/openstack/python-novaclient/blob/master/novaclient/base.py#L152"},{"line_number":29,"context_line":"[4]. https://github.com/openstack/nova/blob/fef4696e005b12c2316e652d17d2310d573dd0e7/nova/utils.py#L488"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Change-Id: I6976759629a4feedee09261cc1dac935e050202a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9fb8cfa7_442a7a2c","line":30,"updated":"2019-06-20 15:27:46.000000000","message":"Is this fixing a bug? If so, it\u0027s not clear to me what the bug is - could that be explained in a bug report and linked here?","commit_id":"2dd15c60675f914f5646be09d08533182ddc681f"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"8bcff7533ca8b30c064c1f34b728ae185c08631a","unresolved":false,"context_lines":[{"line_number":27,"context_line":"[2]. https://github.com/openstack/watcher/blob/master/watcher/decision_engine/model/collector/nova.py#L347"},{"line_number":28,"context_line":"[3]. https://github.com/openstack/python-novaclient/blob/master/novaclient/base.py#L152"},{"line_number":29,"context_line":"[4]. https://github.com/openstack/nova/blob/fef4696e005b12c2316e652d17d2310d573dd0e7/nova/utils.py#L488"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Change-Id: I6976759629a4feedee09261cc1dac935e050202a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9fb8cfa7_d48b6b65","line":30,"in_reply_to":"9fb8cfa7_442a7a2c","updated":"2019-06-21 06:34:15.000000000","message":"I will report a bug.","commit_id":"2dd15c60675f914f5646be09d08533182ddc681f"},{"author":{"_account_id":29911,"name":"Dantali0n","email":"info@dantalion.nl","username":"Dantali0n"},"change_message_id":"0b967004b13f8bcac2d69642861ca033aa3c0d40","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"About the \u0027human_id\u0027, We will remove it in the future."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"References:"},{"line_number":20,"context_line":"[1]. https://bugs.launchpad.net/watcher/+bug/1833665"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Change-Id: I6976759629a4feedee09261cc1dac935e050202a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"9fb8cfa7_4becb928","line":19,"updated":"2019-06-21 10:00:25.000000000","message":"Maybe we can reference the IRC logs from the meeting as well.","commit_id":"b1db8de2e29a1f1377c0a6e49e52bf4f709800ad"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"6c23a5fd171afef2abf51f1cd574ebd77f3a5ad2","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"About the \u0027human_id\u0027, We will remove it in the future."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"References:"},{"line_number":20,"context_line":"[1]. https://bugs.launchpad.net/watcher/+bug/1833665"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Change-Id: I6976759629a4feedee09261cc1dac935e050202a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"9fb8cfa7_7e45ac42","line":19,"in_reply_to":"9fb8cfa7_4becb928","updated":"2019-06-22 07:06:07.000000000","message":"Done","commit_id":"b1db8de2e29a1f1377c0a6e49e52bf4f709800ad"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"169ad0bdccceaf2e20e5b160c790b5b85f5f64a3","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add name for instance in Watcher datamodel"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Now Watcher\u0027s datamodel uses human_id to store the real name of"},{"line_number":10,"context_line":"the intance. But the value of human_id is not reliable. About"},{"line_number":11,"context_line":"the reason, please see[1]."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The solution is to add a \u0027name\u0027 field to save the name of the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"9fb8cfa7_e2a46c4d","line":10,"range":{"start_line":10,"start_character":4,"end_line":10,"end_character":11},"updated":"2019-06-26 13:12:39.000000000","message":"instance","commit_id":"53ea4d220b9326852d13808a7129c6155e23334d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"169ad0bdccceaf2e20e5b160c790b5b85f5f64a3","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Now Watcher\u0027s datamodel uses human_id to store the real name of"},{"line_number":10,"context_line":"the intance. But the value of human_id is not reliable. About"},{"line_number":11,"context_line":"the reason, please see[1]."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The solution is to add a \u0027name\u0027 field to save the name of the"},{"line_number":14,"context_line":"instance, and ensure that the value of this field is the same"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"9fb8cfa7_6d238da8","line":11,"range":{"start_line":11,"start_character":12,"end_line":11,"end_character":26},"updated":"2019-06-26 13:12:39.000000000","message":"This still doesn\u0027t really explain what breaks when we create the instance in the CDM with the slugified human_id name and then update it later with the instance.update display_name.","commit_id":"53ea4d220b9326852d13808a7129c6155e23334d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"169ad0bdccceaf2e20e5b160c790b5b85f5f64a3","unresolved":false,"context_lines":[{"line_number":10,"context_line":"the intance. But the value of human_id is not reliable. About"},{"line_number":11,"context_line":"the reason, please see[1]."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The solution is to add a \u0027name\u0027 field to save the name of the"},{"line_number":14,"context_line":"instance, and ensure that the value of this field is the same"},{"line_number":15,"context_line":"when the datamodel is created and when the datamodel is updated."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"About the \u0027human_id\u0027, We will remove it in the future."},{"line_number":18,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"9fb8cfa7_821a507a","line":15,"range":{"start_line":13,"start_character":0,"end_line":15,"end_character":64},"updated":"2019-06-26 13:12:39.000000000","message":"OK so the goal is to create the instance in the nova CDM using the user-provided display name, which is the instance.name (novaclient.v2.servers.Server.name) and then never allow that to change in the nova CDM even if the user changes the server display name in the API:\n\nhttps://developer.openstack.org/api-ref/compute/?expanded\u003d#update-server\n\nIs that correct?\n\nIf so, why does it matter if the instance.name in the CDM changes when the instance is updated? What is the human_id (now instance.name) in the CDM used for? Is it just for logging/debug or do strategies actually rely on it somehow?\n\nAs mentioned before, the thing that worries me is the user-provided instance display name is not guaranteed to be unique nor is it immutable, so the user can change it (and could have multiple servers with the same display name).\n\nIf we really wanted to keep the name in the CDM from changing, we\u0027d use the OS-EXT-SRV-ATTR:instance_name parameter from the server details (note that is not in the instance.update notification - but I\u0027m not sure it needs to be).","commit_id":"53ea4d220b9326852d13808a7129c6155e23334d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"fa8b00c739aac7cc54ae3b19e05fbb705a2e2984","unresolved":false,"context_lines":[{"line_number":10,"context_line":"the intance. But the value of human_id is not reliable. About"},{"line_number":11,"context_line":"the reason, please see[1]."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The solution is to add a \u0027name\u0027 field to save the name of the"},{"line_number":14,"context_line":"instance, and ensure that the value of this field is the same"},{"line_number":15,"context_line":"when the datamodel is created and when the datamodel is updated."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"About the \u0027human_id\u0027, We will remove it in the future."},{"line_number":18,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"9fb8cfa7_8de9211b","line":15,"range":{"start_line":13,"start_character":0,"end_line":15,"end_character":64},"in_reply_to":"9fb8cfa7_821a507a","updated":"2019-06-26 13:14:29.000000000","message":"\u003e value of this field is the same\n\nSorry I misread that as making sure we don\u0027t update the name in the CDM from when it was originally created which was the behavior in PS2 but I see that you just mean be consistent between create and update to use the same field from the Server object from novaclient.","commit_id":"53ea4d220b9326852d13808a7129c6155e23334d"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"460da8f8129386378657612d5e84bbef08ca8569","unresolved":false,"context_lines":[{"line_number":10,"context_line":"the intance. But the value of human_id is not reliable. About"},{"line_number":11,"context_line":"the reason, please see[1]."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The solution is to add a \u0027name\u0027 field to save the name of the"},{"line_number":14,"context_line":"instance, and ensure that the value of this field is the same"},{"line_number":15,"context_line":"when the datamodel is created and when the datamodel is updated."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"About the \u0027human_id\u0027, We will remove it in the future."},{"line_number":18,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"9fb8cfa7_a8e2d3d3","line":15,"range":{"start_line":13,"start_character":0,"end_line":15,"end_character":64},"in_reply_to":"9fb8cfa7_821a507a","updated":"2019-06-26 14:10:39.000000000","message":"Not correct, Sorry, I didn\u0027t describe it clearly above. I guess you have understood most of my meaning. The name I mentioned before refers to the name what the user provided when creating(equal to novaclient.v2.servers.Server.name) or updating the server, not OS-EXT-SRV-ATTR:instance_name.","commit_id":"53ea4d220b9326852d13808a7129c6155e23334d"}],"watcher/decision_engine/model/collector/nova.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"292613b2ecc89fd284b0de5bf0ffc4b3f4801d29","unresolved":false,"context_lines":[{"line_number":344,"context_line":"        flavor \u003d instance.flavor"},{"line_number":345,"context_line":"        instance_attributes \u003d {"},{"line_number":346,"context_line":"            \"uuid\": instance.id,"},{"line_number":347,"context_line":"            \"human_id\": instance.human_id,"},{"line_number":348,"context_line":"            \"name\": instance.name,"},{"line_number":349,"context_line":"            \"memory\": flavor[\"ram\"],"},{"line_number":350,"context_line":"            \"disk\": flavor[\"disk\"],"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_049242a0","line":347,"range":{"start_line":347,"start_character":24,"end_line":347,"end_character":42},"updated":"2019-06-20 15:27:46.000000000","message":"OK so this is the sanitized instance.name from novaclient correct?\n\nhttps://github.com/openstack/python-novaclient/blob/master/novaclient/base.py#L152\n\nhttps://opendev.org/openstack/oslo.utils/src/branch/master/oslo_utils/strutils.py#L235","commit_id":"2dd15c60675f914f5646be09d08533182ddc681f"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"8bcff7533ca8b30c064c1f34b728ae185c08631a","unresolved":false,"context_lines":[{"line_number":344,"context_line":"        flavor \u003d instance.flavor"},{"line_number":345,"context_line":"        instance_attributes \u003d {"},{"line_number":346,"context_line":"            \"uuid\": instance.id,"},{"line_number":347,"context_line":"            \"human_id\": instance.human_id,"},{"line_number":348,"context_line":"            \"name\": instance.name,"},{"line_number":349,"context_line":"            \"memory\": flavor[\"ram\"],"},{"line_number":350,"context_line":"            \"disk\": flavor[\"disk\"],"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_f9ad48ea","line":347,"range":{"start_line":347,"start_character":24,"end_line":347,"end_character":42},"in_reply_to":"9fb8cfa7_049242a0","updated":"2019-06-21 06:34:15.000000000","message":"Yep. So this \u0027human_id\u0027 isn\u0027t what we want. What we want is that when building the datamodel, the field value used is the same as the value used when updating the datamodel from nova\u0027s notification. If the user changes it, the value sent by the notification is the latest value.","commit_id":"2dd15c60675f914f5646be09d08533182ddc681f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"292613b2ecc89fd284b0de5bf0ffc4b3f4801d29","unresolved":false,"context_lines":[{"line_number":345,"context_line":"        instance_attributes \u003d {"},{"line_number":346,"context_line":"            \"uuid\": instance.id,"},{"line_number":347,"context_line":"            \"human_id\": instance.human_id,"},{"line_number":348,"context_line":"            \"name\": instance.name,"},{"line_number":349,"context_line":"            \"memory\": flavor[\"ram\"],"},{"line_number":350,"context_line":"            \"disk\": flavor[\"disk\"],"},{"line_number":351,"context_line":"            \"disk_capacity\": flavor[\"disk\"],"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_44f59aec","line":348,"updated":"2019-06-20 15:27:46.000000000","message":"And this is the untouched OS-EXT-SRV-ATTR:instance_name value from the API.","commit_id":"2dd15c60675f914f5646be09d08533182ddc681f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0a834f123f8409714b8d801c92908d14befd81f8","unresolved":false,"context_lines":[{"line_number":345,"context_line":"        instance_attributes \u003d {"},{"line_number":346,"context_line":"            \"uuid\": instance.id,"},{"line_number":347,"context_line":"            \"human_id\": instance.human_id,"},{"line_number":348,"context_line":"            \"name\": instance.name,"},{"line_number":349,"context_line":"            \"memory\": flavor[\"ram\"],"},{"line_number":350,"context_line":"            \"disk\": flavor[\"disk\"],"},{"line_number":351,"context_line":"            \"disk_capacity\": flavor[\"disk\"],"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_e2beacac","line":348,"in_reply_to":"9fb8cfa7_44f59aec","updated":"2019-06-26 12:56:29.000000000","message":"Sorry I\u0027m wrong here and this is probably where I was confused - this should be the name parameter in the GET /servers/{server_id} (and notification) response which is the display name rather than the internal-to-nova OS-EXT-SRV-ATTR:instance_name.\n\nIt would probably be good to have a comment to say that instance.name is the user-provided display name which is not guaranteed to be unique or immutable.","commit_id":"2dd15c60675f914f5646be09d08533182ddc681f"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"460da8f8129386378657612d5e84bbef08ca8569","unresolved":false,"context_lines":[{"line_number":345,"context_line":"        instance_attributes \u003d {"},{"line_number":346,"context_line":"            \"uuid\": instance.id,"},{"line_number":347,"context_line":"            \"human_id\": instance.human_id,"},{"line_number":348,"context_line":"            \"name\": instance.name,"},{"line_number":349,"context_line":"            \"memory\": flavor[\"ram\"],"},{"line_number":350,"context_line":"            \"disk\": flavor[\"disk\"],"},{"line_number":351,"context_line":"            \"disk_capacity\": flavor[\"disk\"],"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_0898bfbd","line":348,"in_reply_to":"9fb8cfa7_e2beacac","updated":"2019-06-26 14:10:39.000000000","message":"Ok, I will explain that its name is not OS-EXT-SRV-ATTR:instance_name.","commit_id":"2dd15c60675f914f5646be09d08533182ddc681f"},{"author":{"_account_id":29911,"name":"Dantali0n","email":"info@dantalion.nl","username":"Dantali0n"},"change_message_id":"0b967004b13f8bcac2d69642861ca033aa3c0d40","unresolved":false,"context_lines":[{"line_number":344,"context_line":"        flavor \u003d instance.flavor"},{"line_number":345,"context_line":"        instance_attributes \u003d {"},{"line_number":346,"context_line":"            \"uuid\": instance.id,"},{"line_number":347,"context_line":"            \"human_id\": instance.human_id,"},{"line_number":348,"context_line":"            \"name\": instance.name,"},{"line_number":349,"context_line":"            \"memory\": flavor[\"ram\"],"},{"line_number":350,"context_line":"            \"disk\": flavor[\"disk\"],"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_2b7945fb","line":347,"updated":"2019-06-21 10:00:25.000000000","message":"In the follow up patch we do to remove human_id in the future I think it would be good if we remove human_id from the base element classes(ComputeResource, StorageResource, BareMetalResource). Since none of these elements actually get the human_id set only Instances do.","commit_id":"b1db8de2e29a1f1377c0a6e49e52bf4f709800ad"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"6c23a5fd171afef2abf51f1cd574ebd77f3a5ad2","unresolved":false,"context_lines":[{"line_number":344,"context_line":"        flavor \u003d instance.flavor"},{"line_number":345,"context_line":"        instance_attributes \u003d {"},{"line_number":346,"context_line":"            \"uuid\": instance.id,"},{"line_number":347,"context_line":"            \"human_id\": instance.human_id,"},{"line_number":348,"context_line":"            \"name\": instance.name,"},{"line_number":349,"context_line":"            \"memory\": flavor[\"ram\"],"},{"line_number":350,"context_line":"            \"disk\": flavor[\"disk\"],"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_1e76f0a5","line":347,"in_reply_to":"9fb8cfa7_2b7945fb","updated":"2019-06-22 07:06:07.000000000","message":"Yes, I will do these.","commit_id":"b1db8de2e29a1f1377c0a6e49e52bf4f709800ad"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"169ad0bdccceaf2e20e5b160c790b5b85f5f64a3","unresolved":false,"context_lines":[{"line_number":344,"context_line":"        flavor \u003d instance.flavor"},{"line_number":345,"context_line":"        instance_attributes \u003d {"},{"line_number":346,"context_line":"            \"uuid\": instance.id,"},{"line_number":347,"context_line":"            \"human_id\": instance.human_id,"},{"line_number":348,"context_line":"            \"name\": instance.name,"},{"line_number":349,"context_line":"            \"memory\": flavor[\"ram\"],"},{"line_number":350,"context_line":"            \"disk\": flavor[\"disk\"],"}],"source_content_type":"text/x-python","patch_set":4,"id":"9fb8cfa7_cd5f190d","line":347,"updated":"2019-06-26 13:12:39.000000000","message":"How about adding a TODO comment to say human_id here is deprecated for removal.","commit_id":"53ea4d220b9326852d13808a7129c6155e23334d"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"c70945e60f94d4987dce8ad2d45d68f4d715e6c6","unresolved":false,"context_lines":[{"line_number":344,"context_line":"        flavor \u003d instance.flavor"},{"line_number":345,"context_line":"        instance_attributes \u003d {"},{"line_number":346,"context_line":"            \"uuid\": instance.id,"},{"line_number":347,"context_line":"            \"human_id\": instance.human_id,"},{"line_number":348,"context_line":"            \"name\": instance.name,"},{"line_number":349,"context_line":"            \"memory\": flavor[\"ram\"],"},{"line_number":350,"context_line":"            \"disk\": flavor[\"disk\"],"}],"source_content_type":"text/x-python","patch_set":4,"id":"9fb8cfa7_086d1f31","line":347,"in_reply_to":"9fb8cfa7_cd5f190d","updated":"2019-06-26 14:17:59.000000000","message":"Ok.","commit_id":"53ea4d220b9326852d13808a7129c6155e23334d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"169ad0bdccceaf2e20e5b160c790b5b85f5f64a3","unresolved":false,"context_lines":[{"line_number":345,"context_line":"        instance_attributes \u003d {"},{"line_number":346,"context_line":"            \"uuid\": instance.id,"},{"line_number":347,"context_line":"            \"human_id\": instance.human_id,"},{"line_number":348,"context_line":"            \"name\": instance.name,"},{"line_number":349,"context_line":"            \"memory\": flavor[\"ram\"],"},{"line_number":350,"context_line":"            \"disk\": flavor[\"disk\"],"},{"line_number":351,"context_line":"            \"disk_capacity\": flavor[\"disk\"],"}],"source_content_type":"text/x-python","patch_set":4,"id":"9fb8cfa7_0d6a11b2","line":348,"updated":"2019-06-26 13:12:39.000000000","message":"I would add a comment here saying this is the user-provided display name of the server which is not guaranteed to be unique nor is it immutable.","commit_id":"53ea4d220b9326852d13808a7129c6155e23334d"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"c70945e60f94d4987dce8ad2d45d68f4d715e6c6","unresolved":false,"context_lines":[{"line_number":345,"context_line":"        instance_attributes \u003d {"},{"line_number":346,"context_line":"            \"uuid\": instance.id,"},{"line_number":347,"context_line":"            \"human_id\": instance.human_id,"},{"line_number":348,"context_line":"            \"name\": instance.name,"},{"line_number":349,"context_line":"            \"memory\": flavor[\"ram\"],"},{"line_number":350,"context_line":"            \"disk\": flavor[\"disk\"],"},{"line_number":351,"context_line":"            \"disk_capacity\": flavor[\"disk\"],"}],"source_content_type":"text/x-python","patch_set":4,"id":"9fb8cfa7_286a6319","line":348,"in_reply_to":"9fb8cfa7_0d6a11b2","updated":"2019-06-26 14:17:59.000000000","message":"Ok. Thanks.","commit_id":"53ea4d220b9326852d13808a7129c6155e23334d"}],"watcher/decision_engine/model/notification/nova.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9c2b6a1378bfc643230b5374920b339bb721f73f","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"        instance.update({"},{"line_number":72,"context_line":"            \u0027state\u0027: instance_data[\u0027state\u0027],"},{"line_number":73,"context_line":"            \u0027hostname\u0027: instance_data[\u0027host_name\u0027],"},{"line_number":74,"context_line":"            \u0027human_id\u0027: instance_data[\u0027display_name\u0027],"},{"line_number":75,"context_line":"            \u0027memory\u0027: memory_mb,"},{"line_number":76,"context_line":"            \u0027vcpus\u0027: num_cores,"}],"source_content_type":"text/x-python","patch_set":1,"id":"bfb3d3c7_42282133","side":"PARENT","line":73,"updated":"2019-05-22 15:21:13.000000000","message":"Is nothing using this in watcher?","commit_id":"1b328f5148826fe27b46c1250de215e2148a588d"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"32225c89197926b9678fb4739b217e494e07bf8c","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"        instance.update({"},{"line_number":72,"context_line":"            \u0027state\u0027: instance_data[\u0027state\u0027],"},{"line_number":73,"context_line":"            \u0027hostname\u0027: instance_data[\u0027host_name\u0027],"},{"line_number":74,"context_line":"            \u0027human_id\u0027: instance_data[\u0027display_name\u0027],"},{"line_number":75,"context_line":"            \u0027memory\u0027: memory_mb,"},{"line_number":76,"context_line":"            \u0027vcpus\u0027: num_cores,"}],"source_content_type":"text/x-python","patch_set":1,"id":"bfb3d3c7_bb0edf38","side":"PARENT","line":73,"in_reply_to":"bfb3d3c7_42282133","updated":"2019-05-23 01:34:35.000000000","message":"Yes. Watcher just needs the same key as instance.name which can be found by cmd \u0027watcher show XXX_server\u0027","commit_id":"1b328f5148826fe27b46c1250de215e2148a588d"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"cd9d3db5b5651e5ce920a1efa22a1f35f6c326a8","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"        instance.update({"},{"line_number":72,"context_line":"            \u0027state\u0027: instance_data[\u0027state\u0027],"},{"line_number":73,"context_line":"            \u0027hostname\u0027: instance_data[\u0027host_name\u0027],"},{"line_number":74,"context_line":"            \u0027human_id\u0027: instance_data[\u0027display_name\u0027],"},{"line_number":75,"context_line":"            \u0027memory\u0027: memory_mb,"},{"line_number":76,"context_line":"            \u0027vcpus\u0027: num_cores,"}],"source_content_type":"text/x-python","patch_set":1,"id":"bfb3d3c7_067f9267","side":"PARENT","line":73,"in_reply_to":"bfb3d3c7_bb0edf38","updated":"2019-05-23 01:36:33.000000000","message":"Correct the reply above, cmd \u0027nova show XXX_server\u0027 instead of \u0027watcher show XXX_server\u0027","commit_id":"1b328f5148826fe27b46c1250de215e2148a588d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"292613b2ecc89fd284b0de5bf0ffc4b3f4801d29","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        instance.update({"},{"line_number":74,"context_line":"            \u0027state\u0027: instance_data[\u0027state\u0027],"},{"line_number":75,"context_line":"            \u0027hostname\u0027: instance_data[\u0027host_name\u0027],"},{"line_number":76,"context_line":"            \u0027human_id\u0027: instance_data[\u0027display_name\u0027],"},{"line_number":77,"context_line":"            \u0027name\u0027: query_instance.name,"},{"line_number":78,"context_line":"            \u0027memory\u0027: memory_mb,"},{"line_number":79,"context_line":"            \u0027vcpus\u0027: num_cores,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_2440a607","line":76,"updated":"2019-06-20 15:27:46.000000000","message":"When creating the instance node in the data model, we\u0027re using the sanitized version of OS-EXT-SRV-ATTR:instance_name and here we\u0027re updating that to the display_name that the user provided when creating the server and could also be changed by the user updating it:\n\nhttps://developer.openstack.org/api-ref/compute/#update-server\n\nWhy don\u0027t we just set the human_id to display_name when creating the instance node if we\u0027re just going to update it later? Also, what is this human_id used for anyway? Is it just read-only data for logging and debug?","commit_id":"2dd15c60675f914f5646be09d08533182ddc681f"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"8bcff7533ca8b30c064c1f34b728ae185c08631a","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        instance.update({"},{"line_number":74,"context_line":"            \u0027state\u0027: instance_data[\u0027state\u0027],"},{"line_number":75,"context_line":"            \u0027hostname\u0027: instance_data[\u0027host_name\u0027],"},{"line_number":76,"context_line":"            \u0027human_id\u0027: instance_data[\u0027display_name\u0027],"},{"line_number":77,"context_line":"            \u0027name\u0027: query_instance.name,"},{"line_number":78,"context_line":"            \u0027memory\u0027: memory_mb,"},{"line_number":79,"context_line":"            \u0027vcpus\u0027: num_cores,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_d98ba465","line":76,"in_reply_to":"9fb8cfa7_2440a607","updated":"2019-06-21 06:34:15.000000000","message":"human_id is actually useless for Watcher, it will be removed later.","commit_id":"2dd15c60675f914f5646be09d08533182ddc681f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0a834f123f8409714b8d801c92908d14befd81f8","unresolved":false,"context_lines":[{"line_number":74,"context_line":"            \u0027state\u0027: instance_data[\u0027state\u0027],"},{"line_number":75,"context_line":"            \u0027hostname\u0027: instance_data[\u0027host_name\u0027],"},{"line_number":76,"context_line":"            \u0027human_id\u0027: instance_data[\u0027display_name\u0027],"},{"line_number":77,"context_line":"            \u0027name\u0027: query_instance.name,"},{"line_number":78,"context_line":"            \u0027memory\u0027: memory_mb,"},{"line_number":79,"context_line":"            \u0027vcpus\u0027: num_cores,"},{"line_number":80,"context_line":"            \u0027disk\u0027: disk_gb,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_e241cca7","line":77,"range":{"start_line":77,"start_character":39,"end_line":77,"end_character":40},"updated":"2019-06-26 12:56:29.000000000","message":"Why don\u0027t we use instance_data[\u0027display_name\u0027] here since that\u0027s the thing that can be changed by the user?","commit_id":"2dd15c60675f914f5646be09d08533182ddc681f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"169ad0bdccceaf2e20e5b160c790b5b85f5f64a3","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        instance.update({"},{"line_number":72,"context_line":"            \u0027state\u0027: instance_data[\u0027state\u0027],"},{"line_number":73,"context_line":"            \u0027hostname\u0027: instance_data[\u0027host_name\u0027],"},{"line_number":74,"context_line":"            \u0027human_id\u0027: instance_data[\u0027display_name\u0027],"},{"line_number":75,"context_line":"            \u0027name\u0027: instance_data[\u0027display_name\u0027],"},{"line_number":76,"context_line":"            \u0027memory\u0027: memory_mb,"},{"line_number":77,"context_line":"            \u0027vcpus\u0027: num_cores,"}],"source_content_type":"text/x-python","patch_set":4,"id":"9fb8cfa7_0daf71e3","line":74,"updated":"2019-06-26 13:12:39.000000000","message":"It would be good to add a TODO comment here saying human_id is deprecated for removal, and reference bug 1833665.","commit_id":"53ea4d220b9326852d13808a7129c6155e23334d"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"460da8f8129386378657612d5e84bbef08ca8569","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        instance.update({"},{"line_number":72,"context_line":"            \u0027state\u0027: instance_data[\u0027state\u0027],"},{"line_number":73,"context_line":"            \u0027hostname\u0027: instance_data[\u0027host_name\u0027],"},{"line_number":74,"context_line":"            \u0027human_id\u0027: instance_data[\u0027display_name\u0027],"},{"line_number":75,"context_line":"            \u0027name\u0027: instance_data[\u0027display_name\u0027],"},{"line_number":76,"context_line":"            \u0027memory\u0027: memory_mb,"},{"line_number":77,"context_line":"            \u0027vcpus\u0027: num_cores,"}],"source_content_type":"text/x-python","patch_set":4,"id":"9fb8cfa7_c8d627f3","line":74,"in_reply_to":"9fb8cfa7_0daf71e3","updated":"2019-06-26 14:10:39.000000000","message":"Ok, Thanks.","commit_id":"53ea4d220b9326852d13808a7129c6155e23334d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"169ad0bdccceaf2e20e5b160c790b5b85f5f64a3","unresolved":false,"context_lines":[{"line_number":72,"context_line":"            \u0027state\u0027: instance_data[\u0027state\u0027],"},{"line_number":73,"context_line":"            \u0027hostname\u0027: instance_data[\u0027host_name\u0027],"},{"line_number":74,"context_line":"            \u0027human_id\u0027: instance_data[\u0027display_name\u0027],"},{"line_number":75,"context_line":"            \u0027name\u0027: instance_data[\u0027display_name\u0027],"},{"line_number":76,"context_line":"            \u0027memory\u0027: memory_mb,"},{"line_number":77,"context_line":"            \u0027vcpus\u0027: num_cores,"},{"line_number":78,"context_line":"            \u0027disk\u0027: disk_gb,"}],"source_content_type":"text/x-python","patch_set":4,"id":"9fb8cfa7_4d532917","line":75,"updated":"2019-06-26 13:12:39.000000000","message":"Ack this is what I suggested you do in PS2 a bit ago.","commit_id":"53ea4d220b9326852d13808a7129c6155e23334d"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"460da8f8129386378657612d5e84bbef08ca8569","unresolved":false,"context_lines":[{"line_number":72,"context_line":"            \u0027state\u0027: instance_data[\u0027state\u0027],"},{"line_number":73,"context_line":"            \u0027hostname\u0027: instance_data[\u0027host_name\u0027],"},{"line_number":74,"context_line":"            \u0027human_id\u0027: instance_data[\u0027display_name\u0027],"},{"line_number":75,"context_line":"            \u0027name\u0027: instance_data[\u0027display_name\u0027],"},{"line_number":76,"context_line":"            \u0027memory\u0027: memory_mb,"},{"line_number":77,"context_line":"            \u0027vcpus\u0027: num_cores,"},{"line_number":78,"context_line":"            \u0027disk\u0027: disk_gb,"}],"source_content_type":"text/x-python","patch_set":4,"id":"9fb8cfa7_e8d3ebff","line":75,"in_reply_to":"9fb8cfa7_4d532917","updated":"2019-06-26 14:10:39.000000000","message":"Ok.","commit_id":"53ea4d220b9326852d13808a7129c6155e23334d"}]}
