2016-06-09 13:34:28 |
Pavlo Shchelokovskyy |
description |
Using current DevStack master and virtual nodes with agent_ssh driver, I can not deploy user's partition images.
Image is build with "disk-image-create ubuntu baremetal" and 3 parts of it uploaded to Glance (kernel, initrd and qcow2 root partition).
Flavor extra_specs and node properties are set to capability boot_option local.
Virtual Ironic Node has 2GB RAM and single virtio disk of 10GB (11GiB)
Failure is both with CoreOS-based and TinyIPA images, although exact error is different.
CoreOS-based image (master) fails to write configdrive partition:
$ tail -F ir-cond.log | grep ERROR
2016-06-08 17:35:08.638 ERROR ironic.drivers.modules.agent [req-1d9c2bca-1aac-45fc-b08c-665528845ff0 None None] node b968f163-6d3e-4846-97ac-5e2f5af129fb command status errored: {u'message': u'Error writing configdrive to device: Writing configdrive to device /dev/vda failed with exit code 1. stdout: copy_configdrive_to_disk.sh: Working on MBR only device /dev/vda\ncopy_configdrive_to_disk.sh: Adding configdrive partition to /dev/vda\ncopy_configdrive_to_disk.sh: Error creating configdrive on /dev/vda\n. stderr: partx: /dev/vda: failed to read partition table\nparted: invalid token: primary\nError: Expecting a file system type.\n.', u'code': 500, u'type': u'ConfigDriveWriteError', u'details': u'Writing configdrive to device /dev/vda failed with exit code 1. stdout: copy_configdrive_to_disk.sh: Working on MBR only device /dev/vda\ncopy_configdrive_to_disk.sh: Adding configdrive partition to /dev/vda\ncopy_configdrive_to_disk.sh: Error creating configdrive on /dev/vda\n. stderr: partx: /dev/vda: failed to read partition table\nparted: invalid token: primary\nError: Expecting a file system type.\n.'}
relevant VM log:
[ 960.210378] chroot[440]: 2016-06-08 14:35:06.427 440 INFO ironic_python_agent.extensions.standby [-] Image /tmp/3a3ea0b0-46cc-4497-98b4-f5a9dd00ca65 written to device /dev/vda in 863.150555849 seconds
[ 960.250977] chroot[440]: 2016-06-08 14:35:06.468 440 INFO ironic_python_agent.extensions.standby [-] copying configdrive to disk with command /bin/bash /usr/local/lib/python2.7/dist-packages/ironic_python_agent/extensions/../shell/copy_configdrive_to_disk.sh /tmp/configdrive /dev/vda
[ 961.826376] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root [-] Command failed: prepare_image, error: Error writing configdrive to device: Writing configdrive to device /dev/vda failed with exit code 1. stdout: copy_configdrive_to_disk.sh: Working on MBR only device /dev/vda
[ 961.832737] chroot[440]: copy_configdrive_to_disk.sh: Adding configdrive partition to /dev/vda
[ 961.842312] chroot[440]: copy_configdrive_to_disk.sh: Error creating configdrive on /dev/vda
[ 961.849416] chroot[440]: . stderr: partx: /dev/vda: failed to read partition table
[ 961.857572] chroot[440]: parted: invalid token: primary
[ 961.865729] chroot[440]: Error: Expecting a file system type.
[ 961.873891] chroot[440]: .
[ 961.881924] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root Traceback (most recent call last):
[ 961.890403] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root File "/usr/local/lib/python2.7/dist-packages/ironic_python_agent/extensions/base.py", line 151, in run
[ 961.898718] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root result = self.execute_method(**self.command_params)
[ 961.907284] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root File "/usr/local/lib/python2.7/dist-packages/ironic_python_agent/extensions/standby.py", line 286, in prepare_image
[ 961.911709] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root _write_configdrive_to_partition(configdrive, device)
[ 961.916391] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root File "/usr/local/lib/python2.7/dist-packages/ironic_python_agent/extensions/standby.py", line 109, in _write_configdrive_to_partition
[ 961.921386] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root e.stderr)
[ 961.925551] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root ConfigDriveWriteError: Error writing configdrive to device: Writing configdrive to device /dev/vda failed with exit code 1. stdout: copy_configdrive_to_disk.sh: Working on MBR only device /dev/vda
[ 961.930405] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root copy_configdrive_to_disk.sh: Adding configdrive partition to /dev/vda
[ 961.934873] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root copy_configdrive_to_disk.sh: Error creating configdrive on /dev/vda
[ 961.940466] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root . stderr: partx: /dev/vda: failed to read partition table
[ 961.944886] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root parted: invalid token: primary
[ 961.950484] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root Error: Expecting a file system type.
With TinyIPA (master), deployment passes configdrive step but fails to install GRUB:
$ tail -F ir-cond.log | grep ERROR
2016-06-08 18:17:15.329 ERROR ironic.drivers.modules.agent_base_vendor [req-d872e7fa-5351-4718-9256-30f2cabc59ed None None] Failed to install a bootloader when deploying node b968f163-6d3e-4846-97ac-5e2f5af129fb. Error: {u'message': u'Command execution failed: Installing GRUB2 boot loader to device /dev/vda failed with Unexpected error while running command.\nCommand: chroot /tmp/tmpLVMkvt /bin/bash -c "/usr/sbin/grub-install /dev/vda"\nExit code: 127\nStdout: u\'\'\nStderr: u\'/bin/bash: /usr/sbin/grub-install: No such file or directory\\n\'.', u'code': 500, u'type': u'CommandExecutionError', u'details': u'Installing GRUB2 boot loader to device /dev/vda failed with Unexpected error while running command.\nCommand: chroot /tmp/tmpLVMkvt /bin/bash -c "/usr/sbin/grub-install /dev/vda"\nExit code: 127\nStdout: u\'\'\nStderr: u\'/bin/bash: /usr/sbin/grub-install: No such file or directory\\n\'.'}
VM log:
2016-06-08 15:17:12.211 410 DEBUG oslo_concurrency.processutils [-] Running cmd (subprocess): chroot /tmp/tmpLVMkvt /bin/bash -c "/usr/sbin/grub-install /dev/vda" execute /usr/local/lib/python2.7/site-packages/oslo_concurrency/processutils.py:344
2016-06-08 15:17:12.630 410 DEBUG oslo_concurrency.processutils [-] CMD "chroot /tmp/tmpLVMkvt /bin/bash -c "/usr/sbin/grub-install /dev/vda"" returned: 127 in 0.419s execute /usr/local/lib/python2.7/site-packages/oslo_concurrency/processutils.py:374
2016-06-08 15:17:12.639 410 DEBUG oslo_concurrency.processutils [-] u'chroot /tmp/tmpLVMkvt /bin/bash -c "/usr/sbin/grub-install /dev/vda"' failed. Not Retrying. execute /usr/local/lib/python2.7/site-packages/oslo_concurrency/processutils.py:422
2016-06-08 15:17:12.646 410 ERROR ironic_python_agent.extensions.image [-] Installing GRUB2 boot loader to device /dev/vda failed with Unexpected error while running command.
Command: chroot /tmp/tmpLVMkvt /bin/bash -c "/usr/sbin/grub-install /dev/vda"
Exit code: 127
Stdout: u''
Stderr: u'/bin/bash: /usr/sbin/grub-install: No such file or directory\n'.
2016-06-08 15:17:12.652 410 DEBUG oslo_concurrency.processutils [-] Running cmd (subprocess): umount /tmp/tmpLVMkvt/dev execute /usr/local/lib/python2.7/site-packages/oslo_concurrency/processutils.py:344
2016-06-08 15:17:12.883 410 DEBUG oslo_concurrency.processutils [-] CMD "umount /tmp/tmpLVMkvt/dev" returned: 0 in 0.230s execute /usr/local/lib/python2.7/site-packages/oslo_concurrency/processutils.py:374
2016-06-08 15:17:12.890 410 DEBUG ironic_python_agent.utils [-] Execution completed, command line is "umount /tmp/tmpLVMkvt/dev" execute /usr/local/lib/python2.7/site-packages/ironic_python_agent/utils.py:63
2016-06-08 15:17:12.895 410 DEBUG ironic_python_agent.utils [-] Command stdout is: "" execute /usr/local/lib/python2.7/site-packages/ironic_python_agent/utils.py:65
2016-06-08 15:17:12.899 410 DEBUG ironic_python_agent.utils [-] Command stderr is: "" execute /usr/local/lib/python2.7/site-packages/ironic_python_agent/utils.py:66
2016-06-08 15:17:12.907 410 DEBUG oslo_concurrency.processutils [-] Running cmd (subprocess): umount /tmp/tmpLVMkvt/proc execute /usr/local/lib/python2.7/site-packages/oslo_concurrency/processutils.py:344
2016-06-08 15:17:13.130 410 DEBUG oslo_concurrency.processutils [-] CMD "umount /tmp/tmpLVMkvt/proc" returned: 0 in 0.223s execute /usr/local/lib/python2.7/site-packages/oslo_concurrency/processutils.py:374
2016-06-08 15:17:13.139 410 DEBUG ironic_python_agent.utils [-] Execution completed, command line is "umount /tmp/tmpLVMkvt/proc" execute /usr/local/lib/python2.7/site-packages/ironic_python_agent/utils.py:63
2016-06-08 15:17:13.145 410 DEBUG ironic_python_agent.utils [-] Command stdout is: "" execute /usr/local/lib/python2.7/site-packages/ironic_python_agent/utils.py:65
2016-06-08 15:17:13.150 410 DEBUG ironic_python_agent.utils [-] Command stderr is: "" execute /usr/local/lib/python2.7/site-packages/ironic_python_agent/utils.py:66
2016-06-08 15:17:13.157 410 DEBUG oslo_concurrency.processutils [-] Running cmd (subprocess): umount /tmp/tmpLVMkvt/sys execute /usr/local/lib/python2.7/site-packages/oslo_concurrency/processutils.py:344
2016-06-08 15:17:13.412 410 DEBUG oslo_concurrency.processutils [-] CMD "umount /tmp/tmpLVMkvt/sys" returned: 0 in 0.254s execute /usr/local/lib/python2.7/site-packages/oslo_concurrency/processutils.py:374
2016-06-08 15:17:13.425 410 DEBUG ironic_python_agent.utils [-] Execution completed, command line is "umount /tmp/tmpLVMkvt/sys" execute /usr/local/lib/python2.7/site-packages/ironic_python_agent/utils.py:63
2016-06-08 15:17:13.432 410 DEBUG ironic_python_agent.utils [-] Command stdout is: "" execute /usr/local/lib/python2.7/site-packages/ironic_python_agent/utils.py:65
2016-06-08 15:17:13.436 410 DEBUG ironic_python_agent.utils [-] Command stderr is: "" execute /usr/local/lib/python2.7/site-packages/ironic_python_agent/utils.py:66
2016-06-08 15:17:13.443 410 DEBUG oslo_concurrency.processutils [-] Running cmd (subprocess): umount /tmp/tmpLVMkvt execute /usr/local/lib/python2.7/site-packages/oslo_concurrency/processutils.py:344
2016-06-08 15:17:13.842 410 DEBUG oslo_concurrency.processutils [-] CMD "umount /tmp/tmpLVMkvt" returned: 0 in 0.397s execute /usr/local/lib/python2.7/site-packages/oslo_concurrency/processutils.py:374
2016-06-08 15:17:13.851 410 DEBUG ironic_python_agent.utils [-] Execution completed, command line is "umount /tmp/tmpLVMkvt" execute /usr/local/lib/python2.7/site-packages/ironic_python_agent/utils.py:63
2016-06-08 15:17:13.858 410 DEBUG ironic_python_agent.utils [-] Command stdout is: "" execute /usr/local/lib/python2.7/site-packages/ironic_python_agent/utils.py:65
2016-06-08 15:17:13.864 410 DEBUG ironic_python_agent.utils [-] Command stderr is: "" execute /usr/local/lib/python2.7/site-packages/ironic_python_agent/utils.py:66
2016-06-08 15:17:13.875 410 ERROR root [-] Command execution error: Command execution failed: Installing GRUB2 boot loader to device /dev/vda failed with Unexpected error while running command.
Command: chroot /tmp/tmpLVMkvt /bin/bash -c "/usr/sbin/grub-install /dev/vda"
Exit code: 127
Stdout: u''
Stderr: u'/bin/bash: /usr/sbin/grub-install: No such file or directory\n'.
2016-06-08 15:17:13.875 410 ERROR root Traceback (most recent call last):
2016-06-08 15:17:13.875 410 ERROR root File "/usr/local/lib/python2.7/site-packages/ironic_python_agent/extensions/base.py", line 251, in execute_command
2016-06-08 15:17:13.875 410 ERROR root File "/usr/local/lib/python2.7/site-packages/ironic_python_agent/extensions/base.py", line 204, in execute
2016-06-08 15:17:13.875 410 ERROR root File "/usr/local/lib/python2.7/site-packages/ironic_python_agent/extensions/base.py", line 320, in wrapper
2016-06-08 15:17:13.875 410 ERROR root File "/usr/local/lib/python2.7/site-packages/ironic_python_agent/extensions/image.py", line 200, in install_bootloader
2016-06-08 15:17:13.875 410 ERROR root File "/usr/local/lib/python2.7/site-packages/ironic_python_agent/extensions/image.py", line 135, in _install_grub2
2016-06-08 15:17:13.875 410 ERROR root CommandExecutionError: Command execution failed: Installing GRUB2 boot loader to device /dev/vda failed with Unexpected error while running command.
2016-06-08 15:17:13.875 410 ERROR root Command: chroot /tmp/tmpLVMkvt /bin/bash -c "/usr/sbin/grub-install /dev/vda"
2016-06-08 15:17:13.875 410 ERROR root Exit code: 127
2016-06-08 15:17:13.875 410 ERROR root Stdout: u''
2016-06-08 15:17:13.875 410 ERROR root Stderr: u'/bin/bash: /usr/sbin/grub-install: No such file or directory\n'.
2016-06-08 15:17:13.875 410 ERROR root
2016-06-08 15:17:13.922 410 INFO root [-] Command image.install_bootloader completed: Command name: image.install_bootloader, params: {u'efi_system_part_uuid': None, u'root_uuid': u'af82b6af-0c46-4b65-bf17-c9b69df12d5e'}, status: FAILED, result: None.
/usr/sbin/grub-install is definitely in the user's partition image (I've mounted qcow2 and checked), so the possibly problem is it does not find /dev/vda from chroot.
This might be related to bug/1576526 although in the both cases the virtual disk was new and clean |
Using current DevStack master and virtual nodes with agent_ssh driver, I can not deploy user's partition images.
Image is build with "disk-image-create ubuntu baremetal" and 3 parts of it uploaded to Glance (kernel, initrd and qcow2 root partition).
Flavor extra_specs and node properties are set to capability boot_option local.
Virtual Ironic Node has 2GB RAM and single virtio disk of 10GB (11GiB)
Failure is specifically with CoreOS-based ramdisk image, tinyipa does not have this problem
$ tail -F ir-cond.log | grep ERROR
2016-06-08 17:35:08.638 ERROR ironic.drivers.modules.agent [req-1d9c2bca-1aac-45fc-b08c-665528845ff0 None None] node b968f163-6d3e-4846-97ac-5e2f5af129fb command status errored: {u'message': u'Error writing configdrive to device: Writing configdrive to device /dev/vda failed with exit code 1. stdout: copy_configdrive_to_disk.sh: Working on MBR only device /dev/vda\ncopy_configdrive_to_disk.sh: Adding configdrive partition to /dev/vda\ncopy_configdrive_to_disk.sh: Error creating configdrive on /dev/vda\n. stderr: partx: /dev/vda: failed to read partition table\nparted: invalid token: primary\nError: Expecting a file system type.\n.', u'code': 500, u'type': u'ConfigDriveWriteError', u'details': u'Writing configdrive to device /dev/vda failed with exit code 1. stdout: copy_configdrive_to_disk.sh: Working on MBR only device /dev/vda\ncopy_configdrive_to_disk.sh: Adding configdrive partition to /dev/vda\ncopy_configdrive_to_disk.sh: Error creating configdrive on /dev/vda\n. stderr: partx: /dev/vda: failed to read partition table\nparted: invalid token: primary\nError: Expecting a file system type.\n.'}
relevant VM log:
[ 960.210378] chroot[440]: 2016-06-08 14:35:06.427 440 INFO ironic_python_agent.extensions.standby [-] Image /tmp/3a3ea0b0-46cc-4497-98b4-f5a9dd00ca65 written to device /dev/vda in 863.150555849 seconds
[ 960.250977] chroot[440]: 2016-06-08 14:35:06.468 440 INFO ironic_python_agent.extensions.standby [-] copying configdrive to disk with command /bin/bash /usr/local/lib/python2.7/dist-packages/ironic_python_agent/extensions/../shell/copy_configdrive_to_disk.sh /tmp/configdrive /dev/vda
[ 961.826376] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root [-] Command failed: prepare_image, error: Error writing configdrive to device: Writing configdrive to device /dev/vda failed with exit code 1. stdout: copy_configdrive_to_disk.sh: Working on MBR only device /dev/vda
[ 961.832737] chroot[440]: copy_configdrive_to_disk.sh: Adding configdrive partition to /dev/vda
[ 961.842312] chroot[440]: copy_configdrive_to_disk.sh: Error creating configdrive on /dev/vda
[ 961.849416] chroot[440]: . stderr: partx: /dev/vda: failed to read partition table
[ 961.857572] chroot[440]: parted: invalid token: primary
[ 961.865729] chroot[440]: Error: Expecting a file system type.
[ 961.873891] chroot[440]: .
[ 961.881924] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root Traceback (most recent call last):
[ 961.890403] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root File "/usr/local/lib/python2.7/dist-packages/ironic_python_agent/extensions/base.py", line 151, in run
[ 961.898718] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root result = self.execute_method(**self.command_params)
[ 961.907284] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root File "/usr/local/lib/python2.7/dist-packages/ironic_python_agent/extensions/standby.py", line 286, in prepare_image
[ 961.911709] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root _write_configdrive_to_partition(configdrive, device)
[ 961.916391] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root File "/usr/local/lib/python2.7/dist-packages/ironic_python_agent/extensions/standby.py", line 109, in _write_configdrive_to_partition
[ 961.921386] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root e.stderr)
[ 961.925551] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root ConfigDriveWriteError: Error writing configdrive to device: Writing configdrive to device /dev/vda failed with exit code 1. stdout: copy_configdrive_to_disk.sh: Working on MBR only device /dev/vda
[ 961.930405] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root copy_configdrive_to_disk.sh: Adding configdrive partition to /dev/vda
[ 961.934873] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root copy_configdrive_to_disk.sh: Error creating configdrive on /dev/vda
[ 961.940466] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root . stderr: partx: /dev/vda: failed to read partition table
[ 961.944886] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root parted: invalid token: primary
[ 961.950484] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root Error: Expecting a file system type.
I suspect "parted" might have been updated, and now its output is parsed incorrectly - "primary" definitely refers to partition type, not filesystem type expected. |
|
2016-06-09 16:45:21 |
Pavlo Shchelokovskyy |
description |
Using current DevStack master and virtual nodes with agent_ssh driver, I can not deploy user's partition images.
Image is build with "disk-image-create ubuntu baremetal" and 3 parts of it uploaded to Glance (kernel, initrd and qcow2 root partition).
Flavor extra_specs and node properties are set to capability boot_option local.
Virtual Ironic Node has 2GB RAM and single virtio disk of 10GB (11GiB)
Failure is specifically with CoreOS-based ramdisk image, tinyipa does not have this problem
$ tail -F ir-cond.log | grep ERROR
2016-06-08 17:35:08.638 ERROR ironic.drivers.modules.agent [req-1d9c2bca-1aac-45fc-b08c-665528845ff0 None None] node b968f163-6d3e-4846-97ac-5e2f5af129fb command status errored: {u'message': u'Error writing configdrive to device: Writing configdrive to device /dev/vda failed with exit code 1. stdout: copy_configdrive_to_disk.sh: Working on MBR only device /dev/vda\ncopy_configdrive_to_disk.sh: Adding configdrive partition to /dev/vda\ncopy_configdrive_to_disk.sh: Error creating configdrive on /dev/vda\n. stderr: partx: /dev/vda: failed to read partition table\nparted: invalid token: primary\nError: Expecting a file system type.\n.', u'code': 500, u'type': u'ConfigDriveWriteError', u'details': u'Writing configdrive to device /dev/vda failed with exit code 1. stdout: copy_configdrive_to_disk.sh: Working on MBR only device /dev/vda\ncopy_configdrive_to_disk.sh: Adding configdrive partition to /dev/vda\ncopy_configdrive_to_disk.sh: Error creating configdrive on /dev/vda\n. stderr: partx: /dev/vda: failed to read partition table\nparted: invalid token: primary\nError: Expecting a file system type.\n.'}
relevant VM log:
[ 960.210378] chroot[440]: 2016-06-08 14:35:06.427 440 INFO ironic_python_agent.extensions.standby [-] Image /tmp/3a3ea0b0-46cc-4497-98b4-f5a9dd00ca65 written to device /dev/vda in 863.150555849 seconds
[ 960.250977] chroot[440]: 2016-06-08 14:35:06.468 440 INFO ironic_python_agent.extensions.standby [-] copying configdrive to disk with command /bin/bash /usr/local/lib/python2.7/dist-packages/ironic_python_agent/extensions/../shell/copy_configdrive_to_disk.sh /tmp/configdrive /dev/vda
[ 961.826376] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root [-] Command failed: prepare_image, error: Error writing configdrive to device: Writing configdrive to device /dev/vda failed with exit code 1. stdout: copy_configdrive_to_disk.sh: Working on MBR only device /dev/vda
[ 961.832737] chroot[440]: copy_configdrive_to_disk.sh: Adding configdrive partition to /dev/vda
[ 961.842312] chroot[440]: copy_configdrive_to_disk.sh: Error creating configdrive on /dev/vda
[ 961.849416] chroot[440]: . stderr: partx: /dev/vda: failed to read partition table
[ 961.857572] chroot[440]: parted: invalid token: primary
[ 961.865729] chroot[440]: Error: Expecting a file system type.
[ 961.873891] chroot[440]: .
[ 961.881924] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root Traceback (most recent call last):
[ 961.890403] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root File "/usr/local/lib/python2.7/dist-packages/ironic_python_agent/extensions/base.py", line 151, in run
[ 961.898718] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root result = self.execute_method(**self.command_params)
[ 961.907284] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root File "/usr/local/lib/python2.7/dist-packages/ironic_python_agent/extensions/standby.py", line 286, in prepare_image
[ 961.911709] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root _write_configdrive_to_partition(configdrive, device)
[ 961.916391] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root File "/usr/local/lib/python2.7/dist-packages/ironic_python_agent/extensions/standby.py", line 109, in _write_configdrive_to_partition
[ 961.921386] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root e.stderr)
[ 961.925551] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root ConfigDriveWriteError: Error writing configdrive to device: Writing configdrive to device /dev/vda failed with exit code 1. stdout: copy_configdrive_to_disk.sh: Working on MBR only device /dev/vda
[ 961.930405] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root copy_configdrive_to_disk.sh: Adding configdrive partition to /dev/vda
[ 961.934873] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root copy_configdrive_to_disk.sh: Error creating configdrive on /dev/vda
[ 961.940466] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root . stderr: partx: /dev/vda: failed to read partition table
[ 961.944886] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root parted: invalid token: primary
[ 961.950484] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root Error: Expecting a file system type.
I suspect "parted" might have been updated, and now its output is parsed incorrectly - "primary" definitely refers to partition type, not filesystem type expected. |
Using current DevStack master and virtual nodes with agent_ssh driver, I can not deploy user's partition images.
Image is build with "disk-image-create ubuntu baremetal grub2" and 3 parts of it uploaded to Glance (kernel, initrd and qcow2 root partition).
Flavor extra_specs and node properties are set to capability boot_option local.
Virtual Ironic Node has 2GB RAM and single virtio disk of 10GB (11GiB)
Failure is specifically with CoreOS-based ramdisk image, tinyipa does not have this problem
$ tail -F ir-cond.log | grep ERROR
2016-06-08 17:35:08.638 ERROR ironic.drivers.modules.agent [req-1d9c2bca-1aac-45fc-b08c-665528845ff0 None None] node b968f163-6d3e-4846-97ac-5e2f5af129fb command status errored: {u'message': u'Error writing configdrive to device: Writing configdrive to device /dev/vda failed with exit code 1. stdout: copy_configdrive_to_disk.sh: Working on MBR only device /dev/vda\ncopy_configdrive_to_disk.sh: Adding configdrive partition to /dev/vda\ncopy_configdrive_to_disk.sh: Error creating configdrive on /dev/vda\n. stderr: partx: /dev/vda: failed to read partition table\nparted: invalid token: primary\nError: Expecting a file system type.\n.', u'code': 500, u'type': u'ConfigDriveWriteError', u'details': u'Writing configdrive to device /dev/vda failed with exit code 1. stdout: copy_configdrive_to_disk.sh: Working on MBR only device /dev/vda\ncopy_configdrive_to_disk.sh: Adding configdrive partition to /dev/vda\ncopy_configdrive_to_disk.sh: Error creating configdrive on /dev/vda\n. stderr: partx: /dev/vda: failed to read partition table\nparted: invalid token: primary\nError: Expecting a file system type.\n.'}
relevant VM log:
[ 960.210378] chroot[440]: 2016-06-08 14:35:06.427 440 INFO ironic_python_agent.extensions.standby [-] Image /tmp/3a3ea0b0-46cc-4497-98b4-f5a9dd00ca65 written to device /dev/vda in 863.150555849 seconds
[ 960.250977] chroot[440]: 2016-06-08 14:35:06.468 440 INFO ironic_python_agent.extensions.standby [-] copying configdrive to disk with command /bin/bash /usr/local/lib/python2.7/dist-packages/ironic_python_agent/extensions/../shell/copy_configdrive_to_disk.sh /tmp/configdrive /dev/vda
[ 961.826376] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root [-] Command failed: prepare_image, error: Error writing configdrive to device: Writing configdrive to device /dev/vda failed with exit code 1. stdout: copy_configdrive_to_disk.sh: Working on MBR only device /dev/vda
[ 961.832737] chroot[440]: copy_configdrive_to_disk.sh: Adding configdrive partition to /dev/vda
[ 961.842312] chroot[440]: copy_configdrive_to_disk.sh: Error creating configdrive on /dev/vda
[ 961.849416] chroot[440]: . stderr: partx: /dev/vda: failed to read partition table
[ 961.857572] chroot[440]: parted: invalid token: primary
[ 961.865729] chroot[440]: Error: Expecting a file system type.
[ 961.873891] chroot[440]: .
[ 961.881924] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root Traceback (most recent call last):
[ 961.890403] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root File "/usr/local/lib/python2.7/dist-packages/ironic_python_agent/extensions/base.py", line 151, in run
[ 961.898718] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root result = self.execute_method(**self.command_params)
[ 961.907284] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root File "/usr/local/lib/python2.7/dist-packages/ironic_python_agent/extensions/standby.py", line 286, in prepare_image
[ 961.911709] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root _write_configdrive_to_partition(configdrive, device)
[ 961.916391] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root File "/usr/local/lib/python2.7/dist-packages/ironic_python_agent/extensions/standby.py", line 109, in _write_configdrive_to_partition
[ 961.921386] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root e.stderr)
[ 961.925551] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root ConfigDriveWriteError: Error writing configdrive to device: Writing configdrive to device /dev/vda failed with exit code 1. stdout: copy_configdrive_to_disk.sh: Working on MBR only device /dev/vda
[ 961.930405] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root copy_configdrive_to_disk.sh: Adding configdrive partition to /dev/vda
[ 961.934873] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root copy_configdrive_to_disk.sh: Error creating configdrive on /dev/vda
[ 961.940466] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root . stderr: partx: /dev/vda: failed to read partition table
[ 961.944886] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root parted: invalid token: primary
[ 961.950484] chroot[440]: 2016-06-08 14:35:08.030 440 ERROR root Error: Expecting a file system type.
I suspect "parted" might have been updated, and now its output is parsed incorrectly - "primary" definitely refers to partition type, not filesystem type expected. |
|