Cannot install subiquity on virtual devices, including zvols

Bug #1811037 reported by Aditya Bhargava
22
This bug affects 5 people
Affects Status Importance Assigned to Milestone
subiquity
Triaged
Medium
Unassigned

Bug Description

Subiquity currently omits virtual devices as possible installation targets. This is done at line 890 in subiquity/subiquity/models/filesystem.py: https://github.com/CanonicalLtd/subiquity/blob/0e844ccffae870cee9c23e845dd464315bcefdc0/subiquity/models/filesystem.py#L890

This is an issue for me when installing Ubuntu Server with ZFS as root. The typical procedure to use the installer is to create a temporary zvol as an installation target and then rsync it over to the real target afterwards.

Ideally, the installer would support ZFS OOTB but barring that, it'd be nice if we could use zvols as targets. Luckily I had an extra disk I could use, but if I didn't I would've had to muck around with partitioning the disk to temporarily hold the installation, and then resizing the target partition after copying, which could get cumbersome depending on the vdev topology.

summary: - Cannot install on virtual devices
+ Cannot install subiquity on virtual devices, including zvols
Revision history for this message
Michael Hudson-Doyle (mwhudson) wrote :

We are going to support reusing existing partitions and raids and LVMs fairly soon; I don't know when we'll get to supporting ZFS properly. But we'll get to it eventually.

Changed in subiquity:
status: New → Triaged
importance: Undecided → Medium
Revision history for this message
Saverio Miroddi (64kramsystem) wrote :

> I don't know when we'll get to supporting ZFS properly. But we'll get to it eventually.

To clarify, ZFS and virtual block devices support are two separate things.

While full ZFS support is desirable, supporting virtual block devices (*independently of ZFS*) is enough for ZFS users to perform an installation.

I've just tested an Ubuntu Server 18.04.3 installation on a virtual block device and everything works fine. The only thing that needed to be changed in Subiquity, besides making it show the required virtual device, was to correctly add the `p` suffix for `zd` devices:

```
  patch -p1 "lib/python3.6/site-packages/curtin/block/__init__.py" << 'DIFF'
116c116
< for dev_type in ['bcache', 'nvme', 'mmcblk', 'cciss', 'mpath', 'md']:
---
> for dev_type in ['bcache', 'nvme', 'mmcblk', 'cciss', 'mpath', 'md', 'zd']:
DIFF
```

That was all :-)

Revision history for this message
Alex (alexutu1337) wrote :

What's the state for this bug?

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.