yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #67923
[Bug 1634678] Re: fs_setup always creates new filesystem with partition 'auto'
This bug is believed to be fixed in cloud-init in 17.1. If this is still
a problem for you, please make a comment and set the state back to New
Thank you.
** Changed in: cloud-init
Status: Fix Committed => Fix Released
--
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/1634678
Title:
fs_setup always creates new filesystem with partition 'auto'
Status in cloud-init:
Fix Released
Status in cloud-init package in Ubuntu:
Fix Released
Status in cloud-init source package in Trusty:
Confirmed
Status in cloud-init source package in Xenial:
Fix Released
Status in cloud-init source package in Yakkety:
Fix Released
Bug description:
=== Begin SRU Template ===
[Impact]
On instance first boot cloud-init may create a filesystem when
it should have re-used an existing filesystem.
[Test Case]
The test case launches an instance, assuming that has an old version
of cloud-init inside. The user-data will not be valid for the default
configuration of disks. (Most openstack instances would have a
single 'ephemeral' disk in addition to root, with an ext4 filesystem
labelled 'ephemeral0'). We will then upgrade instance to proposed.
And create a filesystem on /dev/vdb1 that *should* match.
1. launch an instance in openstack with the following user-data.
|#cloud-config
|fs_setup:
| - label: mydata
| device: /dev/vdb
| filesystem: ext4
| partition: auto
|mounts:
| - ["/dev/vdb1", "/mnt"]
$ cat > my-userdata.txt <<EOF
#cloud-config
fs_setup:
- label: mydata
device: /dev/vdb
filesystem: ext4
partition: auto
mounts:
- ["/dev/vdb1", "/mnt"]
EOF
$ openstack server create --user-data=my-userdata.txt \
--key-name=brickies --flavor=m1.small .... my-test
2. ssh in, prepare the /dev/vdb to have a partition, and upgrade
# run attached 'disk-setup'. This will partition the disk
# and wipe any filesystem data off, basically making it a partitioned
# but otherwise empty disk.
$ sudo ./disk-setup
umount: /mnt: not mounted
wiping /dev/vdb
partitioning /dev/vdb
/dev/vdb: PTUUID="9920db9b-a1ff-4f44-834c-8fcc42bd5821" PTTYPE="gpt"
/dev/vdb1: PARTUUID="1accde8d-8880-4a93-913a-61eee2e92535"
3. enable proposed, upgrade
4. clean out state and reboot
sudo rm -Rf /var/lib/cloud /var/log/cloud-init*
sudo sed -i '/comment=cloudconfig/d' /etc/fstab
sudo reboot
5. ssh back in and look around.
# cloud-init should have created a filesystem on /dev/vdb1
# and mounted it at /mnt.
$ grep /mnt /proc/mounts
/dev/vdb1 /mnt ext4 rw,relatime,data=ordered 0 0
# and have a filesystem 'mydata'
$ sudo blkid /dev/vdb1
/dev/vdb1: LABEL="mydata" UUID="79090091-800e-4348-a7a9-8c7a26ed18f7" TYPE="ext4" PARTUUID="b8ef8d3f-acb4-4bd0-ba2d-fdfb45c2e8f0"
# put a file on there, then clean up and reboot.
# we will expect that that this time, cloud-init will just re-use
# the existing filesystem rather than making another.
$ echo hi mom | sudo tee -a /mnt/my-important-data.txt
6. ssh in and expect /mnt/my-important-data.txt
$ cat /mnt/my-important-data.txt
hi mom
[Regression Potential]
Potentially this could re-use a partition that the user wanted reformatted.
[Other Info]
Upstream commit:
https://git.launchpad.net/cloud-init/commit/?id=4a2b2f87ec48c2
=== End SRU Template ===
# cloud-init -v
cloud-init 0.7.5
# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.4 LTS
Release: 14.04
Codename: trusty
AMI: ami-1721ff77 - Ubuntu 14.04 20160314
fs_setup fails to detect an existing filesystem and creates a new one
when using the following configuration:
fs_setup:
label: None
filesystem: ext4
device: /dev/xvdf
partition: auto
There error seems to be here - https://git.launchpad.net/cloud-init/tree/cloudinit/config/cc_disk_setup.py#n216
This line sets definition['partition'] to None.
I believe " definition['partition'] = part" should be a part of the
above conditional.
To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-init/+bug/1634678/+subscriptions
References