)]}'
{"ironic_python_agent/hardware.py":[{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"b7683b67761930f9fbe1e285153ac66d8c1f53ef","unresolved":false,"context_lines":[{"line_number":386,"context_line":"            \u0027version\u0027: getattr(self, \u0027HARDWARE_MANAGER_VERSION\u0027, \u00271.0\u0027)"},{"line_number":387,"context_line":"        }"},{"line_number":388,"context_line":""},{"line_number":389,"context_line":"    def wait_for_ip_addresses(self, timeout\u003d60, retry_delay\u003d2):"},{"line_number":390,"context_line":"        \"\"\"Wait until all NIC\u0027s get their IP address or timeout happens."},{"line_number":391,"context_line":""},{"line_number":392,"context_line":"        Ignores interfaces which do not even have a carrier."}],"source_content_type":"text/x-python","patch_set":6,"id":"9a061dce_2e364852","line":389,"updated":"2016-04-05 16:13:18.000000000","message":"-1\n\nYou have two choices here:\n\n1) Move this out of the hardware manager (my suggestion), and make it just a method that IPA calls out of utils or similar.\n\n2) Make this a stub method (HardwareManager is typically a metaclass), and then implement this method in GenericHardwareManager. This is cleaner but would make folks who don\u0027t use GenericHardwareManager lose this functionality.","commit_id":"01353d565188b4d5d1c07f5e8be7cf5d1a93bfee"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"16ec9aca5eb9a45a36ae6f458d51ad888291412e","unresolved":false,"context_lines":[{"line_number":421,"context_line":"        try:"},{"line_number":422,"context_line":"            with open(path, \u0027rt\u0027) as fp:"},{"line_number":423,"context_line":"                return fp.read().strip() \u003d\u003d \u00271\u0027"},{"line_number":424,"context_line":"        except EnvironmentError:"},{"line_number":425,"context_line":"            LOG.debug(\u0027No carrier information for interface %s\u0027,"},{"line_number":426,"context_line":"                      interface_name)"},{"line_number":427,"context_line":"            return False"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a061dce_1cc1d154","line":424,"updated":"2016-04-06 11:41:01.000000000","message":"TIL IOError and OSError are subclasses of EnvironmentError :D","commit_id":"3deb25a3cec7955c5e38d83af74add58478f884c"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"c46453392f8e06a1634bea167f91c476ce6e1da1","unresolved":false,"context_lines":[{"line_number":421,"context_line":"        try:"},{"line_number":422,"context_line":"            with open(path, \u0027rt\u0027) as fp:"},{"line_number":423,"context_line":"                return fp.read().strip() \u003d\u003d \u00271\u0027"},{"line_number":424,"context_line":"        except EnvironmentError:"},{"line_number":425,"context_line":"            LOG.debug(\u0027No carrier information for interface %s\u0027,"},{"line_number":426,"context_line":"                      interface_name)"},{"line_number":427,"context_line":"            return False"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a061dce_cca314ff","line":424,"in_reply_to":"9a061dce_1cc1d154","updated":"2016-04-06 17:02:01.000000000","message":"Might be useful to at least push up a minor note after the fact.","commit_id":"3deb25a3cec7955c5e38d83af74add58478f884c"}],"ironic_python_agent/inspector.py":[{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"2b14f8f6102566dc8d4c2367f7308680a5009f7f","unresolved":false,"context_lines":[{"line_number":217,"context_line":""},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"_NETWORK_WAIT_ATTEMPTS \u003d 10"},{"line_number":220,"context_line":"_NETWORK_WAIT_DELAY \u003d 3"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"def _wait_for_ips():"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a061dce_8c26c914","line":220,"updated":"2016-04-04 13:18:19.000000000","message":"Everything in this patch indicates a 60s timeout, but I see 30 here :)","commit_id":"15fa634e6787fbe1dec433f5fd8039e7419188a8"},{"author":{"_account_id":18781,"name":"vinay muddu","email":"vinay50muddu@yahoo.com","username":"vmud213"},"change_message_id":"20a1d5b11d89ccf5d719dc9feb92c7f5c691aa8c","unresolved":false,"context_lines":[{"line_number":220,"context_line":"_NETWORK_WAIT_DELAY \u003d 3"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"def _wait_for_ips():"},{"line_number":224,"context_line":"    \"\"\"Wait for IP addresses to appear for all interfaces."},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"    :return: inventory from the last iteration"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a061dce_56ff0e01","line":223,"range":{"start_line":223,"start_character":0,"end_line":223,"end_character":20},"updated":"2016-04-04 17:25:19.000000000","message":"I think it would be good to move this function to utils.py or any common place since this is also needed during node  lookup.","commit_id":"15fa634e6787fbe1dec433f5fd8039e7419188a8"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"2b14f8f6102566dc8d4c2367f7308680a5009f7f","unresolved":false,"context_lines":[{"line_number":257,"context_line":"    :param data: mutable data that we\u0027ll send to inspector"},{"line_number":258,"context_line":"    :param failures: AccumulatedFailures object"},{"line_number":259,"context_line":"    \"\"\""},{"line_number":260,"context_line":"    inventory \u003d _wait_for_ips()"},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"    # In the future we will only need the current version of inventory,"},{"line_number":263,"context_line":"    # a guessed root disk, PXE boot interface and IPMI address."}],"source_content_type":"text/x-python","patch_set":2,"id":"9a061dce_0c2c7949","line":260,"updated":"2016-04-04 13:18:19.000000000","message":"This name is quite confusing here :)","commit_id":"15fa634e6787fbe1dec433f5fd8039e7419188a8"},{"author":{"_account_id":18653,"name":"Milan Kováčik","email":"mkovacik@redhat.com","username":"dparalen"},"change_message_id":"cac5c9d516587370bd088a76b9c5f8274349a674","unresolved":false,"context_lines":[{"line_number":229,"context_line":"    :param data: mutable data that we\u0027ll send to inspector"},{"line_number":230,"context_line":"    :param failures: AccumulatedFailures object"},{"line_number":231,"context_line":"    \"\"\""},{"line_number":232,"context_line":"    # TODO(dtantsur): make timeout configurable"},{"line_number":233,"context_line":"    hardware.dispatch_to_managers(\u0027wait_for_ip_addresses\u0027)"},{"line_number":234,"context_line":"    inventory \u003d hardware.dispatch_to_managers(\u0027list_hardware_info\u0027)"},{"line_number":235,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9a061dce_773ca3e2","line":232,"range":{"start_line":232,"start_character":22,"end_line":232,"end_character":47},"updated":"2016-04-05 13:16:12.000000000","message":"and allow a skip-list of interfaces; some HW deployments may come with NICs that intentionally won\u0027t be ever plugged-in","commit_id":"a99e6c9a3b36e6b76cbbd6ca04b5f196a1585a3a"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"b7683b67761930f9fbe1e285153ac66d8c1f53ef","unresolved":false,"context_lines":[{"line_number":230,"context_line":"    :param failures: AccumulatedFailures object"},{"line_number":231,"context_line":"    \"\"\""},{"line_number":232,"context_line":"    # TODO(dtantsur): make timeout configurable"},{"line_number":233,"context_line":"    hardware.dispatch_to_managers(\u0027wait_for_ip_addresses\u0027)"},{"line_number":234,"context_line":"    inventory \u003d hardware.dispatch_to_managers(\u0027list_hardware_info\u0027)"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"    # In the future we will only need the current version of inventory,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a061dce_2e8488d2","line":233,"updated":"2016-04-05 16:13:18.000000000","message":"IMO we should wait for almost all agent activities, not just inspector. We can\u0027t do provisioning things without an IP, so why not put this wait in a more generic place?","commit_id":"01353d565188b4d5d1c07f5e8be7cf5d1a93bfee"}],"releasenotes/notes/inspection-wait-for-ips-223e39b65fef31bd.yaml":[{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"2b14f8f6102566dc8d4c2367f7308680a5009f7f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - Inspection code now waits up to 1 minutes for all NIC\u0027s to get their IP\u0027s."},{"line_number":4,"context_line":"    Otherwise inspection fails for some users due to race between DIB DHCP code"},{"line_number":5,"context_line":"    and IPA start up. See https://bugs.launchpad.net/bugs/1564954 for details."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9a061dce_cc9f215e","line":3,"updated":"2016-04-04 13:18:19.000000000","message":"s/minutes/minute/, s/IPp\u0027s/IPs/ (or even \"IP addresses\")","commit_id":"15fa634e6787fbe1dec433f5fd8039e7419188a8"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"2b14f8f6102566dc8d4c2367f7308680a5009f7f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - Inspection code now waits up to 1 minutes for all NIC\u0027s to get their IP\u0027s."},{"line_number":4,"context_line":"    Otherwise inspection fails for some users due to race between DIB DHCP code"},{"line_number":5,"context_line":"    and IPA start up. See https://bugs.launchpad.net/bugs/1564954 for details."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9a061dce_6cf53582","line":4,"updated":"2016-04-04 13:18:19.000000000","message":"Does DIB use custom dhcp code? O_o","commit_id":"15fa634e6787fbe1dec433f5fd8039e7419188a8"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"2b14f8f6102566dc8d4c2367f7308680a5009f7f","unresolved":false,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - Inspection code now waits up to 1 minutes for all NIC\u0027s to get their IP\u0027s."},{"line_number":4,"context_line":"    Otherwise inspection fails for some users due to race between DIB DHCP code"},{"line_number":5,"context_line":"    and IPA start up. See https://bugs.launchpad.net/bugs/1564954 for details."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9a061dce_acef4daf","line":5,"updated":"2016-04-04 13:18:19.000000000","message":"nit: s/start up/startup","commit_id":"15fa634e6787fbe1dec433f5fd8039e7419188a8"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"4c46cb0caf0dac23ffa07bd6eddda51aa756b203","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - Inspection code now waits up to 1 minutes for all NIC\u0027s to get their IP\u0027s."},{"line_number":4,"context_line":"    Otherwise inspection fails for some users due to race between DIB DHCP code"},{"line_number":5,"context_line":"    and IPA start up. See https://bugs.launchpad.net/bugs/1564954 for details."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"9a061dce_1708c790","line":3,"updated":"2016-04-05 13:09:09.000000000","message":"Nit s/minutes/minute/, s/IP\u0027s/IP addresses/","commit_id":"a99e6c9a3b36e6b76cbbd6ca04b5f196a1585a3a"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"4c46cb0caf0dac23ffa07bd6eddda51aa756b203","unresolved":false,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - Inspection code now waits up to 1 minutes for all NIC\u0027s to get their IP\u0027s."},{"line_number":4,"context_line":"    Otherwise inspection fails for some users due to race between DIB DHCP code"},{"line_number":5,"context_line":"    and IPA start up. See https://bugs.launchpad.net/bugs/1564954 for details."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"9a061dce_57023f70","line":5,"updated":"2016-04-05 13:09:09.000000000","message":"Nit: s/start up/startup/","commit_id":"a99e6c9a3b36e6b76cbbd6ca04b5f196a1585a3a"}]}
