Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Timeout formatting volume #60

Open
kurtharriger opened this issue Jul 1, 2015 · 4 comments
Open

Timeout formatting volume #60

kurtharriger opened this issue Jul 1, 2015 · 4 comments

Comments

@kurtharriger
Copy link

Is there any way to increase the timeout? Looks like mkfs.ext4 is taking more than 5 minutes to format a 1000Gb ebs volume.

Mixlib::ShellOut::CommandTimeout
--------------------------------
Command timed out after 600s:
Command exceeded allowed execution time, process terminated
---- Begin output of yes | mkfs -t ext4 /dev/mapper/graphite-data ----
STDOUT: Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536000 inodes, 262142976 blocks
13107148 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
8000 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848

Writing inode tables: 6751/8000
STDERR: mke2fs 1.41.12 (17-May-2010)
---- End output of yes | mkfs -t ext4  /dev/mapper/graphite-data ----
Ran yes | mkfs -t ext4  /dev/mapper/graphite-data returned

Cookbook Trace:
---------------
/var/chef/cache/cookbooks/lvm/libraries/provider_lvm_logical_volume.rb:99:in `action_create'

Resource Declaration:
---------------------
# In /var/chef/cache/cookbooks/rse_graphite/recipes/ebs.rb

 45:   lvm_logical_volume 'data' do
 46:     name  'data'
 47:     group 'graphite'
 48:     size        '100%VG'
 49:     filesystem  'ext4'
 50:     mount_point(location: mount_point, options: 'noatime,nodiratime')
 51:   end
 52:
@MarkGibbons
Copy link
Member

    # If file system is specified, format the logical volume
    if fs_type.nil?
      Chef::Log.info 'File system type is not set. Not formatting...'
    elsif device_formatted?(device_name, fs_type)
      Chef::Log.info "Volume '#{device_name}' is already formatted. Not formatting..."
    else
      shell_out!("yes | mkfs -t #{fs_type} #{fs_params} #{device_name}")
      updates << true
    end

Hi kurtharriger

Mixlib::Shellout accepts a time out argument so there is a way. Depending on what you need, a temporary solution, a permanent solution, widespread fix or not you might try one of these.

I didn't see anything built in to the current lvm code designed to do what you want.

Regards,
Mark

@kurtharriger
Copy link
Author

The workaround I came up with was to explicitly format the volume with an execute statement. lvm_logical_volume will detect that it has already been formatted and just configure fstab and mount point.

execute 'format' do
command 'yes | mkfs -t ext4 /dev/mapper/graphite-data'
not_if 'blkid -o value -s TYPE /dev/mapper/graphite-data'
timeout 1200
end

@kurtharriger
Copy link
Author

scratch that executing format explicitly only worked since the device already existed from failed run. Running on new machine failed since device had not yet been created.

@Gary-Armstrong
Copy link

I'd like to request a :timeout parameter added to certain things. In particular, the default timeout was not enough to allow mkfs.ext4 on a 15TB lv.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants