hi Tone Zhang: I just tested the latest maste branch code and the result is the same. The disk is prepared as follows: ``` Model: Xen Virtual Block Device (xvd) Disk /dev/xvdb: 107GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 107GB 107GB xfs KOLLA_CEPH_OSD_BOOTSTRAP_BS ``` And find_disk result is: ``` { u 'fs_uuid': u 'f3dfc4a9-2913-44ea-a3cd-0f5b85436a21', u 'partition': u '/dev/xvdb', u 'external_journal': False, u 'bs_blk_label': u '', u 'bs_db_partition_num': u '', u 'journal_device': u '', u 'journal': u '', u 'bs_wal_label': u '', u 'bs_wal_partition_num': u '', u 'fs_label': u '', u 'journal_num': 0, u 'bs_wal_device': u '', u 'partition_num': u '1', u 'bs_db_label': u '', u 'bs_blk_partition_num': u '', u 'device': u '/dev/xvdb', u 'bs_db_device': u '', u 'partition_label': u 'KOLLA_CEPH_OSD_BOOTSTRAP_BS', u 'bs_blk_device': u '' } ``` and error logs is: ``` ++ [[ False == \F\a\l\s\e ]] ++ [[ bluestore == \b\l\u\e\s\t\o\r\e ]] ++ [[ /dev/xvdb =~ /dev/loop ]] ++ sgdisk --zap-all -- /dev/xvdb1 Creating new GPT entries. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. GPT data structures destroyed! You may now partition the disk using fdisk or other utilities. ++ '[' -n '' ']' ++ sgdisk --zap-all -- /dev/xvdb GPT data structures destroyed! You may now partition the disk using fdisk or other utilities. ++ sgdisk --new=1:0:+100M --mbrtogpt -- /dev/xvdb Creating new GPT entries. The operation has completed successfully. ++ sgdisk --largest-new=2 --mbrtogpt -- /dev/xvdb The operation has completed successfully. ++ sgdisk --zap-all -- /dev/xvdb2 Creating new GPT entries. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. GPT data structures destroyed! You may now partition the disk using fdisk or other utilities. ++ '[' -n '' ']' ++ '[' -n '' ']' ++ partprobe ++ [[ bluestore == \b\l\u\e\s\t\o\r\e ]] +++ uuidgen ++ OSD_UUID=5a5c1c56-7618-4fca-9847-f58542add2e8 +++ ceph osd new 5a5c1c56-7618-4fca-9847-f58542add2e8 ++ OSD_ID=1 ++ OSD_DIR=/var/lib/ceph/osd/ceph-1 ++ mkdir -p /var/lib/ceph/osd/ceph-1 ++ [[ /dev/xvdb =~ /dev/loop ]] ++ mkfs.xfs -f /dev/xvdb1 meta-data=/dev/xvdb1 isize=512 agcount=4, agsize=6400 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=25600, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=855, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 ++ mount /dev/xvdb1 /var/lib/ceph/osd/ceph-1 ++ ceph-osd -i 1 --mkkey ++ echo bluestore ++ '[' -n '' ']' ++ sgdisk --change-name=2:KOLLA_CEPH_DATA_BS_B_1 --typecode=2:4FBD7E29-9D25-41B8-AFD0-062C0CEFF05D -- /dev/xvdb Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully. ++ '[' -n '' ']' ++ '[' -n '' ']' ++ partprobe ++ ln -sf /dev/disk/by-partlabel/KOLLA_CEPH_DATA_BS_B_1 /var/lib/ceph/osd/ceph-1/block ++ '[' -n '' ']' ++ '[' -n '' ']' ++ ceph-osd -d -i 1 --mkfs -k /var/lib/ceph/osd/ceph-1/keyring --osd-uuid 5a5c1c56-7618-4fca-9847-f58542add2e8 2018-06-28 16:10:17.396895 7feef145ad80 0 ceph version 12.2.5 (cad919881333ac92274171586c827e01f554a70a) luminous (stable), process (unknown), pid 79 2018-06-28 16:10:17.424607 7feef145ad80 0 stack NetworkStack max thread limit is 24, switching to this now. Higher thread values are unnecessary and currently unsupported. 2018-06-28 16:10:17.429836 7feef145ad80 1 bluestore(/var/lib/ceph/osd/ceph-1) mkfs path /var/lib/ceph/osd/ceph-1 2018-06-28 16:10:17.429872 7feef145ad80 -1 bluestore(/var/lib/ceph/osd/ceph-1/block) _read_bdev_label failed to open /var/lib/ceph/osd/ceph-1/block: (2) No such file or directory 2018-06-28 16:10:17.429906 7feef145ad80 -1 bluestore(/var/lib/ceph/osd/ceph-1/block) _read_bdev_label failed to open /var/lib/ceph/osd/ceph-1/block: (2) No such file or directory 2018-06-28 16:10:17.430137 7feef145ad80 -1 bluestore(/var/lib/ceph/osd/ceph-1) _read_fsid unparsable uuid 2018-06-28 16:10:17.430146 7feef145ad80 1 bluestore(/var/lib/ceph/osd/ceph-1) mkfs using provided fsid 5a5c1c56-7618-4fca-9847-f58542add2e8 2018-06-28 16:10:17.430187 7feef145ad80 1 bdev create path /var/lib/ceph/osd/ceph-1/block type kernel 2018-06-28 16:10:17.430194 7feef145ad80 1 bdev(0x5621e5d91600 /var/lib/ceph/osd/ceph-1/block) open path /var/lib/ceph/osd/ceph-1/block 2018-06-28 16:10:17.430201 7feef145ad80 -1 bdev(0x5621e5d91600 /var/lib/ceph/osd/ceph-1/block) open open got: (2) No such file or directory 2018-06-28 16:10:17.430215 7feef145ad80 -1 bluestore(/var/lib/ceph/osd/ceph-1) mkfs failed, (2) No such file or directory 2018-06-28 16:10:17.430223 7feef145ad80 -1 OSD::mkfs: ObjectStore::mkfs failed with error (2) No such file or directory 2018-06-28 16:10:17.430334 7feef145ad80 -1 ** ERROR: error creating empty object store in /var/lib/ceph/osd/ceph-1: (2) No such file or directory ``` Adding a certain amount of sleep time can solve this problem, but I don't think it's a good idea. So can you review my patch? I used partuuid and solved this problem. kolla: https://review.openstack.org/#/c/575400/ kolla-ansible: https://review.openstack.org/#/c/575408/