)]}'
{"ironic_python_agent/extensions/image.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":"9a16a8823db99e19c0eca2c56ae463fed58b3ebb","unresolved":false,"context_lines":[{"line_number":343,"context_line":"    if hardware.is_md_device(device):"},{"line_number":344,"context_line":"        hardware.md_restart(device)"},{"line_number":345,"context_line":"        # If an md device, we need to rescan the devices anyway to pickup"},{"line_number":346,"context_line":"        # the md device partition."},{"line_number":347,"context_line":"        root_partition \u003d _get_partition(device, uuid\u003droot_uuid)"},{"line_number":348,"context_line":"    elif (_is_bootloader_loaded(device)"},{"line_number":349,"context_line":"          and not (efi_system_part_uuid"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_0ab774fa","line":346,"updated":"2020-02-08 15:24:04.000000000","message":"we may want to just change this around after https://review.opendev.org/706667 merges since it breaks rescanning out and that is really all we need to do here.","commit_id":"3ddb6989a99f89818b0dced4b2a0d83500388e5c"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"d1c83d45f607b5bc8bcd7eb24ab849144ee63b8d","unresolved":false,"context_lines":[{"line_number":361,"context_line":"        hardware.md_restart(device)"},{"line_number":362,"context_line":"        # If an md device, we need to rescan the devices anyway to pickup"},{"line_number":363,"context_line":"        # the md device partition."},{"line_number":364,"context_line":"        _rescan_device(device)"},{"line_number":365,"context_line":"    elif (_is_bootloader_loaded(device)"},{"line_number":366,"context_line":"          and not (efi_system_part_uuid"},{"line_number":367,"context_line":"                   or prep_boot_part_uuid)):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_32388cc9","line":364,"updated":"2020-02-10 22:05:54.000000000","message":"Seems the direct case fails with this... so more is needed it seems:\n\n 2020-02-10 21:05:05.729 504 DEBUG root [-] Executing command: image.install_bootloader with args: {\u0027root_uuid\u0027: \u00270x00000000\u0027, \u0027efi_system_part_uuid\u0027: None, \u0027prep_boot_part_uuid\u0027: None} execute_command /usr/local/lib/python3.6/site-packages/ironic_python_agent/extensions/base.py:241\n2020-02-10 21:05:05.741 504 DEBUG root [-] Looking for a device matching root hints {\u0027name\u0027: \u0027/dev/md0\u0027} get_os_install_device /usr/local/lib/python3.6/site-packages/ironic_python_agent/hardware.py:960\n2020-02-10 21:05:05.751 504 DEBUG oslo_concurrency.processutils [-] Running cmd (subprocess): udevadm settle execute /usr/local/lib/python3.6/site-packages/oslo_concurrency/processutils.py:372\n2020-02-10 21:05:05.886 504 DEBUG oslo_concurrency.processutils [-] CMD \"udevadm settle\" returned: 0 in 0.134s execute /usr/local/lib/python3.6/site-packages/oslo_concurrency/processutils.py:409\n2020-02-10 21:05:05.901 504 DEBUG ironic_lib.utils [-] Execution completed, command line is \"udevadm settle\" execute /usr/local/lib/python3.6/site-packages/ironic_lib/utils.py:101\n2020-02-10 21:05:05.911 504 DEBUG ironic_lib.utils [-] Command stdout is: \"\" execute /usr/local/lib/python3.6/site-packages/ironic_lib/utils.py:103\n2020-02-10 21:05:05.919 504 DEBUG ironic_lib.utils [-] Command stderr is: \"\" execute /usr/local/lib/python3.6/site-packages/ironic_lib/utils.py:104\n2020-02-10 21:05:05.937 504 DEBUG oslo_concurrency.processutils [-] Running cmd (subprocess): lsblk -Pbia -oKNAME,MODEL,SIZE,ROTA,TYPE execute /usr/local/lib/python3.6/site-packages/oslo_concurrency/processutils.py:372\n2020-02-10 21:05:06.151 504 DEBUG oslo_concurrency.processutils [-] CMD \"lsblk -Pbia -oKNAME,MODEL,SIZE,ROTA,TYPE\" returned: 0 in 0.212s execute /usr/local/lib/python3.6/site-packages/oslo_concurrency/processutils.py:409\n2020-02-10 21:05:06.165 504 DEBUG ironic_lib.utils [-] Execution completed, command line is \"lsblk -Pbia -oKNAME,MODEL,SIZE,ROTA,TYPE\" execute /usr/local/lib/python3.6/site-packages/ironic_lib/utils.py:101\n2020-02-10 21:05:06.173 504 DEBUG ironic_lib.utils [-] Command stdout is: \"KNAME\u003d\"loop0\" MODEL\u003d\"\" SIZE\u003d\"\" ROTA\u003d\"1\" TYPE\u003d\"loop\"\nKNAME\u003d\"loop1\" MODEL\u003d\"\" SIZE\u003d\"\" ROTA\u003d\"1\" TYPE\u003d\"loop\"\nKNAME\u003d\"loop2\" MODEL\u003d\"\" SIZE\u003d\"\" ROTA\u003d\"1\" TYPE\u003d\"loop\"\nKNAME\u003d\"loop3\" MODEL\u003d\"\" SIZE\u003d\"\" ROTA\u003d\"1\" TYPE\u003d\"loop\"\nKNAME\u003d\"loop4\" MODEL\u003d\"\" SIZE\u003d\"\" ROTA\u003d\"1\" TYPE\u003d\"loop\"\nKNAME\u003d\"loop5\" MODEL\u003d\"\" SIZE\u003d\"\" ROTA\u003d\"1\" TYPE\u003d\"loop\"\nKNAME\u003d\"loop6\" MODEL\u003d\"\" SIZE\u003d\"\" ROTA\u003d\"1\" TYPE\u003d\"loop\"\nKNAME\u003d\"loop7\" MODEL\u003d\"\" SIZE\u003d\"\" ROTA\u003d\"1\" TYPE\u003d\"loop\"\nKNAME\u003d\"md0\" MODEL\u003d\"\" SIZE\u003d\"5362417664\" ROTA\u003d\"1\" TYPE\u003d\"raid1\"\nKNAME\u003d\"md0\" MODEL\u003d\"\" SIZE\u003d\"5362417664\" ROTA\u003d\"1\" TYPE\u003d\"raid1\"\nKNAME\u003d\"vda\" MODEL\u003d\"\" SIZE\u003d\"5368709120\" ROTA\u003d\"1\" TYPE\u003d\"disk\"\nKNAME\u003d\"vda1\" MODEL\u003d\"\" SIZE\u003d\"5366611968\" ROTA\u003d\"1\" TYPE\u003d\"part\"\nKNAME\u003d\"vdb\" MODEL\u003d\"\" SIZE\u003d\"5368709120\" ROTA\u003d\"1\" TYPE\u003d\"disk\"\nKNAME\u003d\"vdb1\" MODEL\u003d\"\" SIZE\u003d\"5366611968\" ROTA\u003d\"1\" TYPE\u003d\"part\"\nKNAME\u003d\"zram0\" MODEL\u003d\"\" SIZE\u003d\"\" ROTA\u003d\"0\" TYPE\u003d\"disk\"\nKNAME\u003d\"md0p1\" MODEL\u003d\"\" SIZE\u003d\"36683264\" ROTA\u003d\"1\" TYPE\u003d\"md\"\nKNAME\u003d\"md0p1\" MODEL\u003d\"\" SIZE\u003d\"36683264\" ROTA\u003d\"1\" TYPE\u003d\"md\"\nKNAME\u003d\"md0p15\" MODEL\u003d\"\" SIZE\u003d\"8388608\" ROTA\u003d\"1\" TYPE\u003d\"md\"\nKNAME\u003d\"md0p15\" MODEL\u003d\"\" SIZE\u003d\"8388608\" ROTA\u003d\"1\" TYPE\u003d\"md\"\n\" execute /usr/local/lib/python3.6/site-packages/ironic_lib/utils.py:103\n2020-02-10 21:05:06.184 504 DEBUG ironic_lib.utils [-] Command stderr is: \"\" execute /usr/local/lib/python3.6/site-packages/ironic_lib/utils.py:104\n2020-02-10 21:05:06.457 504 DEBUG root [-] TYPE did not match. Wanted: \u0027disk\u0027 but found: \u0027KNAME\u003d\"loop0\" MODEL\u003d\"\" SIZE\u003d\"\" ROTA\u003d\"1\" TYPE\u003d\"loop\"\u0027 list_all_block_devices /usr/local/lib/python3.6/site-packages/ironic_python_agent/hardware.py:350\n2020-02-10 21:05:06.474 504 DEBUG root [-] TYPE did not match. Wanted: \u0027disk\u0027 but found: \u0027KNAME\u003d\"loop1\" MODEL\u003d\"\" SIZE\u003d\"\" ROTA\u003d\"1\" TYPE\u003d\"loop\"\u0027 list_all_block_devices /usr/local/lib/python3.6/site-packages/ironic_python_agent/hardware.py:350\n2020-02-10 21:05:06.488 504 DEBUG root [-] TYPE did not match. Wanted: \u0027disk\u0027 but found: \u0027KNAME\u003d\"loop2\" MODEL\u003d\"\" SIZE\u003d\"\" ROTA\u003d\"1\" TYPE\u003d\"loop\"\u0027 list_all_block_devices /usr/local/lib/python3.6/site-packages/ironic_python_agent/hardware.py:350\n2020-02-10 21:05:06.503 504 DEBUG root [-] TYPE did not match. Wanted: \u0027disk\u0027 but found: \u0027KNAME\u003d\"loop3\" MODEL\u003d\"\" SIZE\u003d\"\" ROTA\u003d\"1\" TYPE\u003d\"loop\"\u0027 list_all_block_devices /usr/local/lib/python3.6/site-packages/ironic_python_agent/hardware.py:350\n2020-02-10 21:05:06.517 504 DEBUG root [-] TYPE did not match. Wanted: \u0027disk\u0027 but found: \u0027KNAME\u003d\"loop4\" MODEL\u003d\"\" SIZE\u003d\"\" ROTA\u003d\"1\" TYPE\u003d\"loop\"\u0027 list_all_block_devices /usr/local/lib/python3.6/site-packages/ironic_python_agent/hardware.py:350\n2020-02-10 21:05:06.529 504 DEBUG root [-] TYPE did not match. Wanted: \u0027disk\u0027 but found: \u0027KNAME\u003d\"loop5\" MODEL\u003d\"\" SIZE\u003d\"\" ROTA\u003d\"1\" TYPE\u003d\"loop\"\u0027 list_all_block_devices /usr/local/lib/python3.6/site-packages/ironic_python_agent/hardware.py:350\n2020-02-10 21:05:06.542 504 DEBUG root [-] TYPE did not match. Wanted: \u0027disk\u0027 but found: \u0027KNAME\u003d\"loop6\" MODEL\u003d\"\" SIZE\u003d\"\" ROTA\u003d\"1\" TYPE\u003d\"loop\"\u0027 list_all_block_devices /usr/local/lib/python3.6/site-packages/ironic_python_agent/hardware.py:350\n2020-02-10 21:05:06.554 504 DEBUG root [-] TYPE did not match. Wanted: \u0027disk\u0027 but found: \u0027KNAME\u003d\"loop7\" MODEL\u003d\"\" SIZE\u003d\"\" ROTA\u003d\"1\" TYPE\u003d\"loop\"\u0027 list_all_block_devices /usr/local/lib/python3.6/site-packages/ironic_python_agent/hardware.py:350\n2020-02-10 21:05:06.567 504 DEBUG root [-] TYPE detected to contain \u0027raid\u0027 or \u0027md\u0027, signifying a RAID volume. Found: \u0027KNAME\u003d\"md0\" MODEL\u003d\"\" SIZE\u003d\"5362417664\" ROTA\u003d\"1\" TYPE\u003d\"raid1\"\u0027 list_all_block_devices /usr/local/lib/python3.6/site-packages/ironic_python_agent/hardware.py:346\n2020-02-10 21:05:06.596 504 WARNING root [-] Could not find the SCSI address (HCTL) for device /dev/md0. Skipping: FileNotFoundError: [Errno 2] No such file or directory: \u0027/sys/block/md0/device/scsi_device\u0027\n2020-02-10 21:05:06.609 504 WARNING root [-] Can\u0027t find field vendor for device md0 in device class block: FileNotFoundError: [Errno 2] No such file or directory: \u0027/sys/class/block/md0/device/vendor\u0027\n2020-02-10 21:05:06.639 504 WARNING root [-] Could not find the SCSI address (HCTL) for device /dev/vda. Skipping: FileNotFoundError: [Errno 2] No such file or directory: \u0027/sys/block/vda/device/scsi_device\u0027\n2020-02-10 21:05:06.660 504 DEBUG root [-] TYPE did not match. Wanted: \u0027disk\u0027 but found: \u0027KNAME\u003d\"vda1\" MODEL\u003d\"\" SIZE\u003d\"5366611968\" ROTA\u003d\"1\" TYPE\u003d\"part\"\u0027 list_all_block_devices /usr/local/lib/python3.6/site-packages/ironic_python_agent/hardware.py:350\n2020-02-10 21:05:06.682 504 WARNING root [-] Could not find the SCSI address (HCTL) for device /dev/vdb. Skipping: FileNotFoundError: [Errno 2] No such file or directory: \u0027/sys/block/vdb/device/scsi_device\u0027\n2020-02-10 21:05:06.701 504 DEBUG root [-] TYPE did not match. Wanted: \u0027disk\u0027 but found: \u0027KNAME\u003d\"vdb1\" MODEL\u003d\"\" SIZE\u003d\"5366611968\" ROTA\u003d\"1\" TYPE\u003d\"part\"\u0027 list_all_block_devices /usr/local/lib/python3.6/site-packages/ironic_python_agent/hardware.py:350\n2020-02-10 21:05:06.716 504 DEBUG root [-] Skipping RAM device {\u0027KNAME\u0027: \u0027zram0\u0027, \u0027MODEL\u0027: \u0027\u0027, \u0027SIZE\u0027: \u0027\u0027, \u0027ROTA\u0027: \u00270\u0027, \u0027TYPE\u0027: \u0027disk\u0027} list_all_block_devices /usr/local/lib/python3.6/site-packages/ironic_python_agent/hardware.py:363\n2020-02-10 21:05:06.732 504 DEBUG root [-] TYPE detected to contain \u0027raid\u0027 or \u0027md\u0027, signifying a RAID volume. Found: \u0027KNAME\u003d\"md0p1\" MODEL\u003d\"\" SIZE\u003d\"36683264\" ROTA\u003d\"1\" TYPE\u003d\"md\"\u0027 list_all_block_devices /usr/local/lib/python3.6/site-packages/ironic_python_agent/hardware.py:346\n2020-02-10 21:05:06.745 504 ERROR root [-] Unexpected error dispatching get_os_install_device to manager \u003cironic_python_agent.hardware.GenericHardwareManager object at 0x7fa7ad49c3c8\u003e: No block device with number 66304: pyudev._errors.DeviceNotFoundByNumberError: No block device with number 66304\n2020-02-10 21:05:06.745 504 ERROR root Traceback (most recent call last):\n2020-02-10 21:05:06.745 504 ERROR root   File \"/usr/local/lib/python3.6/site-packages/ironic_python_agent/hardware.py\", line 1992, in dispatch_to_managers\n2020-02-10 21:05:06.745 504 ERROR root   File \"/usr/local/lib/python3.6/site-packages/ironic_python_agent/hardware.py\", line 962, in get_os_install_device\n2020-02-10 21:05:06.745 504 ERROR root   File \"/usr/local/lib/python3.6/site-packages/ironic_python_agent/hardware.py\", line 944, in list_block_devices\n2020-02-10 21:05:06.745 504 ERROR root   File \"/usr/local/lib/python3.6/site-packages/ironic_python_agent/hardware.py\", line 369, in list_all_block_devices\n2020-02-10 21:05:06.745 504 ERROR root   File \"/usr/local/lib/python3.6/site-packages/pyudev/device/_device.py\", line 230, in from_device_file\n2020-02-10 21:05:06.745 504 ERROR root   File \"/usr/local/lib/python3.6/site-packages/pyudev/device/_device.py\", line 187, in from_device_number\n2020-02-10 21:05:06.745 504 ERROR root pyudev._errors.DeviceNotFoundByNumberError: No block device with number 66304\n2020-02-10 21:05:06.745 504 ERROR root \n2020-02-10 21:05:06.772 504 ERROR root [-] Command execution error: No block device with number 66304: pyudev._errors.DeviceNotFoundByNumberError: No block device with number 66304\n2020-02-10 21:05:06.772 504 ERROR root Traceback (most recent call last):\n2020-02-10 21:05:06.772 504 ERROR root   File \"/usr/local/lib/python3.6/site-packages/ironic_python_agent/extensions/base.py\", line 254, in execute_command\n2020-02-10 21:05:06.772 504 ERROR root   File \"/usr/local/lib/python3.6/site-packages/ironic_python_agent/extensions/base.py\", line 206, in execute\n2020-02-10 21:05:06.772 504 ERROR root   File \"/usr/local/lib/python3.6/site-packages/ironic_python_agent/extensions/base.py\", line 324, in wrapper\n2020-02-10 21:05:06.772 504 ERROR root   File \"/usr/local/lib/python3.6/site-packages/ironic_python_agent/extensions/image.py\", line 536, in install_bootloader\n2020-02-10 21:05:06.772 504 ERROR root   File \"/usr/local/lib/python3.6/site-packages/ironic_python_agent/hardware.py\", line 1992, in dispatch_to_managers\n2020-02-10 21:05:06.772 504 ERROR root   File \"/usr/local/lib/python3.6/site-packages/ironic_python_agent/hardware.py\", line 962, in get_os_install_device\n2020-02-10 21:05:06.772 504 ERROR root   File \"/usr/local/lib/python3.6/site-packages/ironic_python_agent/hardware.py\", line 944, in list_block_devices\n2020-02-10 21:05:06.772 504 ERROR root   File \"/usr/local/lib/python3.6/site-packages/ironic_python_agent/hardware.py\", line 369, in list_all_block_devices\n2020-02-10 21:05:06.772 504 ERROR root   File \"/usr/local/lib/python3.6/site-packages/pyudev/device/_device.py\", line 230, in from_device_file\n2020-02-10 21:05:06.772 504 ERROR root   File \"/usr/local/lib/python3.6/site-packages/pyudev/device/_device.py\", line 187, in from_device_number\n2020-02-10 21:05:06.772 504 ERROR root pyudev._errors.DeviceNotFoundByNumberError: No block device with number 66304\n2020-02-10 21:05:06.772 504 ERROR root \n2020-02-10 21:05:06.868 504 INFO root [-] Command image.install_bootloader completed: Command name: image.install_bootloader, params: {\u0027root_uuid\u0027: \u00270x00000000\u0027, \u0027efi_system_part_uuid\u0027: None, \u0027prep_boot_part_uuid\u0027: None}, status: FAILED, result: None.\n2020-02-10 21:05:06.906 504 ERROR ironic_python_agent.api.app [-] Internal server error: Object of type \u0027DeviceNotFoundByNumberError\u0027 is not JSON serializable: TypeError: Object of type \u0027DeviceNotFoundByNumberError\u0027 is not JSON serializable\n2020-02-10 21:05:06.906 504 ERROR ironic_python_agent.api.app Traceback (most recent call last):\n2020-02-10 21:05:06.906 504 ERROR ironic_python_agent.api.app   File \"/usr/local/lib/python3.6/site-packages/ironic_python_agent/api/app.py\", line 127, in __call__\n2020-02-10 21:05:06.906 504 ERROR ironic_python_agent.api.app   File \"/usr/local/lib/python3.6/site-packages/ironic_python_agent/api/app.py\", line 224, in api_run_command\n2020-02-10 21:05:06.906 504 ERROR ironic_python_agent.api.app   File \"/usr/local/lib/python3.6/site-packages/ironic_python_agent/api/app.py\", line 41, in jsonify\n2020-02-10 21:05:06.906 504 ERROR ironic_python_agent.api.app   File \"/usr/local/lib/python3.6/site-packages/ironic_python_agent/encoding.py\", line 60, in encode\n2020-02-10 21:05:06.906 504 ERROR ironic_python_agent.api.app   File \"/usr/local/lib/python3.6/json/encoder.py\", line 199, in encode\n2020-02-10 21:05:06.906 504 ERROR ironic_python_agent.api.app   File \"/usr/local/lib/python3.6/json/encoder.py\", line 257, in iterencode\n2020-02-10 21:05:06.906 504 ERROR ironic_python_agent.api.app   File \"/usr/local/lib/python3.6/site-packages/ironic_python_agent/encoding.py\", line 72, in default\n2020-02-10 21:05:06.906 504 ERROR ironic_python_agent.api.app   File \"/usr/local/lib/python3.6/json/encoder.py\", line 180, in default\n2020-02-10 21:05:06.906 504 ERROR ironic_python_agent.api.app TypeError: Object of type \u0027DeviceNotFoundByNumberError\u0027 is not JSON serializable\n2020-02-10 21:05:06.906 504 ERROR ironic_python_agent.api.app","commit_id":"86684915043085819303ba169bd6c95c8a3bbb48"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"8ef6c20c71e0ac4933dd7aeb466eb0fd42520ef6","unresolved":false,"context_lines":[{"line_number":365,"context_line":"        hardware.md_restart(device)"},{"line_number":366,"context_line":"        # If an md device, we need to rescan the devices anyway to pickup"},{"line_number":367,"context_line":"        # the md device partition."},{"line_number":368,"context_line":"        _rescan_device(device)"},{"line_number":369,"context_line":"    elif (_is_bootloader_loaded(device)"},{"line_number":370,"context_line":"          and not (efi_system_part_uuid"},{"line_number":371,"context_line":"                   or prep_boot_part_uuid)):"}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_cbc8cd75","line":368,"updated":"2020-03-15 20:33:20.000000000","message":"This would have caused this job to pass: https://d09a8b23dc71a2c4560a-b9312bd10473a56ac2ea34b331082425.ssl.cf1.rackcdn.com/697584/25/check/ironic-standalone/00bb193/controller/logs/ironic-bm-logs/node-3_no_ansi_2020-03-14-03%3A27%3A30_log.txt","commit_id":"5e9fd3320c7e95d9cb504b33d5bf22e50c379201"}]}
