Class: Chef::Resource::Mdadm

Inherits:
Chef::Resource show all
Defined in:
lib/chef/resource/mdadm.rb

Overview

Use the mdadm resource to manage RAID devices in a Linux environment using the mdadm utility. The mdadm resource will create and assemble an array, but it will not create the config file that is used to persist the array upon reboot. If the config file is required, it must be done by specifying a template with the correct array layout, and then by using the mount provider to create a file systems table (fstab) entry.

Constant Summary

Constants inherited from Chef::Resource

FORBIDDEN_IVARS, HIDDEN_IVARS

Instance Attribute Summary

Attributes inherited from Chef::Resource

#allowed_actions, #cookbook_name, #declared_type, #default_guard_interpreter, #elapsed_time, #enclosing_provider, #params, #recipe_name, #resource_initializing, #run_context, #source_line, #updated

Instance Method Summary collapse

Methods inherited from Chef::Resource

#action, action, #action=, action_class, #after_created, allowed_actions, allowed_actions=, #as_json, #before_notifications, #cookbook_version, #current_value, #current_value_does_not_exist!, #custom_exception_message, custom_resource?, #customize_exception, declare_action_class, #declared_key, default_action, default_action=, #defined_at, #delayed_action, #delayed_notifications, #events, from_hash, from_json, #guard_interpreter, #identity, identity_attr, identity_property, #ignore_failure, #immediate_notifications, inherited, #inspect, is_custom_resource!, json_create, load_current_value, #load_from, #lookup_provider_constant, #method_missing, #name, #node, #not_if, #notifies, #notifies_before, #notifies_delayed, #notifies_immediately, #only_if, #provider, #provider=, #provider_for_action, provides, provides?, remove_canonical_dsl, #resolve_notification_references, resource_for_node, resource_matching_short_name, #resource_name, resource_name, resource_name=, #resources, #retries, #retry_delay, #run_action, #sensitive, #should_skip?, sorted_descendants, #source_line_file, #source_line_number, state_attrs, #state_for_resource_reporter, #subscribes, #to_hash, #to_json, #to_s, #to_text, #updated?, #updated_by_last_action, #updated_by_last_action?, use_automatic_resource_name, #validate_action, #validate_resource_spec!, #value_to_text

Methods included from Mixin::ConvertToClassName

#constantize, #convert_to_class_name, #convert_to_snake_case, #filename_to_qualified_string, #normalize_snake_case_name, #snake_case_basename

Methods included from Mixin::Provides

#provided_as, #provides, #provides?

Methods included from Mixin::DescendantsTracker

descendants, #descendants, direct_descendants, #direct_descendants, find_descendants_by_name, #find_descendants_by_name, #inherited, store_inherited

Methods included from Mixin::Deprecation

#deprecated_attr, #deprecated_attr_reader, #deprecated_attr_writer, #deprecated_ivar

Methods included from Mixin::Properties

included, #property_is_set?, #reset_property

Methods included from Mixin::ParamsValidate

#lazy, #set_or_return, #validate

Methods included from Mixin::ShellOut

#a_to_s, #clean_array, #shell_out, #shell_out!, #shell_out_compact, #shell_out_compact!, #shell_out_compact_timeout, #shell_out_compact_timeout!, #shell_out_with_systems_locale, #shell_out_with_systems_locale!

Methods included from Mixin::PathSanity

#enforce_path_sanity, #sanitized_path

Methods included from Mixin::PowershellOut

#powershell_out, #powershell_out!

Methods included from Mixin::WindowsArchitectureHelper

#assert_valid_windows_architecture!, #disable_wow64_file_redirection, #forced_32bit_override_required?, #is_i386_process_on_x86_64_windows?, #node_supports_windows_architecture?, #node_windows_architecture, #restore_wow64_file_redirection, #valid_windows_architecture?, #with_os_architecture, #wow64_architecture_override_required?, #wow64_directory

Methods included from DSL::PlatformIntrospection

#docker?, #platform?, #platform_family?, #value_for_platform, #value_for_platform_family

Methods included from DSL::RebootPending

#reboot_pending?

Methods included from DSL::RegistryHelper

#registry_data_exists?, #registry_get_subkeys, #registry_get_values, #registry_has_subkeys?, #registry_key_exists?, #registry_value_exists?

Methods included from DSL::DataQuery

#data_bag, #data_bag_item, #search

Methods included from EncryptedDataBagItem::CheckEncrypted

#encrypted?

Constructor Details

#initialize(name, run_context = nil) ⇒ Mdadm



37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/chef/resource/mdadm.rb', line 37

def initialize(name, run_context = nil)
  super

  @chunk = 16
  @devices = []
  @exists = false
  @level = 1
  @metadata = "0.90"
  @bitmap = nil
  @raid_device = name
  @layout = nil
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Chef::Resource

Instance Method Details

#bitmap(arg = nil) ⇒ Object



90
91
92
93
94
95
96
# File 'lib/chef/resource/mdadm.rb', line 90

def bitmap(arg = nil)
  set_or_return(
    :bitmap,
    arg,
    :kind_of => [ String ]
  )
end

#chunk(arg = nil) ⇒ Object



50
51
52
53
54
55
56
# File 'lib/chef/resource/mdadm.rb', line 50

def chunk(arg = nil)
  set_or_return(
    :chunk,
    arg,
    :kind_of => [ Integer ]
  )
end

#devices(arg = nil) ⇒ Object



58
59
60
61
62
63
64
# File 'lib/chef/resource/mdadm.rb', line 58

def devices(arg = nil)
  set_or_return(
    :devices,
    arg,
    :kind_of => [ Array ]
  )
end

#exists(arg = nil) ⇒ Object



66
67
68
69
70
71
72
# File 'lib/chef/resource/mdadm.rb', line 66

def exists(arg = nil)
  set_or_return(
    :exists,
    arg,
    :kind_of => [ TrueClass, FalseClass ]
  )
end

#layout(arg = nil) ⇒ Object



106
107
108
109
110
111
112
# File 'lib/chef/resource/mdadm.rb', line 106

def layout(arg = nil)
  set_or_return(
    :layout,
    arg,
    :kind_of => [ String ]
  )
end

#level(arg = nil) ⇒ Object



74
75
76
77
78
79
80
# File 'lib/chef/resource/mdadm.rb', line 74

def level(arg = nil)
  set_or_return(
    :level,
    arg,
    :kind_of => [ Integer ]
  )
end

#metadata(arg = nil) ⇒ Object



82
83
84
85
86
87
88
# File 'lib/chef/resource/mdadm.rb', line 82

def (arg = nil)
  set_or_return(
    :metadata,
    arg,
    :kind_of => [ String ]
  )
end

#raid_device(arg = nil) ⇒ Object



98
99
100
101
102
103
104
# File 'lib/chef/resource/mdadm.rb', line 98

def raid_device(arg = nil)
  set_or_return(
    :raid_device,
    arg,
    :kind_of => [ String ]
  )
end