diff --git a/pkg/extend/extend.go b/pkg/extend/extend.go index aa518a2f3..afde7462a 100644 --- a/pkg/extend/extend.go +++ b/pkg/extend/extend.go @@ -22,8 +22,9 @@ import ( const timeout = 60 var ( - fsTypeVar string - driveKeys []string + fsTypeVar string + stopOnError bool + driveKeys []string ) // Fdisk is the JSON output from libfdisk @@ -57,7 +58,12 @@ func autoextend(fsType string) error { continue } if err := extend(d, fsType); err != nil { - return err + if stopOnError { + return err + } + + log.Printf("Could not extend partition on device %s. Skipping", d) + continue } } return nil @@ -312,11 +318,13 @@ func findDrives() { func init() { flag.StringVar(&fsTypeVar, "type", "ext4", "Type of filesystem to create") + flag.BoolVar(&stopOnError, "stop-on-error", true, "Stops extending the remaining devices on first error") } func main() { flag.Parse() findDrives() + if flag.NArg() == 0 { if err := autoextend(fsTypeVar); err != nil { log.Fatalf("%v", err) diff --git a/test/cases/040_packages/005_extend/000_ext4/test.yml b/test/cases/040_packages/005_extend/000_ext4/test.yml index 32ab49d3c..2b579779b 100644 --- a/test/cases/040_packages/005_extend/000_ext4/test.yml +++ b/test/cases/040_packages/005_extend/000_ext4/test.yml @@ -6,7 +6,7 @@ init: - linuxkit/runc:8b5af3365fc7d015db4e44113d93c7b1f8e2d2ab onboot: - name: extend - image: linuxkit/extend:cad2e81be336573d9786b168037042900cf0cf0f + image: linuxkit/extend:9fa90cc4ba8c261b8eb5adacda71feb2f60d75e3 - name: mount image: linuxkit/mount:2a507ef30302693682f9f612289028df00c58ac5 command: ["/usr/bin/mountie", "/var/lib/docker"] diff --git a/test/cases/040_packages/005_extend/001_btrfs/test.yml b/test/cases/040_packages/005_extend/001_btrfs/test.yml index 00e3a8866..95f721173 100644 --- a/test/cases/040_packages/005_extend/001_btrfs/test.yml +++ b/test/cases/040_packages/005_extend/001_btrfs/test.yml @@ -9,7 +9,7 @@ onboot: image: linuxkit/modprobe:fad39ef443853ef02520052cdbf6acbeb4ec7799 command: ["modprobe", "btrfs"] - name: extend - image: linuxkit/extend:cad2e81be336573d9786b168037042900cf0cf0f + image: linuxkit/extend:9fa90cc4ba8c261b8eb5adacda71feb2f60d75e3 command: ["/usr/bin/extend", "-type", "btrfs"] - name: mount image: linuxkit/mount:2a507ef30302693682f9f612289028df00c58ac5 diff --git a/test/cases/040_packages/005_extend/002_xfs/test.yml b/test/cases/040_packages/005_extend/002_xfs/test.yml index 56eb4fb70..cfa50d1bb 100644 --- a/test/cases/040_packages/005_extend/002_xfs/test.yml +++ b/test/cases/040_packages/005_extend/002_xfs/test.yml @@ -6,7 +6,7 @@ init: - linuxkit/runc:8b5af3365fc7d015db4e44113d93c7b1f8e2d2ab onboot: - name: extend - image: linuxkit/extend:cad2e81be336573d9786b168037042900cf0cf0f + image: linuxkit/extend:9fa90cc4ba8c261b8eb5adacda71feb2f60d75e3 command: ["/usr/bin/extend", "-type", "xfs"] - name: mount image: linuxkit/mount:2a507ef30302693682f9f612289028df00c58ac5 diff --git a/test/cases/040_packages/005_extend/003_gpt/test.yml b/test/cases/040_packages/005_extend/003_gpt/test.yml index 32ab49d3c..2b579779b 100644 --- a/test/cases/040_packages/005_extend/003_gpt/test.yml +++ b/test/cases/040_packages/005_extend/003_gpt/test.yml @@ -6,7 +6,7 @@ init: - linuxkit/runc:8b5af3365fc7d015db4e44113d93c7b1f8e2d2ab onboot: - name: extend - image: linuxkit/extend:cad2e81be336573d9786b168037042900cf0cf0f + image: linuxkit/extend:9fa90cc4ba8c261b8eb5adacda71feb2f60d75e3 - name: mount image: linuxkit/mount:2a507ef30302693682f9f612289028df00c58ac5 command: ["/usr/bin/mountie", "/var/lib/docker"]