)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"4adda650c2b62b2320dda790d8ef410e704ade66","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"7421767e_fe901514","updated":"2025-06-10 13:31:52.000000000","message":"recheck timeout","commit_id":"4cc309013139399ff8dda3ddf558b5660ec85b88"}],"networking_generic_switch/devices/__init__.py":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"1af25f9eaa5da83a5b8656107467369f1ec72ef7","unresolved":true,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"@lockutils.synchronized(EM_SEMAPHORE)"},{"line_number":70,"context_line":"def get_devices():"},{"line_number":71,"context_line":"    global DEVICES"},{"line_number":72,"context_line":"    gsw_devices \u003d gsw_conf.get_devices()"},{"line_number":73,"context_line":"    for device_name, device_cfg in gsw_devices.items():"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f6a4cca_31590ce9","line":70,"updated":"2025-06-03 18:25:26.000000000","message":"so just thinking out loud, what if a device is removed. *definitely* out of scope since your just taking the existing pattern and making it global.","commit_id":"4cc309013139399ff8dda3ddf558b5660ec85b88"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"fbb198c4285ce91f22d1ff2df707ef20c29f7b35","unresolved":true,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"@lockutils.synchronized(EM_SEMAPHORE)"},{"line_number":70,"context_line":"def get_devices():"},{"line_number":71,"context_line":"    global DEVICES"},{"line_number":72,"context_line":"    gsw_devices \u003d gsw_conf.get_devices()"},{"line_number":73,"context_line":"    for device_name, device_cfg in gsw_devices.items():"}],"source_content_type":"text/x-python","patch_set":2,"id":"6d9681f6_2030036a","line":70,"in_reply_to":"3f6a4cca_31590ce9","updated":"2025-06-03 18:37:25.000000000","message":"oh, and if it wasn\u0027t clear, the driver now and currently never really will support hupping via config updates unless neutron explicitly monitors for it and unloads the ml2 plugin and re-loads it. Again, out of scope of this change.","commit_id":"4cc309013139399ff8dda3ddf558b5660ec85b88"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"5c111c940c7bef063365325c5262e027c6f379f1","unresolved":true,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"@lockutils.synchronized(EM_SEMAPHORE)"},{"line_number":70,"context_line":"def get_devices():"},{"line_number":71,"context_line":"    global DEVICES"},{"line_number":72,"context_line":"    gsw_devices \u003d gsw_conf.get_devices()"},{"line_number":73,"context_line":"    for device_name, device_cfg in gsw_devices.items():"}],"source_content_type":"text/x-python","patch_set":2,"id":"f1f1a706_745b7896","line":70,"in_reply_to":"6d9681f6_2030036a","updated":"2025-06-03 21:03:12.000000000","message":"As an aside, if there is concern about using a global then it might be possible to get a reference to the ngs mechanism driver via the core driver:\n\nThen the ngs security group service plugin could find the ngs mechanism driver and get the devices reference that way.\n\nhttps://docs.openstack.org/neutron/latest/contributor/internals/service_extensions.html#calling-the-core-plugin-from-services","commit_id":"4cc309013139399ff8dda3ddf558b5660ec85b88"}]}
