)]}'
{"dragonflow/common/net_utils.py":[{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"2611e354ac49e9ab04fdac61bb0eb2aafe9dd08f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"ff346bd7_34246ac6","updated":"2017-07-23 09:15:54.000000000","message":"Could we rename this file dhcp.py? I don\u0027t want it to be too general.","commit_id":"743149a0b60db15568935d936b4843837b80a236"},{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"da81bfd9c1b9e657e089ee65399a28751b4fb67b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"ff346bd7_f5fecb03","in_reply_to":"ff346bd7_34246ac6","updated":"2017-07-24 11:30:22.000000000","message":"+1","commit_id":"743149a0b60db15568935d936b4843837b80a236"}],"dragonflow/db/field_types.py":[{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"324766263e6c062630c93885ec2bcbc3176de530","unresolved":false,"context_lines":[{"line_number":260,"context_line":"        if not value:"},{"line_number":261,"context_line":"            return"},{"line_number":262,"context_line":"        for key, inner_val in value.items():"},{"line_number":263,"context_line":"            if not DhcpOptsDictField.is_tag_valid(key):"},{"line_number":264,"context_line":"                raise errors.ValidationError("},{"line_number":265,"context_line":"                    _(\u0027Key {} is not a vaild dhcp opt\u0027).format(key))"},{"line_number":266,"context_line":"            if not isinstance(inner_val, six.string_types):"}],"source_content_type":"text/x-python","patch_set":7,"id":"1f1a1f67_0ae626e9","line":263,"range":{"start_line":263,"start_character":19,"end_line":263,"end_character":36},"updated":"2017-07-18 19:04:15.000000000","message":"self.is_tag_valid","commit_id":"6c3e1bcfd0857033a011ab62d70735549bfd9460"}],"dragonflow/neutron/common/dhcp_opt_map.py":[{"author":{"_account_id":23235,"name":"Lihi Wishnitzer","email":"lihiwish@gmail.com","username":"lihiwish"},"change_message_id":"90540de52f88ad0f14496aa7ced190d53f5f43bf","unresolved":false,"context_lines":[{"line_number":202,"context_line":"    try:"},{"line_number":203,"context_line":"        user_tag_int \u003d int(usr_tag)"},{"line_number":204,"context_line":"        if df_fields.DhcpOptsDictField.is_tag_valid(user_tag_int):"},{"line_number":205,"context_line":"            return user_tag_int"},{"line_number":206,"context_line":"    except ValueError:"},{"line_number":207,"context_line":"        pass"},{"line_number":208,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1f1a1f67_6e37014f","line":205,"range":{"start_line":205,"start_character":19,"end_line":205,"end_character":31},"updated":"2017-07-18 10:48:53.000000000","message":"What will happen if we\u0027ll receive a tag number that in the range( 0 \u003c tag \u003c 255), but don\u0027t have a name defined in opt_mapping (127 for example)?\nDo we support such options? Which value we provide?","commit_id":"a33f48100094df6751f7b2c63902d687399e07a8"},{"author":{"_account_id":26131,"name":"Eyal Leshem","email":"eyal.leshem@toganetworks.com","username":"leyal"},"change_message_id":"1f0812a4b30d0cb63f60453429907e6e6767d043","unresolved":false,"context_lines":[{"line_number":202,"context_line":"    try:"},{"line_number":203,"context_line":"        user_tag_int \u003d int(usr_tag)"},{"line_number":204,"context_line":"        if df_fields.DhcpOptsDictField.is_tag_valid(user_tag_int):"},{"line_number":205,"context_line":"            return user_tag_int"},{"line_number":206,"context_line":"    except ValueError:"},{"line_number":207,"context_line":"        pass"},{"line_number":208,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1f1a1f67_c5ea730d","line":205,"range":{"start_line":205,"start_character":19,"end_line":205,"end_character":31},"in_reply_to":"1f1a1f67_6e37014f","updated":"2017-07-18 11:52:22.000000000","message":"that OK, \nlets say that user config 127:\"abcd\" \nso when request the ask for opt 127(in requested-pramter-list) -will be responsed with \"abcd\"","commit_id":"a33f48100094df6751f7b2c63902d687399e07a8"},{"author":{"_account_id":23235,"name":"Lihi Wishnitzer","email":"lihiwish@gmail.com","username":"lihiwish"},"change_message_id":"4caf3592440271a143427a31d57dde40ff628d0a","unresolved":false,"context_lines":[{"line_number":202,"context_line":"    try:"},{"line_number":203,"context_line":"        user_tag_int \u003d int(usr_tag)"},{"line_number":204,"context_line":"        if df_fields.DhcpOptsDictField.is_tag_valid(user_tag_int):"},{"line_number":205,"context_line":"            return user_tag_int"},{"line_number":206,"context_line":"    except ValueError:"},{"line_number":207,"context_line":"        pass"},{"line_number":208,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1f1a1f67_e528cf97","line":205,"range":{"start_line":205,"start_character":19,"end_line":205,"end_character":31},"in_reply_to":"1f1a1f67_c5ea730d","updated":"2017-07-18 12:02:50.000000000","message":"Does the user config always contains information for all the options?","commit_id":"a33f48100094df6751f7b2c63902d687399e07a8"},{"author":{"_account_id":26131,"name":"Eyal Leshem","email":"eyal.leshem@toganetworks.com","username":"leyal"},"change_message_id":"8a2bd7ed7f4ab9f9f759e7d7a6d3f52251cec303","unresolved":false,"context_lines":[{"line_number":202,"context_line":"    try:"},{"line_number":203,"context_line":"        user_tag_int \u003d int(usr_tag)"},{"line_number":204,"context_line":"        if df_fields.DhcpOptsDictField.is_tag_valid(user_tag_int):"},{"line_number":205,"context_line":"            return user_tag_int"},{"line_number":206,"context_line":"    except ValueError:"},{"line_number":207,"context_line":"        pass"},{"line_number":208,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1f1a1f67_b88b1a1d","line":205,"range":{"start_line":205,"start_character":19,"end_line":205,"end_character":31},"in_reply_to":"1f1a1f67_e528cf97","updated":"2017-07-18 12:29:31.000000000","message":"No - \nBut when the user configure an option he can choose to use DNS-Masq names or DHCPD-names or opt-number - if there is no   DHCP/DNS-masq names - then the only option for the user is to configure explicitly the opt tag ...","commit_id":"a33f48100094df6751f7b2c63902d687399e07a8"},{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"324766263e6c062630c93885ec2bcbc3176de530","unresolved":false,"context_lines":[{"line_number":201,"context_line":"def dhcp_app_tag_by_user_tag(usr_tag):"},{"line_number":202,"context_line":"    try:"},{"line_number":203,"context_line":"        user_tag_int \u003d int(usr_tag)"},{"line_number":204,"context_line":"        if df_fields.DhcpOptsDictField.is_tag_valid(user_tag_int):"},{"line_number":205,"context_line":"            return user_tag_int"},{"line_number":206,"context_line":"    except ValueError:"},{"line_number":207,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":7,"id":"1f1a1f67_aa25f20a","line":204,"range":{"start_line":204,"start_character":11,"end_line":204,"end_character":66},"updated":"2017-07-18 19:04:15.000000000","message":"I don\u0027t think this is the best place for the validation function. Tag type check is not just something related to the field type, but rather to DHCP standard itself","commit_id":"6c3e1bcfd0857033a011ab62d70735549bfd9460"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"2611e354ac49e9ab04fdac61bb0eb2aafe9dd08f","unresolved":false,"context_lines":[{"line_number":11,"context_line":"#    under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import dragonflow.common.constants as const"},{"line_number":14,"context_line":"import dragonflow.common.net_utils as net_utils"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"dnsmasq_opts \u003d {"},{"line_number":17,"context_line":"    \"netmask\": 1,"}],"source_content_type":"text/x-python","patch_set":8,"id":"ff346bd7_f42dc2a8","line":14,"range":{"start_line":14,"start_character":0,"end_line":14,"end_character":47},"updated":"2017-07-23 09:15:54.000000000","message":"nit: Can also use: from dragonflow.common import net_utils, and then you don\u0027t need the \u0027as\u0027 clause (unless you want to rename it again).","commit_id":"743149a0b60db15568935d936b4843837b80a236"}],"dragonflow/neutron/db/models/l2.py":[{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"82a2cae152cec70fd14b89c0d1b8b266eeabcd4c","unresolved":false,"context_lines":[{"line_number":81,"context_line":"    dhcp_opt_dict \u003d {}"},{"line_number":82,"context_line":"    siaddr \u003d None"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    opts \u003d port.get(extra_dhcp_opt.EXTRADHCPOPTS, [])"},{"line_number":85,"context_line":"    for opt in opts:"},{"line_number":86,"context_line":"        opt_tag \u003d opt_map.dhcp_app_tag_by_user_tag(opt[\u0027opt_name\u0027])"},{"line_number":87,"context_line":"        if opt_tag \u003d\u003d const.DHCP_SIADDR:"}],"source_content_type":"text/x-python","patch_set":6,"id":"1f1a1f67_3f0c993f","line":84,"range":{"start_line":84,"start_character":0,"end_line":84,"end_character":53},"updated":"2017-07-18 08:28:58.000000000","message":"super-nit: You defined this in the function above","commit_id":"a33f48100094df6751f7b2c63902d687399e07a8"},{"author":{"_account_id":26131,"name":"Eyal Leshem","email":"eyal.leshem@toganetworks.com","username":"leyal"},"change_message_id":"1f0812a4b30d0cb63f60453429907e6e6767d043","unresolved":false,"context_lines":[{"line_number":81,"context_line":"    dhcp_opt_dict \u003d {}"},{"line_number":82,"context_line":"    siaddr \u003d None"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    opts \u003d port.get(extra_dhcp_opt.EXTRADHCPOPTS, [])"},{"line_number":85,"context_line":"    for opt in opts:"},{"line_number":86,"context_line":"        opt_tag \u003d opt_map.dhcp_app_tag_by_user_tag(opt[\u0027opt_name\u0027])"},{"line_number":87,"context_line":"        if opt_tag \u003d\u003d const.DHCP_SIADDR:"}],"source_content_type":"text/x-python","patch_set":6,"id":"1f1a1f67_c59cb3c1","line":84,"range":{"start_line":84,"start_character":0,"end_line":84,"end_character":53},"in_reply_to":"1f1a1f67_3f0c993f","updated":"2017-07-18 11:52:22.000000000","message":"will change to using it ..","commit_id":"a33f48100094df6751f7b2c63902d687399e07a8"}],"dragonflow/tests/unit/test_mech_driver.py":[{"author":{"_account_id":23235,"name":"Lihi Wishnitzer","email":"lihiwish@gmail.com","username":"lihiwish"},"change_message_id":"6c4a5c1c90eb3327c9988c2b10d71d13e4196b56","unresolved":false,"context_lines":[{"line_number":491,"context_line":"            \u0027ports\u0027,"},{"line_number":492,"context_line":"            data, port[\u0027id\u0027])"},{"line_number":493,"context_line":"        req.get_response(self.api)"},{"line_number":494,"context_line":"        response \u003d req.get_response(self.api)"},{"line_number":495,"context_line":"        self.assertEqual(response.status_code, 400)"},{"line_number":496,"context_line":""},{"line_number":497,"context_line":"    def test_create_update_port_extra_dhcp_opts(self):"},{"line_number":498,"context_line":"        kwargs \u003d {\u0027extra_dhcp_opts\u0027:"}],"source_content_type":"text/x-python","patch_set":10,"id":"ff346bd7_f48afb18","line":495,"range":{"start_line":494,"start_character":0,"end_line":495,"end_character":51},"updated":"2017-07-26 11:03:16.000000000","message":"Why not checking if InvalidInput was raised?","commit_id":"49561f7ec0196177fea6ae478a4b08bc32e7aeba"}]}
