yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #78120
[Bug 1399683] Re: 0.7.5, centos7, openstack havana, mounts created for nonexistent devices
[Expired for cloud-init because there has been no activity for 60 days.]
** Changed in: cloud-init
Status: Incomplete => Expired
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to cloud-init.
https://bugs.launchpad.net/bugs/1399683
Title:
0.7.5, centos7, openstack havana, mounts created for nonexistent
devices
Status in cloud-init:
Expired
Bug description:
cloud-init 0.7.5 on centos 7, running in OpenStack Havana.
/etc/fstab entries are created for devices that do not exist on the
system.
[cbuben@cbc7gr4x1 ~]$ rpm -q cloud-init
cloud-init-0.7.5-10.el7.centos.1.x86_64
[cbuben@cbc7gr4x1 ~]$ blkid
/dev/vda1: UUID="abc9bf42-9fd1-41de-82df-48812c34a876" TYPE="ext4"
/dev/vdb: LABEL="ephemeral0" UUID="91394da3-4d82-4f80-b466-24efd9f6e146" SEC_TYPE="ext2" TYPE="ext3"
/dev/vdc: UUID="bc02e445-949e-4703-8c8c-ebfcfaea7d4c" TYPE="swap"
/dev/vdd: SEC_TYPE="msdos" LABEL="config-2" UUID="F632-BDC3" TYPE="vfat"
[cbuben@cbc7gr4x1 ~]$ grep -A5 mounts: /etc/cloud/cloud.cfg
mounts:
- [ ephemeral0, /mnt/ephemeral0 ]
- [ ephemeral1, /mnt/ephemeral1 ]
- [ ephemeral2, /mnt/ephemeral2 ]
- [ ephemeral3, /mnt/ephemeral3 ]
====> ACTUAL RESULTS
[cbuben@cbc7gr4x1 ~]$ cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Fri Dec 5 01:37:44 2014
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=abc9bf42-9fd1-41de-82df-48812c34a876 / ext4 defaults 1 1
/dev/vdb /mnt/ephemeral0 auto defaults,nofail,comment=cloudconfig 0 2
ephemeral1 /mnt/ephemeral1 auto defaults,nofail,comment=cloudconfig 0 2
ephemeral2 /mnt/ephemeral2 auto defaults,nofail,comment=cloudconfig 0 2
ephemeral3 /mnt/ephemeral3 auto defaults,nofail,comment=cloudconfig 0 2
/dev/vdc none swap sw,comment=cloudconfig 0 0
====> EXPECTED RESULTS
[cbuben@cbc7gr4x1 ~]$ cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Fri Dec 5 01:37:44 2014
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=abc9bf42-9fd1-41de-82df-48812c34a876 / ext4 defaults 1 1
/dev/vdb /mnt/ephemeral0 auto defaults,nofail,comment=cloudconfig 0 2
/dev/vdc none swap sw,comment=cloudconfig 0 0
I believe this may be a regression in 0.7.3.
In 0.7.2, it seems like the following logic: https://github.com/cbuben
/cloud-init/blob/0.7.2/cloudinit/config/cc_mounts.py#L79-L81 sets the
mount point to None if the device with the given name does not exist.
Later on, in https://github.com/cbuben/cloud-
init/blob/0.7.2/cloudinit/config/cc_mounts.py#L149-L150 , the None
value in the field is used to skip the device. On our EL6 systems, we
run this identical cloud.cfg and do NOT have this problem.
In 0.7.3 there was some refactoring to break out the cleanup of the
device name lookup, but otherwise the flow if the logic is the same.
However, if the device does not exist (i.e. sanitize_devname returns
None), the mount point is NOT set to the sentinel value None:
https://github.com/cbuben/cloud-
init/blob/0.7.3/cloudinit/config/cc_mounts.py#L100-L102 . Then later,
in https://github.com/cbuben/cloud-
init/blob/0.7.3/cloudinit/config/cc_mounts.py#L160-L161 the same check
for "mount point is None" is applied.
If I re-add setting the mountpoint to None if the device with a given
name doesn't exist, correct behavior apperas to be restored:
https://github.com/cbuben/cloud-
init/compare/0.7.5...0_7_5_bad_devs_in_fstab
To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-init/+bug/1399683/+subscriptions
References