Storage Bundles and Bodies

Table of Contents

See the storage promises documentation for a comprehensive reference on the body types and attributes used here.

To use these bodies, add the following to your policy:

body file control
{
    inputs => { "storage.cf" }
}

volume bodies

min_free_space

Prototype: min_free_space(free)

Description: Warn if the storage doesn't have at least free free space.

A warnings is also generated if the storage is smaller than 10K or as less than 2 file entries.

Arguments:

  • free: Absolute or percentage minimum disk space that should be available before warning

Implementation:

body volume min_free_space(free)
{
      check_foreign  => "false";
      freespace      => "$(free)";
      sensible_size  => "10000";
      sensible_count => "2";
}

mount bodies

nfs

Prototype: nfs(server, source)

Description: Mounts the storage at source on server via nfs protocol.

Also modifies the file system table.

Arguments:

  • server: Hostname or IP of remote server
  • source: Path of remote file system to mount

See also: nfs_p(), unmount()

Implementation:

body mount nfs(server,source)
{
      mount_type => "nfs";
      mount_source => "$(source)";
      mount_server => "$(server)";
      edit_fstab => "true";
}

nfs_p

Prototype: nfs_p(server, source, perm)

Description: Mounts the storage via nfs, with perm passed as options to mount.

Also modifies the file system table.

Arguments:

  • server: Hostname or IP of remote server
  • source: Path of remote file system to mount
  • perm: A list of options that's passed to the mount command

See also: nfs, unmount()

Implementation:

body mount nfs_p(server,source,perm)
{
      mount_type => "nfs";
      mount_source => "$(source)";
      mount_server => "$(server)";
      mount_options => {"$(perm)"};
      edit_fstab => "true";
}

unmount

Prototype: unmount

Description: Unmounts the nfs storage.

Also modifies the file system table.

See also: nfs(), nfs_p()

Implementation:

body mount unmount
{
      mount_type => "nfs";
      edit_fstab => "true";
      unmount => "true";
}