)]}'
{"neutron/db/migration/alembic_migrations/versions/stein/expand/48b898c8750d_add_propagate_uplink_status_to_port.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5be8e8f36d945100863ad3a1c114f9db8c7873cb","unresolved":false,"context_lines":[{"line_number":37,"context_line":"                                            ondelete\u003d\"CASCADE\"),"},{"line_number":38,"context_line":"                              primary_key\u003dTrue, index\u003dTrue),"},{"line_number":39,"context_line":"                    sa.Column(\u0027propagate_uplink_status\u0027, sa.Boolean(),"},{"line_number":40,"context_line":"                              nullable\u003dTrue))"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_29dc7216","line":40,"range":{"start_line":40,"start_character":30,"end_line":40,"end_character":43},"updated":"2018-10-02 18:55:01.000000000","message":"This is the only data field in this table, thus I don\u0027t see the need of setting it to nullable.","commit_id":"714cb6e465618f8efba51018624cb07616d56b9a"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5be8e8f36d945100863ad3a1c114f9db8c7873cb","unresolved":false,"context_lines":[{"line_number":37,"context_line":"                                            ondelete\u003d\"CASCADE\"),"},{"line_number":38,"context_line":"                              primary_key\u003dTrue, index\u003dTrue),"},{"line_number":39,"context_line":"                    sa.Column(\u0027propagate_uplink_status\u0027, sa.Boolean(),"},{"line_number":40,"context_line":"                              nullable\u003dTrue))"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_89d026f6","line":40,"range":{"start_line":40,"start_character":44,"end_line":40,"end_character":45},"updated":"2018-10-02 18:55:01.000000000","message":"You should also add the default value to false (which is the API default value):\nserver_default\u003dsa.sql.false()","commit_id":"714cb6e465618f8efba51018624cb07616d56b9a"},{"author":{"_account_id":27654,"name":"Hongbin Lu","email":"kira034@163.com","username":"hongbin.lu"},"change_message_id":"f7e1a7198bd51d9a87274d0e7ca840605e47b55a","unresolved":false,"context_lines":[{"line_number":37,"context_line":"                                            ondelete\u003d\"CASCADE\"),"},{"line_number":38,"context_line":"                              primary_key\u003dTrue, index\u003dTrue),"},{"line_number":39,"context_line":"                    sa.Column(\u0027propagate_uplink_status\u0027, sa.Boolean(),"},{"line_number":40,"context_line":"                              nullable\u003dTrue))"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_31ed7724","line":40,"range":{"start_line":40,"start_character":30,"end_line":40,"end_character":43},"in_reply_to":"3f79a3b5_29dc7216","updated":"2018-10-04 22:30:15.000000000","message":"Done","commit_id":"714cb6e465618f8efba51018624cb07616d56b9a"},{"author":{"_account_id":27654,"name":"Hongbin Lu","email":"kira034@163.com","username":"hongbin.lu"},"change_message_id":"f7e1a7198bd51d9a87274d0e7ca840605e47b55a","unresolved":false,"context_lines":[{"line_number":37,"context_line":"                                            ondelete\u003d\"CASCADE\"),"},{"line_number":38,"context_line":"                              primary_key\u003dTrue, index\u003dTrue),"},{"line_number":39,"context_line":"                    sa.Column(\u0027propagate_uplink_status\u0027, sa.Boolean(),"},{"line_number":40,"context_line":"                              nullable\u003dTrue))"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_51f27307","line":40,"range":{"start_line":40,"start_character":44,"end_line":40,"end_character":45},"in_reply_to":"3f79a3b5_89d026f6","updated":"2018-10-04 22:30:15.000000000","message":"Done","commit_id":"714cb6e465618f8efba51018624cb07616d56b9a"}],"neutron/db/models/uplink_status_propagation.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5be8e8f36d945100863ad3a1c114f9db8c7873cb","unresolved":false,"context_lines":[{"line_number":23,"context_line":"    port_id \u003d sa.Column(sa.String(36),"},{"line_number":24,"context_line":"                        sa.ForeignKey(\u0027ports.id\u0027, ondelete\u003d\"CASCADE\"),"},{"line_number":25,"context_line":"                        primary_key\u003dTrue, index\u003dTrue)"},{"line_number":26,"context_line":"    propagate_uplink_status \u003d sa.Column(sa.Boolean(), nullable\u003dTrue)"},{"line_number":27,"context_line":"    port \u003d orm.relationship("},{"line_number":28,"context_line":"        models_v2.Port, load_on_pending\u003dTrue,"},{"line_number":29,"context_line":"        backref\u003dorm.backref(\"propagate_uplink_status\","}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_691caac1","line":26,"range":{"start_line":26,"start_character":52,"end_line":26,"end_character":53},"updated":"2018-10-02 18:55:01.000000000","message":"You should also add the default value:\ndefault\u003dFalse, server_default\u003dsa.sql.false()","commit_id":"714cb6e465618f8efba51018624cb07616d56b9a"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5be8e8f36d945100863ad3a1c114f9db8c7873cb","unresolved":false,"context_lines":[{"line_number":23,"context_line":"    port_id \u003d sa.Column(sa.String(36),"},{"line_number":24,"context_line":"                        sa.ForeignKey(\u0027ports.id\u0027, ondelete\u003d\"CASCADE\"),"},{"line_number":25,"context_line":"                        primary_key\u003dTrue, index\u003dTrue)"},{"line_number":26,"context_line":"    propagate_uplink_status \u003d sa.Column(sa.Boolean(), nullable\u003dTrue)"},{"line_number":27,"context_line":"    port \u003d orm.relationship("},{"line_number":28,"context_line":"        models_v2.Port, load_on_pending\u003dTrue,"},{"line_number":29,"context_line":"        backref\u003dorm.backref(\"propagate_uplink_status\","}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_e908ba80","line":26,"range":{"start_line":26,"start_character":54,"end_line":26,"end_character":67},"updated":"2018-10-02 18:55:01.000000000","message":"ditto, as commented in the migration file","commit_id":"714cb6e465618f8efba51018624cb07616d56b9a"},{"author":{"_account_id":27654,"name":"Hongbin Lu","email":"kira034@163.com","username":"hongbin.lu"},"change_message_id":"f7e1a7198bd51d9a87274d0e7ca840605e47b55a","unresolved":false,"context_lines":[{"line_number":23,"context_line":"    port_id \u003d sa.Column(sa.String(36),"},{"line_number":24,"context_line":"                        sa.ForeignKey(\u0027ports.id\u0027, ondelete\u003d\"CASCADE\"),"},{"line_number":25,"context_line":"                        primary_key\u003dTrue, index\u003dTrue)"},{"line_number":26,"context_line":"    propagate_uplink_status \u003d sa.Column(sa.Boolean(), nullable\u003dTrue)"},{"line_number":27,"context_line":"    port \u003d orm.relationship("},{"line_number":28,"context_line":"        models_v2.Port, load_on_pending\u003dTrue,"},{"line_number":29,"context_line":"        backref\u003dorm.backref(\"propagate_uplink_status\","}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_b1e0a729","line":26,"range":{"start_line":26,"start_character":54,"end_line":26,"end_character":67},"in_reply_to":"3f79a3b5_e908ba80","updated":"2018-10-04 22:30:15.000000000","message":"Done","commit_id":"714cb6e465618f8efba51018624cb07616d56b9a"}],"neutron/db/uplink_status_propagation_db.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5be8e8f36d945100863ad3a1c114f9db8c7873cb","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    def _process_create_port(self, context, data, res):"},{"line_number":23,"context_line":"        obj \u003d usp_obj.PortUplinkStatusPropagation(context, port_id\u003dres[\u0027id\u0027],"},{"line_number":24,"context_line":"            propagate_uplink_status\u003ddata[usp.PROPAGATE_UPLINK_STATUS])"},{"line_number":25,"context_line":"        obj.create()"},{"line_number":26,"context_line":"        res[usp.PROPAGATE_UPLINK_STATUS] \u003d data[usp.PROPAGATE_UPLINK_STATUS]"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    @staticmethod"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_27cfb928","line":25,"range":{"start_line":25,"start_character":8,"end_line":25,"end_character":20},"updated":"2018-10-02 18:55:01.000000000","message":"Do we always need to create this object? If vnic type is not VNIC_TYPE_DIRECT or VNIC_TYPE_DIRECT_PHYSICAL, do we need to create the object?\n\nIs not big deal because the object is small in the DB.","commit_id":"714cb6e465618f8efba51018624cb07616d56b9a"},{"author":{"_account_id":27654,"name":"Hongbin Lu","email":"kira034@163.com","username":"hongbin.lu"},"change_message_id":"f7e1a7198bd51d9a87274d0e7ca840605e47b55a","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    def _process_create_port(self, context, data, res):"},{"line_number":23,"context_line":"        obj \u003d usp_obj.PortUplinkStatusPropagation(context, port_id\u003dres[\u0027id\u0027],"},{"line_number":24,"context_line":"            propagate_uplink_status\u003ddata[usp.PROPAGATE_UPLINK_STATUS])"},{"line_number":25,"context_line":"        obj.create()"},{"line_number":26,"context_line":"        res[usp.PROPAGATE_UPLINK_STATUS] \u003d data[usp.PROPAGATE_UPLINK_STATUS]"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    @staticmethod"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_1142bb0e","line":25,"range":{"start_line":25,"start_character":8,"end_line":25,"end_character":20},"in_reply_to":"3f79a3b5_27cfb928","updated":"2018-10-04 22:30:15.000000000","message":"For the SRIOV case, no, we don\u0027t, but the answer is yes if someone wanted to reuse this attribute to model trunk port.","commit_id":"714cb6e465618f8efba51018624cb07616d56b9a"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"181fe38ebca496662c5532fd7247e9fce182b02d","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        port_res.setdefault(usp.PROPAGATE_UPLINK_STATUS, False)"},{"line_number":31,"context_line":"        if port_db.get(usp.PROPAGATE_UPLINK_STATUS):"},{"line_number":32,"context_line":"            port_res[usp.PROPAGATE_UPLINK_STATUS] \u003d ("},{"line_number":33,"context_line":"                port_db[usp.PROPAGATE_UPLINK_STATUS].propagate_uplink_status)"}],"source_content_type":"text/x-python","patch_set":16,"id":"3f79a3b5_b3d72b23","line":33,"updated":"2018-10-07 09:19:35.000000000","message":"IMO something like:\n\n    propagate_uplink_status \u003d port_db.get(usp.PROPAGATE_UPLINK_STATUS, False)\n    port_res.setdefault(usp.PROPAGATE_UPLINK_STATUS, propagate_uplink_status)\n\nwill do the same but will be shorter :)","commit_id":"f65a49fbf2f17367d9391ce3f1348f885660912f"},{"author":{"_account_id":27654,"name":"Hongbin Lu","email":"kira034@163.com","username":"hongbin.lu"},"change_message_id":"6c7480d716391c8c6d62b68fe61cd33e8345712f","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        port_res.setdefault(usp.PROPAGATE_UPLINK_STATUS, False)"},{"line_number":31,"context_line":"        if port_db.get(usp.PROPAGATE_UPLINK_STATUS):"},{"line_number":32,"context_line":"            port_res[usp.PROPAGATE_UPLINK_STATUS] \u003d ("},{"line_number":33,"context_line":"                port_db[usp.PROPAGATE_UPLINK_STATUS].propagate_uplink_status)"}],"source_content_type":"text/x-python","patch_set":16,"id":"3f79a3b5_3f52ce13","line":33,"in_reply_to":"3f79a3b5_b3d72b23","updated":"2018-10-09 18:35:58.000000000","message":"I made it shorter. Done.","commit_id":"f65a49fbf2f17367d9391ce3f1348f885660912f"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"27ec4cd3d04f4d92bb84ddc9cefe808a3612eb8d","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    @staticmethod"},{"line_number":29,"context_line":"    def _extend_port_dict(port_res, port_db):"},{"line_number":30,"context_line":"        usp_db \u003d port_db.get(usp.PROPAGATE_UPLINK_STATUS)"},{"line_number":31,"context_line":"        port_res[usp.PROPAGATE_UPLINK_STATUS] \u003d \\"},{"line_number":32,"context_line":"            usp_db.propagate_uplink_status if usp_db else False"}],"source_content_type":"text/x-python","patch_set":18,"id":"3f79a3b5_ccbe2cff","line":31,"range":{"start_line":31,"start_character":48,"end_line":31,"end_character":49},"updated":"2018-10-15 08:26:05.000000000","message":"nitty nit: please use parenthesis instead of \"\\\" :)","commit_id":"9d47546e5e27e2b54adf3b099fa1bda6d9509750"},{"author":{"_account_id":27654,"name":"Hongbin Lu","email":"kira034@163.com","username":"hongbin.lu"},"change_message_id":"222a54b1bbdd93804261f38c8455a351f9074c8b","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    @staticmethod"},{"line_number":29,"context_line":"    def _extend_port_dict(port_res, port_db):"},{"line_number":30,"context_line":"        usp_db \u003d port_db.get(usp.PROPAGATE_UPLINK_STATUS)"},{"line_number":31,"context_line":"        port_res[usp.PROPAGATE_UPLINK_STATUS] \u003d \\"},{"line_number":32,"context_line":"            usp_db.propagate_uplink_status if usp_db else False"}],"source_content_type":"text/x-python","patch_set":18,"id":"3f79a3b5_47866e61","line":31,"range":{"start_line":31,"start_character":48,"end_line":31,"end_character":49},"in_reply_to":"3f79a3b5_ccbe2cff","updated":"2018-10-15 14:45:51.000000000","message":"Done","commit_id":"9d47546e5e27e2b54adf3b099fa1bda6d9509750"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"e5cdd5b7077891aec326a20782a15141f4df978f","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    def _extend_port_dict(port_res, port_db):"},{"line_number":30,"context_line":"        usp_db \u003d port_db.get(usp.PROPAGATE_UPLINK_STATUS)"},{"line_number":31,"context_line":"        port_res[usp.PROPAGATE_UPLINK_STATUS] \u003d \\"},{"line_number":32,"context_line":"            usp_db.propagate_uplink_status if usp_db else False"}],"source_content_type":"text/x-python","patch_set":18,"id":"3f79a3b5_bd2a152c","line":32,"updated":"2018-10-12 16:22:13.000000000","message":"(nothing to be done) Well, for me PS17 was OK, but this is fine too.","commit_id":"9d47546e5e27e2b54adf3b099fa1bda6d9509750"}],"neutron/objects/port/extensions/uplink_status_propagation.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5be8e8f36d945100863ad3a1c114f9db8c7873cb","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    fields \u003d {"},{"line_number":30,"context_line":"        \u0027port_id\u0027: common_types.UUIDField(),"},{"line_number":31,"context_line":"        \u0027propagate_uplink_status\u0027: obj_fields.BooleanField(),"},{"line_number":32,"context_line":"    }"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    foreign_keys \u003d {\u0027Port\u0027: {\u0027port_id\u0027: \u0027id\u0027}}"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_8c6354ab","line":31,"updated":"2018-10-02 18:55:01.000000000","message":"default\u003dfalse","commit_id":"714cb6e465618f8efba51018624cb07616d56b9a"},{"author":{"_account_id":27654,"name":"Hongbin Lu","email":"kira034@163.com","username":"hongbin.lu"},"change_message_id":"f7e1a7198bd51d9a87274d0e7ca840605e47b55a","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    fields \u003d {"},{"line_number":30,"context_line":"        \u0027port_id\u0027: common_types.UUIDField(),"},{"line_number":31,"context_line":"        \u0027propagate_uplink_status\u0027: obj_fields.BooleanField(),"},{"line_number":32,"context_line":"    }"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    foreign_keys \u003d {\u0027Port\u0027: {\u0027port_id\u0027: \u0027id\u0027}}"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_91d1eb59","line":31,"in_reply_to":"3f79a3b5_8c6354ab","updated":"2018-10-04 22:30:15.000000000","message":"Done","commit_id":"714cb6e465618f8efba51018624cb07616d56b9a"}],"neutron/plugins/ml2/drivers/mech_sriov/agent/eswitch_manager.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5be8e8f36d945100863ad3a1c114f9db8c7873cb","unresolved":false,"context_lines":[{"line_number":302,"context_line":"        embedded_switch \u003d self._get_emb_eswitch(device_mac, pci_slot)"},{"line_number":303,"context_line":"        if embedded_switch:"},{"line_number":304,"context_line":"            return embedded_switch.get_device_state(pci_slot)"},{"line_number":305,"context_line":"        return False"},{"line_number":306,"context_line":""},{"line_number":307,"context_line":"    def set_device_max_rate(self, device_mac, pci_slot, max_kbps):"},{"line_number":308,"context_line":"        \"\"\"Set device max rate"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_62ba7fc0","line":305,"range":{"start_line":305,"start_character":15,"end_line":305,"end_character":20},"updated":"2018-10-02 18:55:01.000000000","message":"By default, that was False. Now this should be \"disable\".\n\nNOTE: this function is not used (am I wrong?, SriovNicSwitchAgent never call this function)","commit_id":"714cb6e465618f8efba51018624cb07616d56b9a"},{"author":{"_account_id":27654,"name":"Hongbin Lu","email":"kira034@163.com","username":"hongbin.lu"},"change_message_id":"f7e1a7198bd51d9a87274d0e7ca840605e47b55a","unresolved":false,"context_lines":[{"line_number":302,"context_line":"        embedded_switch \u003d self._get_emb_eswitch(device_mac, pci_slot)"},{"line_number":303,"context_line":"        if embedded_switch:"},{"line_number":304,"context_line":"            return embedded_switch.get_device_state(pci_slot)"},{"line_number":305,"context_line":"        return False"},{"line_number":306,"context_line":""},{"line_number":307,"context_line":"    def set_device_max_rate(self, device_mac, pci_slot, max_kbps):"},{"line_number":308,"context_line":"        \"\"\"Set device max rate"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_31c6d79e","line":305,"range":{"start_line":305,"start_character":15,"end_line":305,"end_character":20},"in_reply_to":"3f79a3b5_62ba7fc0","updated":"2018-10-04 22:30:15.000000000","message":"Done","commit_id":"714cb6e465618f8efba51018624cb07616d56b9a"}],"neutron/tests/unit/plugins/ml2/extensions/test_uplink_status_propagation.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"181fe38ebca496662c5532fd7247e9fce182b02d","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"            driver \u003d usp.UplinkStatusPropagationExtensionDriver()"},{"line_number":41,"context_line":"            driver.extend_port_dict(session, db_data, response_data)"},{"line_number":42,"context_line":"            self.assertIs(False, response_data[\u0027propagate_uplink_status\u0027])"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    def test_show_port_has_propagate_uplink_status(self):"},{"line_number":45,"context_line":"        with self.port(propagate_uplink_status\u003dTrue) as port:"}],"source_content_type":"text/x-python","patch_set":16,"id":"3f79a3b5_d3dc2747","line":42,"updated":"2018-10-07 09:19:35.000000000","message":"You can use self.assertFalse() here","commit_id":"f65a49fbf2f17367d9391ce3f1348f885660912f"},{"author":{"_account_id":27654,"name":"Hongbin Lu","email":"kira034@163.com","username":"hongbin.lu"},"change_message_id":"6c7480d716391c8c6d62b68fe61cd33e8345712f","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"            driver \u003d usp.UplinkStatusPropagationExtensionDriver()"},{"line_number":41,"context_line":"            driver.extend_port_dict(session, db_data, response_data)"},{"line_number":42,"context_line":"            self.assertIs(False, response_data[\u0027propagate_uplink_status\u0027])"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    def test_show_port_has_propagate_uplink_status(self):"},{"line_number":45,"context_line":"        with self.port(propagate_uplink_status\u003dTrue) as port:"}],"source_content_type":"text/x-python","patch_set":16,"id":"3f79a3b5_ff3bf6c5","line":42,"in_reply_to":"3f79a3b5_d3dc2747","updated":"2018-10-09 18:35:58.000000000","message":"Done","commit_id":"f65a49fbf2f17367d9391ce3f1348f885660912f"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"181fe38ebca496662c5532fd7247e9fce182b02d","unresolved":false,"context_lines":[{"line_number":47,"context_line":"                                        port[\u0027port\u0027][\u0027id\u0027],"},{"line_number":48,"context_line":"                                        self.fmt)"},{"line_number":49,"context_line":"            n \u003d self.deserialize(self.fmt, req.get_response(self.api))"},{"line_number":50,"context_line":"            self.assertIs(True, n[\u0027port\u0027][\u0027propagate_uplink_status\u0027])"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    def test_port_create_propagate_uplink_status(self):"},{"line_number":53,"context_line":"        with self.network() as n:"}],"source_content_type":"text/x-python","patch_set":16,"id":"3f79a3b5_73e193fd","line":50,"updated":"2018-10-07 09:19:35.000000000","message":"and self.assertTrue() here","commit_id":"f65a49fbf2f17367d9391ce3f1348f885660912f"},{"author":{"_account_id":27654,"name":"Hongbin Lu","email":"kira034@163.com","username":"hongbin.lu"},"change_message_id":"6c7480d716391c8c6d62b68fe61cd33e8345712f","unresolved":false,"context_lines":[{"line_number":47,"context_line":"                                        port[\u0027port\u0027][\u0027id\u0027],"},{"line_number":48,"context_line":"                                        self.fmt)"},{"line_number":49,"context_line":"            n \u003d self.deserialize(self.fmt, req.get_response(self.api))"},{"line_number":50,"context_line":"            self.assertIs(True, n[\u0027port\u0027][\u0027propagate_uplink_status\u0027])"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    def test_port_create_propagate_uplink_status(self):"},{"line_number":53,"context_line":"        with self.network() as n:"}],"source_content_type":"text/x-python","patch_set":16,"id":"3f79a3b5_bf457e46","line":50,"in_reply_to":"3f79a3b5_73e193fd","updated":"2018-10-09 18:35:58.000000000","message":"Done","commit_id":"f65a49fbf2f17367d9391ce3f1348f885660912f"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"181fe38ebca496662c5532fd7247e9fce182b02d","unresolved":false,"context_lines":[{"line_number":67,"context_line":"            finally:"},{"line_number":68,"context_line":"                if port:"},{"line_number":69,"context_line":"                    self.plugin.delete_port(self.context, port[\u0027id\u0027])"},{"line_number":70,"context_line":"            self.assertIs(True, port[\u0027propagate_uplink_status\u0027])"}],"source_content_type":"text/x-python","patch_set":16,"id":"3f79a3b5_93deaf3a","line":70,"updated":"2018-10-07 09:19:35.000000000","message":"and here","commit_id":"f65a49fbf2f17367d9391ce3f1348f885660912f"},{"author":{"_account_id":27654,"name":"Hongbin Lu","email":"kira034@163.com","username":"hongbin.lu"},"change_message_id":"6c7480d716391c8c6d62b68fe61cd33e8345712f","unresolved":false,"context_lines":[{"line_number":67,"context_line":"            finally:"},{"line_number":68,"context_line":"                if port:"},{"line_number":69,"context_line":"                    self.plugin.delete_port(self.context, port[\u0027id\u0027])"},{"line_number":70,"context_line":"            self.assertIs(True, port[\u0027propagate_uplink_status\u0027])"}],"source_content_type":"text/x-python","patch_set":16,"id":"3f79a3b5_df407a35","line":70,"in_reply_to":"3f79a3b5_93deaf3a","updated":"2018-10-09 18:35:58.000000000","message":"Done","commit_id":"f65a49fbf2f17367d9391ce3f1348f885660912f"}],"releasenotes/notes/add-propagate_uplink_status-to-port-f4e53395e86eb3cb.yaml":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"df594b7e81789df67303764caa7ab4e34ae37858","unresolved":false,"context_lines":[{"line_number":9,"context_line":"    Operators can turn on this feature via the configuration option::"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"      [ml2]"},{"line_number":12,"context_line":"      extension_drivers \u003d uplink_status_propagation"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"    The API extension ``uplink_status_propagation`` is introduced to indicate"},{"line_number":15,"context_line":"    if this feature is turned on."}],"source_content_type":"text/x-yaml","patch_set":22,"id":"3f79a3b5_a08b68c5","line":12,"updated":"2018-11-29 22:20:11.000000000","message":"I\u0027m not sure if such level of details is necessary in release note but if You want it, I will not be against :)","commit_id":"f0678b9b0965dae1ab340cd7dd9805eca1ea6e7f"}]}
