)]}'
{"ironic/conductor/manager.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"316b671dc8714cd46182ee2011223b7e1b473256","unresolved":false,"context_lines":[{"line_number":2443,"context_line":"    def get_hardware_interface_info(self, context, hardware_types\u003dNone):"},{"line_number":2444,"context_line":"        \"\"\"Fetch enabled and default hardware interfaces."},{"line_number":2445,"context_line":""},{"line_number":2446,"context_line":"        Note that all conductors should have the same hardware types and"},{"line_number":2447,"context_line":"        interfaces enabled, so this method should return the same data"},{"line_number":2448,"context_line":"        no matter which conductor it is directed to."},{"line_number":2449,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a3c09a3_9b45d071","line":2446,"range":{"start_line":2446,"start_character":18,"end_line":2446,"end_character":68},"updated":"2017-01-16 14:19:30.000000000","message":"this is not quite correct. conductors may have different hardware types enabled, as long as every hardware type has the same interfaces enabled. so each conductor may return different keys in the resulting dict, but for every key the values from different conductors are expected to be the same.","commit_id":"e7878dabd1197763e5bbced67d91cfb7265cc6bd"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"316b671dc8714cd46182ee2011223b7e1b473256","unresolved":false,"context_lines":[{"line_number":2448,"context_line":"        no matter which conductor it is directed to."},{"line_number":2449,"context_line":""},{"line_number":2450,"context_line":"        :param context: request context."},{"line_number":2451,"context_line":"        :param hardware_types: optional, names of hardware types to fetch for."},{"line_number":2452,"context_line":"                               Defaults to all loaded drivers and hardware"},{"line_number":2453,"context_line":"                               types."},{"line_number":2454,"context_line":"        :returns: a dict, which maps hardware types to a dict containing"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a3c09a3_7603d90d","line":2451,"range":{"start_line":2451,"start_character":41,"end_line":2451,"end_character":64},"updated":"2017-01-16 14:19:30.000000000","message":"do we have a use case for several hardware types here (as opposed to just one or all) or is it just to be future-proof?","commit_id":"e7878dabd1197763e5bbced67d91cfb7265cc6bd"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"316b671dc8714cd46182ee2011223b7e1b473256","unresolved":false,"context_lines":[{"line_number":2451,"context_line":"        :param hardware_types: optional, names of hardware types to fetch for."},{"line_number":2452,"context_line":"                               Defaults to all loaded drivers and hardware"},{"line_number":2453,"context_line":"                               types."},{"line_number":2454,"context_line":"        :returns: a dict, which maps hardware types to a dict containing"},{"line_number":2455,"context_line":"                  `enabled_\u003cinterface_type\u003e_interfaces` and"},{"line_number":2456,"context_line":"                  `default_\u003cinterface_type\u003e_interface` keys, for each interface"},{"line_number":2457,"context_line":"                  type. These keys map to a list of interface names."},{"line_number":2458,"context_line":"        \"\"\""},{"line_number":2459,"context_line":"        if hardware_types is None:"},{"line_number":2460,"context_line":"            hardware_types \u003d driver_factory.hardware_types()"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a3c09a3_d6facdbc","line":2457,"range":{"start_line":2454,"start_character":0,"end_line":2457,"end_character":68},"updated":"2017-01-16 14:19:30.000000000","message":"I wonder if a bit more natural mapping would be \"hw type\" -\u003e {\"iface\" -\u003e {\"enabled\" -\u003e [], \"default\" -\u003e \"name\"}\n\nnote also that the default interface is not a list (this comment implies it). I guess an example won\u0027t hurt.\n\nas to using versioned objects.. I\u0027m not decided. It sounds more future-proof, of course. I wonder how much it\u0027s going to complicate this relatively simple code though.","commit_id":"e7878dabd1197763e5bbced67d91cfb7265cc6bd"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"316b671dc8714cd46182ee2011223b7e1b473256","unresolved":false,"context_lines":[{"line_number":2580,"context_line":"    for iface_type in drivers_base.ALL_INTERFACES:"},{"line_number":2581,"context_line":"        enabled_key \u003d \u0027enabled_%s_interfaces\u0027 % iface_type"},{"line_number":2582,"context_line":"        default_key \u003d \u0027default_%s_interface\u0027 % iface_type"},{"line_number":2583,"context_line":"        ht_ifaces[enabled_key] \u003d getattr(CONF, enabled_key)"},{"line_number":2584,"context_line":"        ht_ifaces[default_key] \u003d driver_factory.default_interface("},{"line_number":2585,"context_line":"            hardware_type, iface_type)"},{"line_number":2586,"context_line":"    return ht_ifaces"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a3c09a3_96b5a5ef","line":2583,"range":{"start_line":2583,"start_character":8,"end_line":2583,"end_character":59},"updated":"2017-01-16 14:19:30.000000000","message":"I think this should be an intersection between supported hardware types and enabled ones. Otherwise you\u0027re returning the same value for all hardware types.","commit_id":"e7878dabd1197763e5bbced67d91cfb7265cc6bd"}]}
