Uploaded image for project: 'Red Hat OpenStack Services on OpenShift'
  1. Red Hat OpenStack Services on OpenShift
  2. OSPRH-2918

BZ#2222981 Overcloud deploy fails when mounting config drive on 4k disks

XMLWordPrintable

    • Moderate

      Description of problem:
      After the node with a 4k root disk is provisioned, the config drive partition is unable to be mounted. This prevents cloud-init from creating the heat-admin user and copying the ssh keys.

      Version-Release number of selected component (if applicable):
      openstack-ironic-conductor:16.2.4-15

      How reproducible:
      Consistently with a 4k root disk, other nodes with a 512 sector size disk work fine

      Steps to Reproduce:
      1. Attempt to scale out a new node with a 4k root disk
      2.
      3.

      Actual results:
      Unable to mount config drive, deploy fails.
      In dmesg:
      [ 82.511907] isofs_fill_super: bread failed, dev=sda2, iso_blknum=17, block=-2147483648

      cloud-init logs:
      2023-07-11 05:42:14,601 - subp.py[DEBUG]: Running command ['mount', '-o', 'ro', '-t', 'auto', '/dev/sda2', '/run/cloud-init/tmp/tmpkf7q2n3s'] with allowed return codes [0] (shell=False, capture=True)
      2023-07-11 05:42:14,621 - util.py[DEBUG]: Failed mount of '/dev/sda2' as 'auto': Unexpected error while running command.
      Command: ['mount', '-o', 'ro', '-t', 'auto', '/dev/sda2', '/run/cloud-init/tmp/tmpkf7q2n3s']
      Exit code: 32
      Reason: -
      Stdout:
      Stderr: mount: /run/cloud-init/tmp/tmpkf7q2n3s: wrong fs type, bad option, bad superblock on /dev/sda2, missing codepage or helper program, or other error.
      2023-07-11 05:42:14,621 - _init_.py[DEBUG]: Datasource DataSourceConfigDrive [net,ver=None][source=None] not updated for events: New instance first boot
      2023-07-11 05:42:14,622 - handlers.py[DEBUG]: finish: init-local/search-ConfigDrive: SUCCESS: no local data found from DataSourceConfigDrive

      Expected results:
      config drive mounts, cloud-init runs, deploy succeeds

      Additional info:
      Manual mount fails as well.

      The default filesystem for the config drive as configured by ironic is iso9660, which does not support >2k disks.
      Changing this to vfat in ironic.conf also fails but with a different mount error in dmesg:

      config_drive_format=vfat

      [ 83.346563] FAT-fs (sda2): logical sector size too small for device (logical sector size = 512)

              jkreger@redhat.com Julia Kreger
              jira-bugzilla-migration RH Bugzilla Integration
              rhos-dfg-hardprov
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: