From ccb3247ae58cce5b429070b051b178f4dc167d8a Mon Sep 17 00:00:00 2001 From: Lopaka Delp Date: Thu, 2 Apr 2015 23:28:52 -0700 Subject: [PATCH 01/18] ST-1 Write over first 512 bytes of ephemeral devices to remove format signatures. --- recipes/default.rb | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/recipes/default.rb b/recipes/default.rb index 2313ae4..4bd0903 100644 --- a/recipes/default.rb +++ b/recipes/default.rb @@ -37,6 +37,13 @@ else log "Ephemeral disks found for cloud '#{cloud}': #{ephemeral_devices.inspect}" + # Ephemeral disks may have been previously formatted, which can hang some lvm calls. + # This will erase the first 512 bytes of the disk which should destroy any format signatures. + # + ephemeral_devices.each do |ephemeral_device| + IO.write(ephemeral_device, '0' * 512, 0) + end + # Create the volume group and logical volume. If more than one ephemeral disk is found, # they are created with LVM stripes with the stripe size set in the attributes. # From 5ed50cdb910155c2f280df17ead14080778bfebc Mon Sep 17 00:00:00 2001 From: Lopaka Delp Date: Thu, 2 Apr 2015 23:33:50 -0700 Subject: [PATCH 02/18] ST-1 Bump version to 1.0.9. --- CHANGELOG.md | 6 ++++++ metadata.rb | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f3030b0..c40387a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,12 @@ ephemeral_lvm Cookbook CHANGELOG This file is used to list changes made in each version of the ephemeral_lvm cookbook. +v1.0.9 +------ + +- Overwrite first 512 bytes on each ephemeral disk destroying any filesystem signatures and + avoiding user input during lvm commands. + v1.0.8 ------ diff --git a/metadata.rb b/metadata.rb index 215c1ca..d7c22e8 100644 --- a/metadata.rb +++ b/metadata.rb @@ -4,7 +4,7 @@ license 'Apache 2.0' description 'Configures available ephemeral devices on a cloud server' long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) -version '1.0.8' +version '1.0.9' supports 'ubuntu' supports 'centos' From f7659795b406c48b14b18273622bdc6d4a272536 Mon Sep 17 00:00:00 2001 From: Lopaka Delp Date: Fri, 3 Apr 2015 00:16:08 -0700 Subject: [PATCH 03/18] ST-1 Add a log line when preparing ephemeral device. --- recipes/default.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/default.rb b/recipes/default.rb index 4bd0903..84b6542 100644 --- a/recipes/default.rb +++ b/recipes/default.rb @@ -41,6 +41,7 @@ # This will erase the first 512 bytes of the disk which should destroy any format signatures. # ephemeral_devices.each do |ephemeral_device| + log "Preparing #{ephemeral_device}" IO.write(ephemeral_device, '0' * 512, 0) end From 450b81e3a7559ce76a96e9776524002ca590b0f9 Mon Sep 17 00:00:00 2001 From: Lopaka Delp Date: Fri, 3 Apr 2015 16:07:01 -0700 Subject: [PATCH 04/18] ST-1 Use wipefs instead of IO.write. --- recipes/default.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes/default.rb b/recipes/default.rb index 84b6542..9b83edd 100644 --- a/recipes/default.rb +++ b/recipes/default.rb @@ -42,7 +42,8 @@ # ephemeral_devices.each do |ephemeral_device| log "Preparing #{ephemeral_device}" - IO.write(ephemeral_device, '0' * 512, 0) + wipefs = Mixlib::ShellOut.new("wipefs -all #{ephemeral_device}") + wipefs.run_command end # Create the volume group and logical volume. If more than one ephemeral disk is found, From 30585aeb904918a09424c8dd96d9940fe3481cb5 Mon Sep 17 00:00:00 2001 From: Lopaka Delp Date: Fri, 3 Apr 2015 16:25:59 -0700 Subject: [PATCH 05/18] ST-1 fix syntax error passing correct flag. --- recipes/default.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/default.rb b/recipes/default.rb index 9b83edd..b3a3e49 100644 --- a/recipes/default.rb +++ b/recipes/default.rb @@ -42,7 +42,7 @@ # ephemeral_devices.each do |ephemeral_device| log "Preparing #{ephemeral_device}" - wipefs = Mixlib::ShellOut.new("wipefs -all #{ephemeral_device}") + wipefs = Mixlib::ShellOut.new("wipefs --all #{ephemeral_device}") wipefs.run_command end From fabe644ac6890430a0c7cb987c89fd35b6446236 Mon Sep 17 00:00:00 2001 From: Lopaka Delp Date: Fri, 3 Apr 2015 20:11:14 -0700 Subject: [PATCH 06/18] ST-1 RHEL|CentOS 7 uses XFS by default. --- attributes/default.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/attributes/default.rb b/attributes/default.rb index 979d322..ccabf10 100644 --- a/attributes/default.rb +++ b/attributes/default.rb @@ -18,7 +18,9 @@ # # The ephemeral file system -default['ephemeral_lvm']['filesystem'] = "ext4" +# RHEL 7 and CentOS 7 uses XFS as their default file system. +default['ephemeral_lvm']['filesystem'] = + node['platform'] =~ /redhat|centos/ && node['platform_version'] =~ /^7\./ ? 'xfs' : 'ext4' # The ephemeral mount point default['ephemeral_lvm']['mount_point'] = "/mnt/ephemeral" From 8c321a7ebf58000e69dac3b31e647a36b2150ce6 Mon Sep 17 00:00:00 2001 From: Lopaka Delp Date: Mon, 6 Apr 2015 13:47:00 -0700 Subject: [PATCH 07/18] ST-1 Update comment to reflect using wipefs. --- recipes/default.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/default.rb b/recipes/default.rb index b3a3e49..d881a94 100644 --- a/recipes/default.rb +++ b/recipes/default.rb @@ -38,7 +38,7 @@ log "Ephemeral disks found for cloud '#{cloud}': #{ephemeral_devices.inspect}" # Ephemeral disks may have been previously formatted, which can hang some lvm calls. - # This will erase the first 512 bytes of the disk which should destroy any format signatures. + # Run 'wipefs' on each ephemeral disk to remove any filesystem signatures. # ephemeral_devices.each do |ephemeral_device| log "Preparing #{ephemeral_device}" From 3e56aacc74e5e8b421cae2e82a256c76cd57d8b7 Mon Sep 17 00:00:00 2001 From: Lopaka Delp Date: Mon, 6 Apr 2015 13:49:46 -0700 Subject: [PATCH 08/18] ST-1 Update CHANGELOG.md --- CHANGELOG.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c40387a..16f17c8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,8 +6,7 @@ This file is used to list changes made in each version of the ephemeral_lvm cook v1.0.9 ------ -- Overwrite first 512 bytes on each ephemeral disk destroying any filesystem signatures and - avoiding user input during lvm commands. +- Run 'wipefs' on each ephemeral disk erasing any filesystem signatures, avoiding user interaction during lvm commands. v1.0.8 ------ From 4ac4767ad4ace746bcb79e42b5be289a4ade1caf Mon Sep 17 00:00:00 2001 From: Lopaka Delp Date: Mon, 6 Apr 2015 15:17:44 -0700 Subject: [PATCH 09/18] ST-1 Update ephemeral_lvm/filesystem attribute in metadata.rb. --- metadata.rb | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/metadata.rb b/metadata.rb index d7c22e8..ab0c2c8 100644 --- a/metadata.rb +++ b/metadata.rb @@ -16,10 +16,11 @@ attribute "ephemeral_lvm/filesystem", :display_name => "Ephemeral LVM Filesystem", - :description => "The filesystem to be used on the ephemeral volume", - :default => "ext4", + :description => + "The filesystem to be used on the ephemeral volume." + + " Defaults are based on OS and determined in attributes/defaults.rb.", :recipes => ["ephemeral_lvm::default"], - :required => "recommended" + :required => "optional" attribute "ephemeral_lvm/mount_point", :display_name => "Ephemeral LVM Mount Point", From 7ceb282f164382baa66d261f8ce9c40d77bc4ffb Mon Sep 17 00:00:00 2001 From: Lopaka Delp Date: Mon, 6 Apr 2015 16:30:30 -0700 Subject: [PATCH 10/18] ST-1 Update kitchen tests to handle XFS and ext4 filesystems. --- .kitchen.yml | 12 +++++++----- test/integration/default/bats/verify_ephemeral.bats | 3 ++- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/.kitchen.yml b/.kitchen.yml index 95d1e28..72a4486 100644 --- a/.kitchen.yml +++ b/.kitchen.yml @@ -1,7 +1,10 @@ --- driver_plugin: vagrant driver_config: - require_chef_omnibus: true + require_chef_omnibus: 11.6.0 +attributes: + ephemeral_lvm: + filesystem: ext4 platforms: - name: centos-5.9 @@ -13,6 +16,9 @@ platforms: - name: centos-7.0 driver_config: box: opscode-centos-7.0 + attributes: + ephemeral_lvm: + filesystem: xfs - name: debian-7.2.0 driver_config: box: opscode-debian-7.2.0 @@ -45,8 +51,6 @@ suites: attributes: cloud: provider: vagrant - ephemeral_lvm: - filesystem: ext3 vagrant: block_device_mapping_ephemeral0: loop0 block_device_mapping_ephemeral1: loop1 @@ -62,8 +66,6 @@ suites: attributes: cloud: provider: gce - ephemeral_lvm: - filesystem: ext3 gce: attached_disks: disks: diff --git a/test/integration/default/bats/verify_ephemeral.bats b/test/integration/default/bats/verify_ephemeral.bats index 56b4d0f..fa8f628 100644 --- a/test/integration/default/bats/verify_ephemeral.bats +++ b/test/integration/default/bats/verify_ephemeral.bats @@ -28,5 +28,6 @@ export PATH=$PATH:/sbin:/usr/sbin @test "ephemeral logical volume is mounted to /mnt/ephemeral" { mountpoint /mnt/ephemeral mount | grep "/dev/mapper/vg--data-ephemeral0 on /mnt/ephemeral type ext3" - grep -P "/dev/mapper/vg--data-ephemeral0\s+/mnt/ephemeral\s+ext3\s+defaults,noauto\s+0\s+0" /etc/fstab + mount | egrep "^/dev/mapper/vg--data-ephemeral0 on /mnt/ephemeral type (xfs|ext4)" + egrep "/dev/mapper/vg--data-ephemeral0\s+/mnt/ephemeral\s+(ext4|xfs)\s+defaults,noauto\s+0\s+0" /etc/fstab } From b5cc4256aff7fee36a1d5bdbc1cfcf03b8a747db Mon Sep 17 00:00:00 2001 From: Lopaka Delp Date: Mon, 6 Apr 2015 19:51:11 -0700 Subject: [PATCH 11/18] ST-1 Additional updates to kitchen tests handling xfs and ext4 filesystems. --- test/integration/default/bats/verify_ephemeral.bats | 1 - test/integration/gce/bats/verify_ephemeral.bats | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/test/integration/default/bats/verify_ephemeral.bats b/test/integration/default/bats/verify_ephemeral.bats index fa8f628..b1ac9ef 100644 --- a/test/integration/default/bats/verify_ephemeral.bats +++ b/test/integration/default/bats/verify_ephemeral.bats @@ -27,7 +27,6 @@ export PATH=$PATH:/sbin:/usr/sbin @test "ephemeral logical volume is mounted to /mnt/ephemeral" { mountpoint /mnt/ephemeral - mount | grep "/dev/mapper/vg--data-ephemeral0 on /mnt/ephemeral type ext3" mount | egrep "^/dev/mapper/vg--data-ephemeral0 on /mnt/ephemeral type (xfs|ext4)" egrep "/dev/mapper/vg--data-ephemeral0\s+/mnt/ephemeral\s+(ext4|xfs)\s+defaults,noauto\s+0\s+0" /etc/fstab } diff --git a/test/integration/gce/bats/verify_ephemeral.bats b/test/integration/gce/bats/verify_ephemeral.bats index 11c6355..ead4d45 100644 --- a/test/integration/gce/bats/verify_ephemeral.bats +++ b/test/integration/gce/bats/verify_ephemeral.bats @@ -32,6 +32,6 @@ export PATH=$PATH:/sbin:/usr/sbin @test "ephemeral logical volume is mounted to /mnt/ephemeral" { mountpoint /mnt/ephemeral - mount | grep "/dev/mapper/vg--data-ephemeral0 on /mnt/ephemeral type ext3" - grep -P "/dev/mapper/vg--data-ephemeral0\s+/mnt/ephemeral\s+ext3\s+defaults,noauto\s+0\s+0" /etc/fstab + mount | egrep "^/dev/mapper/vg--data-ephemeral0 on /mnt/ephemeral type (xfs|ext4)" + egrep "/dev/mapper/vg--data-ephemeral0\s+/mnt/ephemeral\s+(ext4|xfs)\s+defaults,noauto\s+0\s+0" /etc/fstab } From efc3fb499437a023b34929e902efadcc78415d93 Mon Sep 17 00:00:00 2001 From: Lopaka Delp Date: Tue, 7 Apr 2015 15:08:45 -0700 Subject: [PATCH 12/18] ST-1 Update tests to confirm the correct filesystem type is being used based on OS. Remove setting of ephemeral_lvm:filesystem to use default values. --- .kitchen.yml | 6 +++--- .../default/bats/verify_ephemeral.bats | 17 +++++++++++++++-- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/.kitchen.yml b/.kitchen.yml index 72a4486..3b04fd4 100644 --- a/.kitchen.yml +++ b/.kitchen.yml @@ -2,9 +2,6 @@ driver_plugin: vagrant driver_config: require_chef_omnibus: 11.6.0 -attributes: - ephemeral_lvm: - filesystem: ext4 platforms: - name: centos-5.9 @@ -30,6 +27,9 @@ platforms: driver_config: box: local-rhel-7.0 box_url: file://<%= File.expand_path('~') %>/opscode_rhel-7.0_chef-provisionerless.box + attributes: + ephemeral_lvm: + filesystem: xfs - name: ubuntu-10.04 driver_config: box: opscode-ubuntu-10.04 diff --git a/test/integration/default/bats/verify_ephemeral.bats b/test/integration/default/bats/verify_ephemeral.bats index b1ac9ef..56ffa73 100644 --- a/test/integration/default/bats/verify_ephemeral.bats +++ b/test/integration/default/bats/verify_ephemeral.bats @@ -26,7 +26,20 @@ export PATH=$PATH:/sbin:/usr/sbin } @test "ephemeral logical volume is mounted to /mnt/ephemeral" { + if type -P lsb_release; then + is_rhel=`lsb_release -sir | grep -Pqiz "^(centos|redHatEnterpriseServer)\s6\." && echo "true" || echo "false"` + else + # On RHEL: Red Hat Enterprise Linux Server release 7.1 (Maipo) + # On CentOS: CentOS Linux release 7.0.1406 (Core) + is_rhel=`grep -Pqiz "^(centos|red hat enterprise) linux.+ 7\." /etc/redhat-release && echo "true" || echo "false"` + fi + + if [[ $is_rhel == "true" ]]; then + filesystem='xfs' + else + filesystem='ext4' + fi mountpoint /mnt/ephemeral - mount | egrep "^/dev/mapper/vg--data-ephemeral0 on /mnt/ephemeral type (xfs|ext4)" - egrep "/dev/mapper/vg--data-ephemeral0\s+/mnt/ephemeral\s+(ext4|xfs)\s+defaults,noauto\s+0\s+0" /etc/fstab + mount | egrep "^/dev/mapper/vg--data-ephemeral0 on /mnt/ephemeral type $filesystem" + egrep "/dev/mapper/vg--data-ephemeral0\s+/mnt/ephemeral\s+$filesystem\s+defaults,noauto\s+0\s+0" /etc/fstab } From 8762762152ace2949bfaa3c02b75e51d68ddee6f Mon Sep 17 00:00:00 2001 From: Lopaka Delp Date: Tue, 7 Apr 2015 16:43:20 -0700 Subject: [PATCH 13/18] ST-1 Wipe ephemeral devices in converge and check if volume group already exists which determines that lvm already is setup so need to run wipefs. --- recipes/default.rb | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/recipes/default.rb b/recipes/default.rb index d881a94..05c942e 100644 --- a/recipes/default.rb +++ b/recipes/default.rb @@ -40,10 +40,14 @@ # Ephemeral disks may have been previously formatted, which can hang some lvm calls. # Run 'wipefs' on each ephemeral disk to remove any filesystem signatures. # - ephemeral_devices.each do |ephemeral_device| - log "Preparing #{ephemeral_device}" - wipefs = Mixlib::ShellOut.new("wipefs --all #{ephemeral_device}") - wipefs.run_command + check_volume_group = Mixlib::ShellOut.new("vgs #{node['ephemeral_lvm']['volume_group_name']}").run_command + if check_volume_group.exitstatus != 0 + ephemeral_devices.each do |ephemeral_device| + log "Preparing #{ephemeral_device}" + execute "wipefs --all #{ephemeral_device}" + end + else + log "No need to remove ephemeral disk filesystem signatures." end # Create the volume group and logical volume. If more than one ephemeral disk is found, From 88ce8c264a073e074cbf649e9a8c7399037a4f0d Mon Sep 17 00:00:00 2001 From: Lopaka Delp Date: Tue, 7 Apr 2015 21:05:39 -0700 Subject: [PATCH 14/18] ST-1 Using value_for_platform_family to set ephemeral_lvm/filesystem in attributes/default.rb. --- attributes/default.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/attributes/default.rb b/attributes/default.rb index ccabf10..54d3e11 100644 --- a/attributes/default.rb +++ b/attributes/default.rb @@ -19,8 +19,10 @@ # The ephemeral file system # RHEL 7 and CentOS 7 uses XFS as their default file system. -default['ephemeral_lvm']['filesystem'] = - node['platform'] =~ /redhat|centos/ && node['platform_version'] =~ /^7\./ ? 'xfs' : 'ext4' +default['ephemeral_lvm']['filesystem'] = value_for_platform_family( + 'rhel' => { '7' => 'xfs' }, + 'default' => 'ext4' +) # The ephemeral mount point default['ephemeral_lvm']['mount_point'] = "/mnt/ephemeral" From 5a1b1641fbaaee519aaf347b6439742837a08dfe Mon Sep 17 00:00:00 2001 From: Lopaka Delp Date: Tue, 7 Apr 2015 23:12:12 -0700 Subject: [PATCH 15/18] ST-1 Specify rhel family version to set xfs to. --- attributes/default.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/attributes/default.rb b/attributes/default.rb index 54d3e11..2e7ac2f 100644 --- a/attributes/default.rb +++ b/attributes/default.rb @@ -20,7 +20,10 @@ # The ephemeral file system # RHEL 7 and CentOS 7 uses XFS as their default file system. default['ephemeral_lvm']['filesystem'] = value_for_platform_family( - 'rhel' => { '7' => 'xfs' }, + 'rhel' => { + ['7.0', '7.1'] => 'xfs', + 'default' => 'ext4' + }, 'default' => 'ext4' ) From fcccd95fdc4f4c550a5c5379f49c8d0b5c6c72ff Mon Sep 17 00:00:00 2001 From: Lopaka Delp Date: Tue, 7 Apr 2015 23:45:20 -0700 Subject: [PATCH 16/18] ST-1 using node[platform_family] to set ephemeral_lvm/filesystem default due to RS not interpreting value_for_platform_family correctly. --- attributes/default.rb | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/attributes/default.rb b/attributes/default.rb index 2e7ac2f..5021410 100644 --- a/attributes/default.rb +++ b/attributes/default.rb @@ -19,13 +19,8 @@ # The ephemeral file system # RHEL 7 and CentOS 7 uses XFS as their default file system. -default['ephemeral_lvm']['filesystem'] = value_for_platform_family( - 'rhel' => { - ['7.0', '7.1'] => 'xfs', - 'default' => 'ext4' - }, - 'default' => 'ext4' -) +default['ephemeral_lvm']['filesystem'] = + node['platform_family'] == 'rhel' && node['platform_version'] =~ /^7\./ ? 'xfs' : 'ext4' # The ephemeral mount point default['ephemeral_lvm']['mount_point'] = "/mnt/ephemeral" From 715075c10f130bb8090865c699b6e1bce290d3c3 Mon Sep 17 00:00:00 2001 From: Lopaka Delp Date: Wed, 8 Apr 2015 10:26:21 -0700 Subject: [PATCH 17/18] ST-1 Change ephemeral_lvm/filesystem attribute back to "recommended" --- metadata.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/metadata.rb b/metadata.rb index ab0c2c8..a819c69 100644 --- a/metadata.rb +++ b/metadata.rb @@ -20,7 +20,7 @@ "The filesystem to be used on the ephemeral volume." + " Defaults are based on OS and determined in attributes/defaults.rb.", :recipes => ["ephemeral_lvm::default"], - :required => "optional" + :required => "recommended" attribute "ephemeral_lvm/mount_point", :display_name => "Ephemeral LVM Mount Point", From efe11adbdeceb6a2c9fc91c9e65445c66e9e1290 Mon Sep 17 00:00:00 2001 From: Lopaka Delp Date: Wed, 8 Apr 2015 14:32:21 -0700 Subject: [PATCH 18/18] ST-1 Replicate changes from defaults/bats/verify_ephemeral.bats to gce/bats/verify_ephemeral.bats. --- test/integration/gce/bats/verify_ephemeral.bats | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/test/integration/gce/bats/verify_ephemeral.bats b/test/integration/gce/bats/verify_ephemeral.bats index ead4d45..1b1937e 100644 --- a/test/integration/gce/bats/verify_ephemeral.bats +++ b/test/integration/gce/bats/verify_ephemeral.bats @@ -31,7 +31,20 @@ export PATH=$PATH:/sbin:/usr/sbin } @test "ephemeral logical volume is mounted to /mnt/ephemeral" { + if type -P lsb_release; then + is_rhel=`lsb_release -sir | grep -Pqiz "^(centos|redHatEnterpriseServer)\s6\." && echo "true" || echo "false"` + else + # On RHEL: Red Hat Enterprise Linux Server release 7.1 (Maipo) + # On CentOS: CentOS Linux release 7.0.1406 (Core) + is_rhel=`grep -Pqiz "^(centos|red hat enterprise) linux.+ 7\." /etc/redhat-release && echo "true" || echo "false"` + fi + + if [[ $is_rhel == "true" ]]; then + filesystem='xfs' + else + filesystem='ext4' + fi mountpoint /mnt/ephemeral - mount | egrep "^/dev/mapper/vg--data-ephemeral0 on /mnt/ephemeral type (xfs|ext4)" - egrep "/dev/mapper/vg--data-ephemeral0\s+/mnt/ephemeral\s+(ext4|xfs)\s+defaults,noauto\s+0\s+0" /etc/fstab + mount | egrep "^/dev/mapper/vg--data-ephemeral0 on /mnt/ephemeral type $filesystem" + egrep "/dev/mapper/vg--data-ephemeral0\s+/mnt/ephemeral\s+$filesystem\s+defaults,noauto\s+0\s+0" /etc/fstab }