)]}'
{"heat/engine/resources/openstack/neutron/port.py":[{"author":{"_account_id":8833,"name":"Rabi Mishra","email":"ramishra@redhat.com","username":"rabi"},"change_message_id":"7da7296a0dd71ad1fc27b5d66a2f8d9c5d77bfa9","unresolved":false,"context_lines":[{"line_number":453,"context_line":"        # Switching between name and ID is OK, provided the value resolves"},{"line_number":454,"context_line":"        # to the same network.  If the network changes, the port is replaced."},{"line_number":455,"context_line":"        # Support NETWORK and NETWORK_ID, as switching between those is OK."},{"line_number":456,"context_line":"        before_net \u003d before_props.get(self.NETWORK,"},{"line_number":457,"context_line":"                                      before_props.get(self.NETWORK_ID))"},{"line_number":458,"context_line":"        after_net \u003d after_props.get(self.NETWORK,"},{"line_number":459,"context_line":"                                    after_props.get(self.NETWORK_ID))"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_81c68f47","line":456,"updated":"2015-12-16 05:35:59.000000000","message":"Also, If I\u0027m not wrong, prop translation[1] would take care of this. So we may not need this at all.\n\n[1] https://github.com/openstack/heat/blob/master/heat/engine/resource.py#L930","commit_id":"72ff1700abce0503f887469ea495c67ef2021b96"},{"author":{"_account_id":8833,"name":"Rabi Mishra","email":"ramishra@redhat.com","username":"rabi"},"change_message_id":"5ab09df4113d32b2451af4ebd4319523830aee88","unresolved":false,"context_lines":[{"line_number":453,"context_line":"        # Switching between name and ID is OK, provided the value resolves"},{"line_number":454,"context_line":"        # to the same network.  If the network changes, the port is replaced."},{"line_number":455,"context_line":"        # Support NETWORK and NETWORK_ID, as switching between those is OK."},{"line_number":456,"context_line":"        before_net \u003d before_props.get(self.NETWORK,"},{"line_number":457,"context_line":"                                      before_props.get(self.NETWORK_ID))"},{"line_number":458,"context_line":"        after_net \u003d after_props.get(self.NETWORK,"},{"line_number":459,"context_line":"                                    after_props.get(self.NETWORK_ID))"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_12f2f76f","line":456,"updated":"2015-12-16 02:35:44.000000000","message":"Are we not dot doing this irrespective any change in properties? If we still think this is the only option available, I think it would be good to do.\n\nprop_diff \u003d self.update_template_diff_properties(after_props, before_props)\n\nif self.REPLACEMENT_POLICY in prop_diff:\n...\n\nif self.NETWORK/self.NETWORK_ID in prop_diff:\n....","commit_id":"72ff1700abce0503f887469ea495c67ef2021b96"},{"author":{"_account_id":8833,"name":"Rabi Mishra","email":"ramishra@redhat.com","username":"rabi"},"change_message_id":"90d5f99616041bce8ba936370e7ff972372fd891","unresolved":false,"context_lines":[{"line_number":453,"context_line":"        # Switching between name and ID is OK, provided the value resolves"},{"line_number":454,"context_line":"        # to the same network.  If the network changes, the port is replaced."},{"line_number":455,"context_line":"        # Support NETWORK and NETWORK_ID, as switching between those is OK."},{"line_number":456,"context_line":"        before_net \u003d before_props.get(self.NETWORK,"},{"line_number":457,"context_line":"                                      before_props.get(self.NETWORK_ID))"},{"line_number":458,"context_line":"        after_net \u003d after_props.get(self.NETWORK,"},{"line_number":459,"context_line":"                                    after_props.get(self.NETWORK_ID))"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_92aca736","line":456,"in_reply_to":"5a710552_12f2f76f","updated":"2015-12-16 02:37:48.000000000","message":"May be not for REPLACEMENT_POLICY as this would force replace anyway.","commit_id":"72ff1700abce0503f887469ea495c67ef2021b96"},{"author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"change_message_id":"7dd69151b2ceb237d3dcd1f1d8228d8fa229e6a8","unresolved":false,"context_lines":[{"line_number":453,"context_line":"        # Switching between name and ID is OK, provided the value resolves"},{"line_number":454,"context_line":"        # to the same network.  If the network changes, the port is replaced."},{"line_number":455,"context_line":"        # Support NETWORK and NETWORK_ID, as switching between those is OK."},{"line_number":456,"context_line":"        before_net \u003d before_props.get(self.NETWORK,"},{"line_number":457,"context_line":"                                      before_props.get(self.NETWORK_ID))"},{"line_number":458,"context_line":"        after_net \u003d after_props.get(self.NETWORK,"},{"line_number":459,"context_line":"                                    after_props.get(self.NETWORK_ID))"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_7cebfcb0","line":456,"in_reply_to":"5a710552_1c22f852","updated":"2015-12-16 10:55:32.000000000","message":"Correction, the translation happens in Resource.update, so in my test it\u0027s not applied - I\u0027ll need to rework the test to account for that and implement an integration test instead.","commit_id":"72ff1700abce0503f887469ea495c67ef2021b96"},{"author":{"_account_id":8289,"name":"huangtianhua","email":"tiantian223@163.com","username":"huangtianhua"},"change_message_id":"1d908559c00de0a6b2049348a80e0e0773cc41d9","unresolved":false,"context_lines":[{"line_number":453,"context_line":"        # Switching between name and ID is OK, provided the value resolves"},{"line_number":454,"context_line":"        # to the same network.  If the network changes, the port is replaced."},{"line_number":455,"context_line":"        # Support NETWORK and NETWORK_ID, as switching between those is OK."},{"line_number":456,"context_line":"        before_net \u003d before_props.get(self.NETWORK,"},{"line_number":457,"context_line":"                                      before_props.get(self.NETWORK_ID))"},{"line_number":458,"context_line":"        after_net \u003d after_props.get(self.NETWORK,"},{"line_number":459,"context_line":"                                    after_props.get(self.NETWORK_ID))"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_ac905f44","line":456,"in_reply_to":"5a710552_81c68f47","updated":"2015-12-16 06:41:04.000000000","message":"I agree with Rabi Mishra, I believe we translated the \u0027NETWORK_ID\u0027 to \u0027NETWORK\u0027 already both for \u0027after\u0027 and \u0027before\u0027.","commit_id":"72ff1700abce0503f887469ea495c67ef2021b96"},{"author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"change_message_id":"ef980aebd7fef71304f861cc2ffb69c977d2fca2","unresolved":false,"context_lines":[{"line_number":453,"context_line":"        # Switching between name and ID is OK, provided the value resolves"},{"line_number":454,"context_line":"        # to the same network.  If the network changes, the port is replaced."},{"line_number":455,"context_line":"        # Support NETWORK and NETWORK_ID, as switching between those is OK."},{"line_number":456,"context_line":"        before_net \u003d before_props.get(self.NETWORK,"},{"line_number":457,"context_line":"                                      before_props.get(self.NETWORK_ID))"},{"line_number":458,"context_line":"        after_net \u003d after_props.get(self.NETWORK,"},{"line_number":459,"context_line":"                                    after_props.get(self.NETWORK_ID))"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_1c22f852","line":456,"in_reply_to":"5a710552_ac905f44","updated":"2015-12-16 10:51:57.000000000","message":"Actually, it turns out the translation rules aren\u0027t applied to the properties we get via needs_update, so I\u0027ll have to fix that before I can address these comments.","commit_id":"72ff1700abce0503f887469ea495c67ef2021b96"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"37b4c3ac7a4cf89ddeabece0ae6d662b89ff0d7f","unresolved":false,"context_lines":[{"line_number":458,"context_line":"        after_net \u003d after_props.get(self.NETWORK,"},{"line_number":459,"context_line":"                                    after_props.get(self.NETWORK_ID))"},{"line_number":460,"context_line":"        if None not in (before_net, after_net):"},{"line_number":461,"context_line":"            before_id \u003d self.client_plugin().find_resourceid_by_name_or_id("},{"line_number":462,"context_line":"                \u0027network\u0027, before_net)"},{"line_number":463,"context_line":"            after_id \u003d self.client_plugin().find_resourceid_by_name_or_id("},{"line_number":464,"context_line":"                \u0027network\u0027, after_net)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_1cd76e24","line":461,"updated":"2015-12-16 01:11:13.000000000","message":"this method isn\u0027t exposed in the stable branches, so the solution is a bit messier\nhttps://review.openstack.org/#/c/257994/4/heat/engine/resources/openstack/neutron/port.py,cm","commit_id":"72ff1700abce0503f887469ea495c67ef2021b96"},{"author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"change_message_id":"efe0c7def1e660862aef58909d1de1328eec5440","unresolved":false,"context_lines":[{"line_number":458,"context_line":"        after_net \u003d after_props.get(self.NETWORK,"},{"line_number":459,"context_line":"                                    after_props.get(self.NETWORK_ID))"},{"line_number":460,"context_line":"        if None not in (before_net, after_net):"},{"line_number":461,"context_line":"            before_id \u003d self.client_plugin().find_resourceid_by_name_or_id("},{"line_number":462,"context_line":"                \u0027network\u0027, before_net)"},{"line_number":463,"context_line":"            after_id \u003d self.client_plugin().find_resourceid_by_name_or_id("},{"line_number":464,"context_line":"                \u0027network\u0027, after_net)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_d84ec595","line":461,"in_reply_to":"5a710552_1cd76e24","updated":"2015-12-16 08:26:02.000000000","message":"Yeah I discovered that after the previous patch landed working with Giulio on the backport.\n\nI was wondering about reworking the approach on master to make it more backport-friendly, then squashing the related patches together to backport, or even partially backporting the patch which introduced find_resourceid_by_name_or_id so we can maintain the same approach.","commit_id":"72ff1700abce0503f887469ea495c67ef2021b96"},{"author":{"_account_id":8289,"name":"huangtianhua","email":"tiantian223@163.com","username":"huangtianhua"},"change_message_id":"8f3846ff2737a708d203890486d09e0c644ee669","unresolved":false,"context_lines":[{"line_number":328,"context_line":""},{"line_number":329,"context_line":"    # The network property can be updated, but only to switch between"},{"line_number":330,"context_line":"    # a name and ID for the same network, which is handled in _needs_update"},{"line_number":331,"context_line":"    update_exclude_properties \u003d [NETWORK, NETWORK_ID]"},{"line_number":332,"context_line":""},{"line_number":333,"context_line":"    def __init__(self, name, definition, stack):"},{"line_number":334,"context_line":"        \"\"\"Overloaded init in case of merging two schemas to one.\"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a7e1126_7d0cb842","line":331,"range":{"start_line":331,"start_character":4,"end_line":331,"end_character":29},"updated":"2015-12-17 04:12:10.000000000","message":"After rule translation in resource.update, we can use NETWORK everywhere, so remove \u0027NETWORK_ID\u0027 here to make logic more clearer.\n\nAnd also the test need to modify based on the translation.","commit_id":"f2dcc463ce11ea1f5facff6cf2395deee98f9414"},{"author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"change_message_id":"197503e3754cf7d9484caf353d4df5fbf764a2ce","unresolved":false,"context_lines":[{"line_number":328,"context_line":""},{"line_number":329,"context_line":"    # The network property can be updated, but only to switch between"},{"line_number":330,"context_line":"    # a name and ID for the same network, which is handled in _needs_update"},{"line_number":331,"context_line":"    update_exclude_properties \u003d [NETWORK, NETWORK_ID]"},{"line_number":332,"context_line":""},{"line_number":333,"context_line":"    def __init__(self, name, definition, stack):"},{"line_number":334,"context_line":"        \"\"\"Overloaded init in case of merging two schemas to one.\"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a7e1126_5973fbb1","line":331,"range":{"start_line":331,"start_character":4,"end_line":331,"end_character":29},"in_reply_to":"3a7e1126_7d0cb842","updated":"2015-12-17 08:28:42.000000000","message":"IMO removing it doesn\u0027t make it clearer - it makes it less obvious that the network_id should never be passed on update, because it requires knowledge of the translation rules.\n\nAs you mention, it\u0027ll probably also break the test (although I\u0027ve already switched to using port.properties which is post-translation in some tests already.)\n\nPersonally, I\u0027d rather leave this to make the code more self documenting, and make it explicit that although both NETWORK and NETWORK_ID are update_allowed\u003dTrue, neither one should ever be passed to the neutron client on update.","commit_id":"f2dcc463ce11ea1f5facff6cf2395deee98f9414"}]}
