)]}'
{"heat/engine/resources/openstack/nova/server.py":[{"author":{"_account_id":8289,"name":"huangtianhua","email":"tiantian223@163.com","username":"huangtianhua"},"change_message_id":"f39b9caa9c58aa465e004088cbf763d135d3de9d","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        SCHEDULER_HINTS, METADATA, USER_DATA_FORMAT, USER_DATA,"},{"line_number":55,"context_line":"        RESERVATION_ID, CONFIG_DRIVE, DISK_CONFIG, PERSONALITY,"},{"line_number":56,"context_line":"        ADMIN_PASS, SOFTWARE_CONFIG_TRANSPORT, USER_DATA_UPDATE_POLICY,"},{"line_number":57,"context_line":"        TAGS, DEPLOYMENT_SWIFT_DATA, NIC_TAG"},{"line_number":58,"context_line":"    ) \u003d ("},{"line_number":59,"context_line":"        \u0027name\u0027, \u0027image\u0027, \u0027block_device_mapping\u0027, \u0027block_device_mapping_v2\u0027,"},{"line_number":60,"context_line":"        \u0027flavor\u0027, \u0027flavor_update_policy\u0027, \u0027image_update_policy\u0027, \u0027key_name\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f231b9d_af169bf0","line":57,"range":{"start_line":57,"start_character":36,"end_line":57,"end_character":44},"updated":"2017-06-13 10:05:37.000000000","message":"We put top properties here, please move it to line 113.","commit_id":"3b641225bae728ed0de51c822897f20a461a62ec"},{"author":{"_account_id":10487,"name":"Kanagaraj Manickam","email":"mkr1481@gmail.com","username":"kanagarajm"},"change_message_id":"7df8d9120ef09a423fa876a0e7069619d26bee55","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        SCHEDULER_HINTS, METADATA, USER_DATA_FORMAT, USER_DATA,"},{"line_number":55,"context_line":"        RESERVATION_ID, CONFIG_DRIVE, DISK_CONFIG, PERSONALITY,"},{"line_number":56,"context_line":"        ADMIN_PASS, SOFTWARE_CONFIG_TRANSPORT, USER_DATA_UPDATE_POLICY,"},{"line_number":57,"context_line":"        TAGS, DEPLOYMENT_SWIFT_DATA, NIC_TAG"},{"line_number":58,"context_line":"    ) \u003d ("},{"line_number":59,"context_line":"        \u0027name\u0027, \u0027image\u0027, \u0027block_device_mapping\u0027, \u0027block_device_mapping_v2\u0027,"},{"line_number":60,"context_line":"        \u0027flavor\u0027, \u0027flavor_update_policy\u0027, \u0027image_update_policy\u0027, \u0027key_name\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f231b9d_6ceac675","line":57,"range":{"start_line":57,"start_character":36,"end_line":57,"end_character":44},"in_reply_to":"7f231b9d_af169bf0","updated":"2017-06-13 14:45:22.000000000","message":"sure. thx","commit_id":"3b641225bae728ed0de51c822897f20a461a62ec"},{"author":{"_account_id":8289,"name":"huangtianhua","email":"tiantian223@163.com","username":"huangtianhua"},"change_message_id":"f845c36acfd743cb58fea83152603405b6f722d1","unresolved":false,"context_lines":[{"line_number":478,"context_line":"                    ),"},{"line_number":479,"context_line":"                    NIC_TAG: properties.Schema("},{"line_number":480,"context_line":"                        properties.Schema.STRING,"},{"line_number":481,"context_line":"                        _(\u0027Port tag.\u0027),"},{"line_number":482,"context_line":"                        support_status\u003dsupport.SupportStatus(version\u003d\u00279.0.0\u0027)"},{"line_number":483,"context_line":"                    )"},{"line_number":484,"context_line":"                },"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f231b9d_05cac39f","line":481,"range":{"start_line":481,"start_character":24,"end_line":481,"end_character":39},"updated":"2017-06-15 09:25:05.000000000","message":"Now nova doesn\u0027t support update tag of interface, do we have to give the message to clarify? we will ignore if this property updated.","commit_id":"9203bf1217c8146cf8deefcb9953ac32bb76ebfb"},{"author":{"_account_id":10487,"name":"Kanagaraj Manickam","email":"mkr1481@gmail.com","username":"kanagarajm"},"change_message_id":"b506e2f8b958582ea4e87dc00b4df8519641bf53","unresolved":false,"context_lines":[{"line_number":478,"context_line":"                    ),"},{"line_number":479,"context_line":"                    NIC_TAG: properties.Schema("},{"line_number":480,"context_line":"                        properties.Schema.STRING,"},{"line_number":481,"context_line":"                        _(\u0027Port tag.\u0027),"},{"line_number":482,"context_line":"                        support_status\u003dsupport.SupportStatus(version\u003d\u00279.0.0\u0027)"},{"line_number":483,"context_line":"                    )"},{"line_number":484,"context_line":"                },"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f231b9d_a5cf8f54","line":481,"range":{"start_line":481,"start_character":24,"end_line":481,"end_character":39},"in_reply_to":"7f231b9d_05cac39f","updated":"2017-06-15 09:33:38.000000000","message":"i think better to give this hint, i will update","commit_id":"9203bf1217c8146cf8deefcb9953ac32bb76ebfb"},{"author":{"_account_id":8289,"name":"huangtianhua","email":"tiantian223@163.com","username":"huangtianhua"},"change_message_id":"f845c36acfd743cb58fea83152603405b6f722d1","unresolved":false,"context_lines":[{"line_number":823,"context_line":"            # if \u0027auto\u0027 or \u0027none\u0027 is specified, we get the string type"},{"line_number":824,"context_line":"            # nics after self._build_nics(), and the string network"},{"line_number":825,"context_line":"            # is supported since nova microversion 2.37"},{"line_number":826,"context_line":"            if isinstance(nics, six.string_types):"},{"line_number":827,"context_line":"                nc \u003d self.client(version\u003dself.client_plugin().V2_37)"},{"line_number":828,"context_line":"            else:"},{"line_number":829,"context_line":"                nc \u003d self.client()"},{"line_number":830,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7f231b9d_85b6d33d","line":827,"range":{"start_line":826,"start_character":12,"end_line":827,"end_character":68},"updated":"2017-06-15 09:25:05.000000000","message":"We should also to init a novaclient with version 2.42 if user specify \u0027tag\u0027 in networks property.","commit_id":"9203bf1217c8146cf8deefcb9953ac32bb76ebfb"},{"author":{"_account_id":10487,"name":"Kanagaraj Manickam","email":"mkr1481@gmail.com","username":"kanagarajm"},"change_message_id":"b506e2f8b958582ea4e87dc00b4df8519641bf53","unresolved":false,"context_lines":[{"line_number":823,"context_line":"            # if \u0027auto\u0027 or \u0027none\u0027 is specified, we get the string type"},{"line_number":824,"context_line":"            # nics after self._build_nics(), and the string network"},{"line_number":825,"context_line":"            # is supported since nova microversion 2.37"},{"line_number":826,"context_line":"            if isinstance(nics, six.string_types):"},{"line_number":827,"context_line":"                nc \u003d self.client(version\u003dself.client_plugin().V2_37)"},{"line_number":828,"context_line":"            else:"},{"line_number":829,"context_line":"                nc \u003d self.client()"},{"line_number":830,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7f231b9d_05e523dc","line":827,"range":{"start_line":826,"start_character":12,"end_line":827,"end_character":68},"in_reply_to":"7f231b9d_85b6d33d","updated":"2017-06-15 09:33:38.000000000","message":"yes","commit_id":"9203bf1217c8146cf8deefcb9953ac32bb76ebfb"},{"author":{"_account_id":8289,"name":"huangtianhua","email":"tiantian223@163.com","username":"huangtianhua"},"change_message_id":"f845c36acfd743cb58fea83152603405b6f722d1","unresolved":false,"context_lines":[{"line_number":1486,"context_line":"                self.client("},{"line_number":1487,"context_line":"                    version\u003dself.client_plugin().V2_42)"},{"line_number":1488,"context_line":"            except exception.InvalidServiceVersion as ex:"},{"line_number":1489,"context_line":"                msg \u003d _(\u0027Cannot use \"tag\" property in networks- nova does not \u0027"},{"line_number":1490,"context_line":"                        \u0027support it: %s\u0027) % six.text_type(ex)"},{"line_number":1491,"context_line":"                raise exception.StackValidationFailed(message\u003dmsg)"},{"line_number":1492,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7f231b9d_ca785ac5","line":1489,"range":{"start_line":1489,"start_character":36,"end_line":1489,"end_character":41},"updated":"2017-06-15 09:25:05.000000000","message":"Don\u0027t hard code :)","commit_id":"9203bf1217c8146cf8deefcb9953ac32bb76ebfb"},{"author":{"_account_id":10487,"name":"Kanagaraj Manickam","email":"mkr1481@gmail.com","username":"kanagarajm"},"change_message_id":"b506e2f8b958582ea4e87dc00b4df8519641bf53","unresolved":false,"context_lines":[{"line_number":1486,"context_line":"                self.client("},{"line_number":1487,"context_line":"                    version\u003dself.client_plugin().V2_42)"},{"line_number":1488,"context_line":"            except exception.InvalidServiceVersion as ex:"},{"line_number":1489,"context_line":"                msg \u003d _(\u0027Cannot use \"tag\" property in networks- nova does not \u0027"},{"line_number":1490,"context_line":"                        \u0027support it: %s\u0027) % six.text_type(ex)"},{"line_number":1491,"context_line":"                raise exception.StackValidationFailed(message\u003dmsg)"},{"line_number":1492,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7f231b9d_65d5f7e4","line":1489,"range":{"start_line":1489,"start_character":36,"end_line":1489,"end_character":41},"in_reply_to":"7f231b9d_ca785ac5","updated":"2017-06-15 09:33:38.000000000","message":"sure :)","commit_id":"9203bf1217c8146cf8deefcb9953ac32bb76ebfb"},{"author":{"_account_id":8289,"name":"huangtianhua","email":"tiantian223@163.com","username":"huangtianhua"},"change_message_id":"251f38519a63ab61676d131a7c5b353c2b31acf1","unresolved":false,"context_lines":[{"line_number":479,"context_line":"                    NIC_TAG: properties.Schema("},{"line_number":480,"context_line":"                        properties.Schema.STRING,"},{"line_number":481,"context_line":"                        _(\u0027Port tag.\u0027),"},{"line_number":482,"context_line":"                        update_allowed\u003dFalse,"},{"line_number":483,"context_line":"                        support_status\u003dsupport.SupportStatus(version\u003d\u00279.0.0\u0027)"},{"line_number":484,"context_line":"                    )"},{"line_number":485,"context_line":"                },"}],"source_content_type":"text/x-python","patch_set":4,"id":"7f231b9d_a7206c9c","line":482,"range":{"start_line":482,"start_character":24,"end_line":482,"end_character":45},"updated":"2017-06-19 03:19:16.000000000","message":"Not sure it will make sense if the top level is update_allowed\u003dTrue. Or maybe give the message to tell user we don\u0027t allow to update the tag and will ignore right now, instead of marking update_allowed\u003dFalse?","commit_id":"404389cc2f834433367462a0340d29cd81d42f9c"},{"author":{"_account_id":10487,"name":"Kanagaraj Manickam","email":"mkr1481@gmail.com","username":"kanagarajm"},"change_message_id":"3ecbd596efa306aa17d5a6bb8913476b2c1c7223","unresolved":false,"context_lines":[{"line_number":479,"context_line":"                    NIC_TAG: properties.Schema("},{"line_number":480,"context_line":"                        properties.Schema.STRING,"},{"line_number":481,"context_line":"                        _(\u0027Port tag.\u0027),"},{"line_number":482,"context_line":"                        update_allowed\u003dFalse,"},{"line_number":483,"context_line":"                        support_status\u003dsupport.SupportStatus(version\u003d\u00279.0.0\u0027)"},{"line_number":484,"context_line":"                    )"},{"line_number":485,"context_line":"                },"}],"source_content_type":"text/x-python","patch_set":4,"id":"7f231b9d_07ea80d6","line":482,"range":{"start_line":482,"start_character":24,"end_line":482,"end_character":45},"in_reply_to":"7f231b9d_a7206c9c","updated":"2017-06-19 03:48:29.000000000","message":"I added to make sure user will be knowing that this property is not supported for update, when this flag is marked with False. when user tries to update, heat does not allow as well, which we wanted to support here right. pls let me know why you want to put the same into description instead ?","commit_id":"404389cc2f834433367462a0340d29cd81d42f9c"},{"author":{"_account_id":4257,"name":"Zane Bitter","email":"zbitter@redhat.com","username":"zaneb"},"change_message_id":"1d82456b6b74d0ab9afddf61f290212766fc9a46","unresolved":false,"context_lines":[{"line_number":480,"context_line":"                        properties.Schema.STRING,"},{"line_number":481,"context_line":"                        _(\u0027Port tag. Heat ignores any update on this property \u0027"},{"line_number":482,"context_line":"                          \u0027as nova does not support it.\u0027),"},{"line_number":483,"context_line":"                        update_allowed\u003dFalse,"},{"line_number":484,"context_line":"                        support_status\u003dsupport.SupportStatus(version\u003d\u00279.0.0\u0027)"},{"line_number":485,"context_line":"                    )"},{"line_number":486,"context_line":"                },"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f1d235d_0d7dd4b0","line":483,"updated":"2017-06-29 17:51:39.000000000","message":"update_allowed\u003dFalse means that Heat will replace the server if the value changes (or, looking at previous comments, do we think that doesn\u0027t work for nested properties?). That may or may not be what\u0027s desired (I\u0027d say probably not), but it\u0027s inconsistent with the description above. At the very least, the generated documentation will be inconsistent, because it will say \"updates require replacement\" right after where it says updates are ignored.","commit_id":"2dfcfc885309b63e444eaaf91cbf1258b14e422e"},{"author":{"_account_id":10487,"name":"Kanagaraj Manickam","email":"mkr1481@gmail.com","username":"kanagarajm"},"change_message_id":"ab130ba146908747f8233e3bfae674844bccb857","unresolved":false,"context_lines":[{"line_number":480,"context_line":"                        properties.Schema.STRING,"},{"line_number":481,"context_line":"                        _(\u0027Port tag. Heat ignores any update on this property \u0027"},{"line_number":482,"context_line":"                          \u0027as nova does not support it.\u0027),"},{"line_number":483,"context_line":"                        update_allowed\u003dFalse,"},{"line_number":484,"context_line":"                        support_status\u003dsupport.SupportStatus(version\u003d\u00279.0.0\u0027)"},{"line_number":485,"context_line":"                    )"},{"line_number":486,"context_line":"                },"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f1d235d_238ddb7a","line":483,"in_reply_to":"3f1d235d_0d7dd4b0","updated":"2017-07-04 09:01:28.000000000","message":"heat docs says like this:\nPort tag. Heat ignores any update on this property as nova does not support it.\n\nString value expected.\n\nCan be updated without replacement\n------------\nthough docs are ok, But i think that update_allowed\u003dFalse should be removed, as it is default one. so i will remove this line and give an updated patch.\n\nThanks.","commit_id":"2dfcfc885309b63e444eaaf91cbf1258b14e422e"},{"author":{"_account_id":4257,"name":"Zane Bitter","email":"zbitter@redhat.com","username":"zaneb"},"change_message_id":"d8d05435fa80cd45468298607a58eaf842c479ed","unresolved":false,"context_lines":[{"line_number":480,"context_line":"                        properties.Schema.STRING,"},{"line_number":481,"context_line":"                        _(\u0027Port tag. Heat ignores any update on this property \u0027"},{"line_number":482,"context_line":"                          \u0027as nova does not support it.\u0027),"},{"line_number":483,"context_line":"                        update_allowed\u003dFalse,"},{"line_number":484,"context_line":"                        support_status\u003dsupport.SupportStatus(version\u003d\u00279.0.0\u0027)"},{"line_number":485,"context_line":"                    )"},{"line_number":486,"context_line":"                },"}],"source_content_type":"text/x-python","patch_set":6,"id":"1f1a1f67_545f7c0d","line":483,"in_reply_to":"3f1d235d_238ddb7a","updated":"2017-07-14 22:08:20.000000000","message":"So it does. http://docs-draft.openstack.org/44/473744/6/check/gate-heat-docs-ubuntu-xenial/3e330be//doc/build/html/template_guide/openstack.html#OS::Nova::Server-prop-networks-*-tag\n\nSo I guess nested properties are always update_allowed\u003dTrue if the top-level property is, even if they explicitly say update_allowed\u003dFalse. At least according to the docs. That seems like a bug to me.\n\nAt least leaving it at the default means that the code is not telling us the opposite of the docs, but it seems to me we should be explicitly setting update_allowed\u003dTrue on all of the nested properties and then fixing the bug.","commit_id":"2dfcfc885309b63e444eaaf91cbf1258b14e422e"}],"heat/engine/resources/openstack/nova/server_network_mixin.py":[{"author":{"_account_id":8289,"name":"huangtianhua","email":"tiantian223@163.com","username":"huangtianhua"},"change_message_id":"f39b9caa9c58aa465e004088cbf763d135d3de9d","unresolved":false,"context_lines":[{"line_number":252,"context_line":"                self._floating_ip_neutron_associate("},{"line_number":253,"context_line":"                    net.get(self.NETWORK_FLOATING_IP), floating_ip_data)"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"            if net.get(self.NIC_TAG):"},{"line_number":256,"context_line":"                nic_info[self.NIC_TAG] \u003d net.get(self.NIC_TAG)"},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"            nics.append(nic_info)"},{"line_number":259,"context_line":"        return nics"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f231b9d_6f09a393","line":256,"range":{"start_line":255,"start_character":12,"end_line":256,"end_character":62},"updated":"2017-06-13 10:05:37.000000000","message":"https://github.com/openstack/nova/blob/master/nova/api/openstack/compute/rest_api_version_history.rst#232\nNova supports network tag since microversion 2.42, we should make sure that.","commit_id":"3b641225bae728ed0de51c822897f20a461a62ec"},{"author":{"_account_id":10487,"name":"Kanagaraj Manickam","email":"mkr1481@gmail.com","username":"kanagarajm"},"change_message_id":"7df8d9120ef09a423fa876a0e7069619d26bee55","unresolved":false,"context_lines":[{"line_number":252,"context_line":"                self._floating_ip_neutron_associate("},{"line_number":253,"context_line":"                    net.get(self.NETWORK_FLOATING_IP), floating_ip_data)"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"            if net.get(self.NIC_TAG):"},{"line_number":256,"context_line":"                nic_info[self.NIC_TAG] \u003d net.get(self.NIC_TAG)"},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"            nics.append(nic_info)"},{"line_number":259,"context_line":"        return nics"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f231b9d_8c1d2275","line":256,"range":{"start_line":255,"start_character":12,"end_line":256,"end_character":62},"in_reply_to":"7f231b9d_6f09a393","updated":"2017-06-13 14:45:22.000000000","message":"I was looking at the line https://github.com/openstack/nova/blob/master/nova/api/openstack/compute/servers.py#L401 and as nova take care of it, better let us not handle it here.","commit_id":"3b641225bae728ed0de51c822897f20a461a62ec"}]}
