canonical / cloud-init

Official upstream for the cloud-init: cloud instance initialization
https://cloud-init.io/
Other
2.99k stars 882 forks source link

ds-identify cannot identify disk-based resources on FreeBSD #3799

Closed ubuntu-server-builder closed 1 year ago

ubuntu-server-builder commented 1 year ago

This bug was originally filed in Launchpad as LP: #1901174

Launchpad details
affected_projects = []
assignee = None
assignee_name = None
date_closed = None
date_created = 2020-10-23T10:12:53.757874+00:00
date_fix_committed = None
date_fix_released = None
id = 1901174
importance = undecided
is_complete = False
lp_url = https://bugs.launchpad.net/cloud-init/+bug/1901174
milestone = None
owner = minagalic
owner_name = Mina Galić
private = False
status = in_progress
submitter = minagalic
submitter_name = Mina Galić
tags = []
duplicates = []

Launchpad user Mina Galić(minagalic) wrote on 2020-10-23T10:12:53.757874+00:00

Following https://github.com/canonical/cloud-init/pull/617 i tried to replicate this on my laptop.

In a FreeBSD 12, there is no blkid. That means that the NoCloud seed image, which was provided as iso9660 formatted disk with the label 'cidata' was not found. The equivalent tool on FreeBSD to find disks and their labels would be geom:

meena@fbsd12-1 /u/h/meena> geom label status -a
          Name  Status  Components
  gpt/gptboot0     N/A  vtbd1p1
     gpt/swap0     N/A  vtbd1p2
iso9660/cidata     N/A  vtbd2

and here, in -s for script-friendly output:

meena@fbsd12-1 /u/h/meena> geom label status -as
  gpt/gptboot0  N/A  vtbd1p1
     gpt/swap0  N/A  vtbd1p2
iso9660/cidata  N/A  vtbd2

where we have type/label followed by status and and then device name (a partition or slice)

We should change read_fs_info() to call a blkid or geom parser function based on which OS we're on.

ubuntu-server-builder commented 1 year ago

Launchpad user Paride Legovini(paride) wrote on 2020-10-27T14:19:52.224320+00:00

PR fixing this:

https://github.com/canonical/cloud-init/pull/625

Thanks Mina!