Ignition does not support nested RAID
Open
Nobody has claimed this yet.
area/usability
kind/bug
kind/friction
- Dominant language
- Go
- Stars
- 974
- Forks
- 296
- Avg merge
- 6d 14h
- Merged PRs (30d)
- 9
Description
Issue by @ajeddeloh
Issue Report
Bug
Container Linux Version
$ cat /etc/os-release
NAME="Container Linux by CoreOS"
ID=coreos
VERSION=1506.0.0+2017-08-28-1705
VERSION_ID=1506.0.0
BUILD_ID=2017-08-28-1705
PRETTY_NAME="Container Linux by CoreOS 1506.0.0+2017-08-28-1705 (Ladybug)"
ANSI_COLOR="38;5;75"
HOME_URL="https://coreos.com/"
BUG_REPORT_URL="https://issues.coreos.com"
COREOS_BOARD="amd64-usr"
Environment
Any
Expected Behavior
Ignition can create nested raids
Actual Behavior
Ignition fails to create nested raids.
Reproduction Steps
Use this CLC to create an instance.
storage:
disks:
- device: /dev/vdb
wipe_table: true
partitions:
- label: root11
number: 1
size: 256MiB
start: 0
type_guid: be9067b9-ea49-4f15-b4f6-f36f8c9e1818
- label: root21
number: 2
size: 256MiB
start: 0
type_guid: be9067b9-ea49-4f15-b4f6-f36f8c9e1818
- label: root12
number: 3
size: 256MiB
start: 0
type_guid: be9067b9-ea49-4f15-b4f6-f36f8c9e1818
- label: root22
number: 4
size: 256MiB
start: 0
type_guid: be9067b9-ea49-4f15-b4f6-f36f8c9e1818
raid:
- name: "inner1"
level: "raid1"
devices:
- "/dev/vdb1"
- "/dev/vdb2"
- name: "inner2"
level: "raid1"
devices:
- "/dev/vdb3"
- "/dev/vdb4"
- name: "outer"
level: "raid0"
devices:
- "/dev/md/inner1"
- "/dev/md/inner2"
filesystems:
- name: "ROOT"
mount:
device: "/dev/md/outer"
format: "ext4"
create:
options:
- "-L"
- "ROOT"
- name: "NOT_ROOT"
mount:
device: "/dev/vda9"
format: "ext4"
create:
options:
- "-L"
- "WASTELAND"
Other Information
createRaids creates a list of devices it needs to make the arrays and waits for those devices before it creates the arrays. In the case of nested raid this includes devices it has yet to create.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at createRaids and trace how RAID devices are collected and waited on. Reproduce the supplied CLC; done means the inner arrays are created before the outer array, allowing the filesystem configuration to proceed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- infrastructure
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100